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

news2024/11/17 23:47:59

使用宏基因组的方法快速鉴定新冠病毒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可能部分功能(网络)不能正常运行

# 拉取docker镜像
docker     pull     doujiangbaozi/sliverworkspace:latest

# 查看docker 镜像
docker     images

基础环境配置,docker-compose.yml 配置文件,可以根据需要自行修改调整

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密码

基础环境运行

# 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 容器使用,类似于登录远程服务器

# 登录docker,使用的是ssh服务,可以本地或者远程部署使用
ssh root@192.168.6.6 -p9024

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

三. 分析流程

  1. 变量设置:

    #样本编号
    export sn=SRR10971381
    #数据输入目录
    export data=/opt/data
    #数据输出、中间文件目录
    export result=/opt/result
    #conda安装的环境目录
    export envs=/root/mambaforge-pypy3/envs
    #设置可用线程数
    export threads=8
    
  2. 数据简单过滤:

    #conda检测环境是否存在,首次运行不存在创建该环境并安装软件
    if [ ! -d "${envs}/qc" ]; then
      mamba env create -f /opt/config/qc.yaml
    fi
    
    conda 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 对序列进行物种鉴定

    #conda检测环境是否存在,首次运行不存在创建该环境并安装软件
    if [ ! -d "${envs}/centrifuge" ]; then
      mamba env create -f /opt/config/centrifuge.yaml
    fi
    
    conda 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交互式分析

    conda 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如下

    version: "3"
    services:
      pavian:
        image: florianbw/pavian:latest
        container_name: pavian
        ports:
          - "5000:80"
    

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

    #运行docker镜像
    docker-compose up -d
    
    #查看docker容器运行情况,docker-compose.yaml相同目录下运行
    docker-compose ps
    
    #或者
    docker ps
    

    pavian容器运行起来之后,打开浏览器,地址栏输入http://localhost:5000,可以看到如下图:
    在这里插入图片描述

  6. 点击右侧Browse按钮,上传输出文件SRR10971381.kraken2.report.tsv

在这里插入图片描述

  1. 点击左侧按钮可以看到图形化分析结果,比对上的16.2%;没比对上的83.8%

    在这里插入图片描述

  2. 点击左侧Sample可以看到桑基图如下:Severe acute respiratory syndrome-related coronavirus 59.5k,结果很明显了。

    在这里插入图片描述

  3. 可以点击左侧Generate HTML report导出该报告: Uploaded_sample_set-report.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/70406.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

编程参考 - 如何计算字符串的哈希值

字符串的哈希值是什么? 在C,Java等编程语言中,有一种hashmap的数据结构,存储一对key / value,分别是两种对象。 为了加快存取的速度,键值key对象会被转换成一个hash值,一个整数。一般来讲&…

【权限提升】 Windows10 本地提权漏洞复现及详细分析(CVE-2021-1732)

文章目录声明一、漏洞前言二、漏洞描述三、漏洞原理四、漏洞以及EXP分析五、本地复现六、修复补丁声明 本篇文章仅用于技术研究和漏洞复现,切勿将文中涉及操作手法用于非授权下的渗透攻击行为,出现后果与本作者无关,切记!&#x…

Excel 中使用线性回归进行预测公司销售季节性与增长

本文将提供有关如何使用线性回归模型在 Microsoft Excel 中执行简单而强大的预测的分步教程。 我们将探索模型的三种变体,并比较特定单变量数据集的结果——产品在 5 年内的月销售额。三个模型变体将是; 原始线性回归 (LR) 模型。具有季节性的 LR 模型——确定特定月份的销售…

架构师知识体系梳理

文章目录1、架构师的职责和能力1.1 架构师的主要能力1.2 架构师的思维模式1.3 架构师具备的架构原则1.4 架构师深知的架构质量属性1.5 程序设计SOLID原则1.6 架构CAP定理1.7 领域驱动设计DDD2 搜索引擎2.1 系统架构2.2 原理篇2.3 常见问题2.4 质量保障3 分布式缓存架构3.1 系统…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java软件缺陷管理系统o255h

现在毕设刚开始。时间还有很多,可以从头开始学也可以。毕设其实不难,难的是我们懒散到这种时候再去静下心学。能自己独立完成尽量自己独立完成。相信你看过很多上面回答的,都不建议去某宝。毕竟这一行参差不齐哈。能找到靠谱的也不容易。近期…

