在基因组数据中预测前噬菌体和其他病毒样区域的工具

viralrecall的Python项目详细描述


病毒召回

viralrecall是一个灵活的命令行工具,用于预测基因组数据中的前噬菌体和其他类似病毒的区域。 此代码正在开发中,可能会随着错误的发现而更改。

依赖关系

viralrecall是用python 3.5.6编写的,需要biopython、matplotlib、numpy和pandas。 viralrecall分别使用prodigal和hmmer3进行蛋白质预测和hmm搜索。使用前请确保这些工具已安装在您的路径中。 一个Unix系统,您应该能够使用以下工具安装这些工具:

< Buff行情>

sudo apt安装浪子

< Buff行情>

sudo apt安装hmmer

或者,如果您没有sudo特权,可以使用conda:

< Buff行情>

Conda安装Prodigal-C Bioconda

< Buff行情>

conda安装hmmer3-c bioconda

安装

请确保您使用的是>;Python3.5.2并安装了相应的Python模块。如果这是一个问题,请使用conda创建一个python环境(请参见这里的https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html" rel="nofollow">https://conda.io/projects/conda/en/latest/user-guide/tasks/manage environments.html) viralrecall在ubuntu 16.04上进行了测试,应该可以在大多数基于unix的系统上工作。要查看"帮助"菜单,请使用:

< Buff行情>

python viralrecall.py-h

数据库

viralrecall使用两个主要的hmm数据库来分析基因组数据中的病毒特征。首先是pfam,它是一个广泛的特异性数据库,可以检测细胞有机体基因组中常见的许多蛋白质家族。这里的pfam数据库已经被修改以删除常见的病毒蛋白家族。第二个hmm数据库是vogdb,它是已知病毒蛋白家族的综合数据库。完整的vog hmm数据库相当大,在某些情况下,用户可能希望使用较小的集合来加快运行时间。我们已经创建了三个不同大小的vog数据库(all、large和small)。希望执行彻底搜索的用户应该使用"all"数据库,而希望更快搜索的用户可能希望使用"small"数据库("large"数据库是一个中等大小的选项)。

数据库文件可从弗吉尼亚理工大学图书馆系统下载。要下载并解包,请导航到包含viralrecall.py脚本的文件夹,然后键入:

< Buff行情>

wget-o hmm.tar.gzhttps://data.lib.vt.edu/downloads/8k71nh28c

然后

< Buff行情>

tar-xvzf hmm.tar.gz

基本用法

要测试viralRecall是否正常运行,请键入:

< Buff行情>

python viralrecall.py-i示例/test_seq.fna-p test_outdir-t 2-db small-f

结果应位于test_outdir文件夹中。 输出文件夹将包含:

*.faa:使用prodigal从输入文件预测的蛋白质

*.full_annot.tsv:预测ORF的完整注释表。

*.prophage.annot.tsv:仅对病毒区域的注释(仅在发现某些病毒区域时出现)

*summary.tsv预测病毒区的汇总统计。

*.pfamout pfam hmmer3搜索的原始输出

*.vogout vogdb hmmer3搜索的原始输出

此外,对于每个病毒区域,viralrecall将打印出找到的区域的蛋白质和核苷酸序列的.faa和.fna文件。 请确保仅使用.fna文件作为输入。

选项

根据您的首选项和正在分析的数据,可以在viralrecall中更改几个参数。影响结果的重要参数是:

-s,--minscore这是一个基因组区域需要的平均分数,以便通过过滤器并报告为病毒区域。分数由hmmer3分数计算得出,分数越高表示与vog数据库的匹配度越高,分数越低表示与pfam数据库的匹配度越高。默认值为10。

-w,--窗口 用于计算移动平均值的滑动窗口的大小。一个较小的窗口可能有助于预测短病毒区域,但可能会将大病毒区域分割成多个片段。

-m,--minSize 要报告的病毒区域的最小大小(以千碱基为单位)。

-v,--minvog 必须在一个区域中记录的针对VOG数据库的最小点击次数,以便报告该数据库(较大的值=较高的置信度)。

例如,如果我们只想恢复长的、定义良好的病毒区域,可以使用以下命令:

< Buff行情>

python viralrecall.py-i示例/test_seq.fna-p testout-s 15-m 30-v 10

在这里,我们只要求平均得分为15分、至少有30千碱基长、至少有10个VOG点击率的地区。

如果我们想用不同的参数快速地重新进行上述分析,但是不需要重新进行基因预测和hmmer3搜索,我们可以使用-r标志:

< Buff行情>

python viralrecall.py-i示例/test_seq.fna-p testout-s 15-m 30-v 10-r

这将快速重新计算结果,并允许您确定最适合分析的结果。

批处理模式

如果您有许多要测试的序列,可以将它们全部放在一个文件夹中并使用批处理模式。这里输入(-i)应该指向一个包含.fna文件的文件夹。 基本用法是:

< Buff行情>

python viralrecall.py-i示例/testfolder-p文件夹-b

所有输出文件都应该在folderout目录中有自己的文件夹。您还可以使用-b标志和-r标志快速重新计算。

引文

此工具的引用待定。如果您打算在一篇文章中使用此工具,请发送电子邮件至Frank Aylward,询问如何以最佳方式引用Faylward的工作

此外,由于此工具需要浪子和hmmer3,请引用此工具。他们的引文是:

凯悦等Prodigal:原核基因识别和翻译起始位点识别。BMC生物信息学,2010年。 Eddy,"基于概率推理的新一代同源搜索工具"。基因组信息学,2009年。

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

推荐PyPI第三方库


热门话题
keylistener Java密钥侦听器、密钥适配器、按键()不工作   Java Util函数和Collections4 Transformer之间有什么区别?   java根据时间从mysql中删除记录   java发布图像的mime类型无效   java Spring Boot Oauth2使用证书中的pub密钥进行访问令牌验证   java比较两个文本文件,并计算第二个文件中的每个数字在第一个文件中出现的次数   java我在排序这个未排序的数组时遇到问题   Java Lucene对于同一Lucene查询语言,BooleanQuery和QueryParser查询的结果不同   NetBeans环境中的java捕获EDT异常   java Hibernate JPA与共享主键外键字段的一对一双向映射为空(hb无法自动设置)   停止jar实例(kill<PID>)和关闭挂钩进程后的java不会停止   java扫描程序没有停止   java使用现有私钥和RS256算法生成JWT   java我需要测试接口的每个实现来测试接口吗?   java什么是Joda相当于Calendar get DST Offset   异步api的java Cpu利用率非常高   java无法从Mule接收HTTP响应   Java7精确重播,最后一个异常