Identifying discordantly mapped reads
2
1
Entering edit mode
8.5 years ago
Linda ▴ 150

How can I use samtools to identify discordantly paired reads or is it even possible? I can use awk to simply output reads which are mapped on different chromosomes, and also reads where the distance between the pairs is significantly larger than expected but is there a way to do this via samtools?

bam samtools paired-end • 7.1k views
ADD COMMENT
1
Entering edit mode

just filter out flags 3854 ( http://broadinstitute.github.io/picard/explain-flags.html ) ? (

read mapped in proper pair
read unmapped
mate unmapped
not primary alignment
read fails platform/vendor quality checks
read is PCR or optical duplicate
supplementary alignment

)

ADD REPLY
3
Entering edit mode
8.5 years ago
iraun 6.2k

There are different options:

  • You can use samtools and give as argument the following flag -F 1294. In this way you'll discard all reads having which are: read mapped in proper pair, read unmapped,mate unmapped,not primary alignment,read is PCR or optical duplicate.
  • As you've mentioned, you can use awk to extract mates mapped on different chr. You should convert your bam to sam, and then awk '($3!=$7 && $7!="=")'.

I would vote for the first approach, because it includes the distance between pairs issue.

ADD COMMENT
1
Entering edit mode
6.1 years ago

using samjdk: http://lindenb.github.io/jvarkit/SamJdk.html

$ java -jar dist/samjdk.jar -e 'return record.getReadPairedFlag() && !record.getReadUnmappedFlag() && !record.getMateUnmappedFlag() && !record.getReferenceName().equals(record.getMateReferenceName());'  in.bam
ADD COMMENT

Login before adding your answer.

Traffic: 2495 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6