GATK4 流程分析- 从fastq到vcf(样例数据处理)

GATK4重测序上游分析:从原始数据到高质量VCF的实战指南 本文详细介绍了GATK4重测序上游分析的标准流程,从原始数据到高质量VCF文件的完整实战指南。涵盖数据质控、基因组比对、BAM处理、变异检测等关键步骤,并分享水稻基因组项目中的实际应用案例和优化技巧,帮助生物信息学从业者掌握这一行业标杆工具链。 阅读详情
AI摘要

本文详细介绍了从下载鸡的参考基因组到生成VCF文件的生物信息学流程,包括参考基因组预处理、序列比对(使用bwa)、sam/bam文件处理(合并、排序、标记重复)、以及生成VCF文件(单样本和多样本HaplotypeCaller)。还涵盖了质量控制步骤和相关工具如GATK和Picard的应用。,

(详见https://zhuanlan.zhihu.com/p/69726572?utm_id=0)

参考基因组处理

参考基因组采用在ensembl下载的鸡的参考基因组(以下命名为1.fa)
以下为对参考基因组的预处理,三个步骤一个也不能少

大于2G的参考基因组要用参数-a bwtsw


$ bwa index -a bwtsw 1.fa

生成1.fa.fai文件


$ samtools faidx 1.fa

生成参考基因组的dict⽂件


$ java -jar picard.jar CreateSequenceDictionary R=1.fa O=1.dict

(此处预留)

序列比对

软件:bwa (mem方法)
若一个样本有4个fastq,此处分开处理fastq,将同⼀通道的两个fq文件⼀起处理,生成⼀个sam/bam⽂件,那样子⼀个样本共生成2个sam/bam⽂件,后面还要进行merge步骤。
若一个样本只有2个fastq,此处刚好生成一个样本一个bam文件。

-R 参数涉及到后续步骤,非常重要,如果设错了需要重新跑这一步。

$ time bwa mem -t 6 -M -Y -R ‘@RG\tID:2\tSM:19P0126636\tLB:WES\tPL:Illumina’ 1.fa 2_1.fq.gz 2_2.fq.gz | samtools view -Sb - > 19P0126636WES.bam && echo “**bwa mapping done **”

(fq.gz没有的话fq也是可以的)
##查看前⾯bwamem时候设定的头⽂文件

$ samtools view -H 19P0126636WES.bam | grep ‘@RG’

参数option:
-R 设定头文件 必填,ID:通道名或样本名,通过这个信息分组,必须唯一(但是可以自定义,自定义必须唯一);SM:样本名;LB:⽂库名;PL:测序平台信息[COMPLETE,ILLUMINA,SANGER]。以上这些信息后续GATK和markduplicate会用到,不可出错
-t 核数
-M :-M 将 shorter split hits 标记为次优,以兼容Picard’s markDuplicates 软件 关于alignment,
由于比对算法的区别,DNA数据一般用bwa和bowtie2,RNA一般用STAR,如果用bwa,R的设定一定(一定!)要对好,ID和Sample我一般直接用${prefix}
(prefix是一直设定的样本前缀,一般为样本名)来运行,避免出错,如果这里没有设定好,一路运行下去也不会报错,就是出来的vcf没有任何位点,让人无法debug…

sam/bam文件预处理

软件:samtools,picard(基于java)

#如果前面一个样本有4个fastq,此处需要先将bam文件合并,也可以指定合并区域


$ time samtools merge -@ 6 -h sample_1.bam output.bam sample_1.bam sample_2.bam


#-h FILE 指定FILE内的’@’头复制到输出bam文件中并替换输出文件的文件头。否则,输出文件的文件头将从第一个输入文件复制过来;

#Sortsam,非常占用内存和IO读写,耗时,-@ 核数


$ time samtools sort -@ 30 -o 19P0126636WES.sorted.bam 19P0126636WES.bam

#markduplicate,占用内存,耗时
#error: open too much file 打开太多文件; 解决方法 $ ulimit -n 10240
#error: GC-overhead limit exceeded 内存不足;解决方法,运行是加参数 -Xmx64g,64g是指64g内存,请按照自己电脑情况修改数字,笔记本可以删去
#因为这个数据集之前的duplicate并不过关,所以加了一个设定REMOVE_DUPLICATES=true,默认只是标记而不删除
#SE可以用samtools或picard去重,PE一般用picard,效果好。


$ time java -jar picard.jar.1 MarkDuplicates I=19P0126636WES.sorted.bam O=19P0126636WES.sorted.markdup.bam M=19P0126636WES.sorted.markdup.txt REMOVE_DUPLICATES=true


#index
$ time java -jar picard.jar.1 BuildBamIndex -Xmx64g I=19P0126636WES.sorted.markdup.bam


##检查一下生成的bam文件质量是否合格(optional)
$ time samtools flagstat -@ 30 19P0126636WES.sorted.markdup.bam > 19P0126636WES.sorted.markdup.stat


(非必须)
$ mkdir flagstat
$ multiqc flagstat/
$ cat 19P0126636WES.sorted.markdup.stat

生成vcf文件

单样本

单样本到这一步就可以生成VCF了

使用HaplotypeCaller对上述的bam文件进行call variant,就是寻找变异的过程,生成一个VCF文件用于后续位点的质控和注释,从一个bam到一个vcf文件

$ time gatk HaplotypeCaller -R 1.fa -I 19P0126636WES.sorted.markdup.BQSR.bam -O 19P0126636WES.HC.vcf

之后就可以用不同的方法过滤掉置信度不高的位点,然后进行注释,注释过程见下文。

多样本

单独为每个样本生成后续分析所需的中间文件——gVCF文件。这一步中包含了对原始fastq数据的质控、比对、排序、标记重复序列、BQSR和HaplotypeCaller gVCF等过程。这些过程全部都适合在单样本维度下独立完成。值得注意的是,与单样本模式不同,该模式中每个样本的gVCF应该成为这类流程的标配,在后续的步骤中我们可以通过gVCF很方便地完成群体的Joint Calling;
第二步,依据第一步完成的gVCF对这个群体进行Joint Calling,从而得到这个群体的变异结果和每个人准确的基因型(Genotype),最后使用VQSR完成变异的质控。这两个步骤其实还包含了许多细节,具体可见我在流程中的注释。

要生成gvcf前期步骤与单样品分析步骤一致,只是在最后HaplotypeCaller有差别,多了-ERC GVCF 参数

$ time gatk HaplotypeCaller -R /home/zhn/5/1.fa -I 19P0126636WES.sorted.markdup.bam -ERC GVCF -O 19P0126636WES2.g.vcf

多个gvcf整合(optional)

#CombineGVCFs:旧方法,速度慢,但是可以一次全部合并(合并不同样本的文件)
$ gatk CombineGVCFs
-R /path/to/hg38/hg38.fa
-V sample1.g.vcf
-V sample2.g.vcf
-O combined.g.vcf


#样本较多时,按如下操作
$ find gvcf/ -name “*.g.vcf” >input.list
$ nohup gatk -Xmx20g CombineGVCFs -R /data/all_data/ref/hg38/hg38.fa --variant
$ input.list -o combined.g.vcf & #Xmx20g 使⽤用20G内存


#joint genotyping
$ gatk GenotypeGVCFs
-R /path/to/hg38/hg38.fa
-V combined.g.vcf
-G StandardAnnotation
-O raw_variants.vcf (这个就是后续命令行中的19P0126636WES.HC.vcf,VQSR的输入文件)

变异质控
VQSR中参考的指标阈值有6个,分别是:
QualByDepth(QD)
FisherStrand (FS)
StrandOddsRatio (SOR)
RMSMappingQuality (MQ)
MappingQualityRankSumTest (MQRankSum)
ReadPosRankSumTest (ReadPosRankSum)
(详见https://blog.youkuaiyun.com/weixin_33378570/article/details/112818035
以及https://blog.youkuaiyun.com/Gossie/article/details/109320960)

参考程序:

gatk VariantFiltration -R 1.fa\
    -V all.vcf \
    -filter "QD > 2.0" --filter-name "QD2" \
    -filter "FS > 60.0" --filter-name "FS60" \
    -filter "MQ > 40.0" --filter-name "MQ40" \
    -filter "MQRankSum > -12.5" --filter-name "MQRankSum-12.5" \
    -filter "ReadPosRankSum > -8.0" --filter-name "ReadPosRankSum-8" \
    -O all.gatk.vcf
用GATK进行二代测序数据 SNP Calling 流程:(二)bwa比对和HaplotypeCaller 变异检测 1. 创建基因组索引 bwa index genome.fa 2. 查看read group信息,按read group分组, 比对、合并,生成gvcf 由于数据太多,无法存储过多的中间文件,因此写了一个脚本,边运行边删除中间文件,过程包括: 解压,按read group分组。(RG(read group) 信息非常重要,GATK需要通过RG来判断碱基测序质量。我的一个样品的测序数据可能会来自不同的Cell,不同的lane、flowcell,甚至不同的机器,这在重测序中比较常见。因此,我将一个fastq 阅读详情

相关推荐

利用GATK进行calling-snp时所用的过滤参数

gatk

hgz2020的博客 3064

GATK变异检测

变异检测 GATK 变异检测 简述:GATK(全称The Genome Analysis Toolkit) ,是基于二代测序的分析软件,主要功能是寻找变异位点。 数据类型:Illumina数据 软件版本:Gatk 4.1.8.1、fastp 0.20.0、bwa 0.7.17、samtools 1.9 测试数据: $ ref = /home/jingke.meng/database/hg19_BWA /hg19.fa $ fq1 = /home/jingke.meng/GATK_passway/Illu

weixin_45606903的博客 1万+

保姆级教程:从FASTQ到VCF,手把手带你用GATK4完成SNP Calling全流程

本文提供了一份详细的GATK4 SNP Calling全流程指南,从FASTQ文件处理到VCF结果生成,涵盖环境准备、数据质控、序列比对、变异检测等关键步骤。通过实战操作和参数解析,帮助生物信息学新手掌握GATK工具的使用技巧,提升SNP calling分析的准确性和效率。

weixin_33739523的博客 533

从fastq生成vcf文件

流程主要参考 https://github.com/vlkofly/Fastq-to-vcf 1 java -jar PICARD281CreateSequenceDictionaryR=PICARD281 CreateSequenceDictionary R=PICARD281CreateSequenceDictionaryR={ref} O=${ref/fasta/dict} samtools faidx ${ref} bwa index ${ref}

heroacool的专栏 2146

保姆级教程:从FASTQ到VCF,手把手带你用GATK4完成SNP calling全流程

本文提供了一份详细的GATK4全流程SNP检测指南,从FASTQ文件处理到VCF结果生成,涵盖环境准备、数据质控、序列比对、变异检测等关键步骤。特别适合基因组学领域的研究人员,通过实战案例和常见问题解决方案,帮助用户高效完成SNP calling分析。

weixin_30420305的博客 344

二代靶向测序的分析流程(从fastq到vcf)

当原始数据通过基本质控后(),接下来就可以执行测序的主要目的:call 变异。

m0_49420831的博客 1391

基因组数据处理工程:从FASTQ到VCF的临床级分析流程

基因组数据处理是生物信息学的核心环节,涉及将原始测序数据(FASTQ)转化为可解释变异信息(VCF)的标准化流程。其技术原理主要包括数据质控、序列比对和变异检测三大模块,通过算法优化和参数调整确保医疗级精度。在精准医学领域,稳健的数据处理pipeline能显著提升变异检测的灵敏度与特异性,对癌症基因组研究和遗传病诊断具有关键价值。以BWA-MEM、GATK4等工具构建的临床级分析流程,结合Nextflow等流程控制框架,可高效处理海量基因组数据。当前在肿瘤突变检测、病毒整合分析等场景中,正确处理soft-c

weixin_29062671的博客 307

全基因组重测序分析实战:从Fastq到VCF的标准化流程与避坑指南

重测序分析是基因组学研究的基础技术,通过对个体基因组进行测序并与参考基因组比对,识别单核苷酸多态性(SNP)、插入缺失(Indel)等变异。其核心原理是将测序产生的短读段通过BWA等算法精准比对到参考基因组上,再经由GATK等工具进行变异检测与基因分型。该技术的价值在于为群体遗传学、疾病关联研究和育种筛选提供可靠的变异图谱,广泛应用于疾病诊断、种质资源鉴定等场景。本文聚焦于**全基因组重测序(WGS)** 和**外显子组测序(WES)** 数据,提供一套涵盖环境搭建、数据质控、序列比对、变异检测到功能注释的

weixin_30363981的博客 410

Fastq2VCF传统流程

1.序列QC: 去除低质量reads,和连续的低质量片段,去掉接头序列。QC统计reads数量及测序质量。 2.Mapping: 由于bwa能准确,快速的将短序列比对到基因组上,而且软件持续更新和说明文档完备,是外显子捕获测序的首选。 3.Sam到bam转换: Samtools ...

1542

全基因组测序(WGS)分析流程详解:从FASTQ到VCF的实战指南

测序技术的飞速发展让全基因组测序(WGS)成为解析生命遗传信息的重要手段。其核心原理是对生物体全部DNA序列进行无偏测定,相比靶向测序或外显子测序,能更完整地揭示SNP、InDel及结构变异。在临床诊断、肿瘤研究和群体遗传等领域,WGS凭借其全面性和准确性发挥着不可替代的价值。然而,从下机FASTQ数据到最终VCF变异位点的获取,涉及质控、比对、去重、碱基质量校正、变异检测与注释等多个关键步骤,常用工具链包括BWA-MEM2、GATK HaplotypeCaller、ANNOVAR等。本文基于实际项目经验,

weixin_29045585的博客 268

BWA-MEM实战:从Fastq到VCF的完整变异检测流程(含参数优化)

本文详细介绍了使用BWA-MEM工具从Fastq文件到VCF文件的完整变异检测流程,包括参数优化和常见问题解决方案。涵盖序列质量控制、参考基因组比对、BAM文件处理、变异检测及结果过滤等核心环节,特别针对生信分析中的关键步骤提供实用建议和性能优化策略。

github5actions的博客 705

生信软件39 - GATK最佳实践流程重构,提高17倍分析速度的LUSH流程

GATK最佳实践流程重构,提高17倍分析速度的LUSH流程

LittleComputerRobot的博客 2444

重测序数据分析全流程详解:从FASTQ到VCF的标准化实践指南

基因组重测序是揭示遗传变异、追溯进化历史的核心技术。其原理是通过将样本测序序列与参考基因组进行比对,系统识别单核苷酸多态性(SNP)、插入缺失(InDel)等变异。该技术的价值在于为疾病机理研究、物种进化分析和分子育种提供了关键的遗传数据基础。在生物信息学实践中,构建一个标准化、自动化的分析流程对于保证数据质量与结果可重复性至关重要。典型的应用场景包括从原始FASTQ数据开始,经过质控、序列比对、变异检测与过滤,最终获得高质量、可解释的变异列表。本文聚焦于重测序数据分析流程,详细拆解了使用FastQC、BW

weixin_30770783的博客 331

实操 | 合并VCF文件的几种方法及注意事项

背 景 在基因组分析领域的很多不同场景中,需要合并VCF文件。VCF文件。简单来说,就是记录样本基因型的文件。但多数VCF文件不只记录了基因型,也包含有关该基因型的来源的细节。其它文件。VCF文件的上游是BAM文件,主要记录Reads与参考基因组的比对信息;更上游的,就是FASTQ测序数据,以及物种的参考基因组。不同类型的VCF文件。VCF文件有单样本的、多样本的;也有普通VCF文件...

悟道西方 1万+

gatk4-data-processing:使用GATK4和相关工具处理高通量测序数据以进行变体发现的工作流程

gatk4-数据处理 目的 : 使用GATK4和相关工具处理高通量测序数据以进行变体发现的工作流程。 处理变量发现gatk4: 处理变异发现gatk4 WDL管道根据实施数据预处理。 工作流将未映射的BAM列表文件(包含未映射的bam文件的路径的文本文件)作为输入,以执行预处理任务,例如映射,标记重复项和基础重新校准。 它生成单个BAM文件及其索引,适用于使用Haplotypecaller之类的工具进行。 如果您从FASTQ文件开始,请访问存储库,以获取将FASTQ转换为未映射BAMS的工作流。 使用GATK的最新版本,变体发现处理gatk4为序列数据提供了快速而通用的处理。 如果用户对带有质量控制任务的此工作流程的更详细版本感兴趣,并定期进行有效性测试(在生产环境中有用),请访问信息库。 处理变异发现gatk4的BAM输出可用于执行各种其他分析,例如体细胞短变种发现,种系短变种

indexedfasta-js:读取以.fai索引建立索引的FASTA文件。 还支持BGZIP + .gzi

安装 $ npm install --save @gmod/indexedfasta 用法 const { IndexedFasta , BgzipIndexedFasta } = require ( "@gmod/indexedfasta" ) ; const t = new IndexedFasta ( { path : "test.fa" , faiPath : "test.fa.fai" } ) ; // or const t = new BgzipIndexedFasta ( { path : "test.fa.gz" , faiPath : "test.fa.gz.fai" , gziPath : "test.fa.gz.gzi" , chunkSizeLimit : 500000 } ) ; // get the first 10 bases of a

上一篇: 生信相关工具的安装
下一篇: 在ubuntu上搭载共享文件夹
zhanghongyi_cpp
博客等级 码龄4年 2458粉丝 413原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值