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
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!!