[附源码]Python计算机毕业设计SSM计算机学院科研信息管理系统(程序+LW)

[附源码]Python计算机毕业设计SSM计算机学院科研信息管理系统(程序LW) 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。…

[附源码]计算机毕业设计JAVA志愿者管理系统论文2022

[附源码]计算机毕业设计JAVA志愿者管理系统论文2022 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM …

[附源码]Python计算机毕业设计SSM基于中职学校的校医务室管理系统(程序+LW)

[附源码]Python计算机毕业设计SSM基于中职学校的校医务室管理系统(程序LW) 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff0…

实现通过Jenkins api找到job构建人信息并定时发邮件(通过公司邮箱)

需求 在大屏上显示出每个项目的构建情况,如果构建失败,大屏上项目颜色变红的同时要给最新构建这个项目的用户发送邮件,提醒他构建失败了。 准备知识 大屏上显示的项目构建情况,其实是通过Jenkins api 获取的,想要看…

自动部署项目,全靠它了!

前几天我把我的开源项目部署到了云服务器。 我部署的大概流程: 登录到云服务器控制台,新建一个服务器实例(我用的 Ubuntu Linux)。在自己的电脑上生成 SSH 秘钥,将生成的公钥和实例进行绑定。使用 SSH 登录到云服务器…

大数据 linux目录操作

linux 目录操作 常用权限操作 常用权限操作 chgrp命令 功能:修改文件所属组 语法格式:chgrp 用户组 文件(说明:ch - change;grp - group) chown命令 功能:改变文件所有者 语法格式&…

R语言Outliers异常值检测方法比较

识别异常值的方法有很多种,R中有很多不同的方法。 最近我们被客户要求撰写关于异常值检测的研究报告,包括一些图形和统计输出。关于异常值方法的文章结合了理论和实践。理论一切都很好,但异常值是异常值,因为它们不遵循理论。如…

chatGPT能不能有危险活体模型

🍿*★,*:.☆欢迎您/$:*.★* 🍿

【安全狗安全研究】SkidMap挖矿木马研究

近日,安全狗威胁情报中心监测到多起“Skidmap”挖矿木马事件。经研判,这些病毒感染事件是攻击者经Redis未授权访问漏洞攻击的方式植入挖矿木马“SkidMap”导致的。虽然“SkidMap”并非新型的病毒家族,但鉴于该病毒家族一直保持着较高的流行热…

多种方式绘制简单的作废章

作废章是常用的长方形印章,其形式如下图所示(图片来自参考文献1)。印章的形式很简单,就是红色方框内显示作废两个字,其实在网上百度长方形印章的话,可以搜索出很多类似形式的印章,区别仅在于尺寸…

lcd屏调试记录

一,lcd屏介绍 LCD液晶屏的接口类型非常丰富,最常用的接口主要有RGB、MCU、LVDS、MIPI接口。 1、RGB接口 LCD液晶屏的RGB接口通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及三者组合来得到丰富多彩的颜色,RGB分别代表红、绿、蓝三个通道的…

QT:多进程

标题1.多进程2.多线程3.常用方法1.多进程 (1)创建进程对象 QProcess::QProcess(QObject *parent nullptr)(2)启动进程去执行另外一个程序 void QProcess::start(const QString &command) //类似于system()/exec函数族 参数:command --》你要执行的另外一个程序…

36氪2022年Q3总收入同比增长两位数超预期,连续第四个季度盈利,广告收入同比增长20%

12月7日,36氪(证券代码:KRKR)披露2022年第三季度业绩。该季度36氪总收入同比增长11.5%至9461万元,净利润249万元,连续第四个季度实现盈利。 本季度,36氪广告业务持续表现优异,实现了…

windows电脑关机开机后没声音,重启就有声音故障处理方法

今天遇到一件非常奇葩的windows电脑, 从关机状态下进入系统没有声音,且从以下几点判断声卡硬件及驱动不存在故障,详见如下: 1、开机后任务栏右下角声音图标正常 2、声音设置——扬声器/麦克风(Realtek(R) Audio)正常; 3、windows+x键,选择“设备管理器”,找到“音频…

Primavera Unifier 常用标准数据要素

目录 一:什么是数据要素 二: 常用数据要素字段 一:什么是数据要素 数据元素是Oracle Primavera Unifier维护业务单据/表达的最小单元,也就是我们常说的字段,她将数据定义与字段标签相结合,成为用户在 Pr…