GATK之BaseRecalibrator

简介: BaseRecalibrator简介用途: 检测碱基质量分数中的系统错误。分类: 序列数据处理工具概要: 所谓的变异位点,就是与参考基因组不同的部分,假设原始数据中就存在着一些由于测序仪器产生的系统性误差,那么变异位点识别过程中找到的variant,就会存在大量的假阳性。

BaseRecalibrator

简介

用途: 检测碱基质量分数中的系统错误。
分类: 序列数据处理工具
概要: 所谓的变异位点,就是与参考基因组不同的部分,假设原始数据中就存在着一些由于测序仪器产生的系统性误差,那么变异位点识别过程中找到的variant,就会存在大量的假阳性。即便机器说他识别的5亿个碱基有99%的概率是对,那么也就说有5千万可能是错的。

碱基质量分数重校准(Base quality score recalibration,BQSR),就是利用机器学习的方式调整原始碱基的质量分数。它分为两个步骤:

  1. 利用已有的snp数据库,建立相关性模型,产生重校准表( recalibration table)
  2. 根据这个模型对原始碱基进行调整,只会调整非已知SNP区域。

:如果不是人类基因组,并且也缺少相应的已知SNP数据库,可以通过严格SNP筛选过程(例如结合GATK和samtools)建立一个snp数据库。

输入

  • 需要重校准的BAM文件
  • 已知的多态性位点数据库,用于屏蔽那些不需要重校准的部分

输出

GATK可能会报告许多表格:

  • 参数列表
  • 量化质量表
  • 每个read gruop的重校准表
  • 按质量得分的重校准表
  • 所有可选协变量的重校准表

案例

java -jar GenomeAnalysisTK.jar \
   -T BaseRecalibrator \
   -R reference.fasta \
   -I my_reads.bam \
   -knownSites latest_dbsnp.vcf \
   -o recal_data.table

参数说明:

-T : 运行的工具
-R : 参考基因组
-I : 输入的BAM文件
-knownSites 已知SNP的vcf文件
-o : 输出的重校准表

我是如何用的

首先我用BaseRecalibrator根据snp数据建立了重校准表,然后又做了一次重校准,用AnalyzeCovariates作图(要有R环境)观察前后变化,最后用PrintReads应用。

# Analyze patterns of covariation in the sequence dataset   
java -Xmx16g -jar $gatk -T BaseRecalibrator -R $reference \
        -I $file  -knownSites $dbsnp -o ${file%%.*}_recal_data.table
# Do a second pass to analyze covariation remaining after recalibration
java -Xmx16g -jar $gatk -T BaseRecalibrator -R $reference  \
    -I $file  -knownSites $dbsnp -BQSR ${file%%.*}_recal_data.table \
    -o ${file%%.*}_post_recal_data.table    
#  Generate before/after plots, need configure your R environment
java -Xmx16g -jar $gatk -T AnalyzeCovariates \
    -R $reference  -before ${file%%.*}_recal_data.table \
    -after ${file%%.*}_post_recal_data.table \
    -plots ${file%%.*}_recalibration_plots.pdf
    
# Apply the recalibration to your sequence data
java -Xmx16g -jar $gatk -T PrintReads \
    -R $reference -I $file \
    -BQSR ${file%%.*}_recal_data.table \
    -o ${file%%.*}_recal_reads.bam
目录
相关文章
|
3天前
|
人工智能 数据库
GEE数据集——USGS全球地震数据集
GEE数据集——USGS全球地震数据集
63 2
|
10月前
|
算法 关系型数据库 数据挖掘
Sentieon | 每周文献-Tumor Sequencing(肿瘤测序)-第三期
本期重点关注Sentieon在甲状腺癌和CRISPR/Cas9技术中的应用
88 0
Sentieon | 每周文献-Tumor Sequencing(肿瘤测序)-第三期
|
3天前
单细胞分析|在 Seurat 中使用 sctransform
单细胞分析|在 Seurat 中使用 sctransform
26 0
|
3天前
|
算法 数据挖掘 芯片
Sentieon | 每周文献-Gene Editing-第二十八期
Sentieon | 每周文献-Gene Editing-第二十八期
18 0
|
3天前
|
算法 数据挖掘
Sentieon | 每周文献-Clinical Trial-第三十三期
Sentieon | 每周文献-Clinical Trial-第三十三期
22 0
|
3天前
|
算法 安全 数据挖掘
Sentieon | 每周文献-Tumor Sequencing-第十四期
Sentieon | 每周文献-Tumor Sequencing-第十四期
43 0
|
8月前
|
存储 JSON Java
GATK4重测序数据怎么分析?
GATK4重测序数据怎么分析?
|
9月前
|
数据可视化 算法 搜索推荐
Sentieon | 每周文献-Gene Editing(基因编辑)-第六期
Sentieon | 每周文献-Gene Editing(基因编辑)-第六期
55 0
Sentieon | 每周文献-Gene Editing(基因编辑)-第六期
|
11月前
|
数据挖掘 atlas 数据库
TCGA数据挖掘 | Xena - TCGA数据下载
TCGA数据挖掘 | Xena - TCGA数据下载
194 1
|
机器学习/深度学习 算法 测试技术
Genome Biology | 建立预测疾病miRNA的benchmark
Genome Biology | 建立预测疾病miRNA的benchmark
217 0
Genome Biology | 建立预测疾病miRNA的benchmark