#ViWrap是一个封装好的、模块化的病毒组分析流程软件,汇聚了当前认可度较高的病毒序列识别、注释、分类及宿主预测的软件,可一站式流程化操作。本篇为ViWrap在Linux系统下的安装与配置实操,需要预留出足够的服务器空间。#
一、安装、配置
步骤 1: 下载和安装 Miniconda
步骤 2: 创建 ViWrap 的 conda 环境并设置
步骤2可能出现的报错与解决方法:
步骤 3: 设置其他 ViWrap 的 conda 环境
步骤 4: 设置 ViWrap 数据库(时间较长,可在screen下运行)
二、使用解读
步骤 1: 运行ViWrap
步骤 2: 下载并设置 ViWrap 数据库
步骤 3: 为所有脚本设置 conda 环境
步骤 4: 清理每个结果目录中的冗余信息
首先,确保你的服务器上安装了 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 中
ViWrap 有多个依赖项(例如 Python 库、软件工具等),为了避免与其他项目或全局环境的依赖项冲突,建议在单独的 conda 环境中安装 ViWrap 所需的依赖项。这样可以确保 ViWrap 在独立的环境中运行,不影响其他项目。
使用 git clone
或 wget
下载 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
报错: 明明已经配置好了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
ViWrap 需要多个 conda 环境来支持其不同的功能,例如基因预测、物种注释等(即封装的其他软件的环境配置)。这一步是为了设置这些额外的 conda 环境。这些环境将用于不同的分析步骤,确保所需的工具和库都可用。
# 设置其他 ViWrap 的 conda 环境(在这个例子中,将环境安装在自己的用户目录下的 ViWrap_conda_environments 目录)
ViWrap set_up_env --conda_env_dir ~/ViWrap_conda_environments
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 数据库目录。
ViWrap
最后运行 ViWrap 的主要命令——ViWrap run
,并提供适当的参数和输入文件,以启动分析过程。
1. 这是 ViWrap 的运行命令的基本用法说明。它表明你需要提供输入的元基因组组装文件 (--input_metagenome
)、元基因组读取文件 (--input_reads
),以及指定输出目录 (--out_dir
)。此外,还有一些可选的参数([options]
),可以根据需要提供。
# Usage: ViWrap run --input_metagenome --input_reads --out_dir
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 的两种运行场景,一个是最小配置,另一个是提供了一些额外的定制和参数设置。根据具体的分析需求,你可以选择合适的参数配置。
此步骤通过从 GitHub 上克隆 ViWrap 仓库并下载源代码,获取了 ViWrap 工具的最新版本。解压缩操作确保了 ViWrap 工具的文件结构完整性。
# Note: requires wget, tar, and gzip to be installed
# Usage:
ViWrap download --db_dir
此步骤创建了多个 conda 环境,每个环境专门用于 ViWrap 的不同组件和任务。独立的环境可以确保每个任务使用的 Python 版本和相关库的版本是一致的,避免了不同任务之间的不稳定性和冲突。
# Usage:
ViWrap set_up_env --conda_env_dir /path/to/ViWrap_conda_environments
清理每个 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