JAL-2909 add sequence feature for insertions
[jalview.git] / src / jalview / io / BamFile.java
index 1aebbe9..10e2d0e 100644 (file)
@@ -51,6 +51,9 @@ public class BamFile extends AlignFile
   // chromosome/contig to read
   private String chromosome = "";
 
+  // first position in alignment
+  private int alignmentStart = -1;
+
   /**
    * Creates a new BamFile object.
    */
@@ -122,13 +125,21 @@ public class BamFile extends AlignFile
       {
         SAMRecord rec = it.next();
 
+        // set the alignment start to be start of first read (we assume reads
+        // are sorted)
+        if (alignmentStart == -1)
+        {
+          alignmentStart = rec.getAlignmentStart();
+        }
+
         // make dataset sequence: start at 1, end at read length
         SequenceI seq = new Sequence(rec.getReadName(),
                 rec.getReadString().toLowerCase());
         seq.setStart(1);
         seq.setEnd(rec.getReadLength());
 
-        String newRead = parser.parseCigarToSequence(rec, insertions);
+        String newRead = parser.parseCigarToSequence(rec, insertions,
+                alignmentStart, seq);
 
         // make alignment sequences
         SequenceI alsq = seq.deriveSequence();