pandoo:细菌基因组学的工具管道。
pandoo的Python项目详细描述
潘杜
获取帮助:
pandoo -h
作者
马克B舒尔茨,安德斯·冈萨尔维斯·达席尔瓦,詹森·邝,托尔斯滕·西曼
简介
pandoo是一个命令行工具,用于探索和描述细菌全基因组dna序列数据。它是一个用python编写的计算管道,可以通过使用ruffus管道库的实现进行扩展。ruffus在运行期间处理任务调度和任务并行化。pandoo在进行amr和mlst分析时对致病物种特别有用,但理论上可以用于任何序列数据库中的任何细菌物种。它最初是为在澳大利亚维多利亚州的微生物诊断单位公共卫生实验室对细菌分离物进行特征描述和质量控制组装和读取而编写的。输入是一个以制表符分隔的文本文件,它将软件指向程序集,并为每个隔离点配对结束读取文件。具体地说,该文件没有头,每个单独文件有一行,每行有四列,列顺序如下:
+-------------+------------------------------------------------+----------------------------+---------------------------+
|isolate_name | full_path_to_assembly (i.e., a 'contigs' file) | full_path_to_paired_reads1 | full_path_to_paired_reads2|
+-------------+------------------------------------------------+----------------------------+---------------------------+
一个示例隔离.tab文件如下::
isolate-1 /path/to/isolate-1/contigs.fa /path/to/isolate-1/reads-1.fq.gz /path/to/isolate-1/reads-2.fq.gz
isolate-2 /path/to/isolate-2/contigs.fa /path/to/isolate-2/reads-1.fq.gz /path/to/isolate-2/reads-2.fq.gz
isolate-3 /path/to/isolate-3/contigs.fa /path/to/isolate-3/reads-1.fq.gz /path/to/isolate-3/reads-2.fq.gz
isolate-4 /path/to/isolate-4/contigs.fa /path/to/isolate-4/reads-1.fq.gz /path/to/isolate-4/reads-2.fq.gz
isolate-5 /path/to/isolate-5/contigs.fa /path/to/isolate-5/reads-1.fq.gz /path/to/isolate-5/reads-2.fq.gz
安装依赖项
在运行pandoo之前,需要安装以下软件包。要安装依赖项,请执行以下操作(如果您没有管理员权限,则可能需要在pip3安装命令之后添加"--user":
cpanm -i Moo
cpanm -i List::MoreUtils
cpanm -i Bio::Perl
brew tap homebrew/science
brew tap tseemann/homebrew-bioinformatics-linux
brew update
brew install mlst
brew install abricate
brew install seqtk
brew install mummer
brew install bowtie2
brew install cd-hit
brew install kraken
brew install graphviz
pip3 install git+https://github.com/MDU-PHL/ngmaster.git #(see install instructions at https://github.com/MDU-PHL/ngmaster)
pip3 install git+https://github.com/MDU-PHL/meningotype.git #(see install instructions at https://github.com/MDU-PHL/meningotype)
pip3 install biopython
pip3 install ariba
#install sistr from http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0147101 (location?)
git clone https://github.com/MDU-PHL/legsta.git # then add it to your path so is executable with 'legsta'
git clone https://github.com/MDU-PHL/LisSero.git # then add it to your path so is executable with 'LisSero.py'
git clone https://github.com/lskatz/mashtree.git # then add it to your path so is executable with 'mashtree.pl'
按照https://ccb.jhu.edu/software/kraken" rel="nofollow">https://ccb.jhu.edu/software/kraken中的说明设置数据库。
安装Pandoo
要对所有用户执行这些安装步骤中的任何一个,请删除"--user"。如果为所有用户安装,则不需要最后的符号链接步骤。pandoo是为python3编写的,安装需要pip3和setuptools。要仅为当前用户安装最新"稳定"版本的pandoo,请执行以下操作:
第一次更新python3
,pip3
,setuptools
。然后尝试:
pip3 install pandoo--user-i-i的意思是忽略那些已经安装的版本,重新安装setup.py中所述的版本,特别是需要ruffus版本2.6.2而不是ruffus 2.6.3。
升级:
pip3 install pandoo --upgrade
要安装最新的、可能不稳定的、最新的版本:
pip3 install --user https://github.com/schultzm/pandoo/zipball/master
如果通过"--用户"选项安装 检查可执行文件的位置:
which pandoo # ~/.local/bin/pandoo
检查网站包的位置:
python3 -m site --user-site # ~/.local/lib/python3.6/site-packages
现在,将上面站点包中的打包数据库符号链接到包含上面所示可执行文件的文件夹:
ln -s ~/.local/lib/python3.6/site-packages/Pandoo/CARD/ ~/.local/bin
ln -s ~/.local/lib/python3.6/site-packages/Pandoo/VFDB/ ~/.local/bin
ln -s ~/.local/lib/python3.6/site-packages/Pandoo/qacGenes/ ~/.local/bin
要卸载,请执行以下操作:
pandoo -h
0
如果意外安装了PIP2或PIP,请执行以下操作: pip卸载pandoo
使用::
检查依赖项是否在路径中pandoo -h
1
根据需要添加依赖项。
快速入门教程
对于大型作业,请在屏幕模式下运行,否则请跳过此步骤:
pandoo -h
2
上面开始的屏幕内的所有屏幕输出都将保存到::
pandoo -h
3
退出屏幕后,可以使用标准命令行操作在运行过程中查看screenlog.0::
pandoo -h
4
要获得Pandoo的帮助,请执行以下操作:
pandoo -h
输出如下:
pandoo -h
6
注意,上面有四个模块:check、input、run和merge各一个。每个都可以独立运行。
检查模块 本模块将根据pandoo对这些程序的调用,检查所需的软件是否已安装并可执行。
输入模块
此模块用于生成isolations.tab文件。此命令的最终输出发送到标准输出(stdout)。若要从stdout捕获信息,请使用">;isolates.tab"将其重定向到文件:
pandoo -h
7
运行模块
此模块用于运行分析管道。在下面的示例中,输出将是一个名为results的文件夹,我们已选择将树选项与-t一起使用:
pandoo -h
8
在Results文件夹中,每个隔离都有一个子文件夹,其中包含每个隔离的结果。在results文件夹中还有三个文件:
pandoo -h
9
合并模块
此模块用于将现有元数据表(例如,lims表)与run模块中的一个输出表连接起来。在本例中,一个excel文件(amr_continuing_20170307.xlsx,第5行有一个标题,第一列包含在上面的pandoo input步骤中用通配符搜索扩展的隔离名)与results/isolations_metadataall_simplified.csv表联接。再次,最终输出被发送到stdout,在本例中,它使用">;results/amr_continuous_20170307_join_isolates_metadataall_simplified.csv"重定向到文件:
+-------------+------------------------------------------------+----------------------------+---------------------------+
|isolate_name | full_path_to_assembly (i.e., a 'contigs' file) | full_path_to_paired_reads1 | full_path_to_paired_reads2|
+-------------+------------------------------------------------+----------------------------+---------------------------+
0
为什么使用pandoo?
pandoo提供了一个元数据表和一个树,可以使用phandango绘制元数据
https://jameshadfield.github.io/phandango/ 使用程序mash tree.pl从mash计算的距离矩阵中推断出整个隔离集的单个nj树。树将不包括缺少程序集文件的隔离。 所有隔离物的汇总表(CSV)结合了以下结果: 首先,您需要下载程序集,或者自己从readset(例如,使用unicyclerhttps://github.com/rrwick/unicycler,它使用spades(http://bioinf.spbau.ru/spades)或megahit(https://github.com/voutcn/megahit))。这不一定有意义提供已使用所提供的读取集以外的读取集组装的隔离但contig的读取。如果您没有读取,请将该隔离的列留空(例如,如果您只想描述从ncbi genbank下载的程序集)。如果您没有contigs并且只有reads,请将contigs的列留空(但是没有contigs就没有树)。 潘杜是: |版权所有(c)2017 Mark B Schultz 此程序是免费软件:您可以重新分发和/或修改
根据已发布的GNU Affero通用公共许可条款
由自由软件基金会,许可证的3版本,或
(由您选择)任何更高版本。
这个程序的发布是希望它能有用,
但没有任何保证;甚至没有
适销性为特定目的的适销性或适合性见
GNU Affero通用公共许可证了解更多详细信息。
你应该收到一份gnu-affero通用公共许可证的副本
还有这个节目。如果没有,请参见http://www.gnu.org/licenses/" rel="nofollow">http://www.gnu.org/licenses/假设
许可证
|https://github.com/schultzm/
|电子邮件:dr.mark.schultz@gmail.com推荐PyPI第三方库