Gblocks是一款用ANSI C语言编写的程序,其主要功能是从DNA或蛋白质序列比对中移除对齐质量差的位置和高度变异区域。这一程序旨在提高系统发育分析的质量,特别是在处理包含大量不保守区域或多态性较高的序列比对时特别有用。

Gblocks通过一系列规则来选择并保留“保守块”(conserved blocks),这些保守块满足连续一致位置的数量要求、无大段非保守区域以及两侧高保守程度等条件。对于含有间隙的位置,程序会格外关注,因为它们往往难以正确对齐,并且可能因比对参数的不同而变化。Gblocks不仅会移除包含大片段非保守位点的部分,还会剔除即使对齐正确的但仍缺乏有效系统发育信息的高度变异区域。

实验表明,在应用Gblocks处理线粒体蛋白质多序列比对后,去除变异片段可显著减少氨基酸组成异质性,降低两两序列间的最大似然距离,从而减轻饱和效应的影响。同时,它导致构建的系统发育树分支长度更合理,并有助于揭示先前可能被掩盖的进化关系。

然而,值得注意的是,虽然使用Gblocks可以自动化处理数据集并加快分析进程,但仍然需要仔细检查原始比对及经过Gblocks处理后的比对结果,尤其是当某些序列由于测序错误(如移码突变)或个别序列高度分化而在一个非常保守的区块中完全错配时。为了避免此类问题,应当结合其他检测方法确保比对的准确性。

Gblocks中的参数可以根据对保守性的严格要求进行调整,以便更好地适应不同类型的序列比对。例如,对于较保守的蛋白质或DNA比对,只需去除一小部分即可;而对于包含一些高度变异区段但整体上仍存在良好保守区块的大规模比对,Gblocks也能有效地识别并保留下这些重要片段。然而,对于那些极度保守且可能存在强烈选择压力的区块,直接用于构建系统发育树时应谨慎对待,因为这种方法假定大多数位点具有中立性,而这在强选择压力下的位点并不成立。

aur/gblocks 0.91b-7 [+1 ~0.00]
    A program written in ANSI C language that eliminates poorly aligned positions and divergent
    regions of an alignment of DNA or protein sequences. 
    https://doi.org/10.1093/oxfordjournals.molbev.a026334