GATK BQSR的意义与作用

欢迎关注"生信修炼手册"!

BQSR 全称叫做 Base Quality Score Recalibration, 可以理解为碱基质量校正。对于变异位点的鉴定,碱基质量是非常重要的。比如测序识别到的一个位点,其碱基和参考基因组上的碱基不同,但是其质量值特别低,此时可以认为是一个测序错误,而不是一个SNP位点。

在测序的原始数据中,本身就提供了每个碱基对应的质量值,但是GATK官方认为测序仪提供的碱基质量值,是不准确的,存在误差的。

某个位点前后的碱基的种类,称之为上下文环境,会对这个碱基的质量值产生影响。对于A,T,C,G 4种碱基,共有4 x 4 =16 种上下文环境,左侧的图是利用fastq文件中测序仪给出的碱基质量值做的图,可以看到,对于不同的上下文环境,碱基质量值分布不同;右图为经过BQSR校正之后,不同上下文环境中碱基质量的分布。可以看到,校正之后,不同的上下文环境的碱基质量分布基本相同。也就是说,BQSR消除了上下文环境对碱基质量的影响。

在碱基质量校正时,主要考虑下列3个因素:

  1. 碱基在reads中的位置

  2. 碱基的上下文环境

  3. 碱基原始的质量值

根据这3这个因素,首先计算出原始碱基质量中错误的分布模型,然后利用这个模型对碱基质量校正,生成新的碱基质量值。

执行BQSR分析包含以下三步

1. 根据原始bam文件中的碱基质量值计算出系统误差的分布

命令如下

gatk BaseRecalibrator \
    -R ${ref_fasta} \
    -I ${input_bam} \
    --use-original-qualities \
    -O ${recalibration_report_filename} \
    --known-sites ${dbSNP_vcf} \
    --known-sites ${sep=" --known-sites " known_indels_sites_VCFs}

在计算的过程中, 不考虑已知的变异位点的碱基质量,--known-sites指定已知变异位点对应的vcf文件。这一步对单个样本进行操作,每个样本生成一个错误模型文件。

2.  综合多个样本的模型,生成一个总的模型

命令如下

gatk GatherBQSRReports \
    -I ${sep=' -I ' input_bqsr_reports} \
    -O ${output_report_filename}
3. 根据之前计算的模型对碱基质量进行校正

命令如下:

gatk ApplyBQSR \
    -R ${ref_fasta} \
    -I ${input_bam} \
    -O ${output_bam_basename}.bam \
    -bqsr ${recalibration_report} \
    --static-quantized-quals 10 --static-quantized-quals 20 --static-quantized-quals 30 \
    --add-output-sam-program-record \
    --create-output-bam-md5 \
    --use-original-qualities

BQSR会对输入的bam文件中的碱基质量值进行替换,替换为校正之后的质量值,而原先的质量值保存在OQtag 中,示意图如下

扫描关注微信号,更多精彩内容等着你!

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值