From: David He <Dav...@oi...> - 2011-03-31 20:57:30
|
Hi all, I'm writing a small Java program to take a few records from a bam sorted by queryname (samtools sort -n) and put them into a new bam file. I use SAMRecord.addalignment, but I keep getting a java.lang.IllegalArgumenException, saying the alignments are added out of order. Here is the message: Alignments added out of order in SAMFileWriterImpl.addAlignment for XXXXXXXX_sorted_by_name_1.bam. Sort order is queryname. Offending records are at [61P47_I280_100512:4:1:1050:7407#0] and [61P47_I280_100512:4:1:1050:11051#0]. I guess it's comparing these two querynames as strings in which case I can see why they would be out of order. But why does 'samtools sort' put 7407 before 11051? Is there a way around this short of setting the sortOrder to unsorted? If anyone can point me in the right direction, that would be much appreciated. Thank you. Regards, David |