1 vConTACT2的安装
根据官网的安装说明,采用推荐的Conda-based installation方法,本文的安装略做了调整,采用mamba进行安装,另外官网安装的python版本有问题(python=3),需要具体指定为python=3.7,另外还要安装一个clusterone。
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# Install into $HOME/conda
mamba create --name vContact2 python=3.7 #将python=3修改为python=3.7
source activate vContact2
mamba install -y -c bioconda vcontact2 mcl blast diamond
mamba install -y -c bioconda clusterone #添加这一行安装clusterone,否则报错
2 vConTACT2分析步骤
4 vConTACT2结果文件
vConTACT2结果中最重要的文件是网络和注释文件,其他文件多数都是临时文件和中间结果,一般来说没啥意义。
4.1 genome_by_genome_overview.csv
该文件包含参考基因组的所有分类信息,以及所有聚类信息(初始VC (VC_22)、细化后的VC (VC_22_1))、置信度量和misc评分。
其中,用户提供的序列不包含注释信息。这意味着用户需要找到感兴趣的基因组,并检查参考基因组是否位于同一VC中。如果用户基因组与参考基因组处于同一VC子簇中,那么用户基因组极有可能属于同一属。如果用户基因组在相同的VC中,但不是作为参考的相同的子簇,那么这两个基因组很可能在大致属亚科水平上是相关的。如果在同一VC或VC亚簇中没有参考基因组,那么很可能它们在属水平上根本没有关联。也就是说,它们可能在更高的分类学层次上(亚科、科、目)有关联。
序号 | 列名 | 注释 |
---|---|---|
1 | Genome | 基因组/序列名 |
2-4 | Order/Family/Genus | 目/科/属 |
5 | preVC | 初始病毒聚类 |
6 | VC Status | 病毒聚类状态 |
7 | VC | 病毒聚类 |
8 | VC Size | 病毒聚类数 |
9 | Quality | 质量值 |
10 | Adjusted P-value | 调整后的P值 |
11 | VC Avg Distance | 病毒聚类平均距离 |
12 | Topology Confidence Score | 拓扑学置信度 |
13 | Genus Confidence Score | 属级分类置信度 |
14-16 | VC Orders/Families/Genra | 病毒聚类目/科/属数 |
注:protein clusters(PCs),viral clusters (VCs)。
4.2 C1.NTW
该文件包含高于显著性阈值的所有基因组对的源序列、目标序列以及边缘权重信息,该阈值由这两个基因组共享N个基因的概率确定。该文件中的最小值必须大于最小显著性阈值(默认值:1)。用户可将该文件导入到Gephi或Cytoscape中创建网络图。
5 vConTACT2修复报错
最近,跑vConTACT2[1],对比各种宏病毒数据集。
几天过去了,分析已经差不多接近尾声。
然而,出现了报错,如下:
ERROR:vcontact2: Error in identifying excluded genomes (i.e. those dropped for being singletons or outliers): [Errno 2] No such file or directory: '/Users/bolduc.10/Downloads/merged_df_alterntaive.csv'
1 subprocess.CalledProcessError
subprocess.CalledProcessError: Command '['diamond', 'makedb', '--threads', '28', '--in', '1.vContact2/merged.faa', '-d', '1.vContact2/merged']' died with <Signals.SIGILL: 4>.
解决方式为重装diamond。
conda install -y diamond
2 Error in identifying excluded genomes
百度了几下,毛都没搜到。
最终还是Google比较好使,
瞬间找到“Asier Zaragoza Solas”大佬给出的建议[2]。
根据大佬的建议,解决方法如下:
首先,用vim打开summaries.py文件进行编辑。
vi ~/miniconda3/envs/vContact2/lib/python3.8/site-packages/vcontact2/exports/summaries.py
找到下面这行:
merged_df.to_csv('/Users/bolduc.10/Downloads/merged_df_alterntaive.csv')
将单引号中的目录改为本机中存在的目录。
merged_df.to_csv('~/merged_df_alterntaive.csv')
就酱!!!
参考文献
[1] https://bitbucket.org/MAVERICLab/vcontact2/wiki/Home
[2] https://bitbucket.org/MAVERICLab/vcontact2/issues/57/error-in-identifying-excluded-genomes
[3] Guo, J., Vik, D., Pratama, A. A., Roux, S., & Sullivan, M. (2021). Viral sequence identification SOP with 626 VirSorter2 V.3. 8–11. https://doi.org/dx.doi.org/10.17504/protocols.io.bwm5pc86