test_pipeline-of-phylogeny
以2019年发表在MER期刊上的“Transcriptome-based target-enrichment baits for stony corals (Cnidaria: Anthozoa: Scleractinia)”文章中数据为测试数据,跑一遍构建物种分化时间树的探索流程如下:
1、数据获取
在文献中获取452个直系同源基因序列文件,其中每个文件包括不同数量的物种,未进行多序列比对;分析所需软件和脚本:Mafft、Trimal、catfasta2phyml.pl、fasta2relaxedPhylip.pl、PartitionFinder、Iqtree、Raxml、astral.5.7.8.jar、Mcmctree等,多数可用conda安装,最好单独创建python2和python3环境用于以下软件的使用。
2、利用mafft软件进行多序列比对;
1 | temp.txt;sed -i 's/temp.txt//g' temp.txt;for i in `cat temp.txt`;do echo "mafft --maxiterate 1000 --localpair $i > mafft-$i" >> multiple_mafft.sh;done;rm temp.txt #比对DNA |
3、利用trimal剪切;
1 | ls mafft-OG00* >temp.txt;sed -i 's/temp.txt//g' temp.txt;for i in `cat temp.txt`;do trimal -in $i -out out-$i -automated1;done #剪切,去除非保守区域 |
4、过滤;
1 | temp;for i in `cat temp`;do number=`grep -c '>' $i`;if [ $number -lt 6 ]; then mv $i ./remove_file; fi;done #将物种少于6个的文件移到remove_file文件中 |
5、利用串联法建树;
1 | perl ../../../scripts/catfasta2phyml.pl -c -f *.fasta > super_sequences.fasta #利用perl脚本将基因进行串联 |
6、溯祖法建树
1 | ls out-mafft*>temp;for i in `cat temp`;do echo "modeltest-ng -i ../$i -d nt" >>multiple_modeltest.sh;done;rm temp #为每个基因检测最佳碱基替换模型 |
方案优化点:
①最初使用DNA直接比对后剪切会导致单个基因变不完整(非3整倍数),在检测分区时不能具体到每个密码子中的3个位置(第三位碱基往往比前两位碱基具有更高的突变率),因此,在比对时应采取利用氨基酸比对,再回译为DNA,从而保证基因是3的整倍数,进而得到更为精细的分区方案。
②未进行评估序列异质性、饱和程度步骤。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 TianzhenWu' Blog!
评论