The current GATK version is 3.8-0
Examples: Monday, today, last week, Mar 26, 3/26/04

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

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.

Did we ask for a bug report?

Then follow instructions in Article#1894.

Formatting tip!

Wrap blocks of code, error messages and BAM/VCF snippets--especially content with hashes (#)--with lines with three backticks ( ``` ) each to make a code block as demonstrated here.

Jump to another community
Download the latest Picard release at
GATK version 4.beta.3 (i.e. the third beta release) is out. See the GATK4 beta page for download and details.

How do I split a pileup by tag (rather than sample id)?

I am writing my own walker and am currently using: rawContext.getPileup().getPileupForSample('sample_name') to generate pileups specific to a given sample. However, can I split the pileup by bam tag instead?
Thank you.

Best Answer


  • CarneiroCarneiro Charlestown, MAMember

    do you mean a generic Tag? Or the read group id tag?

    There are some generic functionality in the pileup implementation like getPileupForLane and mapping and base quality filters (I encourage you to take a look at the class).

    The read group ID would be tricky because the GATK can (and will) modify id's internally (if necessary) to make aggregated BAMs have unique IDs.

  • maramara Member

    Thank you for the advice.
    The tag I was referring to is the tag for the input bam file (ex: I:tumor_bam and I:normal_bam) from getToolkit().getReadsDataSource().getReaderIDs().getTags().getPositionalTags(). I am inputting two BAMs that potentially have the same sample name, and, ideally, I would like to have pileups for each BAM individually.

  • CarneiroCarneiro Charlestown, MAMember

    that's very interesting. As we never had this use case, we never actually implemented this particular stratification.

    I don't think the positional tags get passed on to the Reads (I might be wrong though!). If they do, it's very easy (check the picard API to see if they are accessible from the SAMRecord. If not, there are ways around it but none of them are going to look pretty.

  • maramara Member

    Thanks. Would you be able to elaborate on how to check the picard API or point me to an example where this would be implemented?

Sign In or Register to comment.