系统发育信息的快速计数近似(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获取textview的文本并将其粘贴到另一个上   java ImageIO。write()不保存文件   java H2数据库排序字符串时间戳,格式为yyyyMMdd'T'hh:mm:ss。SSSSSSS'Z'   java匿名类与静态字段   java将一个句子拆分为字符串数组,并保留特殊字符或空格   JavaBIRT报告引擎。计算Javascript表达式时出错   日志表的java MySQL隔离级别读取未提交   java Android调用意图权限   java如何在iText 7中查找文本位置和边界   从Groovy调用Java类主方法时,避免参数数量不正确   java libGDX:在批处理调用stage constructor时,为舞台上的演员绘制纹理作为背景   java randoop可以利用usermade JUnit测试生成测试吗?   java Eclipse工作区将不再显示我的项目