串联法
orthofinder 已经生成好单拷贝基因串联的序列,可以直接使用。
找到orthofinder 已经生成好单拷贝基因串联的序列,SpeciesTreeAlignment.fa
使用的软件是 RAxML trimal
RAxML 是一款基于最大似然法构建系统发育树的软件,运算速度较快,推荐使用。RAxML 的输入文件为多序列比对文件,phylip 格式或者fasta格式,输出文件为newick 格式进化树.
软件网址:https://cme.h-its.org/exelixis/web/software/raxml/hands_on.html
#过滤多序列比对结果
trimal \
-in SpeciesTreeAlignment.fa \
-out SpeciesTreeAlignment_trim.fa \
-fasta \
-gt 0.6 \#保留60%基因共有的位点
-cons 60 # 过滤后总长不少于输入数据的60%
#进行物种树构建
raxmlHPC-PTHREADS \
-T 5 \ #线程数
-m PROTGAMMAJTT \ # 指定建树模型
-f a \ # 指定算法,a表示使用rapidBootstrap方法并搜索最佳ML树
-p 123 \ # parsimonyRandomSeed
-x 123 \ # rapidBoostrap时RandomNumberSeed
-# 1000 \# bootstrap次数
-n out \ # 指定输出文件后缀
-s SpeciesTreeAlignment.fa \ #比对文件
1>tree.log 2>tree.err
合并法
所谓合并法就是把每个单拷贝基因家族建树,之后使用软件对基因树进行整合得到一致树。
这里使用的软件是 ASTRAL‑II
ASTRAL 软件网址:https://github.com/smirarab/ASTRAL
#提取单拷贝基因树
cat orthofinder结果路径/Orthogroups_SingleCopyOrthologues.txt | while read aa; \
do cat orthofinder结果路径/Gene_Trees/$aa\_tree.txt | \ awk '{print $0}' ;\
done > SingleCopy.trees
#去除基因ID,保留物种名
sed -r 's/([(,]{1}[A-Za-z]+)_[ˆ:]+/\1/g' SingleCopy.trees > Astral_input.trees
#运行Astral得到一致树
java -jar astral.jar \
-i Astral_input.trees \
-o Astral_output.tree 2>out.log
结果为nwk格式的树文件