We’re moving the GATK website, docs and forum to a new platform. Read the full story and breakdown of key changes on this blog.
If you happen to see a question you know the answer to, please do chime in and help your fellow community members. We encourage our fourm members to be more involved, jump in and help out your fellow researchers with their questions. GATK forum is a community forum and helping each other with using GATK tools and research is the cornerstone of our success as a genomics research community.We appreciate your help!
Test-drive the GATK tools and Best Practices pipelines on Terra
Check out this blog post to learn how you can get started with GATK and try out the pipelines in preconfigured workspaces (with a user-friendly interface!) without having to install anything.
We will be out of the office for a Broad Institute event from Dec 10th to Dec 11th 2019. We will be back to monitor the GATK forum on Dec 12th 2019. In the meantime we encourage you to help out other community members with their queries.
Thank you for your patience!
Confused about Bootstrapping a set of known sites for Base Recalibration
I am working on genomic data from a non-human organism (nematode) for which I do not have a set of known variant sites. The aim of my study is to find the variants within and between 2 samples (which correspond to 2 strains of the same species). I have aligned my fastq reads to the genome with bwa, converted the SAMs to BAMs, sorted and marked the duplicates (I have several libraries for one strain/sample so I aggregated the bams of that strain with MarkDuplicates). Now I want to do the Base Recalibration step.
I read a lot about it on the GATK forum and in the documentation but I am still unsure I'm understanding the bootstrapping of my own "known sites". This is what I believe I can do (but I'd like to know if I'm wrong):
SampleA.bam + SampleB.bam + HaplotypeCaller --> raw1.vcf
raw1.vcf + VariantFiltration --> knownsites1.vcf
knownsites1.vcf + SampleA.bam + SampleB.bam + BaseRecalibrator --> recalibration_table1
recalibration_table1 + SampleA.bam + SampleB.bam + HaplotypeCaller (with -BQSR) --> raw2.vcf
raw2.vcf + VariantFiltration --> knownsites2.vcf
knownsites2.vcf + SampleA.bam + SampleB.bam + BaseRecalibrator --> recalibration_table2
At this point I could run AnalyzeCovariates on recalibration_table1 (before) and recalibration_table2 (after) and get an idea of how my data is behaving, right? If I don't see any convergence then I continue I follows:
recalibration_table2 + SampleA.bam + SampleB.bam + HaplotypeCaller (with -BQSR) --> raw3.vcf
raw3.vcf + filtering --> knownsites3.vcf
knownsites3.vcf + SampleA.bam + SampleB.bam + BaseRecalibrator --> recalibration_table3
I can then check this recalibration table with AnalyzeCovariates and see if it converged or not. If it converged I can follow the BaseRecalibration steps detailed in the Best Practices (using the last set of knownsites I generated). Am I understanding correctly?
In the steps I described above, I use the BAM files of both samples (at the same time) to generate "known sites". Can I do this?
Do you have any suggestions/guidelines about filtering thresholds I could use? I'm not sure how stringent I should be.
Thanks a lot of your help/suggestions/remarks!