Linux系统下,病毒组分析模块化流程ViWrap的安装、配置与使用方法解读

#ViWrap是一个封装好的、模块化的病毒组分析流程软件,汇聚了当前认可度较高的病毒序列识别、注释、分类及宿主预测的软件,可一站式流程化操作。本篇为ViWrap在Linux系统下的安装与配置实操,需要预留出足够的服务器空间。# 


一、安装、配置

步骤 1: 下载和安装 Miniconda

步骤 2: 创建 ViWrap 的 conda 环境并设置

步骤2可能出现的报错与解决方法:

步骤 3: 设置其他 ViWrap 的 conda 环境

步骤 4: 设置 ViWrap 数据库(时间较长,可在screen下运行)

二、使用解读

步骤 1: 运行ViWrap

步骤 2: 下载并设置 ViWrap 数据库

步骤 3: 为所有脚本设置 conda 环境

步骤 4: 清理每个结果目录中的冗余信息


一、安装、配置

步骤 1: 下载和安装 Miniconda

首先,确保你的服务器上安装了 Miniconda。如果没有,请按照以下步骤安装:

# 下载 Miniconda 安装脚本(替换 x86_64 根据你的服务器架构)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

# 执行安装脚本
bash Miniconda3-latest-Linux-x86_64.sh

# 按照提示进行安装,注意将 Miniconda 添加到你的 PATH 中

步骤 2: 创建 ViWrap 的 conda 环境并设置

ViWrap 有多个依赖项(例如 Python 库、软件工具等),为了避免与其他项目或全局环境的依赖项冲突,建议在单独的 conda 环境中安装 ViWrap 所需的依赖项。这样可以确保 ViWrap 在独立的环境中运行,不影响其他项目。

使用 git clonewget 下载 ViWrap 的源代码,并解压缩。这将为你提供 ViWrap 的执行文件和相关脚本。

# 创建 conda 环境(假设你希望将环境安装在自己的用户目录下的 ViWrap_conda_env 目录)
conda create -c bioconda -c conda-forge -n ViWrap python=3.8 biopython=1.80 mamba=1.3.0 numpy=1.24.2 pandas=1.5.3 pyfastx=0.8.4 matplotlib=3.6.3 seaborn=0.12.2 diamond=2.0.15 hmmer=3.3.2

# 激活 conda 环境
conda activate ViWrap

# 返回你的主目录
cd ~

# 使用 wget 下载 ViWrap 压缩包
wget -c https://github.com/AnantharamanLab/ViWrap/archive/refs/tags/v1.3.0.tar.gz

# 解压缩压缩包
tar xzf v1.3.0.tar.gz

# 进入 ViWrap 目录
cd ViWrap-1.3.0

