Complete this survey about your research needs and be entered to win an Amazon gift card or FireCloud credit.
Read more about it here!
Download the latest Picard release at
GATK version 4.beta.6 is out. See the GATK4 beta page for download and details.

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?

Thank you,


  • Geraldine_VdAuweraGeraldine_VdAuwera Cambridge, MAMember, Administrator, Broadie

    Hi Gene,

    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.

  • genegene Member

    Hi Geraldine,

    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.

    Thanks again,

  • Geraldine_VdAuweraGeraldine_VdAuwera Cambridge, MAMember, Administrator, Broadie

    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.

  • genegene Member

    Hi Geraldine,

    For now as a start I will look at the modules you recommend.


Sign In or Register to comment.