Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >大肠杆菌全基因组重测序变异检测小实例(侧重变异过滤)

大肠杆菌全基因组重测序变异检测小实例(侧重变异过滤)

作者头像
用户7010445
发布于 2020-03-03 07:07:44
发布于 2020-03-03 07:07:44
2K0
举报

本文偏重对vcf文件的探索以及设置过滤标准

原文地址

Filtering and handling VCFs

fastq测序获取数据

未找到原文所用数据,本文使用GATK4.0和全基因组数据分析实践(上)文章中的大肠杆菌基因组作为参考序列,使用wgsim软件模拟生成双端150bp测序数据

代码语言:javascript
AI代码解释
复制
wgsim -N 80000 -1 150 -2 150 ../Reference_genome/ecoli.fa sim_1_reads_R1.fastq sim_1_reads_R2.fastq

wgsim -N 80000 -1 150 -2 150 ../Reference_genome/ecoli.fa sim_2_reads_R1.fastq sim_2_reads_R2.fastq

wgsim -N 80000 -1 150 -2 150 ../Reference_genome/ecoli.fa sim_3_reads_R1.fastq sim_3_reads_R2.fastq

-N指定生成reads的条数 -1 -2生成reads的长度 接下来是参考序列 接下来是fastq文件的名字

使用samtools变异检测获取vcf文件

这一部分参考文章

  • GATK4.0和全基因组数据分析实践(上)
  • Variant calling tutorial

基本流程: bwa比对 samtools变异检测 完整代码

代码语言:javascript
AI代码解释
复制
###构建索引
bwa index Reference_genome/ecoli.fa
bwa mem -t 4 -R '@RG\tID:foo\tSM:sample1' Reference_genome/ecoli.fa sim_reads/sim_1_reads_R1.fastq sim_reads/sim_1_reads_R2.fastq -o output_results/sim_1_aligned.sam
bwa mem -t 4 -R '@RG\tID:foo\tSM:sample2' Reference_genome/ecoli.fa sim_reads/sim_2_reads_R1.fastq sim_reads/sim_2_reads_R2.fastq -o output_results/sim_2_aligned.sam
bwa mem -t 4 -R '@RG\tID:foo\tSM:sample3' Reference_genome/ecoli.fa sim_reads/sim_3_reads_R1.fastq sim_reads/sim_3_reads_R2.fastq -o output_results/sim_3_aligned.sam

这里遇到的问题:

  • -R参数后面接的内容都是什么意思?
  • 学着在shell下写循环
代码语言:javascript
AI代码解释
复制
cd output_results
#SAM装换为BAM
samtools view -S -b -o sim_1_aligned.bam sim_1_aligned.sam 
samtools view -S -b -o sim_2_aligned.bam sim_2_aligned.sam 
samtools view -S -b -o sim_3_aligned.bam sim_3_aligned.sam 
#排序
samtools sort sim_1_aligned.bam -o sim_1_aligned.sorted.bam
samtools sort sim_2_aligned.bam -o sim_2_aligned.sorted.bam
samtools sort sim_3_aligned.bam -o sim_3_aligned.sorted.bam
#索引
samtools index sim_1_aligned.sorted.bam 
samtools index sim_2_aligned.sorted.bam 
samtools index sim_3_aligned.sorted.bam
#变异检测
time samtools mpileup -g -t DP,AD -f ../Reference_genome/ecoli.fa sim_1_aligned.sorted.bam sim_2_aligned.sorted.bam sim_3_aligned.sorted.bam > sim_variants_3sample.bcf

###其一
time bcftools call -v -c sim_variants_3sample.bcf > sim_variants_3sample.vcf
###其二
time bcftools call -f GQ,GP -vmO z sim_variants_3sample.bcf -o sim_variants_3sample_1.vcf.gz

这样就得到了最终的vcf格式的文件。

这里遇到的问题:samtools加上bcftools检测变异的各个参数的含义还不太明白!

接下来重复原文内容

查看vcf文件中检测到多少没有经过过滤的变异
代码语言:javascript
AI代码解释
复制
bcftools view -H sim_variants_3sample.vcf | wc -l
6918

通常获得的vcf文件都比较大,可以通过随机取样的方法获得小的vcf文件用于后续的分析

过滤vcf文件通常考虑四点:

  • Depth 深度(最小深度和最大深度)
  • Quality 质量值(>30)
  • Minor allele frequency 最小等位基因频率(MAF)
  • Missing data 缺失数据(如何过滤缺失数据需要具体情况具体分析,但是位点缺失率大于25%应该被舍弃)
