新冠病毒分型和突变分析(SARS-CoV2_ARTIC_Nanopore)

新冠病毒分型和突变分析(SARS-CoV2_ARTIC_Nanopore)

一. 本文使用Artic官方提供环境对Nanopore minion SARS-Cov-2测序数据,对新冠病毒突变及分型鉴定

二. 概览:按照惯例,先上一张概览图,浏览下分析流程步骤

概览

流程输入SRR14800265.fastq.gz

测试数据下载

SRX11133330: Nanopore sequencing of SARS-CoV-2: V-22
1 OXFORD_NANOPORE (MinION) run: 277,605 spots, 139.3M bases, 133.2Mb downloads
使用NCBI官方工具sra-toolkit拆分成fastq.gz文件 fastq-dump SRR14800265 --gzip
得到SRR14800265.fastq.gz

参考文件,默认路径/opt/ref下
Artic-ncov2019
artic-ncov2019 primer&参考序列

分析流程文件(可一键导入sliverworkspace运行)及报告文件,conda环境文件下载,导入操作
运行环境docker image based on ubuntu21.04 Conda Mamba(默认使用清华源) ssh
获取镜像代码见下文段落
分析软件- artic=1.2.1
- artic-network::rampart=1.2.0
- snakemake-minimal=5.8.1
- pangolin=4.1.3
输出结果按照序列一致性组装的新冠病毒序列 SRR14800265.consensus.fa
Panglin 根据组装的序列分析得出病毒分型信息 lineage_report.csv
根据primertrim.bam获的新冠病毒突变信息,过滤后得到 SRR14800265.pass.vcf.gz

环境搭建: 为了快速完成环境搭建,节省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:latestcontainer_name: SarsCov2volumes:- /media/sliver/Data/data:/opt/data:rw                               #挂载input数据,artic目录下- /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端口

基础环境运行

# 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:~# 

三. 分析流程:本流程包含artic流程详细步骤,不感兴趣可以直接跳至文章末尾

1. 变量设置

#样本编号
export sn=SRR14800265
#数据输入目录
export data=/opt/data
#数据输出、中间文件目录
export result=/opt/result
#conda安装的环境目录
export envs=/root/mambaforge-pypy3/envs	
#artic primer 版本V1,V2,V3,V4,V4.1
export artic_primer_version=4.1
#设置可用线程数
export threads=8

2. 数据过滤

#首次运行下载artic-ncov2019
if  [ ! -d "/opt/ref/artic-ncov2019" ]; thenapt-get install -y gitgit clone https://github.com/artic-network/artic-ncov2019.git "/opt/ref/artic-ncov2019"
fi#conda检测环境是否存在,首次运行不存在创建该环境并安装软件
if [ ! -d "${envs}/artic-ncov2019" ]; thenmamba env create -f /opt/ref/artic-ncov2019/environment.ymlmamba install muscle=3.8
fisource activate artic-ncov2019cp    -f ${data}/artic/${sn}.fastq.gz ${result}/${sn}/mkdir -p ${result}/${sn}/cleanartic guppyplex --min-length 400 --max-length 700 \--directory ${result}/${sn}/ \--output ${result}/${sn}/clean/${sn}.clean.fastqconda  deactivate

3. 比对到参考基因组上,得到bam文件并排序

source activate artic-ncov2019if [ ! -f /opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.reference.fasta ]; thencp  -f /opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/SARS-CoV-2.reference.fasta \/opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.reference.fasta
ficd ${result}/${sn}mkdir -p ${result}/${sn}/alignedminimap2 -a -x map-ont -t ${threads} \/opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.reference.fasta \${result}/${sn}/clean/${sn}.clean.fastq  | samtools view -bS -F 4 - | samtools sort -o ${result}/${sn}/aligned/${sn}.sorted.bam -samtools index ${result}/${sn}/aligned/${sn}.sorted.bamconda  deactivate

4. trim bam / samtools coverage

