系统发育信息的快速计数近似(tapir)
tapir的Python项目详细描述
目的
tapir包含估算和绘制系统发育信息的程序 大数据集。
引用tapir
使用tapir时,请引用:
- Faircloth BC,Chang J,Alfaro ME:tapir支持高吞吐量分析 系统发育信息性。https://github.com/faircloth-lab/tapir
- Townsend JP:系统发育信息分析。系统生物学。2007年, 56:222-231。
- Pond SLK,Frost SDW,Muse SV:菌丝:使用系统发育学进行假设检验。 生物信息学2005,21:676-679。
依赖关系
- 连字符2(请download或构建一个单线程连字符2)
- Python2.6
- 努比
- scipy
- 树枝状
安装
对于all平台,必须为 平台(OSX或Linux)并将其放在$path:
wget https://github.com/downloads/faircloth-lab/tapir/hyphy2.osx.gz gunzip hyphy2.*.gz chmod 0700 hyphy2.* mv hyphy2.* ~/Bin/hyphy2
要安装其他依赖项(numpy、scipy),可能需要 在Linux/OSX上安装Fortran编译器:
Linux
在Linux(ubuntu/debian)上,使用:
apt-get install gfortran libatlas-base-dev liblapack-dev
安装tapir和依赖项,其中包括numpy和scipy 我们安装上述依赖项的原因:
pip install tapir
要绘制结果,还需要:
apt-get install r-base r-base-dev pip install rpy2
OSX
安装scipy superpack是最简单的。这将安装 tapir需要的依赖关系。安装超级包后,使用 pip,安装tapir:
pip install tapir
或者,您也可以使用:
pip install tapir
要绘制结果,您需要install R,然后安装rpy2:
pip install rpy2
其他操作系统
安装numpy,scipy, 和dendropy为您 站台。然后:
wget http://pypi.python.org/packages/source/t/tapir/tapir-1.0.tar.gz tar -xzvf tapir-1.0.tar.gz cd tapir* python setup.py build python setup.py test python setup.py install
绘制
打印是可选的。要安装打印依赖项,请参见 安装,上图。
测试
如果您没有使用上面的python setup.py test运行测试,您还可以:
import tapir tapir.test()
使用
expndtw-1.py代码调用批处理文件中的连字符 模板/。此文件需要与 无论你在哪里放置Estimate\u i.py。如果你像上面那样安装,你会 暂时没事吧。
运行:
cd /path/to/tapir/ python tapir_compute.py Input_Folder_of_Nexus_Files/ Input.tree \ --output Output_Directory \ --epochs=32-42,88-98,95-105,164-174 \ --times=37,93,100,170 \ --multiprocessing
–多处理是可选的,没有它,每个轨迹都将运行 连续地。
如果您已经运行了上述操作并将结果保存到输出中 文件夹(见下文),可以使用预先存在的网站费率记录 而不是用:
python tapir_compute.py Input_Folder_of_Site_Rate_JSON_Files/ Input.tree \ --output Output_Directory \ --epochs=32-42,88-98,95-105,164-174 \ --times=37,93,100,170 \ --multiprocessing \ --site-rates
结果
tapir将结果写入 您选择的输出目录。此目录还保存站点速率 传递的每个轨迹的JSON格式的文件 通过tapir_compute.py。
您可以按如下方式访问数据库中的结果。更多的例子, 包括绘图,请参见 documentation
启动sqlite:
sqlite3 Output_Directory/phylogenetic-informativeness.sqlite
获取所有时间段的积分数据:
select locus, interval, pi from loci, interval where loci.id = interval.id
获取特定历元的积分数据:
select locus, interval, pi from loci, interval where interval = '95-105' and loci.id = interval.id;
得到在不同时期具有max(pi)的位点数:
create temporary table max as select id, max(pi) as max from interval group by id; create temporary table t as select interval.id, interval, max from interval, max where interval.pi = max.max; select interval, count(*) from t group by interval;
绘图结果
tapir包含打印脚本,帮助您在结果数据库中打印数据 比较不同数据库之间的数据。tapir使用rpy和r 做这个。你也可以直接在r中绘制数据,直到我们完成 文件,请参阅 wiki 举个例子。
致谢
感谢sp hubbell,pa gowaty,rt brumfield,tc glenn,ng crawford, 我是麦考马克,我是雷塞尔。JHLC和MEA感谢J伊斯曼和J布朗 关于圆周率的深思熟虑的评论。我们感谢弗朗西斯科·洛佩斯·吉拉德EZ和 Jeffrey Townsend向我们提供了他们的网络应用程序的副本 源代码和有用的讨论。