geNomad:移动遗传元件的鉴定
项目描述
geNomad
geNomad:移动遗传元件的鉴定
功能
geNomad的主要目标是识别测序数据(分离株、宏基因组、宏转录组)中的病毒和质粒。它还提供了一些额外的功能,可以帮助您进行分析
- 病毒基因组的分类学分配。
- 鉴定整合到宿主基因组中的病毒(前病毒)。
- 蛋白质的功能注释。
文档
有关安装说明、geNomad的工作原理以及如何执行它的详细说明,请参阅完整文档:https://portal.nersc.gov/genomad/
Web应用程序
geNomad作为Web应用程序在NMDC EDGE平台上可用。在那里您可以上传您的序列数据,在浏览器中查看结果,并将数据下载到您的计算机上。
引用geNomad
如果您在您的作品中使用了geNomad,请考虑引用其论文
Camargo, A. P., Roux, S., Schulz, F., Babinski, M., Xu, Y., Hu, B., Chain, P. S. G., Nayfach, S., & Kyrpides, N. C. — Nature Biotechnology (2023), DOI: 10.1038/s41587-023-01953-y.
快速入门
我们建议用户在开始使用geNomad之前阅读文档。然而,如果您时间紧迫,可以按照以下快速分步示例进行。
安装
首先,您需要安装geNomad。有几种方法可以做到这一点,但在这里我们将使用mamba,因为它将为我们处理所有依赖项。
# Create an environment for geNomad
mamba create -n genomad -c conda-forge -c bioconda genomad
# Activate the geNomad environment
mamba activate genomad
或者,您可以使用Docker运行geNomad。
# Pull the image
docker pull antoniopcamargo/genomad
# Run the image
docker run --rm -ti -v "$(pwd):/app" antoniopcamargo/genomad
下载数据库
geNomad依赖于一个包含用于分类序列的标记器配置文件、它们的分类信息、它们的注释信息等数据的数据库。因此,您应该首先将数据库下载到当前目录。
genomad download-database .
数据库将位于genomad_db
目录中。
如果您愿意,也可以从Zenodo下载数据库,并手动提取。
执行geNomad
现在您可以开始了!geNomad通过依次执行一系列模块来工作(您可以在管道文档中找到更多关于此的信息),但我们提供了一个方便的end-to-end
命令,可以一次执行整个管道。
在本例中,我们将使用一个Klebsiella pneumoniae基因组(GCF_009025895.1)作为输入。您可以使用包含核酸序列的任何FASTA文件作为输入。geNomad适用于分离基因组、宏基因组以及宏转录组。
执行geNomad的命令结构如下
genomad end-to-end [OPTIONS] INPUT OUTPUT DATABASE
因此,为了运行完整的geNomad管道(end-to-end
命令),以核酸FASTA文件(GCF_009025895.1.fna.gz
)和数据库(genomad_db
)作为输入,我们将执行以下命令
genomad end-to-end --cleanup --splits 8 GCF_009025895.1.fna.gz genomad_output genomad_db
结果将写入genomad_output
目录中。
关于上述命令的三个重要细节
- 使用了
--cleanup
选项来强制geNomad删除执行过程中生成的中间文件。这将为您节省一些存储空间。 - 这里使用了
--splits 8
参数,以便在notebook中运行此示例。geNomad搜索一个包含大量蛋白质配置文件的大数据库,这些配置文件在内存中占用大量空间。为了防止因内存不足而执行失败,我们可以使用--splits
参数将搜索分割成块。如果您在一个大服务器上运行geNomad,可能不需要分割您的搜索,这样可以提高执行速度。 - 请注意,我作为输入使用的FASTA文件是压缩的。这是因为geNomad支持压缩为
.gz
、.bz2
或.xz
的输入文件。
注意 默认情况下,geNomad应用一系列后分类过滤器以删除可能的假阳性。例如,序列需要至少有0.7的质粒或病毒分数,并且长度小于2,500 bp的序列需要至少编码一个标志基因。如果您想禁用后分类过滤器,请将
--relaxed
标志添加到您的命令中。另一方面,如果您想对分类非常保守,请使用--conservative
标志。这将使后分类过滤器更激进,防止没有强烈支持的序列被分类为质粒或病毒。您可以在此处检查默认、宽松和保守的后分类过滤器。
理解输出
在本例中,geNomad分析的结果将写入genomad_output
目录,如下所示
genomad_output
├── GCF_009025895.1_aggregated_classification
├── GCF_009025895.1_aggregated_classification.log
├── GCF_009025895.1_annotate
├── GCF_009025895.1_annotate.log
├── GCF_009025895.1_find_proviruses
├── GCF_009025895.1_find_proviruses.log
├── GCF_009025895.1_marker_classification
├── GCF_009025895.1_marker_classification.log
├── GCF_009025895.1_nn_classification
├── GCF_009025895.1_nn_classification.log
├── GCF_009025895.1_summary
╰── GCF_009025895.1_summary.log
如上所述,geNomad通过依次执行几个模块来工作。每一个都会生成一个日志文件(<prefix>_<module>.log
)和一个子目录(<prefix>_<module>
)。
对于这个例子,我们只看GCF_009025895.1_summary
目录内的文件。该<prefix>_summary
目录包含在整个管道中生成的结果的总结文件。如果您只想查看输入中识别的质粒和病毒列表,这就是您要找的。
genomad_output
╰── GCF_009025895.1_summary
├── GCF_009025895.1_plasmid.fna
├── GCF_009025895.1_plasmid_genes.tsv
├── GCF_009025895.1_plasmid_proteins.faa
├── GCF_009025895.1_plasmid_summary.tsv
├── GCF_009025895.1_summary.json
├── GCF_009025895.1_virus.fna
├── GCF_009025895.1_virus_genes.tsv
├── GCF_009025895.1_virus_proteins.faa
╰── GCF_009025895.1_virus_summary.tsv
首先,让我们看看GCF_009025895.1_virus_summary.tsv
。
seq_name length topology coordinates n_genes genetic_code virus_score fdr n_hallmarks marker_enrichment taxonomy
-------------------------------------- ------ ------------------- --------------- ------- ------------ ----------- --- ----------- ----------------- -----------------------------------------------------------------
NZ_CP045015.1|provirus_2885510_2934610 49101 Provirus 2885510-2934610 69 11 0.9776 NA 14 76.0892 Viruses;Duplodnaviria;Heunggongvirae;Uroviricota;Caudoviricetes;;
NZ_CP045015.1|provirus_3855947_3906705 50759 Provirus 3855947-3906705 79 11 0.9774 NA 16 75.1552 Viruses;Duplodnaviria;Heunggongvirae;Uroviricota;Caudoviricetes;;
NZ_CP045018.1 51887 No terminal repeats NA 57 11 0.9774 NA 14 67.7749 Viruses;Duplodnaviria;Heunggongvirae;Uroviricota;Caudoviricetes;;
…
这个表格文件列出了geNomad在您的输入中找到的所有病毒,并提供了关于它们的方便信息。以下是每列包含的内容
seq_name
:输入FASTA文件中序列的标识符。前病毒将遵循以下命名方案:<序列标识符>|provirus_<起始坐标>_<终止坐标>
。length
:序列长度(或整合病毒的病毒,在这种情况下为前病毒)。topology
:病毒序列的拓扑结构。可能的值为:无终端重复
、DTR
(直接终端重复)、ITR
(反转终端重复)或前病毒
(整合到宿主基因组中的病毒)。coordinates
:宿主序列中前病毒区域的一索引坐标。对于未被预测为整合的病毒将是NA
。n_genes
:编码在序列中的基因数量。genetic_code
:预测的遗传密码。可能的值为:11(细菌和古菌的标准密码子)、4(重编码TGA终止密码子)或15(重编码TAG终止密码子)。virus_score
:geNomad对序列是病毒的置信度的一个度量。得分接近1.0的序列比得分较低的序列更有可能是病毒。fdr
:分类估计的假发现率(FDR)(即,直到这一行为止的序列中预期的假阳性比例)。要估计FDR,geNomad需要得分校准,默认情况下是关闭的。因此,在这个示例中,此列将只包含NA
值。n_hallmarks
:匹配geNomad标志的基因数量。标志是与病毒功能相关联的基因,它们的存在强烈表明序列确实是病毒。marker_enrichment
:表示病毒标志在序列中总富集程度的得分。随着病毒标志在序列中数量的增加,该值增加,因此具有多个标志的序列得分更高。染色体和质粒标志会降低得分。taxonomy
:病毒基因组的分类分配。谱系遵循ICTV的VMR编号19中的分类。病毒可以分类到家族水平,但不能分类到该家族中的特定属或种。分类以固定数量的字段(对应于分类等级)表示,字段之间用分号分隔,空字段留空。
在我们的示例中,geNomad识别了几个整合到K. pneumoniae基因组的质粒和一种外染色体噬菌体。由于它们都具有高得分和标志富集,我们可以有信心这些确实是病毒。它们都被预测使用遗传密码子11,并被分配到Caudoviricetes类,该类包含所有的尾噬菌体。在这些病毒的taxonomy
字段中,在Caudoviricetes之后有两个连续的分号,因为geNomad只能将它们分配到类级别,留下序和家族等级为空。
另一个重要的文件是GCF_009025895.1_virus_genes.tsv
。在其执行过程中,geNomad使用染色体、质粒和病毒特异性标志的数据库来注释输入序列中编码的基因。<prefix>_virus_genes.tsv
文件总结了已识别病毒编码基因的注释。
gene start end length strand gc_content genetic_code rbs_motif marker evalue bitscore uscg plasmid_hallmark virus_hallmark taxid taxname annotation_conjscan annotation_amr annotation_accessions annotation_description
--------------- ----- ----- ------ ------ ---------- ------------ ----------- ----------------- ---------- -------- ---- ---------------- -------------- ----- -------------- ------------------- -------------- -------------------------------- --------------------------------------------------------------------------------------
NZ_CP045018.1_1 1 399 399 1 0.536 11 None GENOMAD.108715.VP 2.536e-32 123 0 0 1 2561 Caudoviricetes NA NA PF05100;COG4672;TIGR01600 Phage minor tail protein L
NZ_CP045018.1_2 401 1111 711 1 0.568 11 AGGAG GENOMAD.168265.VP 9.279e-47 170 0 0 0 2561 Caudoviricetes NA NA PF14464;COG1310;K21140;TIGR02256 Proteasome lid subunit RPN8/RPN11, contains Jab1/MPN domain metalloenzyme (JAMM) motif
NZ_CP045018.1_3 1143 1493 351 1 0.382 11 AGGAG GENOMAD.147875.VV 1.495e-14 71 0 0 0 2561 Caudoviricetes NA NA COG5633;TIGR03066 NA
NZ_CP045018.1_4 1509 2120 612 1 0.477 11 GGA/GAG/AGG GENOMAD.143103.VP 1.958e-50 179 0 0 1 2561 Caudoviricetes NA NA PF06805;COG4723;TIGR01687 Phage-related protein, tail component
NZ_CP045018.1_5 2183 13516 11334 1 0.566 11 None GENOMAD.159864.VP 1.225e-268 923 0 0 0 2561 Caudoviricetes NA NA PF12421;PF09327 Fibronectin type III protein
NZ_CP045018.1_6 13585 15084 1500 1 0.550 11 AGGAG GENOMAD.195756.VP 2.017e-14 79 0 0 0 2561 Caudoviricetes NA NA NA NA
NZ_CP045018.1_7 15163 16128 966 -1 0.469 11 GGAGG NA NA NA 0 0 0 1 NA NA NA NA NA
…
此文件中的列包括
gene
:基因的标识符(<序列名称>_<基因编号>
)。通常,基因编号从1开始(序列中的第一个基因)。然而,整合到宿主染色体中部的噬菌体编码的基因可能从不同的数字开始,这取决于它在染色体中的位置。start
:基因的一索引起始坐标。end
:基因的一索引终止坐标。length
:基因位点长度(以碱基对计)。strand
:编码基因的链。可以是1(直接链)或-1(反向链)。gc_content
:基因位点的GC含量。genetic_code
:预测的遗传密码(请参见总结文件说明中的详细信息)。rbs_motif
:检测到的核糖体结合位点模式。marker
:最佳匹配geNomad标记。如果该基因不匹配任何标记,则值将为NA
。evalue
:基因编码的蛋白质与最佳匹配geNomad标记之间的比对E值。bitscore
:基因编码的蛋白质与最佳匹配geNomad标记之间的比对bitscore。uscg
:分配给该基因的标记是否对应于通用单拷贝基因(UCSG,如BUSCO v5中定义)。这些基因预期存在于染色体中,在质粒和病毒中很少见。可以是1(基因是UCSG)或0(基因不是UCSG)。plasmid_hallmark
:分配给该基因的标记是否代表质粒标志。virus_hallmark
:分配给该基因的标记是否代表病毒标志。taxid
:分配给该基因的标记的税onom识别符(您可以忽略此信息,因为它旨在由geNomad内部使用)。taxname
:与分配的geNomad标记相关的分类群名称。在这个例子中,我们可以看到注释的蛋白质都是Caudoviricetes的特征(这就是为什么前病毒被分配给这个类)。annotation_conjscan
:如果匹配基因的标记是交配相关的基因(如CONJscan中定义),则此字段将显示分配给标记的CONJscan访问号。annotation_amr
:如果匹配基因的标记注释了抗菌素抗性(AMR)功能(如NCBIfam-AMRFinder中定义),则此字段将显示分配给标记的NCBIfam访问号。annotation_accessions
:一些geNomad标记具有功能注释。此列告诉您Pfam、TIGRFAM、COG和KEGG中哪些条目被分配给了标记。annotation_description
:描述分配给标记的功能的文本。
在上面的例子中,我们可以看到编码在NZ_CP045018.1
中的前七个基因的信息。最后一条记录没有匹配任何geNomad标记。前六条都被分配给了蛋白质家族,其中一些是尾部噬菌体的典型特征(如尾部蛋白),这让我们确信这些确实是Caudoviricetes。
这里的一个重要细节是geNomad标记的主要目的是分类。它们被设计成针对染色体、质粒或病毒,以便区分属于这些类别的序列。因此,您不应该期望每个单个病毒基因都会被注释为geNomad标记。如果您希望尽可能彻底地注释您序列中的基因,您应该使用如Pfam或COG之类的数据库。
在摘要目录中,与病毒相关的其他两个文件是GCF_009025895.1_virus.fna
和GCF_009025895.1_virus_proteins.faa
。这些分别是已识别病毒序列及其蛋白质的FASTA文件。前病毒自动从宿主序列中切除。
接下来是质粒,有关其鉴定的数据可以在<prefix>_plasmid_summary.tsv
、<prefix>_genes.tsv
、<prefix>_plasmid.fna
和<prefix>_plasmid_proteins.faa
文件中找到。这些文件与病毒类似。在<prefix>_plasmid_summary.tsv
(如下所示)中的差异如下
- 在
<prefix>_virus_summary.tsv
中存在的病毒特定列(coordinates
和taxonomy
)不存在。 - 《conjugation_genes》列列出了可能参与接合的基因。需要注意的是,存在这样的基因并不足以判断一个特定的质粒是否具有接合性或可动性。如果您有兴趣识别接合性质粒,我们建议您使用geNomad和CONJscan分析您所确定的质粒。
- 《amr_genes》列列出了具有抗菌耐药性功能的基因。您可以在AMRFinderPlus网站上查看每个登录号的具体功能。
seq_name length topology n_genes genetic_code plasmid_score fdr n_hallmarks marker_enrichment conjugation_genes amr_genes
------------- ------ ------------------- ------- ------------ ------------- --- ----------- ----------------- ----------------------------------------------------------------------------------------------------- -----------------------------------
NZ_CP045020.1 28729 No terminal repeats 36 11 0.9955 NA 7 25.8098 F_traE NA
NZ_CP045022.1 50635 No terminal repeats 61 11 0.9947 NA 9 46.4657 T_virB1;T_virB3;virb4;T_virB5;T_virB6;T_virB8;T_virB9 NA
NZ_CP045019.1 44850 No terminal repeats 52 11 0.9945 NA 3 28.7110 F_traE NA
NZ_CP045016.1 82240 No terminal repeats 110 11 0.9939 NA 11 33.4021 T_virB8;T_virB9;F_traF;F_traH;F_traG;T_virB1 NF000225;NF000270;NF012171;NF000052
NZ_CP045017.1 61331 No terminal repeats 76 11 0.9934 NA 16 36.2817 I_trbB;I_trbA;MOBP1;I_traI;I_traK;I_traL;I_traN;I_traO;I_traP;I_traQ;I_traR;traU;I_traW;I_traY;F_traE NA
NZ_CP045021.1 5251 No terminal repeats 7 11 0.9910 NA 1 1.4225 NA NA
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。