Phylogenomic_Tutorial || SpeciesTree Inference by ML

[TOC]

许多情况下,我们是利用gene tree代表species tree。而实际上,由于重组recombination或是不完全谱系分选incomplete lineage sorting,genome中的一些片段gene tree是不能代表物种树的。传统上,我们是得到多个orthologs之后进行串联concatenation而后建树,并不能排除其中一些gene tree的片段不能真实代表。这里,提到了另一种更好的方法,对所有的orthologs分别建树,而后通过多基因溯祖模型multi-species-coalescent model来推断真实的物种树。

Preparation

软件:

数据:
经过前一章的orthologs detection所确定的cichlid类群中11个物种的72个genes

利用IQTREE对orthologs分别建ML树

Maximum-likelihood gene-tree inference with IQ-TREE。利用ASTRAL构建系统树,需要首先对筛到的orthologs构建gene tree,后根据72个orthologs的基因树利用multi-species-coalescent model来推断物种树。

  1. orthologs序列的预处理,去除无序列信息的ortholog
    • ASTRAL不需要所有的orthologs基因树中的物种信息是完全一样的
1
2
3
4
5
6
7
8
9
10
## 1. 解压文件
tar -xzf 09.tgz

## 2. 去除missing的序列 convert.py

for i in 09/*.fasta
do
gene_id=`basename ${i%.fasta}`
python3 src/convert.py ${i} 09/${gene_id}.nex -f nexus -m 0.9
done
  1. 利用IQTREE构建各个基因的ML树
    • 利用参数–wbt 保留各个bootstrap的树文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for i in 09/*.nex
do
iqtree -s ${i} -B 1000 --wbt
done

## 删除冗余序列

rm 09/*.bionj
rm 09/*.ckp.gz
rm 09/*.contree
rm 09/*.iqtree
rm 09/*.log
rm 09/*.mldist
rm 09/*.model.gz
rm 09/*.splits.nex
rm 09/*.uniqueseq.phy
  1. 将各个orthologs树整合
    1
    cat 09/*.treefile > ml_best.trees

利用ASTRAL推断物种树

利用multi-species coalescent model是能更好的去推断物种树。并且新的ASTRAL软件也会根据gene tree的支持率信息去判断物种树的支持度信息。ASTRAL最好是根据每个基因所推断的gene tree信息,以及各个ortho的bootstraps信息去整合并推断出最理想的树信息。

  • ASTRAL会只利用bootstrap树的其中100行,可利用-r 参数。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ## 保存树的信息
    ls 09/*.ufboot > ml_boot.txt

    ## 利用ASTRAL整合树信息 包括ml树信息、bootstrap树信息
    java -jar astral.jar -i ml_best.trees -b ml_boot.txt -o species_boot.trees
    ## 仅利用ml_tree信息
    java -jar astral.jar -i ml_best.trees -o species_pp.tre

    ## 得出的最后一列及为算出的树信息
    tail -n 1 species_boot.trees > species.trees
    cat species_pp.tre >> species.trees
    结果在figtree打开得到的即为物种树的信息。

利用IQTREE的一致性分析

1.7版本后的IQTREE支持一致性分析concordance analyses 推断系统树,根据各个基因的的gene tree,计算gene-concordance factors(gCF)因子,site-concordance factors(sCF)因子,

1
iqtree -t species_pp.tre --gcf ml_best.trees --prefix gene_concordance

得出的支点node value值,为ASTRAL所计算的后验概率值/IQTREE计算的一致性概率值

同样可以根据串联基因的序列文件计算site-concordance factors。

1
2
## 整合concatenated.nex
ruby ../src/concatenate.rb -i 09/*.nex -o concatenated.nex -f nexus


结果node value的三个值分别为ASTRAL的后验概率值、gene一致性值、位点一致性的值。可根据这三个值去查验 物种树的支持率情况。
posterior probabilities from ASTRAL, the gene-concordance factors, and the site-concordance factors

Reference

https://github.com/mmatschiner/tutorials/blob/master/ml_species_tree_inference/README.md
Mirarab et al. 2014

文章目录
  1. 1. Preparation
  2. 2. 利用IQTREE对orthologs分别建ML树
  3. 3. 利用ASTRAL推断物种树
  4. 4. 利用IQTREE的一致性分析
  5. 5. Reference
|