系统发育信息的快速计数近似(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

其他操作系统

安装numpyscipy, 和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向我们提供了他们的网络应用程序的副本 源代码和有用的讨论。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何修改打印板?   java Spring批处理JdbcCursorItemReader还是RepositoryItemReader?   java如何在JTable Swing中增加标题列的字体?   java在数组方面遇到问题,导致表达式非法启动   java如何为maven pom的某些部分关闭Eclipse代码格式化程序。xml   java Dropwizard登录代码   java Jersey 2.22:客户端的默认连接超时是多少?   java无法自动连接字段:javax。sql。数据来源   如何从java中的行列表中获取单词列表?   java JDBC批量更新和处理异常?   计算大根:bigdecimal/java   java如何在JavaCC语法中提到trycatch块   javasocket。getInetAddress()不返回任何内容   oracle SQL开发人员错误无法找到Java虚拟机   java我如何计算和显示未来5年每一年的投资价值   java如何关闭浏览器选项卡?   java如何在showMessageDialog中打印双2D数组?   java从站点抓取播放列表URL?   selenium中的java点击css按钮