Get notifications!

You can opt in to receive email notifications, for example when your questions get answered or when there are new announcements, by following the instructions given here.

Got a problem?

1. Search using the upper-right search box, e.g. using the error message.
2. Try the latest version of tools.
3. Include tool and Java versions.
4. Tell us whether you are following GATK Best Practices.
5. Include relevant details, e.g. platform, DNA- or RNA-Seq, WES (+capture kit) or WGS (PCR-free or PCR+), paired- or single-end, read length, expected average coverage, somatic data, etc.
6. For tool errors, include the error stacktrace as well as the exact command.
7. For format issues, include the result of running ValidateSamFile for BAMs or ValidateVariants for VCFs.
8. For weird results, include an illustrative example, e.g. attach IGV screenshots according to Article#5484.
9. For a seeming variant that is uncalled, include results of following Article#1235.

Jump to another community

Writing GATK walkers

I am looking into writing walkers for the GATK. I have been browsing the available documentation here in the forum. I have found some very useful examples but it seems to me that the documentation is not complete.

I have the feeling that I would get quickly stuck when I can't find further documentation on the different classes most used by the walkers. For instance if I want to understand the meaning of the stratifiedContexts parameter in the annotate method of the InfoFieldAnnotation class where can I find this?

My question is: Could you please point me to the best documentation outside of the examples in the forum and the code itslef? Is there an API documenation available?

Answers

We're aware of this problem and we're planning to overhaul the developer documentation, but of course that doesn't help you right now.

One resource you can access in the meantime is the javadocs. The other is to take example on existing walkers. If you tell me what kind of walker you want to write (ie what it should do) I can point you to the most similar ones we have, which you could use as template.

Thank you for your prompt answer. My most immediate need is to annotate VCF files with operations of my own. It would be great if you could point me to a walker that does this operation in general and specifically that makes use of as many different objects to obtain a diverse set of annotations.

I see -- then your best bet is to write an annotator (or several) for VariantAnnotator. That way VariantAnnotator will do all the hard work of iterating through variants and serving up variant contexts for your annotator to process. The real work for you to do is to write the actual analysis that you want to perform on the variant context.

Typically I would recommend you look through the existing annotator modules here > VariantAnnotations and identify one that does something similar to what you want to do. Then it's mostly a matter of adapting it to do your desired analysis.

Note that if you want to import data from an accessory file then things get a little more complicated, because the current implementation of that functionality is not very convenient. Let me know if that's what you have in mind and I can help you find the right strategy.