source activate artic-ncov2019cd ${result}/${sn}if [ ! -f /opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.scheme.bed ]; thencp  -r /opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/SARS-CoV-2.scheme.bed \/opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.scheme.bed
fialign_trim --normalise 200 /opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.scheme.bed \--start --remove-incorrect-pairs --report ${result}/${sn}/aligned/${sn}.alignreport.txt < ${result}/${sn}/aligned/${sn}.sorted.bam \2> ${result}/${sn}/aligned/${sn}.alignreport.er | \samtools sort -T ${result}/${sn}/aligned/temp - -o ${result}/${sn}/aligned/${sn}.trimmed.rg.sorted.bamalign_trim --normalise 200 /opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.scheme.bed \--remove-incorrect-pairs --report ${result}/${sn}/aligned/${sn}.alignreport.txt < ${result}/${sn}/aligned/${sn}.sorted.bam \2> ${result}/${sn}/aligned/${sn}.alignreport.er| \samtools sort -T ${result}/${sn}/aligned/temp - -o ${result}/${sn}/aligned/${sn}.primertrimmed.rg.sorted.bamsamtools index ${result}/${sn}/aligned/${sn}.trimmed.rg.sorted.bam
samtools index ${result}/${sn}/aligned/${sn}.primertrimmed.rg.sorted.bamsamtools coverage ${result}/${sn}/aligned/${sn}.primertrimmed.rg.sorted.bam -o ${result}/${sn}/aligned/${sn}.samcov.tsvconda  deactivate

5. medaka variant

source activate artic-ncov2019if [ ! -f /opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.reference.fasta ]; thencp  -f /opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/SARS-CoV-2.reference.fasta \/opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.reference.fasta
fimkdir -p ${result}/${sn}/vcfif [ -f ${result}/${sn}/vcf/${sn}.nCoV-2019_1.hdf ];thenrm -f ${result}/${sn}/vcf/${sn}.nCoV-2019_1.hdf
fiif [ -f ${result}/${sn}/vcf/${sn}.nCoV-2019_2.hdf ];thenrm -f ${result}/${sn}/vcf/${sn}.nCoV-2019_2.hdf
fimedaka consensus --model r941_min_high_g351 \--threads ${threads} --chunk_len 800 --chunk_ovlp 400 \--RG 1 ${result}/${sn}/aligned/${sn}.trimmed.rg.sorted.bam \${result}/${sn}/vcf/${sn}.nCoV-2019_1.hdfmedaka variant /opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.reference.fasta \${result}/${sn}/vcf/${sn}.nCoV-2019_1.hdf ${result}/${sn}/vcf/${sn}.nCoV-2019_1.vcfmedaka consensus --model r941_min_high_g351 \--threads ${threads} --chunk_len 800 --chunk_ovlp 400 \--RG 2 ${result}/${sn}/aligned/${sn}.trimmed.rg.sorted.bam \${result}/${sn}/vcf/${sn}.nCoV-2019_2.hdfmedaka variant /opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.reference.fasta \${result}/${sn}/vcf/${sn}.nCoV-2019_2.hdf ${result}/${sn}/vcf/${sn}.nCoV-2019_2.vcfartic_vcf_merge ${result}/${sn}/vcf/${sn} /opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.scheme.bed \2> ${result}/${sn}/vcf/${sn}.primersitereport.txt \nCoV-2019_1:${result}/${sn}/vcf/${sn}.nCoV-2019_1.vcf nCoV-2019_2:${result}/${sn}/vcf/${sn}.nCoV-2019_2.vcfbgzip -f ${result}/${sn}/vcf/${sn}.merged.vcf
tabix -f -p vcf ${result}/${sn}/vcf/${sn}.merged.vcf.gzconda  deactivate

6. longshot vcf

source activate artic-ncov2019longshot -P 0 -F -A --no_haps \--bam ${result}/${sn}/aligned/${sn}.primertrimmed.rg.sorted.bam \--ref /opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.reference.fasta \--out ${result}/${sn}/vcf/${sn}.longshoted.vcf \--potential_variants ${result}/${sn}/vcf/${sn}.merged.vcf.gzconda  deactivate

