串聯法
orthofinder 已經生成好單拷貝基因串聯的序列,可以直接使用。
找到orthofinder 已經生成好單拷貝基因串聯的序列,SpeciesTreeAlignment.fa
使用的軟件是 RAxML trimal
RAxML 是一款基于最大似然法構建系統(tǒng)發(fā)育樹的軟件,運算速度較快,推薦使用。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格式的樹文件