今天搜了一下,在PLoB中已经有不少介绍构建进化树的文章,目前构建进化树的算法中比较常用的有ML(maximum likelihood,最大似然),MP(maximum parsimony,最大简约)等等。尤其是最大似然法,一直用的比较多。今天再给大家推荐一款基于近似最大似然法的算法构建进化树的软件。
FastTree是一款从成千上万条,甚至更多的蛋白质序列或者核苷酸序列中快速推断近似最大似然的系统发生树的软件(approximately-maximum-likelihood phylogenetic trees)。号称是比其他基于最大似然构建进化树的软件( PhyML 3.0 和 RAxML 7)要快100倍,尤其是当序列数目越多,优势越明显。而且在这构建进化树的短时间内,还能对每一个节点提供一个节点的可信度(local support value)。
关于FastTree的下载和安装,以下是各个版本下载地址:
- Linux 64-bit executable (+SSE) (64位linux)
- Multi-threaded executable (+SSE +OpenMP) (还是64位linux版本,但是支持多线程)
- Windows 32-bit command-line executable (no SSE) (windows版本)
- C code (c语言版源代码)
如果想在mac系统或者其他平台下运行,可以自己先下载c语言的源代码程序FastTree.c,自己按照下面的命令编译:
1 | gcc -O3 -finline-functions -funroll-loops -Wall -o FastTree FastTree.c -lm |
由于FastTree里会用 SSE2/SSE3 指令来加速节点循环,如果上面的命令编译出现问题的时候可以尝试一下面的命令:
1 | gcc -DNO_SSE -O3 -finline-functions -funroll-loops -Wall -o FastTree FastTree.c -lm |
如果想加入多线程的功能,可以运行下面的命令:
1 | gcc -DOPENMP -fopenmp -O3 -finline-functions -funroll-loops -Wall -o FastTreeMP FastTree.c -lm |
关于FastTree的使用方法,其输入文件就是fasta序列或者隔行交错的phylip格式。
FastTree更详细的介绍大家可以进入其官方主页上继续阅读。http://www.microbesonline.org/fasttree/ 或者 http://meta.microbesonline.org/fasttree/
相关的论文:
- Price, M.N., Dehal, P.S., and Arkin, A.P. (2009) FastTree: Computing Large Minimum-Evolution Trees with Profiles instead of a Distance Matrix. Molecular Biology and Evolution 26:1641-1650, doi:10.1093/molbev/msp077.
- Price, M.N., Dehal, P.S., and Arkin, A.P. (2010) FastTree 2 -- Approximately Maximum-Likelihood Trees for Large Alignments. PLoS ONE, 5(3):e9490. doi:10.1371/journal.pone.0009490.