宏基因组病毒识别工具——VIBRANT入土(个人记录向)

简介

文献: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% 的病毒。

安装

  1. 创建虚拟环境

    感觉VIBRANT这个包还是稍微有点别扭的,很容易出问题,有的依赖包需要特定版本,所以建议别装在base环境,按照作者在GitHub issues里面说的,直接给个虚拟环境。

    conda create -n vibrant python=3 pandas numpy scikit-learn=0.21.3 prodigal hmmer biopython matplotlib seaborn
    # 这里-n后面跟的是环境的名字,可以自由更换
    
  1. 安装依赖包
    (官方文档:https://github.com/AnantharamanLab/VIBRANT/#python3-dependencies-installation

    如果你是按照刚刚那个构建环境的话,基本都已经装好了。如果出问题可以回来检查一下,多半是依赖包的版本的问题。

    程序依赖

    1. Python3: https://www.python.org (version >= 3.5)

    2. Prodigal: https://github.com/hyattpd/Prodigal

      conda install -c bioconda prodigal

    3. HMMER3: https://github.com/EddyRivasLab/hmmer

      conda install -c bioconda hmmer

    4. gzip: http://www.gzip.org/

    5. tar: https://www.gnu.org/software/tar/

      这俩一般都有了

    6. wget: https://www.gnu.org/software/wget/ (version >= 1.14)

      conda install wget

    Python依赖

    1. BioPython: https://biopython.org/wiki/Download

      conda install -c conda-forge biopython

    2. Pandas: https://pandas.pydata.org/pandas-docs/stable/install.html

      conda install -c anaconda pandas

    3. Matplotlib: https://matplotlib.org/

      pip install matplotlib or conda install matplotlib

    4. Seaborn: https://seaborn.pydata.org/ (version >= 0.9.0)

      conda install seaborn

    5. Numpy: https://numpy.org/ (version >= 1.17.0)

      conda install -c anaconda numpy

    6. Scikit-learn: https://scikit-learn.org/stable/ (version == 0.21.3)

      conda install scikit-learn

    7. Pickle: https://docs.python.org/3/library/pickle.html

      一般在Python3里自带,不需要安装。如果出了问题可以pip install pickle-mixin

  2. 安装vibrant

    有conda安装和GitHub clone两种安装方式,后一种还要自己设置路径啥的,后面步骤也不太一样。

    我用的是conda(虽然conda装得这总感觉怪怪的……)

    conda install -c bioconda vibrant==1.2.0
    

    多嘴一句:可能有的小伙伴习惯用mamba替换conda,但是我用mamba装不上,最后还是conda装上的~

  3. 检查

    检查一下是否安装成功啦!VIBRANT不是用一个命令运行,它是直接脚本运行的:

    VIBRANT_run.py -h
    

    如果打开了帮助菜单,就说明安装成功啦!

  4. 安装数据库

    正式开始使用之前,需要先安装数据库,大约需要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,不行

解决方法:更新wget

  1. 在VIBRANT所在的虚拟环境安装新版本的wget(conda install wget

  2. 激活虚拟环境中的wget

    在终端中运行如下命令:

    export PATH="/替换成你的虚拟环境的路径/bin:$PATH"
    
  3. 检查

    再次使用wget --help,看第一行的版本号,高于1.17就可以了。

    修改为了高版本

注意这个方法只适用于当前终端激活的环境,不会影响整个系统哦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。