7. artic_vcf_filter 过滤variant vcf

source activate artic-ncov2019artic_vcf_filter --medaka ${result}/${sn}/vcf/${sn}.longshoted.vcf \${result}/${sn}/vcf/${sn}.pass.vcf \${result}/${sn}/vcf/${sn}.fail.vcf
bgzip -f ${result}/${sn}/vcf/${sn}.pass.vcf
tabix -p vcf ${result}/${sn}/vcf/${sn}.pass.vcf.gzconda  deactivate

8. depth mask

source activate artic-ncov2019artic_make_depth_mask --store-rg-depths \/opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.reference.fasta \${result}/${sn}/aligned/${sn}.trimmed.rg.sorted.bam \${result}/${sn}/${sn}.coverage_mask.txtartic_mask /opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.reference.fasta \${result}/${sn}/${sn}.coverage_mask.txt \${result}/${sn}/vcf/${sn}.fail.vcf \${result}/${sn}/${sn}.preconsensus.fastaconda  deactivate

9. 使用 bcftools 获取一致性序列

source activate artic-ncov2019bcftools consensus \-f ${result}/${sn}/${sn}.preconsensus.fasta ${result}/${sn}/vcf/${sn}.pass.vcf.gz \-m ${result}/${sn}/${sn}.coverage_mask.txt \-o ${result}/${sn}/${sn}.consensus.fastaartic_fasta_header ${result}/${sn}/${sn}.consensus.fasta "${sn}"conda  deactivate

10. 使用Pangolin获取序列分型信息

#conda检测环境是否存在,首次运行不存在创建该环境并安装软件
if [ ! -d "${envs}/pangolin" ]; thenmamba env create -f /opt/config/pangolin.yaml
fisource activate pangolinpangolin ${result}/${sn}/${sn}.consensus.fasta --outdir ${result}/${sn}conda  deactivate

11. muscle (可选)

source activate artic-ncov2019cat ${result}/${sn}/${sn}.consensus.fasta \/opt/ref/artic-ncov2019/primer_schemes/nCoV-2019/${artic_primer_version}/nCoV-2019.reference.fasta \> ${result}/${sn}/${sn}.muscle.in.fastamuscle	-in ${result}/${sn}/${sn}.muscle.in.fasta -out ${result}/${sn}/${sn}.muscle.out.fastaconda  deactivate

12. 报告(可选)

在这里插入图片描述

11. 使用IGV Browser查看突变信息(可选)

在这里插入图片描述

在这里插入图片描述

四. 参考链接

https://github.com/artic-network/artic-ncov2019

#官方建议分析过程#数据过滤
artic guppyplex --min-length 400 --max-length 700 \--directory /opt/result/SRR14800265/ \--output /opt/result/SRR14800265/clean/SRR14800265.clean.fastq
#获取一致性序列和突变数据
artic minion --normalise 200 --threads 32 \--medaka --medaka-model r941_min_high_g351 \--scheme-directory /opt/ref/artic-ncov2019/primer_schemes \--read-file /opt/result/SRR14800265/clean/SRR14800265.clean.fastq nCoV-2019/V4.1 SRR14800265

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新版TCGA的甲基化数据分析

文章目录 加载数据甲基化差异分析甲基化可视化甲基化旭日图 TCGAbiolinks可以进行甲基化分析&#xff0c;但是功能不如 ChAMP强大&#xff0c;甲基化分析还是首推 ChAMP包。 不过为了了解TCGAbiolinks包&#xff0c;里面关于甲基化分析的部分还是要学习一下。 主要是甲基化差…

转录组-差异基因热图

