(How to) Call somatic mutations using GATK4 Mutect2

本文详细介绍了如何利用GATK4 Mutect2进行体细胞突变鉴定,包括原始数据检查、数据修剪、数据预处理、PON构建、污染计算、肿瘤-正常模式下的新过滤策略等关键步骤,旨在提高变异检测的准确性和可靠性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Rawdata

  • 对rawdata的fastq进行fastqc检查,决定是否cut某些位置,对所有数据进行了cut前10bp的操作

Data trimming

fastp --thread=16 -q 20 -l 50 -f 10 -F 10 -i tumor_R1.fastq.gz -o 
tumor_R1_clean.fastq -I tumor_R2.fastq.gz -O tumor_R2_clean.fastq

-l参数对长度低于50的reads进行过滤
-h -j可改变质控结果文件名

  • 质量过滤
    -q, --qualified_quality_phred碱基质量值不小于多少时为合格碱基,默认碱基质量值15,默认碱基质量>=15是合格碱基;
    -u, --unqualified_percent_limit允许不合格碱基的占比为多少时去掉这条read,默认不合格碱基占比>40%时,去掉该read;
  • 整体切除
    -f -F对R1和R1分别cut开端多少bp
    -t -T对R1和R1分别cut尾部多少bp

Prepipline 数据预处理 bwa-bqsr

  • BWA
bwa mem -t 24 -R "@RG\tID:tumor\tSM:tumor\tLB:WES\tPL:Illumina" /data2/references/Homo_sapiens/hg38.genomic.fa /data1/01.projects/USER006/cleandata/tumor_R1_clean.fastq 
/data1/01.projects/USER006/cleandata/tumor_R2_clean.fastq > /data1/01.projects/USER006/mapping/tumor.sam
  • SortSam
samtools view -bS tumor.sam > tumore.bam
samtools sort -@ 5 tumor.bam -o tumor.sorted.bam
samtools index tumor.sorted.bam
    <think>好的,我现在需要帮助用户了解GATK Mutect2的使用指南或解决相关问题。首先,我得回忆一下用户提供的引用内容,看看里面有哪些关键信息可以利用。引用1提到如何用Mutect2检测体细胞突变,引用4提到了Mutect2的流程用于肿瘤配对样本分析,而引用5则比较了不同的检测工具。用户可能需要基础的流程步骤,或者遇到具体错误时的解决方法。 首先,我应该整理Mutect2的基本使用步骤。根据引用4,流程包括数据准备、生成正常样本的PON、运行Mutect2、过滤结果等。可能需要详细说明每一步所需的命令和参数,比如输入文件格式,如何指定肿瘤和正常样本。 接下来,用户可能遇到的问题可能涉及输入文件路径错误、Java内存不足、版本不兼容等。例如,引用2提到Mutect2在低纯度样本中的检测能力,但这也可能导致灵敏度问题,需要调整参数。此外,引用3提到Mutect2Engine是核心类,如果用户遇到Java堆空间错误,可能需要指导他们调整内存参数,比如-Xmx设置。 另外,用户可能不知道如何生成PON(Panel of Normals),这是关键步骤之一,需要引用多个正常样本。引用1和引用4都提到了这一点,应该详细说明如何用多个正常样本创建PON,并确保使用的GATK版本正确,因为不同版本可能有差异,如引用5提到的版本匹配问题。 错误排查部分,常见的如文件不存在、权限问题、资源不足等,需要逐一列出可能的解决方案。例如,当出现“No such file or directory”时,检查路径是否正确;内存问题则需要增加Java的堆空间。此外,版本不兼容可能导致某些参数不可用,需要确认GATK版本是否符合文档要求。 最后,相关问题部分可以引导用户深入了解更多优化方法或与其他工具的比较,如引用5中的TNscope和TNhaplotyper2,这样用户可以根据需求选择合适工具。同时,引用3提到的Mutect2Engine的内部逻辑可能对高级用户有帮助,但一般用户可能更关注实际应用。 需要注意的是,回答要使用中文,数学公式用$...$,独立公式用$$...$$,但根据用户的问题,可能数学公式较少,更多是代码和步骤说明。同时,生成的问题需要与Mutect2相关,比如性能优化、参数调整、结果过滤等。 现在需要确保所有引用都被正确标注,比如在提到生成PON时引用[^1][^4],在内存问题引用[^3]。还要检查是否有遗漏的关键点,比如是否提到输入文件的预处理,比如BAM文件的排序和索引,这可能在流程中很重要但用户可能忽略,导致错误。 总结,回答结构应该分基本使用指南和错误排查两部分,每个部分列出具体步骤和常见问题,并附上相关引用。最后的问题部分要引导用户进一步探索Mutect2的高级应用或替代方案。</think>### GATK Mutect2 使用指南与错误排查 #### 一、Mutect2 基础使用流程 1. **数据准备** - 输入文件:配对的肿瘤/正常样本BAM文件及参考基因组 - 生成正常样本的Panel of Normals(PON): ```bash gatk CreateSomaticPanelOfNormals \ -vcfs normal1.vcf normal2.vcf ... \ -O pon.vcf ``` 需使用至少40个正常样本以提高准确性。 2. **核心调用命令** ```bash gatk Mutect2 \ -R reference.fasta \ -I tumor.bam -tumor tumor_sample \ -I normal.bam -normal normal_sample \ --panel-of-normals pon.vcf \ -O somatic.vcf ``` 通过`-tumor`和`-normal`明确指定样本类型。 3. **结果过滤** ```bash gatk FilterMutectCalls \ -V somatic.vcf \ -O filtered.vcf ``` 过滤低质量变异(如低深度、链特异性偏差)。 --- #### 二、常见错误与解决方案 1. **输入文件错误** - **报错示例**:`FileNotFoundError: tumor.bam not found` - **解决方法**: 检查BAM文件路径,确保已建立索引(.bai文件),使用`samtools index`生成索引。 2. **Java堆内存不足** - **报错示例**:`java.lang.OutOfMemoryError: Java heap space` - **解决方法**: 增加内存参数: ```bash gatk --java-options "-Xmx8g" Mutect2 ... # 分配8GB内存 ``` 3. **版本兼容性问题** - **报错示例**:`Unrecognized option: --germline-resource` - **解决方法**: 确认GATK版本≥4.1.2,旧版本需使用`-pon`替代`--panel-of-normals`[^5]。 4. **低纯度样本检测失败** - **现象**:肿瘤细胞占比低时漏检变异 - **优化方法**: - 添加`--af-of-alleles-not-in-resource 0.0000025`放宽罕见变异阈值 - 使用`--f1r2-tar-gz`和`LearnReadOrientationModel`校正测序方向偏倚[^2] --- #### 三、性能优化建议 1. **加速计算**: - 添加`--native-pair-hmm-threads 8`启用多线程[^3] - 使用Sentieon TNhaplotyper2替代,速度提升10倍 2. **灵敏度提升**: - 添加`--germline-resource gnomAD.vcf`整合群体频率数据 - 使用`--disable-read-filter MateOnSameContigOrNoMappedMateReadFilter`保留复杂区域的reads ---
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值