方法1:conda安装
官方推荐的安装方法是用mamba安装,若没安装有mamba,可参考我这篇博文先安装mamba mamba的安装教程-CSDN博客
先查看一下conda已安装的环境有没有已经安装了virsorter2: conda info --envs 若安装有,防止之前的安装不完整,对该环境进行删除: conda remove --name <env_name> --all
或者:conda env remove --name <env_name>
开始安装: mamba create -n vs2 -c conda-forge -c bioconda virsorter=2 激活环境: mamba activate vs2 或者 conda activate vs2
方法2:手动安装开发版(就是最新版)
mamba create -n vs2 -c conda-forge -c bioconda "python>=3.6,<=3.10" scikit-learn=0.22.1 imbalanced-learn pandas seaborn hmmer==3.3 prodigal screed ruamel.yaml "snakemake>=5.18,<=5.26" click "conda-package-handling<=1.9" mamba activate vs2 git clone https://github.com/jiarong/VirSorter2.git cd VirSorter2 pip install -e .
配置对应的数据库
自动配置:
若之前安装有数据库,先进行清除,防止不完整:
rm -rf db
安装数据库:
virsorter setup -d db -j 4 (这里的4代表用4个线程运行,这里可修改为自己服务器对应的线程,线程越大,运行越快)
手动配置:
wget -c https://osf.io/v46sc/download
tar -xzf db.tgz
virsorter config --init-source --db-dir=./db
运行:
#获取快速测试文件,当然大家可以用自己的序列文件测试
wget -O test.fa https://raw.githubusercontent.com/jiarong/VirSorter2/master/test/8seq.fa
#激活vs2环境后使用-j 4个线程运行,输入all 所有结果,-w指定输入结果的文件夹
virsorter run -w test.out -i test.fa -j 4 all
#查看结果文件夹
ls test.out
这里的参数-w表示的输出目录名,-i表示输入的文件(需要是fa或fq序列),-j是线程数,all代表运行三个步骤(序列预处理、提取序列特征、分类),也可以把all改成classify(表示只运行分类这步),在输出目录下有三个核心文件,分别是:
final-viral-combined.fa —— 已识别到的病毒序列。
final-viral-score.tsv —— 每条序列的各分类类别得分表格,表中列出了各组中每个病毒序列的分数和更多关键特征,可用于进一步筛选。
final-viral-boundary.tsv —— 带有边界信息的表格;这是一个中间文件,1)与其他两个文件相比,它可能有额外的记录,应该被忽略;2) 不包括病毒序列w/<2基因,但具有>=1个标志性基因;3) group和trimpr是中间结果,可能与final-viral-score.tsv中的maxgroup和maxscore分别不匹配
核心输出结果的详细描述:
1. final-viral-combined.fa:该fa文件储存VirSorter2识别得到的病毒序列,每条序列的名称为原始序列名称加后缀,后缀有以下三种可能:
1) ||full 代表整条序列都被识别为病毒序列
2) ||{i}_partial 代表该序列仅有部分区域被识别为病毒序列,其中i可以为0至该序列中找到的病毒片段数量的最大值
3) ||lt2gene 拥有病毒标记基因的短序列(少于2个基因的序列)
2. final-viral-score.tsv:该表格主要用于进一步筛选识别的病毒序列,其中主要内容包括:
seqname | 序列名称 |
dsDNAphage,NCLDV,RNA,ssDNA,lavidaviridae | 各类别病毒下的打分 |
max_score | 最高分 |
max_score_group | 最高分所述类别 |
length | 序列长度 |
hallmark | 标记基因个数 |
viral | 病毒基因比例 |
cellular | 非病毒基因比例 |
请注意,不同病毒群的分类器并不相互排斥,并且可能在其目标病毒序列空间中存在重叠,这意味着这些信息不应被用作或被视为可靠的分类分类。我们将VirSorter2的目的仅限于病毒识别。
3.final-viral-boundary.tsv
该表格主要内容包括:
seqname | 序列名称 |
trim_orf_index_start,trim_orf_index_end | 该序列被识别为病毒的部分的ORF的起止位置 |
trim_bp_start,trim_bp_end | 该序列被识别为病毒的部分的碱基的起止位置 |
trim_pr | 该序列被识别为病毒的部分的最终得分 |
partial | 该序列是否全部被识别为病毒,如果该序列的整体得分>cutoff, 则该序列整体都被视为病毒序列(0),反之则仅有部分被视为病毒 序列(1) |
pr_full | 该序列的整体得分 |
hallmark_cnt | 标记基因个数 |
group | 最高分所述病毒类别 |
注意:在前病毒提取过程中,VirSorter2有时倾向于高估病毒序列的大小,以获得更好的灵敏度。我们建议清除这些前病毒预测,以去除预测病毒区域边缘的潜在宿主基因,例如使用CheckV等工具(https://bitbucket.org/berkeleylab/checkv).