top_de_exp<-dplyr::slice(de_result2,1:20)%>%#挑取差异最大的select(-c(2:8))%>%#去掉2-8列column_to_rownames(var"id")#列变行 de_result2为上一篇转录组-火山图得到的数据&#xff01; #第一种做图方式 library(pheatmap) pheatmap(log10(top_de_ex…

【bioinfo】二代测序在肿瘤突变检测中的错误来源和解决策略

文章目录 文献摘要NGS工作流程中的错误来源1&#xff09;FFPE样本&#xff1a;2&#xff09;DNA打断&#xff1a;3&#xff09;PCR扩增和聚合酶保真度&#xff1a;4&#xff09;测序平台&#xff1a;5&#xff09;数据分析&#xff1a; NGS工作流错误解决策略使用UID不使用UID …

Cell | 深度突变学习预测SARS-CoV-2受体结合域组合突变对ACE2结合和抗体逃逸的影响...

本文介绍一篇来自于苏黎世联邦理工学院的Joseph M. Taft在Cell上发表的工作——《Deep Mutational Learning Predicts ACE2 Binding and Antibody Escape to Combinatorial Mutations in the SARS-CoV-2 Receptor Binding Domain》。 SARS-CoV-2的持续变异以及对疫苗和中和抗体…

DNA 8. 癌症的突变异质性及寻找新的癌症驱动基因(MutSigCV)

点击关注&#xff0c;桓峰基因 桓峰基因 生物信息分析&#xff0c;SCI文章撰写及生物信息基础知识学习&#xff1a;R语言学习&#xff0c;perl基础编程&#xff0c;linux系统命令&#xff0c;Python遇见更好的你 120篇原创内容 公众号 桓峰基因公众号推出基于基因组变异数…

生物(一)ctDNA突变检测应用于肿瘤早期筛查

原创&#xff1a;yongzhe 提到cfDNA应用于肿瘤早期筛查&#xff0c;是一个充满希望和挑战的问题。目前的热门方向是甲基化&#xff0c;相当多一部分公司以此为研发方向&#xff0c;还包括ctDNA突变检测&#xff0c;cnv检测&#xff0c;CTC&#xff0c;外泌体检测等都在探索研究…

利用GATK4.1 mutect2寻找体细胞突变(SNV和INDEL)

今天梳理一下最最最最(最X100)常用的mutect2体细胞变异分析流程。主要用来分析肿瘤配对样本,寻找体细胞突变比如SNV和INDEL。官网上已经有了详细的英文版教程。 软件版本:GATK4.1.1.0 官网教程:https://gatk.broadinstitute.org/hc/en-us/articles/360035894731-Somatic…

GATK4 最佳实践-生殖细胞突变的检测与识别

欢迎关注"生信修炼手册"&#xff01; GATK4 对于体细胞突变和生殖细胞突变的检测分别给出了对应的pipeline: Germline SNPsIndelsSomatic SNVs Indels 本篇主要关注生殖细胞突变的分析流程Germline SNPsIndels。示意图如下&#xff1a; 图中红色方框部分的从Analysi…

GATK4最佳实践-体细胞突变的检测与识别

欢迎关注"生信修炼手册"&#xff01; 分析体细胞突变时&#xff0c;通常采用tumor_vs_nomal 的实验设计。在检测时&#xff0c;由于同时会检测出生殖细胞突变和体细胞突变&#xff0c;需要做的就是去除生殖细胞突变位点&#xff0c;那么剩下的就是体细胞突变位点了&a…

TCGA差异表达分析|2022.5.1更新

作者&#xff1a;Squirrelity 2022-07-18 补充说明 最近R更新了&#xff0c;很多包都用不了&#xff0c;如果遇到报错或者是运行不了有可能是因为版本问题。 一、加载对应的R包 这里用到十三个包&#xff08;距离上次更新之后又新增了不少方法/包&#xff09;&#xff1a; lib…

病理基因突变综述