计算等位基因频率
代码语言:javascript
AI代码解释
复制
cd ../
mkdir vcf_handling
cd vcf_handling
vcftools --vcf ../output_results/sim_variants_3sample.vcf --freq2 --out sim_variant_AF
计算每个个体的平均深度
代码语言:javascript
AI代码解释
复制
vcftools --vcf ../output_results/sim_variants_3sample.vcf  --depth --out sim_variant_depth
计算每个变异位点的平均深度
代码语言:javascript
AI代码解释
复制
vcftools --vcf ../output_results/sim_variants_3sample.vcf --site-mean-depth --out sim_variant_sitedepth
计算位点平均质量值
代码语言:javascript
AI代码解释
复制
vcftools --vcf ../output_results/sim_variants_3sample.vcf --site-quality --out sim_variant_sitequality
计算每个个体数据缺失率
代码语言:javascript
AI代码解释
复制
vcftools --vcf ../output_results/sim_variants_3sample.vcf --missing-indv --out sim_variant_missingindv

将以上获得的五个文件导出到本地电脑,利用R语言进行可视化展示

五个文件分别是

代码语言:javascript
AI代码解释
复制
sim_variant_missingindv.imiss
sim_variant_sitequality.lqual
sim_variant_sitedepth.ldepth.mean
sim_variant_depth.idepth
sim_variant_AF.frq
查看位点质量值分布
代码语言:javascript
AI代码解释
复制
setwd("../../vcf_handling/")
library(tidyverse)
var_qual<-read_delim("sim_variant_sitequality.lqual",
                     delim="\t",
                     col_names=c("chr","pos","qual"),
                     skip=1)
library(ggplot2)
a<-ggplot(var_qual,aes(qual))+
  geom_density(fill="dodgerblue1")+
  theme_light()
a1<-a+xlim(0,100)
library(ggpubr)
ggarrange(a,a1,ncol=1,nrow=2)

image.png 从上图可以看出我们的位点质量值是偏低的,因为数据量比较小,位点质量值30代表检测出来的变异有千分之一的可能是错误的,推荐过滤变异的时候设置位点质量值大于30。

变异位点的平均深度
代码语言:javascript
AI代码解释
复制
summary(var_depth$mean_depth)
var_depth<-read_delim("sim_variant_sitedepth.ldepth.mean",
                      delim="\t",col_names=c("chr","pos","mean_depth","var_depth"),
                      skip=1)
a<-ggplot(var_depth,aes(mean_depth))+
  geom_density(fill="dodgerblue1",color="black",alpha=0.3)+
  theme_light()
a

image.png 覆盖度的最小值设置(We could set our minimum coverage at the 5 and 95% quantiles这句话暂时还没看懂是什么意思!) 覆盖度最大值的设置:推荐设置为平均深度的两倍(Usually a good rule of thumb is something the mean depth * 2, so in this case we could set our maximum depth at 40x)

平均缺失率
代码语言:javascript
AI代码解释
复制
INDV    N_DATA  N_GENOTYPES_FILTERED    N_MISS  F_MISS
sample1 6918    0       0       0
sample2 6918    0       0       0
sample3 6918    0       0       0

本次分析中的缺失率都为0,暂时还没想到是什么原因

最小等位基因频率
代码语言:javascript
AI代码解释
复制
var_freq<-read_delim("sim_variant_AF.frq",delim="\t",
                     col_names=c("chr","pos","nalleles","nchr","a1","a2"),skip=1)
var_freq
var_freq$maf<-var_freq%>%
  select(a1,a2)%>%
  apply(1,function(z) min(z))
a<-ggplot(var_freq,aes(maf))+
  geom_density(fill="dodgerblue1",alpha=0.3)+
  theme_light()
a

image.png 这部分的解释自己还没有太看懂,留待后续分解

根据位点质量值和测序深度过滤我们的vcf文件

代码语言:javascript
AI代码解释
复制
vcftools --vcf ../output_results/sim_variants_3sample.vcf --minQ 30 --min-meanDP 4 --max-meanDP 10 --minDP 4 --maxDP 10 --recode --stdout | gzip -c > sim_variants_filtered.vcf

参数含义: --vcf or --gzvcf输入未过滤的vcf文件 --minQ位点质量值 --min-meanDP位点最小平均深度 --max-meanDP位点最大平均深度 minDP the minimum depth allowed for a genotype maxDPthe maximum depth allowed for a genotype

剩下多少个变异
代码语言:javascript
AI代码解释
复制
bcftools view -H sim_variants_filtered.vcf.gz | wc -l
2212

过滤掉了将近三分之二

