有根系统发生树的祖先特征重建与可视化。

pastml的Python项目详细描述


pastml

pastml为祖先字符重建(acr)和可视化提供了快速方法 在有根的系统发生树上。给定一个有根树和它的节点注释,它可以将它们可视化, 或基于尖端状态推断祖先节点状态,并选择最大似然和吝啬方法。 然后将结果可视化为可缩放的HTML映射。

文章

Ishikawa SA,Zhukova A,Iwasaki W,Gaskuel O(2019)重建和可视化祖先场景的快速可能性方法Molecular Biology and Evolution, msz131

工作原理

有关pastml中使用的acr方法和可视化过程的详细说明,请访问我们的help page

在线试用

尝试pastmlpastml.pasteur.fr

输入数据

作为输入,需要以newick格式提供rooted系统发生树, 一个包含尖端状态的表, 以制表符分隔(默认)或csv格式(使用--data-sep,选项指定)。

示例

您可以下载HIV1-A in Albania data作为示例。 假设树和注释文件在downloads文件夹中, 分别命名为albanian.tree.152tax.tre和data.txt。

data.txt是一个逗号分隔的文件,在第一列中包含提示ID, 以及第二列中的国家,即:

idCountry
98CMAJ6932Africa
98CMAJ6933Africa
96CMAJ6134Africa
00SEAY5240WestEurope
......
02GRAY0303Greece
97YUAF9960EastEurope

安装

在您的计算机上运行pastml有三种可选方法:使用dockersingularity或在python3中运行。

与Docker一起运行

基本用法

安装docker后,运行以下命令:

docker run -v <path_to_the_folder_containing_the_tree_and_the_annotations>:/data:rw -t evolbioinfo/pastml --tree /data/<tree_file.nwk> --data /data/<annotation_file.csv> --data_sep <separator_eg_,> --columns <column1 column2 ...> --html_compressed /data/<output_map.html>

例如,为了重建和可视化阿尔巴尼亚数据的祖先国家, 需要运行以下命令:

docker run -v ~/Downloads:/data:rw -t evolbioinfo/pastml --tree /data/Albanian.tree.152tax.tre --data /data/data.txt --columns Country --html_compressed /data/Albanian_map.html --data_sep , 

这将在下载文件夹中生成文件albanian_map.html, 可以用浏览器查看的。

帮助

要查看高级选项,请运行

docker run -t evolbioinfo/pastml -h

奇点运行

基本用法

安装singularity后,运行以下命令:

singularity run docker://evolbioinfo/pastml --tree <path/to/tree_file.nwk> --data <path/to/annotation_file.csv> --columns <column1 column2 ...> --html_compressed <path/to/output/map.html> --data_sep <separator_eg_,>

例如,为了重建和可视化阿尔巴尼亚数据的祖先国家, 需要运行以下命令:

singularity run docker://evolbioinfo/pastml --tree ~/Downloads/Albanian.tree.152tax.tre --data ~/Downloads/data.txt --columns Country --html_compressed ~/Downloads/Albanian_map.html --data_sep , 

这将在下载文件夹中生成文件albanian_map.html, 可以用浏览器查看的。

帮助

要查看高级选项,请运行

singularity run docker://evolbioinfo/pastml -h

在python3中跑步

窗口

对于windows用户,建议通过Cygwin environment安装pastml。 从cygwin包装中取出一龄python3和pip3。然后安装pastml

pip3 install pastml

所有其他平台

您可以在有或没有conda的情况下为python安装pastml,步骤如下:

使用conda安装

安装conda后,使用python3为pastml创建一个环境,我们将其命名为pastmlenv:

conda create --name pastmlenv python=3

然后激活它:

source activate pastmlenv

然后在其中安装pastml

pip install pastml

无条件安装

确保pyhon3和pip3已安装,然后安装pastml

pip3 install pastml

命令行中的基本用法

如果您通过conda安装了pastml,请不要忘记首先激活专用环境(此处命名为pastmlenv),例如

source activate pastmlenv

运行pastml

pastml --tree <path/to/tree_file.nwk> --data <path/to/annotation_file.csv> --columns <column1 column2 ...> --html_compressed <path/to/output/map.html> --data_sep <separator_eg_,>

例如,为了重建和可视化阿尔巴尼亚数据的祖先国家, 需要运行以下命令:

pastml --tree ~/Downloads/Albanian.tree.152tax.tre --data ~/Downloads/data.txt --columns Country --html_compressed ~/Downloads/Albanian_map.html --data_sep , 

这将在下载文件夹中生成文件albanian_map.html, 可以用浏览器查看的。

帮助

要查看高级选项,请运行:

pastml -h

Python的基本用法3

frompastml.acrimportpastml_pipeline# Path to the table containing tip/node annotations, in csv or tab formatdata="~/Downloads/data.txt"# Path to the tree in newick formattree="~/Downloads/Albanian.tree.152tax.tre"# Columns present in the annotation table,# for which we want to reconstruct ancestral states# (for Albanian data we only have one column, but multiple columns are also allowed)columns=['Country']# Path to the output compressed map visualisationhtml_compressed="~/Downloads/Albanian_map.html"# (Optional) path to the output tree visualisationhtml="~/Downloads/Albanian_tree.html"pastml_pipeline(data=data,data_sep=',',columns=columns,name_column='Country',tree=tree,html_compressed=html_compressed,html=html,verbose=True)

示例

有关想法,请参见examples folder:)

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

推荐PyPI第三方库


热门话题
java如果数组是单调递增或单调递减的,则它是单调的   java异步任务:doInBackground未完成   java数组逻辑错误   在Java桌面应用程序中加载应用程序属性   小程序windows上的Java控制面板如何与机器上安装的许多不同版本的Java一起工作?   许多循环的java循环策略   java Android Studio无法转到管理页面   java为什么集成测试的执行时间在SpringBoot2.2中显著增加?   java Grails dbmupdate失败:MySQLSyntaxErrorException:您的SQL语法有错误   字符串非常简单:用Java编写“”   java Wicket反馈消息和AjaxButton   java Oreo、默认短信应用程序和操作通过消息进行响应   Java将字符串中的\“替换为”   Java中的html意外URL请求结果   java在拼花文件格式中INT64和十进制(18,6)意味着什么?   java如何查看PDF文件   java在向powershell中的程序传递参数时遇到问题   继承如何在不同实现/类/etc的java中调用toString()   java Count可抓获的最大窃贼数