使用宏基因组的方法快速鉴定新冠病毒SARS-CoV2

2022-12-13 23:08:47 浏览数 (1)

使用宏基因组的方法快速鉴定新冠病毒SARS-CoV2

一、如果不考虑成本,可以使用宏基因组测序的方法来快速鉴定新冠病毒SARS-CoV2,这种方法无需扩增、分析简单、准确度高。原理是直接将测序得到的序列数据与分类物种数据库比对,从而得到鉴定结果。本文使用centrifuge工具来进行物种(病毒)分类鉴定

二、 流程概览图如下,是不是很简单?

流程概览流程概览

流程输入

SRR10971381_1.fastq.gz SRR10971381_2.fastq.gz 测试数据下载 SRX7636886: Complete genome of a novel coronavirus associated with severe human respiratory disease in Wuhan, China 1 ILLUMINA (Illumina MiniSeq) run: 28.3M spots, 8G bases, 2.6Gb downloads 使用NCBI官方工具sra-toolkit拆分成fastq.gz文件 fastq-dump SRR10971381 --split-3 --gzip 得到SRR10971381_1.fastq.gz SRR10971381_2.fastq.gz 分析流程文件(可一键导入sliverworkspace运行)及报告文件,conda环境文件下载,导入操作

运行环境

docker image based on ubuntu21.04 Conda Mamba(默认使用清华源) ssh

分析软件

- fastp=0.23.2 - fastqc=0.11.9 - multiqc=1.13 - centrifuge=1.0.4 pavian docker 镜像 - florianbw/pavian:latest

输出结果

multiqc_report.html 测序数据trim前后质量数据 SRR10971381.clean.report.tsv 分类鉴定报告文件 SRR10971381.clean.result.tsv 分类鉴定统计结果 SRR10971381.kraken2.report.tsv kraken格式的鉴定报告格式,便于pavian用来图形化交互分析 Uploaded_sample_set-report.html pivian导出的报告

环境搭建: 为了快速完成环境搭建,节省95%以上时间。

本文使用docker conda (mamba) 作为基础分析环境,镜像获取:docker/docker-compoes 的安装及镜像构建见《基于docker的生信基础环境镜像构建》,docker镜像基于ubuntu21.04构建,并安装有conda/mamba,ssh服务。并尝试初次运行时初始化安装所需软件下载所需文件(作为代价首次运行时间会较长,切需网络通畅),即实现自动初始化的分析流程。

备注:docker运行的操作系统,推荐为Linux,windows,macOS系统改下docker可能部分功能(网络)不能正常运行

代码语言:shell复制
# 拉取docker镜像
docker     pull     doujiangbaozi/sliverworkspace:latest

# 查看docker 镜像
docker     images
基础环境配置,docker-compose.yml 配置文件,可以根据需要自行修改调整
代码语言:yaml复制
version: "3"
services:
  SarsCov2:
    image: doujiangbaozi/sliverworkspace:latest
    container_name: SarsCov2
    volumes:
      - /media/sliver/Data/data:/opt/data:rw                               #挂载原始数据,放SC2目录下
      - /media/sliver/Manufacture/SC2/envs:/root/mambaforge-pypy3/envs:rw  #挂载envs conda环境目录
      - /media/sliver/Manufacture/SC2/config:/opt/config:rw                #挂载config conda配置文件目录
      - /media/sliver/Manufacture/SC2/ref:/opt/ref:rw                      #挂载reference目录
      - /media/sliver/Manufacture/SC2/result:/opt/result:rw                #挂载中间文件和输出结果目录
    ports:
      - "9024:9024"                                                        #ssh连接端口可以按需修改
    environment:
      - TZ=Asia/Shanghai                                                   #设置时区
      - PS=20191124                                                        #修改默认ssh密码
      - PT=9024                                                            #修改默认ssh端口

基础环境运行

代码语言:shell复制
# docker-compose.yml 所在目录下运行
docker-compose up -d

# 或者 
docker-compose up -d -f /路径/docker-compose.yaml

# 查看docker是否正常运行,docker-compose.yaml目录下运行
docker-compose ps

# 或者
docker ps

docker 容器使用,类似于登录远程服务器

代码语言:shell复制
# 登录docker,使用的是ssh服务,可以本地或者远程部署使用
ssh root@192.168.6.6 -p9024

# 看到如下,显示如下提示即正常登录
(base) root@SliverWorkstation:~# 