这样一次完整的变异检测流程就完成了,当然这其中还有好多细节部分的知识点需要学习!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
文献笔记四十三:不同形态的南瓜重测序探索与形态和有价值的农艺性状有关的基因组变异
Whole-genome resequencing of Cucurbita pepo morphotypes to discover genomic variants associated with morphology and horticulturally valuable traits
用户7010445
2020/03/03
1.1K0
workflow03-用snakemake制作比对及变异查找流程
这个snakemake workflow 主要包括:mapping, sort >> index >> call variants
北野茶缸子
2022/07/07
1.7K0
workflow03-用snakemake制作比对及变异查找流程
Variant 分析阶段小结2- 变异寻找碎碎念
写在前面:『思考问题的熊』专栏上次更新还要追溯到4月19号的 Variant 分析阶段小结1-基础碎碎念,过去接近一个月的时间里我分别经历了两次长途出差和电脑无法连接特定网络的持续尴尬。特定网络正是所有以 qq.com 结尾的网站,当然包括微信公众平台,所以文章都编辑不了。身体和心理的双重袭击让我只能选择围笑:)
生信技能树
2018/07/27
4.2K0
Variant 分析阶段小结2- 变异寻找碎碎念
基于PacBio HiFi数据的人类全基因组重测序变异分析流程
随着第三代测序技术,特别是PacBio HiFi(High Fidelity)测序技术的发展,我们能够获得兼具长读长和高准确度的测序数据。这为人类全基因组重测序(WGS)分析,尤其是复杂区域和结构性变异(Structural Variation, SV)的检测,带来了革命性的进步。本文旨在梳理一套完整的利用PacBio Sequel II或Revio平台产生的HiFi数据进行人类基因组变异分析的流程,详细介绍从原始数据处理、序列比对、变异检测、注释、过滤到可视化的各个环节,并涵盖所涉及的关键软件工具(如pbmm2, DeepVariant, pbsv, Annovar, SnpEff, AnnotSV, SnpSift, Slivar, IGV)的安装与使用细节。
天意生信云
2025/04/22
9270
基于PacBio HiFi数据的人类全基因组重测序变异分析流程
基因组实战03: WGS toy example
借鉴Reference中第2、3篇文章的代码。分析的数据是大肠杆菌,因为基因组小,适合拿来快速跑通整个流程 00 下载fastq数据 图片 mkdir -p ~/Project/DNA/raw cd ~/Project/DNA/raw wget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR177/003/SRR1770413/SRR1770413_1.fastq.gz wget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR177/003/SRR
生信探索
2023/03/31
4920
加速体细胞突变检测分析流程-系列2(ctDNA等高深度样本)
Sentieon 致力于解决生物信息数据分析中的速度与准确度瓶颈,通过算法的深度优化和企业级的软件工程,大幅度提升NGS数据处理的效率、准确度和可靠性。
INSVAST
2023/07/26
3670
加速体细胞突变检测分析流程-系列2(ctDNA等高深度样本)
体细胞突变检测分析流程-系列1( WES&Panel)
Sentieon 致力于解决生物信息数据分析中的速度与准确度瓶颈,通过算法的深度优化和企业级的软件工程,大幅度提升NGS数据处理的效率、准确度和可靠性。
INSVAST
2023/07/26
5320
体细胞突变检测分析流程-系列1( WES&Panel)
全基因组 - 人类基因组变异分析(PacBio) -- minimap2 + Sniffles2
首先从github官网上下载minimap2的二进制文件压缩包,minimap2-2.26_x64-linux.tar.bz2,然后上传到服务器上。
三代测序说
2023/11/26
2.2K0
全基因组 -  人类基因组变异分析(PacBio) -- minimap2 + Sniffles2
微生物DNA测序数据找变异位点
我们以这三年疫情的微生物SARS– CoV-2为例,文章:《Genomic Diversity of Severe Acute Respiratory Syndrome– Coronavirus 2 in Patients With Coronavirus Disease 2019》,它就列出来了微生物的DNA测序找变异位点的流程,主要是4个软件,步骤如下所示:
生信技能树
2022/06/08
6420
微生物DNA测序数据找变异位点
Snakemake — 可重复数据分析框架
Snakemake是一款流行的生物信息学工作流管理系统,由Johannes Köster及其团队开发。它旨在降低复杂数据分析的复杂性,使生物信息学工作流的创建和执行变得更加容易和可重复。Snakemake的设计灵感来自于Makefile,但它是专门为生物信息学和数据密集型科学工作流设计的,使用Python语言进行工作流的定义,这使得它在生物信息学社区中特别受欢迎。
生信菜鸟团
2024/03/25
1.6K0
Snakemake — 可重复数据分析框架
全基因组 - 人类基因组变异分析(PacBio) (5)-- pbsv
染色体结构变异(Structure Variation, SV),指基因组上发生的长度大于50bp的大片段插入(Insertion, INS)、缺失(Deletion, DEL)、倒位(Inversion, INV)、易位(Translocation)、重复(Duplication, DUP)等类型的变异,其中占比最大的就是大片段的插入和缺失(图1)。插入缺失很好理解就是,多了一段或者少了一段DNA序列;重复就是有一段区域的序列重复出现;倒位就是序列翻转了一下,如本来那个位置该是AATTG的,结果变成了GTTAA;易位的话就是序列位置的变化,又进一步分为染色体内易位和染色体间易位。据统计,基因组结构变异可能导致的遗传性疾病已经超过1,000种,对于每个人来讲其基因组都有至少20,000个的结构变异,这些变异带来的影响或许比SNVs或InDels带来的影响更大。
三代测序说
2023/11/22
1.8K0
全基因组 - 人类基因组变异分析(PacBio) (5)-- pbsv
GATK变异检测
准备的已知变异集作为训练集,可以是 Hapmap、OMNI,1000G,dbsnp,瓶中基因组计划等这些国际性项目的数据,然后利用训练集对每一个位点进行过滤。利用 VariantRecalibrator工具进行机器学习,ApplyVQSR 工具进行处理。VQSR 过滤 SNP 和 InDel 分别进行,首先处理 SNP,得到结果后,再进行 InDel 处理。
生信喵实验柴
2023/09/04
7790
GATK变异检测
GWAS全基因组关联分析流程(BWA+samtools+gatk+Plink+Admixture+Tassel)
我梳理了GWAS全基因组关联分析的整个流程,并提供了基本的命令,用到的软件包括BWA、samtools、gatk、Plink、Admixture、Tassel等,在此分享出来给大家提供参考。
追梦生信人
2020/10/19
13.4K2
GWAS全基因组关联分析流程(BWA+samtools+gatk+Plink+Admixture+Tassel)
workflow05-snakemake的进阶操作一
如bwa 等软件,我们可以分配多线程以提高任务的执行速度的。同样,我们可以把线程的信息配置在规则中:
北野茶缸子
2022/07/07
1.3K0
全基因组 - 人类基因组变异分析(PacBio) (4)-- DeepVariant
单核苷酸多态性(Single Nucleotide Polymorphism,SNP)指的是基因组中单个核苷酸腺嘌呤(A)、胸腺嘧啶(T)、胞嘧啶(C)或鸟嘌呤(G)在物种成员之间或个体配对染色体之间的差异, 是最常见也最简单的一类造成基因组多样性的DNA序列变异。
三代测序说
2023/11/12
2.1K2
全基因组 - 人类基因组变异分析(PacBio) (4)-- DeepVariant
【直播】我的基因组 43:简单粗糙的WGS数据分析流程
前面我们扯到bam文件的各种操作,vcf文件的各种操作,基础知识不牢固的同学可能已经云里雾里了。这次我们来讲一个简单的。就是拿到了fastq的测序数据,如何把全基因组分析给跑一遍。(不谈细节!) 首先就是fastq文件比对到参考基因组变成sam文件: head -40 read1.fq >tmp/read1.fq head -40 read2.fq >tmp/read2.fq ~/biosoft/bwa/bwa-0.7.15/bwa mem -t 20 -M ~/reference/index/bwa/
生信技能树
2018/03/08
2K0
【直播】我的基因组 43:简单粗糙的WGS数据分析流程
samtools小实例(未完成)
主要参考网易云课堂 Linux生信分析环境搭建Bio-linux课程 设置共享文件夹需要的命令
用户7010445
2020/03/03
1.5K0
使用paragraph软件利用二代测序数据对已知结构变异(SV)进行基因型分型(genotyping)
https://genomebiology.biomedcentral.com/articles/10.1186/s13059-019-1909-7
用户7010445
2024/05/27
4870
使用paragraph软件利用二代测序数据对已知结构变异(SV)进行基因型分型(genotyping)
ilus: 这是我写的一个轻量级全基因组(WGS)和全外显子(WES)最佳实践分析流程生成器
不知觉间,距离我写下第一篇关于 WGS 数据分析系列的文章已经过去了三年多(WGS系列文章),时间真的快啊。
黄树嘉
2021/08/13
2.9K0
ilus: 这是我写的一个轻量级全基因组(WGS)和全外显子(WES)最佳实践分析流程生成器
融合基因鉴定以及GATK寻找突变
上周的癌症样本全转录组数据的融合基因鉴定中我们拿到数据进行一系列比对过滤后使用star完成了基因组比对,并通过设置参数拿到了Chimeric.out.junction文件以便star-fusion进行融合基因的鉴定
生信菜鸟团
2023/09/08
2.8K1
融合基因鉴定以及GATK寻找突变
推荐阅读
相关推荐
文献笔记四十三:不同形态的南瓜重测序探索与形态和有价值的农艺性状有关的基因组变异
更多 >
领券
社区新版编辑器体验调研
诚挚邀请您参与本次调研,分享您的真实使用感受与建议。您的反馈至关重要,感谢您的支持与参与!
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
首页
学习
活动
专区
圈层
工具
MCP广场
首页
学习
活动
专区
圈层
工具
MCP广场