颜锐, 梁智勇, 李锦涛, 任菲. 基于深度学习和H&E染色病理图像的肿瘤相关指标预测研究综述[J]. 计算机科学, 2022, 49(2): 69-82. YAN Rui, LIANG Zhi-yong, LI Jin-tao, REN Fei. Predicting Tumor-related Indicators Based on Deep Learning and H&E Stained Patholo…

maftools|TCGA肿瘤突变数据的汇总,分析和可视化

之前介绍了使用maftools | 从头开始绘制发表级oncoplot&#xff08;瀑布图&#xff09; R-maftools包绘制组学突变结果&#xff08;MAF&#xff09;的oncoplot或者叫“瀑布图”&#xff0c;以及一些细节的更改和注释。 本文继续介绍maftools对于MAF文件的其他应用&#xff0c;为…

生信-记一次NCBI-R语言-淋巴癌突变与未突变基因的差异分析

关键词&#xff1a;基因芯片、R、筛选、预处理、差异分析 NCBI-淋巴癌突变与未突变基因的差异分析 PS&#xff1a;好久没分享生信了&#xff0c;这是一年前做的一次生信task&#xff08;准确来说是2018年11月了&#xff09;&#xff0c;这里分享一下给大家&#xff0c;有助于一…

TCGA 亚型突变负荷代码

#1、准备文件/数据并加载相应的包 #1.1下载并加载相应的包&#xff0c;有就直接加载&#xff0c;没有就下载后再加载。 install.packages("pacman") library(pacman) p_load(TCGAbiolinks,DT,tidyverse) BiocManager::install("TCGAbiolinks") library(t…

四、肿瘤全基因组学体细胞点突变特征(The repertoire of mutational signatures in human cancer)

全文链接 一、肿瘤突变特征&#xff1a;碱基置换及插入、缺失突变 单碱基置换&#xff08;49种特征类型&#xff0c;single-base-substitution&#xff0c;SBS&#xff09; 双碱基置换&#xff08;11种特征类型&#xff0c;doublet-base-substitution&#xff0c;DBS&#xf…

TCGA_联合GTEx分析2_查看批次效应

在 TCGA_联合GTEx分析1_得到表达矩阵.tpm_老实人谢耳朵的博客-CSDN博客 中&#xff0c;获取了TCGA和GTEx中样本的表达矩阵数据&#xff0c;数据格式均为tpm。本文对二者进行合并后&#xff0c;通过PCA分析、绘制内参箱线图等方法&#xff0c;查看是否存在批次效应。 关于批次效…

提取TCGA 中体细胞突变数据的表达矩阵

#因为之前的命令调用GDCquery_Maf 发现用不了 #故找到了一些其他的方法&#xff0c;并且自己试着将其弄成了一个表达矩阵。 #代码如下 #1、下载加载相应的包 install.packages("pacman") library(pacman) p_load(TCGAbiolinks,DT,tidyverse) BiocManager::insta…

chatgpt赋能python:Python抢票的绝招

Python 抢票的绝招 随着互联网技术的不断发展&#xff0c;越来越多的人开始享受网购的便利。但是&#xff0c;随着一些热门事件的到来&#xff0c;如演唱会、体育比赛等&#xff0c;大家面临同一个问题&#xff1a;如何抢到热门事件的门票&#xff1f;这时&#xff0c;Python …

CSDN问答

近期AI成为热点话题&#xff0c; ChatGPT&#xff0c; GPT4&#xff0c; new bing&#xff0c; Bard&#xff0c;AI 绘画&#xff0c; AI 编程工具引发大量讨论。请结合自身学习经历&#xff0c;一起来聊聊你对 AI 技术以及其今后发展的看法吧。请在下面的问题中选择一些来回答…

起名源码PHP(宝宝取名源码)

起名源码有助于更好的借助八字风水来帮助起名的需求&#xff0c;其参考了一部中国古代经典文本易经。以这种方式咨询的过程包括通过随机生成的方法确定卦&#xff0c;然后阅读与该卦相关的文本。      演示&#xff1a;m.appwin.top      部分源码&#xff1a;texts.py…