路径工具的多处理
mpwt的Python项目详细描述
路径工具多处理包装器
mpwt是一个python包,用于使用多处理在多个基因组上运行路径工具。
无法保证此脚本能够正常工作,它是早期状态下正在进行的工作。
安装
要求
mpwt只在python 3上工作,并且已经在python3.6上进行了测试。 它需要一些python包(biopython、docopt和gffutils路径工具和 路径工具。对于多处理,mpwt使用python 3的多处理库。
您必须有安装路径工具的环境。路径工具可以在这里获得。
Pathway工具需要 blast ,因此必须安装在系统上。根据您的系统,Pathway Tools需要一个名为 .ncbirc 的文件来定位BLAST,有关更多信息,请查看本页
如果你的操作系统不支持路径工具,你可以使用docker。如果是您的情况,请查看路径工具多处理docker。 这是一个dockerfile,它将创建一个包含路径工具、依赖项和这个包的容器。您只需要提供一个路径工具安装程序作为输入。
您还可以查看路径工具多处理奇点。 与Docker相比,需要更多的操作,但使用此操作可以创建奇点图像。
使用PIP
pip install mpwt
使用
脚本接受包含子文件夹的文件夹作为输入。每个子文件夹包含一个genbank/gff文件或多个病理格式(pf)文件。
Folder_input ├── species_1 │ └── species_1.gbk ├── species_2 │ └── species_2.gff │ └── species_2.fasta ├── species_3 │ └── species_3.gbk ├── species_4 │ └── scaffold_1.pf │ └── scaffold_1.fasta │ └── scaffold_2.pf │ └── scaffold_2.fasta taxon_id.tsv ..
genbank文件必须与它们所在的文件夹同名,并以.gbk或.gff结尾。
对于pf文件,每个scaffold/contig有一个文件和一个对应的fasta文件。
路径工具将在每个genbank/gff/pf文件上运行。它将在ptools本地文件夹中创建结果,但您也可以选择输出文件夹。
genbank
genbank文件示例:
LOCUS scaffold1 XXXXXX bp DNA linear INV DD-MMM-YYYY DEFINITION My species genbank. ACCESSION scaffold1 VERSION scaffold1 KEYWORDS Key words. SOURCE Source ORGANISM Species name Taxonomy; Of; My; Species; With; The; Genus. FEATURES Location/Qualifiers source 1..XXXXXX /scaffold="scaffold1" /db_xref="taxon:taxonid" gene START..STOP /locus_tag="gene1" mRNA START..STOP /locus_tag="gene1" CDS START..STOP /locus_tag="gene1" /db_xref="InterPro:IPRXXXXXX" /go_component="GO:XXXXXXX" /EC_number="X.X.X.X" /translation="AMINOAACIDSSEQUENCE"
有关更多信息,请参阅ncbi gbk格式。 您还可以查看路径工具站点上提供的示例。
gff
gff文件示例:
##gff-version 3 ##sequence-region scaffold_1 1 XXXXXX scaffold_1 RefSeq region 1 XXXXXXX . + . ID=region_id;Dbxref=taxon:XXXXXX scaffold_1 RefSeq gene START STOP . - . ID=gene_id scaffold_1 RefSeq CDS START STOP . - 0 ID=cds_id;Parent=gene_id
警告 :似乎来自gff文件的代谢网络比来自genbank文件的代谢网络具有更少的反应/途径/化合物。 缺少一些注释(ec,go)可能是解释这些差异的原因。
有关更多信息,请查看ncbi-gff格式。
您必须提供与包含染色体/scaffold/contig序列的gff文件相关联的核苷酸序列文件。
>scaffold_1 ATGATGCTGATACTGACTTAGCAT
PF文件示例:
;;;;;;;;;;;;;;;;;;;;;;;;; ;; scaffold_1 ;;;;;;;;;;;;;;;;;;;;;;;;; ID gene_id NAME gene_id STARTBASE START ENDBASE STOP FUNCTION ORF PRODUCT-TYPE P PRODUCT-ID prot gene_id EC X.X.X.X DBLINK GO:XXXXXXX INTRON START1-STOP1 //
有关更多信息,请查看病理格式。
你必须为每个病理组织提供一个包含一个支架/对照物的核苷酸序列。
>scaffold_1 ATGATGCTGATACTGACTTAGCAT
此外,要添加分类单元id,我们需要 分类单元id.tsv (具有两个值的tsv文件:包含pf文件的文件夹的名称和对应的分类单元id)。
<表> < COLGROUP > < COL/> < COL/> <广告> 物种 分类单元id < /广告> <正文> 物种4如果您的genbank或gff文件中没有分类单元id,则可以在此文件中为相应的物种添加一个。
您还可以添加有关遗传元素的更多信息,如基因组的圆度(y或n)、 遗传元素的类型(chrsm、:质粒、:mt(线粒体染色体)、:pt(叶绿体染色体)或 密码子表(请参阅相应的下面是连接代码)。
示例:
<表> < COLGROUP > < COL/> < COL/> < COL/> < COL/> < COL/> < COL/> <广告> 物种 分类单元id 圆形 元素类型 密码子表 对应的文件 < /广告> <正文> 物种如您所见,对于 pf文件 (物种4),您可以使用相应的列 为每个pf文件添加信息。
路径工具的遗传代码:
<表> < COLGROUP > < COL/> < COL/> <广告> 对应编号 遗传密码 < /广告> <正文> 0 未指定 1 标准代码 2 脊椎动物线粒体编码 3 酵母线粒体编码 4 霉菌、原生动物和腔肠动物RIA代码和支原体/螺旋体代码 5 无脊椎动物线粒体编码 6 纤毛虫、天牛和六尾亚纲核代码 9 棘皮动物和扁形虫线粒体编码 10 euplotid核代码 11 细菌、古细菌和植物质体代码 12 替代酵母核代码 13 腹水线粒体编码 14 另一种扁虫线粒体编码 15 眼睑核代码 16 绿藻线粒体编码 21 吸虫线粒体编码 22 斜生栅藻线粒体编码 23 Thrustochytrium线粒体代码 < > <表>由MPWT创建的输入文件
mpwt创建了三个输入文件。信息从genbank/gff/pf文件中提取。 mydbname对应于文件夹和genbank/gff/pf文件的名称。 taxonid对应于genbank/gff/pf中源特性的db-xref中的taxonid。 物种名称是从genbank/gff/pf文件中提取出来的。
**organism-params.dat** ID myDBName STORAGE FILE NCBI-TAXON-ID taxonid NAME species_name **genetic-elements.dats** NAME ANNOT-FILE gbk_pathname // **dat_creation.lisp** (in-package :ecocyc) (select-organism :org-id 'myDBName) (let ((*progress-noter-enabled?* NIL)) (create-flat-files-for-current-kb))
命令行和python参数
mpwt可以与命令行一起使用:
mpwt -f path/to/folder/input [-o path/to/folder/output][--patho][--hf][--dat][--md][--cpu INT][-r][--clean][--log path/to/folder/log][--ignore-error][-v]
可选参数由[]标识。
mpwt可以在具有导入的python脚本中使用:
pip install mpwt0 <表> < COLGROUP > < COL/> < COL/> < COL/> <广告> 命令行参数 python参数 说明 < /广告> <正文> -f 输入文件夹(字符串:文件夹路径名) 输入数据中描述的输入文件夹 -o 输出文件夹(字符串:文件夹路径名) 包含PGDB数据或DAT文件的输出文件夹(请参阅–DAT参数) -病理性 病理推断(布尔值) 在输入文件夹中启动病理推断 -高频 病理孔填充(布尔值) 使用blast启动病理孔填充器 -数据 数据创建(布尔) 创建biopax/属性值dat文件 -医学博士 数据提取(布尔值) 仅移动输出文件夹中的dat文件 –CPU CPU数量(int) 用于多处理的CPU数 -r 尺寸缩减(布尔值) 在ptools local中删除pgdb以减小大小并返回压缩文件 –日志 病理日志(字符串:文件夹路径名) 存放病理推断日志文件的文件夹 –删除 mpwt.删除pgdbs(字符串:pgdb name) 删除特定的PGDB –清洁 mpwt.cleaning() 删除ptools本地文件夹中的所有pgdb,或只删除输入文件夹中的pgdb –忽略错误 忽略错误(布尔值) 忽略错误并继续成功生成的工作流 –分类单元文件 分类单元文件(布尔值) 强制MPWT使用taxon_id.tsv文件中的分类单元ID -v 详细(布尔) 打印有关MPWT处理的一些信息 < > <表>
示例
MPWT的可能用途:
< Buff行情>pip install mpwt1
pip install mpwt2
在ptools中创建研究生物体的pgdbs局部:
< Buff行情>pip install mpwt3
pip install mpwt4
在ptools内创建研究生物体的pgdbs,使用孔填充物:
< Buff行情>pip install mpwt5 αα-α16
在ptools local中创建研究生物体的pgdbs,并创建dat文件:
< Buff行情>pip install mpwt7
pip install mpwt8
在ptools本地创建研究生物体的pgdbs。 然后将文件移到输出文件夹。
< Buff行情>pip install mpwt9
Folder_input ├── species_1 │ └── species_1.gbk ├── species_2 │ └── species_2.gff │ └── species_2.fasta ├── species_3 │ └── species_3.gbk ├── species_4 │ └── scaffold_1.pf │ └── scaffold_1.fasta │ └── scaffold_2.pf │ └── scaffold_2.fasta taxon_id.tsv ..0
在ptools local中创建所研究生物体的pgdbs并创建dat文件。 然后将数据文件移到输出文件夹。
< Buff行情>Folder_input ├── species_1 │ └── species_1.gbk ├── species_2 │ └── species_2.gff │ └── species_2.fasta ├── species_3 │ └── species_3.gbk ├── species_4 │ └── scaffold_1.pf │ └── scaffold_1.fasta │ └── scaffold_2.pf │ └── scaffold_2.fasta taxon_id.tsv ..1
Folder_input ├── species_1 │ └── species_1.gbk ├── species_2 │ └── species_2.gff │ └── species_2.fasta ├── species_3 │ └── species_3.gbk ├── species_4 │ └── scaffold_1.pf │ └── scaffold_1.fasta │ └── scaffold_2.pf │ └── scaffold_2.fasta taxon_id.tsv ..2
在ptools local中为pgdb创建dat文件。 并将它们移到输出文件夹。
< Buff行情>Folder_input ├── species_1 │ └── species_1.gbk ├── species_2 │ └── species_2.gff │ └── species_2.fasta ├── species_3 │ └── species_3.gbk ├── species_4 │ └── scaffold_1.pf │ └── scaffold_1.fasta │ └── scaffold_2.pf │ └── scaffold_2.fasta taxon_id.tsv ..3
Folder_input ├── species_1 │ └── species_1.gbk ├── species_2 │ └── species_2.gff │ └── species_2.fasta ├── species_3 │ └── species_3.gbk ├── species_4 │ └── scaffold_1.pf │ └── scaffold_1.fasta │ └── scaffold_2.pf │ └── scaffold_2.fasta taxon_id.tsv ..4
将pgdb从ptools本地移到输出文件夹:
< Buff行情>Folder_input ├── species_1 │ └── species_1.gbk ├── species_2 │ └── species_2.gff │ └── species_2.fasta ├── species_3 │ └── species_3.gbk ├── species_4 │ └── scaffold_1.pf │ └── scaffold_1.fasta │ └── scaffold_2.pf │ └── scaffold_2.fasta taxon_id.tsv ..5
Folder_input ├── species_1 │ └── species_1.gbk ├── species_2 │ └── species_2.gff │ └── species_2.fasta ├── species_3 │ └── species_3.gbk ├── species_4 │ └── scaffold_1.pf │ └── scaffold_1.fasta │ └── scaffold_2.pf │ └── scaffold_2.fasta taxon_id.tsv ..6
将数据文件从ptools本地移到输出文件夹:
< Buff行情>Folder_input ├── species_1 │ └── species_1.gbk ├── species_2 │ └── species_2.gff │ └── species_2.fasta ├── species_3 │ └── species_3.gbk ├── species_4 │ └── scaffold_1.pf │ └── scaffold_1.fasta │ └── scaffold_2.pf │ └── scaffold_2.fasta taxon_id.tsv ..7
Folder_input ├── species_1 │ └── species_1.gbk ├── species_2 │ └── species_2.gff │ └── species_2.fasta ├── species_3 │ └── species_3.gbk ├── species_4 │ └── scaffold_1.pf │ └── scaffold_1.fasta │ └── scaffold_2.pf │ └── scaffold_2.fasta taxon_id.tsv ..8
有用的功能
- 在输入文件夹上运行多进程路径工具
Folder_input ├── species_1 │ └── species_1.gbk ├── species_2 │ └── species_2.gff │ └── species_2.fasta ├── species_3 │ └── species_3.gbk ├── species_4 │ └── scaffold_1.pf │ └── scaffold_1.fasta │ └── scaffold_2.pf │ └── scaffold_2.fasta taxon_id.tsv ..9
- 删除所有以前的pgdb和元数据文件
LOCUS scaffold1 XXXXXX bp DNA linear INV DD-MMM-YYYY DEFINITION My species genbank. ACCESSION scaffold1 VERSION scaffold1 KEYWORDS Key words. SOURCE Source ORGANISM Species name Taxonomy; Of; My; Species; With; The; Genus. FEATURES Location/Qualifiers source 1..XXXXXX /scaffold="scaffold1" /db_xref="taxon:taxonid" gene START..STOP /locus_tag="gene1" mRNA START..STOP /locus_tag="gene1" CDS START..STOP /locus_tag="gene1" /db_xref="InterPro:IPRXXXXXX" /go_component="GO:XXXXXXX" /EC_number="X.X.X.X" /translation="AMINOAACIDSSEQUENCE"0
这也可以与命令行参数一起使用:
LOCUS scaffold1 XXXXXX bp DNA linear INV DD-MMM-YYYY DEFINITION My species genbank. ACCESSION scaffold1 VERSION scaffold1 KEYWORDS Key words. SOURCE Source ORGANISM Species name Taxonomy; Of; My; Species; With; The; Genus. FEATURES Location/Qualifiers source 1..XXXXXX /scaffold="scaffold1" /db_xref="taxon:taxonid" gene START..STOP /locus_tag="gene1" mRNA START..STOP /locus_tag="gene1" CDS START..STOP /locus_tag="gene1" /db_xref="InterPro:IPRXXXXXX" /go_component="GO:XXXXXXX" /EC_number="X.X.X.X" /translation="AMINOAACIDSSEQUENCE"1
如果使用clean和参数-f input_文件夹,则它将删除输入文件("dat_creation.lisp"、"physical.log"、"genetic elements.dat"和"organism params.dat")以及与输入文件夹对应的pgdb。
LOCUS scaffold1 XXXXXX bp DNA linear INV DD-MMM-YYYY DEFINITION My species genbank. ACCESSION scaffold1 VERSION scaffold1 KEYWORDS Key words. SOURCE Source ORGANISM Species name Taxonomy; Of; My; Species; With; The; Genus. FEATURES Location/Qualifiers source 1..XXXXXX /scaffold="scaffold1" /db_xref="taxon:taxonid" gene START..STOP /locus_tag="gene1" mRNA START..STOP /locus_tag="gene1" CDS START..STOP /locus_tag="gene1" /db_xref="InterPro:IPRXXXXXX" /go_component="GO:XXXXXXX" /EC_number="X.X.X.X" /translation="AMINOAACIDSSEQUENCE"2
例如,如果您有:
LOCUS scaffold1 XXXXXX bp DNA linear INV DD-MMM-YYYY DEFINITION My species genbank. ACCESSION scaffold1 VERSION scaffold1 KEYWORDS Key words. SOURCE Source ORGANISM Species name Taxonomy; Of; My; Species; With; The; Genus. FEATURES Location/Qualifiers source 1..XXXXXX /scaffold="scaffold1" /db_xref="taxon:taxonid" gene START..STOP /locus_tag="gene1" mRNA START..STOP /locus_tag="gene1" CDS START..STOP /locus_tag="gene1" /db_xref="InterPro:IPRXXXXXX" /go_component="GO:XXXXXXX" /EC_number="X.X.X.X" /translation="AMINOAACIDSSEQUENCE"3
而且您的ptools本地有:
LOCUS scaffold1 XXXXXX bp DNA linear INV DD-MMM-YYYY DEFINITION My species genbank. ACCESSION scaffold1 VERSION scaffold1 KEYWORDS Key words. SOURCE Source ORGANISM Species name Taxonomy; Of; My; Species; With; The; Genus. FEATURES Location/Qualifiers source 1..XXXXXX /scaffold="scaffold1" /db_xref="taxon:taxonid" gene START..STOP /locus_tag="gene1" mRNA START..STOP /locus_tag="gene1" CDS START..STOP /locus_tag="gene1" /db_xref="InterPro:IPRXXXXXX" /go_component="GO:XXXXXXX" /EC_number="X.X.X.X" /translation="AMINOAACIDSSEQUENCE"4
命令:
LOCUS scaffold1 XXXXXX bp DNA linear INV DD-MMM-YYYY DEFINITION My species genbank. ACCESSION scaffold1 VERSION scaffold1 KEYWORDS Key words. SOURCE Source ORGANISM Species name Taxonomy; Of; My; Species; With; The; Genus. FEATURES Location/Qualifiers source 1..XXXXXX /scaffold="scaffold1" /db_xref="taxon:taxonid" gene START..STOP /locus_tag="gene1" mRNA START..STOP /locus_tag="gene1" CDS START..STOP /locus_tag="gene1" /db_xref="InterPro:IPRXXXXXX" /go_component="GO:XXXXXXX" /EC_number="X.X.X.X" /translation="AMINOAACIDSSEQUENCE"2
将删除物种、物种和物种,但不删除物种。
- 删除特定的PGDB
使用此命令,可以删除特定的pgdb,其中pgdb_name是pgdb的名称(以"cyc"结尾)。可以是多个pgdb,为此,请将所有pgdb id放在一个由","分隔的字符串中。
LOCUS scaffold1 XXXXXX bp DNA linear INV DD-MMM-YYYY DEFINITION My species genbank. ACCESSION scaffold1 VERSION scaffold1 KEYWORDS Key words. SOURCE Source ORGANISM Species name Taxonomy; Of; My; Species; With; The; Genus. FEATURES Location/Qualifiers source 1..XXXXXX /scaffold="scaffold1" /db_xref="taxon:taxonid" gene START..STOP /locus_tag="gene1" mRNA START..STOP /locus_tag="gene1" CDS START..STOP /locus_tag="gene1" /db_xref="InterPro:IPRXXXXXX" /go_component="GO:XXXXXXX" /EC_number="X.X.X.X" /translation="AMINOAACIDSSEQUENCE"6
作为命令行:
LOCUS scaffold1 XXXXXX bp DNA linear INV DD-MMM-YYYY DEFINITION My species genbank. ACCESSION scaffold1 VERSION scaffold1 KEYWORDS Key words. SOURCE Source ORGANISM Species name Taxonomy; Of; My; Species; With; The; Genus. FEATURES Location/Qualifiers source 1..XXXXXX /scaffold="scaffold1" /db_xref="taxon:taxonid" gene START..STOP /locus_tag="gene1" mRNA START..STOP /locus_tag="gene1" CDS START..STOP /locus_tag="gene1" /db_xref="InterPro:IPRXXXXXX" /go_component="GO:XXXXXXX" /EC_number="X.X.X.X" /translation="AMINOAACIDSSEQUENCE"7
- 返回ptools local的路径
LOCUS scaffold1 XXXXXX bp DNA linear INV DD-MMM-YYYY DEFINITION My species genbank. ACCESSION scaffold1 VERSION scaffold1 KEYWORDS Key words. SOURCE Source ORGANISM Species name Taxonomy; Of; My; Species; With; The; Genus. FEATURES Location/Qualifiers source 1..XXXXXX /scaffold="scaffold1" /db_xref="taxon:taxonid" gene START..STOP /locus_tag="gene1" mRNA START..STOP /locus_tag="gene1" CDS START..STOP /locus_tag="gene1" /db_xref="InterPro:IPRXXXXXX" /go_component="GO:XXXXXXX" /EC_number="X.X.X.X" /translation="AMINOAACIDSSEQUENCE"8
- 返回一个包含ptools本地文件夹中所有pgdb的列表
LOCUS scaffold1 XXXXXX bp DNA linear INV DD-MMM-YYYY DEFINITION My species genbank. ACCESSION scaffold1 VERSION scaffold1 KEYWORDS Key words. SOURCE Source ORGANISM Species name Taxonomy; Of; My; Species; With; The; Genus. FEATURES Location/Qualifiers source 1..XXXXXX /scaffold="scaffold1" /db_xref="taxon:taxonid" gene START..STOP /locus_tag="gene1" mRNA START..STOP /locus_tag="gene1" CDS START..STOP /locus_tag="gene1" /db_xref="InterPro:IPRXXXXXX" /go_component="GO:XXXXXXX" /EC_number="X.X.X.X" /translation="AMINOAACIDSSEQUENCE"9
可用作以下命令:
##gff-version 3 ##sequence-region scaffold_1 1 XXXXXX scaffold_1 RefSeq region 1 XXXXXXX . + . ID=region_id;Dbxref=taxon:XXXXXX scaffold_1 RefSeq gene START STOP . - . ID=gene_id scaffold_1 RefSeq CDS START STOP . - 0 ID=cds_id;Parent=gene_id0
错误
如果您遇到错误(而且极有可能),有一些提示可以帮助您解决它们。
对于病理推断过程中的错误,可以使用日志参数。 日志包含每个种类的生成和错误摘要。 每个子文件夹中还有一个病理日志。
如果通过了构建,您还可以使用resume_inference.tsv文件查看推理的结果。 对于每个物种,它包含代谢网络中基因/蛋白质/反应/途径/化合物的数量。
如果路径工具崩溃,mpwt可以在详细模式下打印一些有用的信息。 它将显示通道工具崩溃的终端。 此外,如果在"病理日志"中有错误,则会在"病理日志"中的"错误"之后显示。
有一个路径工具论坛,您可以在那里找到关于路径工具错误的信息。
也可以使用参数ignore error/ignore_error忽略病理错误。 此选项将忽略错误并在成功的病理构建上继续MPWT工作流。
输出
如果您没有使用output参数,那么结果(带/不带biopax/dat文件的pgdb)将位于您的ptools本地文件夹中,以便与路径工具一起使用。
请记住,MPWT不创建蜂窝概览,也不使用孔填充。因此,如果您想要这些结果,您应该在之后运行它们。
如果使用output参数,则有两个可能的输出依赖于关于使用选项的详细说明–md/dat_提取 :
- 如果没有–md/dat_提取,您的结果中将包含一个完整的pgdb文件夹,例如:
##gff-version 3 ##sequence-region scaffold_1 1 XXXXXX scaffold_1 RefSeq region 1 XXXXXXX . + . ID=region_id;Dbxref=taxon:XXXXXX scaffold_1 RefSeq gene START STOP . - . ID=gene_id scaffold_1 RefSeq CDS START STOP . - 0 ID=cds_id;Parent=gene_id1
- 使用–md/dat_提取,您将只拥有dat文件,例如:
##gff-version 3 ##sequence-region scaffold_1 1 XXXXXX scaffold_1 RefSeq region 1 XXXXXXX . + . ID=region_id;Dbxref=taxon:XXXXXX scaffold_1 RefSeq gene START STOP . - . ID=gene_id scaffold_1 RefSeq CDS START STOP . - 0 ID=cds_id;Parent=gene_id2
- 使用 -r/size_reduction 参数,您将拥有压缩的zip文件(ptools local中的pgdbs将被删除):
##gff-version 3 ##sequence-region scaffold_1 1 XXXXXX scaffold_1 RefSeq region 1 XXXXXXX . + . ID=region_id;Dbxref=taxon:XXXXXX scaffold_1 RefSeq gene START STOP . - . ID=gene_id scaffold_1 RefSeq CDS START STOP . - 0 ID=cds_id;Parent=gene_id3
发布说明
版本之间的更改列在版本页中。
确认
mézaine aite 为他起草本文件包初稿所做的工作。
clémence frioux 了解她的工作和反馈。
来自SRI国际生物信息学研究小组的Peter Karp、Suzanne Paley、Markus Krummenacker、Richard Billington和Anamika Kothari,感谢他们在路径工具和genbank格式方面的帮助。
Genouest生物信息学(https://www.genouest.org/" rel="nofollow">https://www.genouest.org/)提供计算基础设施以测试该工具的核心设施。
所有测试过此工具的用户。