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.

Picard FixMateInformation treating "read reverse strand" and "mate reverse strand" flags differently

sene111sene111 boston MAMember

Hi everyone,

I have a question about how Picard FixMateInformation corrects inconsistent flags between paired-end RNA-seq reads in a bam file. (Versions I'm using: picard 2.18.26, java 11.0.2).

In my bam file, some read pairs have strand info ("read reverse strand" or "mate reverse strand") for only one read, and I'd like to correct the flags. I found that the below command

java -jar picard.jar FixMateInformation I=in.bam O=out.bam VALIDATION_STRINGENCY=LENIENT ASSUME_SORTED=true

corrects a pair of read with flags 99 (1st read, mate reverse strand) & 131 (2nd read) to 67 (1st read) & 131 (2nd read), but corrects a pair of read with flags 83 (1st read, read reverse strand) & 131 (2nd read) to 83 (1st read, read reverse strand) & 163 (2nd read, mate reverse strand). Essentially, picard FixMateInformation trusts "read reverse strand" but not "mate reverse strand" flag when strand-related flag is missing for the other read.

I was wondering why FixMateInformation works this way. Is "read reverse strand" generally considered more credible than "mate reverse strand"? For downstream analysis I'd really like to have consistent strand information. Should I go through the bam file and correct any "99,131" to "99,147" as well?

Thank you so much!!


  • bhanuGandhambhanuGandham Cambridge MAMember, Administrator, Broadie, Moderator admin


    The tool will always believe the read about its strand information, i.e. it will copy the read's strand information to its mate and will copy information from the read's mate to the read. So the tool is not designed for the use case of the user.

Sign In or Register to comment.