三. 分析流程

  • 1. 变量设置:
代码语言:shell复制
#样本编号 
export sn=SRR10971381 
#数据输入目录 
export data=/opt/data 
#数据输出、中间文件目录 
export result=/opt/result 
#conda安装的环境目录 
export envs=/root/mambaforge-pypy3/envs 
#设置可用线程数 
export threads=8

  • 2. 数据简单过滤:
代码语言:shell复制
#conda检测环境是否存在,首次运行不存在创建该环境并安装软件 
if [ ! -d "${envs}/qc" ]; then   
    mamba env create -f /opt/config/qc.yaml 
fi  
source activate qc  

mkdir -p ${result}/${sn}/clean 
mkdir -p ${result}/${sn}/qc  
fastqc ${data}/SC2/${sn}_1.fastq.gz ${data}/SC2/${sn}_2.fastq.gz -o ${result}/${sn}/qc
  
fastp -w ${threads} -i ${data}/SC2/${sn}_1.fastq.gz -I ${data}/SC2/${sn}_2.fastq.gz 
   -o ${result}/${sn}/clean/${sn}_1_clean.fastq.gz -O ${result}/${sn}/clean/${sn}_2_clean.fastq.gz 
   -h ${result}/${sn}/qc/${sn}_fastp.html -j ${result}/${sn}/qc/${sn}_fastp.json   
fastqc ${result}/${sn}/clean/${sn}_1_clean.fastq.gz ${result}/${sn}/clean/${sn}_2_clean.fastq.gz 
   -o ${result}/${sn}/qc  multiqc ${result}/${sn}/qc/ -f -o ${result}/${sn}/qc  

conda  deactivate

  • 3. Centrifuge 对序列进行物种鉴定
代码语言:shell复制
#conda检测环境是否存在,首次运行不存在创建该环境并安装软件 
if [ ! -d "${envs}/centrifuge" ]; then   
    mamba env create -f /opt/config/centrifuge.yaml 
fi  
source activate centrifuge

if [ ! -f "/opt/ref/centrifuge-idx/hvc.4.cf" ]; then
 	mkdir  -p /opt/ref/centrifuge-idx
  	aria2c https://zenodo.org/record/3732127/files/h v c.tar.gz?download=1 -d /opt/ref/centrifuge-idx
   	tar -zxvf /opt/ref/centrifuge-idx/h v c.tar.gz "/opt/ref/centrifuge-idx"
fi

centrifuge 
   -x /opt/ref/centrifuge-idx/hvc 
   -1 ${result}/${sn}/clean/${sn}_R1.fastq.gz 
   -2 ${result}/${sn}/clean/${sn}_R2.fastq.gz 
   --report-file ${result}/${sn}/${sn}.clean.report.tsv 
   -S ${result}/${sn}/${sn}.clean.result.tsv 
   -p ${threads}  
   
conda  deactivate

  • 4. Centrifuge输出结果转换为kraken格式,便于pavian交互式分析
代码语言:shell复制
source activate centrifuge

centrifuge-kreport 
    -x /opt/ref/centrifuge-idx/hvc 
    ${result}/${sn}/${sn}.clean.result.tsv > ${result}/${sn}/${sn}.kraken2.report.tsv

conda  deactivate

  • 5. pavian docker运行,配置docker-compose.yaml如下
代码语言:yaml复制
version: "3"
services:   
    pavian:     
        image: florianbw/pavian:latest     
        container_name: pavian     
        ports:       - "5000:80"

运行docker镜像:docker-compose.yaml文件相同目录下运行:

代码语言:shell复制
 #运行docker镜像 
 docker-compose up -d  
 #查看docker容器运行情况,docker-compose.yaml相同目录下运行 
 docker-compose ps  #或者 docker ps  

  • 6. pavian容器运行起来之后,打开浏览器,地址栏输入http://localhost:5000,可以看到如下图:

  • 7. 点击右侧Browse按钮,上传输出文件SRR10971381.kraken2.report.tsv
  • 8. 点击左侧按钮可以看到图形化分析结果,比对上的16.2%;没比对上的83.8%
  • 9. 点击左侧Sample可以看到桑基图如下:Severe acute respiratory syndrome-related coronavirus 59.5k,结果很明显了。
  • 可以点击左侧Generate HTML report导出该报告: Uploaded_sample_set-report.html

0 人点赞