美文网首页
PartitionFinder2的Lunix安装与使用

PartitionFinder2的Lunix安装与使用

作者: 记号晴系 | 来源:发表于2019-04-10 15:59 被阅读0次

    PartitionFinder2是用来在建立进化树时筛选最优进化模型以及分区(分隔)方案的软件,是用Python2语言编写的。

    核苷酸序列在不同位点有不同的突变速率。核苷酸序列又分为编码基因和非编码基因。编码基因中,密码子第一、二位往往较为稳定,第三位往往变异速率较高。非编码基因因为受到的选择压力一般较小,所以往往可保留更多突变。不同基因以及不同位点的突变速率不同,可能对所推断进化树的稳定性有很大影响。所以在多基因建立进化树过程中,设置分隔模型就显得很重要。

    但是分隔模型怎样设置才算合理呢?在PartitionFinder软件开发出来之前,研究人员一般通过将不同基因分开,例如gene1、gene2、gene3,再将每个基因的不同位点分开如gene1_1、gene1_2、gene1_3作为分隔模型,以提高进化树的稳健性。

    RAxML、MrBayes、BEAST等常用系统发育软件都支持分隔模型,但并不能用于确定最优化的分隔模型设定方案。在建树过程中,如果设置的分隔模型过多,则拟合的参数会过多,造成结果不准确;如果设置的分隔模型过少,或者不设置分隔模型、设置的不合理,也会造成进化树不准确。很多学者已经意识到这个问题,但是一直苦于没有很好的应对方法。

    赤池信息量AIC整合了模型的似然值(Likelihood)以及所要估计的参数数量。模型选择的简约理论认为,AIC或者BIC最小的模型是最优的模型。如果似然值已经足够高,进一步增加模型的参数已经不能再显著提高似然值的情况下,可以认为已经找到了最优模型。但是,对于分隔模型的筛选来说,碱基替换模型与分区方式的组合数量非常多,如果要对每一种分区方案对应的碱基模型筛选出最优组合,在很多情况下几乎是不可能的。这是因为:首先,从碱基比对矩阵计算Likelihood是十分耗费时间的。其次,分隔模型的各种组合的数量呈几何级数增长,如果通过几个基因建树,则可能的分隔模型的数量已经超出了大部分计算机的计算能力。此时就需要引入分隔模型的启发式搜索(Heuristic Search)。

    PartitionFinder的作者从原理上解决了以上的问题,并通过Python语言实现了相应的算法(Lanfear et al., 2012)。作者证明,PartitionFinder所得的分隔模型比之前的简单处理更加合理。不仅如此,PartitionFinder在获得最优化分隔方案后,同时会给出每个分隔模块所对应的最优进化模型。因此,Modeltest、jModeltest以及ProtTest等软件都已经被PartitionFinder所超越。事实上,2012年Lanfear介绍PartitionFinder的论文发表后,在google scholar上已经被引用了3223次(截至2019年1月19日)。

    本文简述PartitionFinder的Lunix安装和使用,供同行参考。
    1:使用python就不得不提到Anaconda,Anaconda作为常用的包管理器,在服务器上自行部署,这里不再多说。

    1. 需要的依赖包为

    numpy pandas pyparsing scipy scikit-learn tables

    conda 安装其依赖包

    conda install numpy pandas pyparsing scipy 
    pip install -U scikit-learn
    pip install tables
    # 下载源代码
    wget https://github.com/brettc/partitionfinder/archive/v2.1.1.tar.gz
    #解压
     tar -xzvf v2.1.1.tar.gz 
    # 进入文件夹
    cd partitionfinder-2.1.1/
    # 测试
    python PartitionFinder.py
    
    1. 运行
      对于DNA序列:

    在partitionFinder文件夹下创建一个新文件夹,命名为test20190219

    将examples/nucleotide文件夹下的test.phy文件以及partition_finder.cfg配置文件拷贝到test20190219文件夹下

    在CMD中,将工作目录转换到partitionFinder下

    调用PartitionFinder.py,格式如下:

    python PartitionFinder.py test20190219

    生成的结果会自己保存在test20190219文件夹下,并生成若干新文件(如log.txt)以及文件夹analysis。

    模型筛选的结果就保存在analysis/best_scheme.txt文件中。

    参考

    相关文章

      网友评论

          本文标题:PartitionFinder2的Lunix安装与使用

          本文链接:https://www.haomeiwen.com/subject/bianiqtx.html