X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FBamFile.java;h=10e2d0ec7db91f30360e5d5309d81b05e075c896;hb=846629a1a7ab7715d14a18296bc3024c5de4ac5c;hp=1aebbe9519e9500ad9d819e731116b8998465620;hpb=9289ad58228571a63fdf54ef720603a590d58adc;p=jalview.git diff --git a/src/jalview/io/BamFile.java b/src/jalview/io/BamFile.java index 1aebbe9..10e2d0e 100644 --- a/src/jalview/io/BamFile.java +++ b/src/jalview/io/BamFile.java @@ -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();