@Override
public void parse() throws IOException
{
- CigarParser parser = new CigarParser('-');
SAMRecordIterator it = fileReader.iterator();
+ CigarParser parser = new CigarParser('-');
SortedMap<Integer, Integer> insertions = parser.getInsertions(it);
it.close();
while (it.hasNext())
{
SAMRecord rec = it.next();
- int start = rec.getStart();
- int end = rec.getEnd();
- SequenceI seq = new Sequence(rec.getReadName(), rec.getReadString());
+ // 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 cigarredRead = parser.parseCigarToSequence(rec, insertions);
+ String newRead = parser.parseCigarToSequence(rec, insertions);
+ // make alignment sequences
SequenceI alsq = seq.deriveSequence();
- alsq.setSequence(cigarredRead);
- alsq.setStart(start);
- alsq.setEnd(end);
+ alsq.setSequence(newRead);
+
+ // set start relative to soft clip; assume end is set by Sequence code
+ alsq.setStart(rec.getStart() - rec.getUnclippedStart() + 1);
seqs.add(alsq);
}
}
-
-
-
-
}