# 使所有 Python 脚本可执行
chmod +x ViWrap scripts/*.py

# 添加 ViWrap 到 PATH 中,使其在终端中可以调用
export PATH=`pwd`:$PATH

步骤2可能出现的报错与解决方法:

报错: 明明已经配置好了conda环境却报“ CondaError: Run 'conda init' before 'conda activate' ”

可能原因:conda 没有被正确初始化,导致不能激活环境。

解决方法:

#用nano编辑器打开bashrc文件
nano ~/.bashrc
#改初始化代码
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/path/to/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/path/to/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/path/to/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/path/to/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

#保存并退出编辑器
Ctrl +X

#重新加载bashrc环境
source ~/.bashrc

步骤 3: 设置其他 ViWrap 的 conda 环境

ViWrap 需要多个 conda 环境来支持其不同的功能,例如基因预测、物种注释等(即封装的其他软件的环境配置)。这一步是为了设置这些额外的 conda 环境。这些环境将用于不同的分析步骤,确保所需的工具和库都可用。

# 设置其他 ViWrap 的 conda 环境(在这个例子中,将环境安装在自己的用户目录下的 ViWrap_conda_environments 目录)
ViWrap set_up_env --conda_env_dir ~/ViWrap_conda_environments

步骤 4: 设置 ViWrap 数据库(约4h,可在screen下运行)

ViWrap 需要访问特定的数据库,以支持其功能,例如注释、分类等。运行 ViWrap download 命令,该命令将下载和设置 ViWrap 所需的数据库。这些数据库包含用于分析的参考数据,提供了对基因、物种等信息的支持。

# 设置 ViWrap 数据库(在这个例子中,将数据库安装在自己的用户目录下的 ViWrap_db 目录)
ViWrap download --db_dir ~/ViWrap_db --conda_env_dir ~/ViWrap_conda_environments

注意: 请确保你的主目录(~)下有足够的空间来存储环境、数据和数据库(至少430G左右)。在这个例子中,~/ViWrap_conda_environments 是 ViWrap 的 conda 环境目录,~/ViWrap_db 是 ViWrap 数据库目录。


二、使用解读

步骤 1: 运行ViWrap

最后运行 ViWrap 的主要命令——ViWrap run,并提供适当的参数和输入文件,以启动分析过程。

1. 这是 ViWrap 的运行命令的基本用法说明。它表明你需要提供输入的元基因组组装文件 (--input_metagenome)、元基因组读取文件 (--input_reads),以及指定输出目录 (--out_dir)。此外,还有一些可选的参数([options]),可以根据需要提供。

# Usage: ViWrap run --input_metagenome  --input_reads  --out_dir  [options]

2. 这是一个最简单的运行 ViWrap 的例子,使用了最小的必需输入。解释如下:

  • --input_metagenome /path/to/Lake_01_assemblies.fasta:指定元基因组组装文件的路径。
  • --input_reads /path/to/Lake_01_T1_1.fastq,...:指定元基因组读取文件的路径,这里提供了四个文件。
  • --out_dir ./ViWrap_Lake_01_outdir:指定输出目录的路径。
  • --db_dir /path/to/ViWrap_db:指定 ViWrap 数据库的路径。
  • --identify_method vb:指定元基因组识别的方法,这里使用了 VirFinder (vb) 方法。
  • --conda_env_dir /path/to/ViWrap_conda_environments:指定 conda 环境的路径。
# Example 1 (minimal required inputs):
ViWrap run --input_metagenome /path/to/Lake_01_assemblies.fasta \
           --input_reads /path/to/Lake_01_T1_1.fastq,/path/to/Lake_01_T1_2.fastq,/path/to/Lake_01_T2_1.fastq,/path/to/Lake_01_T2_2.fastq \
           --out_dir ./ViWrap_Lake_01_outdir \
           --db_dir /path/to/ViWrap_db \
           --identify_method vb \
           --conda_env_dir /path/to/ViWrap_conda_environments

3. 这是一个更复杂的例子,提供了一些额外的选项:

  • --threads 30:使用了 30 个线程进行处理。
  • --virome:表明输入数据来自病毒组。
  • --input_length_limit 5000:指定输入数据的长度限制为 5000。
  • --custom_MAGs_dir /path/to/custom_MAGs_dir:提供了自定义的 MAGs(Metagenome-Assembled Genomes)目录的路径。
  • --iPHoP_db_custom /path/to/iPHoP_db_custom:提供了自定义的 iPHoP 数据库的路径。
# Example 2 (with custom MAGs from the same metagenome provided for further host prediction)
ViWrap run --input_metagenome /path/to/Lake_01_assemblies.fasta \
           --input_reads /path/to/Lake_01_T1_1.fastq,/path/to/Lake_01_T1_2.fastq,/path/to/Lake_01_T2_1.fastq,/path/to/Lake_01_T2_2.fastq \
           --out_dir ./ViWrap_Lake_01_outdir \
           --db_dir /path/to/ViWrap_db \
           --identify_method vs \
           --conda_env_dir /path/to/ViWrap_conda_environments \
           --threads 30 \
           --virome \
           --input_length_limit 5000 \
           --custom_MAGs_dir /path/to/custom_MAGs_dir 
           --iPHoP_db_custom /path/to/iPHoP_db_custom

这两个例子提供了 ViWrap 的两种运行场景,一个是最小配置,另一个是提供了一些额外的定制和参数设置。根据具体的分析需求,你可以选择合适的参数配置。


步骤 2: 下载并设置 ViWrap 数据库

此步骤通过从 GitHub 上克隆 ViWrap 仓库并下载源代码,获取了 ViWrap 工具的最新版本。解压缩操作确保了 ViWrap 工具的文件结构完整性。

# Note: requires wget, tar, and gzip to be installed
	
# Usage:
ViWrap download --db_dir   --conda_env_dir 

# Example:
ViWrap download --db_dir /path/to/ViWrap_db  --conda_env_dir /path/to/ViWrap_conda_environments

步骤 3: 为所有脚本设置 conda 环境

此步骤创建了多个 conda 环境,每个环境专门用于 ViWrap 的不同组件和任务。独立的环境可以确保每个任务使用的 Python 版本和相关库的版本是一致的,避免了不同任务之间的不稳定性和冲突。

# Usage: 
ViWrap set_up_env --conda_env_dir /path/to/ViWrap_conda_environments  

步骤 4: 清理每个结果目录中的冗余信息

清理每个 ViWrap 运行的结果目录中可能积累的冗余信息,确保结果目录保持整洁。如果用户提供了自定义的 MAGs 目录,可以选择在清理时同时清理这些自定义 MAGs。在长期运行 ViWrap 分析时,清理可以释放磁盘空间并使结果更易于管理。

# Usage:
ViWrap clean --out_dir ./ViWrap_Lake_01_outdir
    
# if you have set the "custom_MAGs_dir" option, you can do like this:
ViWrap clean --out_dir ./ViWrap_Lake_01_outdir --custom_MAGs_dir /path/to/custom_MAGs_dir 

 

参考链接:iMeta | 威斯康星大学周之超等开发病毒组全能型分析流程-CSDN博客

GitHub下载地址:https://github.com/AnantharamanLab/ViWrap

你可能感兴趣的:(生物信息学,Linux,病毒组分析,linux,python,运维)