简介
文献:https://pubmed.ncbi.nlm.nih.gov/32522236/
官方文档:https://github.com/AnantharamanLab/VIBRANT
VIBRANT是一个发表于2020.6的宏基因组病毒识别工具。
利用混合机器学习和蛋白质相似性方法的方法,不依赖于序列特征来自动恢复和注释病毒、确定基因组质量和完整性以及从宏基因组组装中表征病毒群落功能。使用蛋白质特征神经网络和新开发的v-score指标,绕过传统界限,最大限度地识别裂解病毒基因组和整合的原病毒,包括高度多样化的病毒。
与其他病毒识别程序(特别是 VirSorter、VirFinder 和 MARVEL)相比,VIBRANT 在恢复更高质量的病毒方面表现出卓越的性能,同时减少了非病毒基因组片段的错误识别。当应用于代表多种人类和自然环境的 120,834 个宏基因组衍生病毒序列时,VIBRANT 平均恢复了 94% 的病毒。
安装
-
创建虚拟环境
感觉VIBRANT这个包还是稍微有点别扭的,很容易出问题,有的依赖包需要特定版本,所以建议别装在base环境,按照作者在GitHub issues里面说的,直接给个虚拟环境。
conda create -n vibrant python=3 pandas numpy scikit-learn=0.21.3 prodigal hmmer biopython matplotlib seaborn # 这里-n后面跟的是环境的名字,可以自由更换
-
安装依赖包
(官方文档:https://github.com/AnantharamanLab/VIBRANT/#python3-dependencies-installation)如果你是按照刚刚那个构建环境的话,基本都已经装好了。如果出问题可以回来检查一下,多半是依赖包的版本的问题。
程序依赖
Python3: https://www.python.org (version >= 3.5)
-
Prodigal: https://github.com/hyattpd/Prodigal
conda install -c bioconda prodigal
-
HMMER3: https://github.com/EddyRivasLab/hmmer
conda install -c bioconda hmmer
gzip: http://www.gzip.org/
-
tar: https://www.gnu.org/software/tar/
这俩一般都有了
-
wget: https://www.gnu.org/software/wget/ (version >= 1.14)
conda install wget
Python依赖
-
BioPython: https://biopython.org/wiki/Download
conda install -c conda-forge biopython
-
Pandas: https://pandas.pydata.org/pandas-docs/stable/install.html
conda install -c anaconda pandas
-
Matplotlib: https://matplotlib.org/
pip install matplotlib
orconda install matplotlib
-
Seaborn: https://seaborn.pydata.org/ (version >= 0.9.0)
conda install seaborn
-
Numpy: https://numpy.org/ (version >= 1.17.0)
conda install -c anaconda numpy
-
Scikit-learn: https://scikit-learn.org/stable/ (version == 0.21.3)
conda install scikit-learn
-
Pickle: https://docs.python.org/3/library/pickle.html
一般在Python3里自带,不需要安装。如果出了问题可以
pip install pickle-mixin
-
安装vibrant
有conda安装和GitHub clone两种安装方式,后一种还要自己设置路径啥的,后面步骤也不太一样。
我用的是conda(虽然conda装得这总感觉怪怪的……)
conda install -c bioconda vibrant==1.2.0
多嘴一句:可能有的小伙伴习惯用mamba替换conda,但是我用mamba装不上,最后还是conda装上的~
-
检查
检查一下是否安装成功啦!VIBRANT不是用一个命令运行,它是直接脚本运行的:
VIBRANT_run.py -h
如果打开了帮助菜单,就说明安装成功啦!
-
安装数据库
正式开始使用之前,需要先安装数据库,大约需要20GB硬盘空间。
- 作者给conda安装的用户准备的安装命令是:
download-db.sh
- 或者也可以直接去运行数据库加载的脚本VIBRANT_setup.py。
我的VIBRANT的数据库加载脚本是
/虚拟环境的位置/share/vibrant-1.2.0/databases/VIBRANT_setup.py
另外同目录下还有个
VIBRANT_setup.log
可以看之前下数据库的log。顺利的数据库安装如下:
数据库安装成功
参数及使用
参数
唯一硬性需要的参数
-i :输入FASTA 文件,该文件可以是核苷酸或蛋白质格式。
——————
VIBRANT 还附带几个非常简单的可选参数。您可以在任何时候通过 VIBRANT_run.py -h 查看帮助菜单。
常用可选参数
-t:线程数。默认为1。
-f:输入蛋白质时需要使用该参数(-f prot),默认 = nucl。
-folder:指定存放 VIBRANT 输出文件夹和临时文件的目录。如果指定目录不存在,则将创建该目录。默认 = 当前工作目录。
不常用的可选参数
-l:增加最小scaffold长度要求。最小为 1000 bp(-l 1000)。默认 = 1000。例如,如果使用 -l 5000,VIBRANT 将只考虑大于或等于 5000bp 的scaffold。
-o:增加每个支架要求的最小开放阅读框(ORF)数量。最低为 4 个 ORF (-o 4)。默认 = 4。例如,如果调用 -o 8,VIBRANT 将只考虑至少编码 8 个蛋白质的scaffold。
-virome: 应谨慎使用该标记。该参数告诉 VIBRANT 输入数据集是病毒组而非混合的宏基因组,这会降低 VIBRANT 的灵敏度。也就是说,如果您预计绝大多数输入支架都是病毒,那么可以使用 -virome 来移除明显的非病毒支架。这对运行时间没有影响。默认 = 关闭。
-no_plot: 该标记可用于跳过生成 VIBRANT 结果的图形表示。如果您根本不需要输出图形,或者由于某种原因 VIBRANT 的这一功能导致程序崩溃,则可以使用该标记。这对运行时间影响不大。默认 = 关闭。
可能不会使用的可选参数
-d:指定databases/
目录的位置(如果从默认位置移动)
-m:指定files/
目录的位置(如果从默认位置移动)
对于 -d 和 -m,请指定文件新位置的完整路径。例如,-d new_location/databases/。
使用
python3 VIBRANT_run.py -i example_data/mixed_example.fasta</pre>
主要输出文件
识别到的病毒基因组的FASTA文件:
VIBRANT_phages_<input_file>/<input_file>.phages_combined.fna
识别到的病毒基因列表:
VIBRANT_phages_<input_file>/<input_file>.phages_combined.txt
识别到的病毒基因的GenBank文件 (if
-f nucl
):VIBRANT_phages_<input_file>/<input_file>.phages_combined.gbk
问题解决
如何寻找命令安装在哪里?
使用whereis VIBRANT_run.py
命令,就能够得到VIBRANT安装的位置(一般都是/虚拟环境的位置/bin/
)
安装数据库时报错:wget: unrecognized option '--no-hsts'
这个问题是由于wget版本太低(1.17之前),没有--no-hsts
选项造成的。wget的默认版本通常是沿用系统的,可以用wget --help
查看,第一行就会显示版本号。
解决方法:更新wget
在VIBRANT所在的虚拟环境安装新版本的wget(
conda install wget
)-
激活虚拟环境中的wget
在终端中运行如下命令:
export PATH="/替换成你的虚拟环境的路径/bin:$PATH"
-
检查
再次使用
wget --help
,看第一行的版本号,高于1.17就可以了。修改为了高版本
注意这个方法只适用于当前终端激活的环境,不会影响整个系统哦。