Bug fix: 'N' cigar elements now treated properly; for all practical intents and purposes, N is the same as D and should be treated as such, the difference is only in logical interpretation.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1562 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
bed646e4f6
commit
1060b36288
|
|
@ -135,10 +135,10 @@ public class LocusIteratorByState extends LocusIterator {
|
|||
cigarElementCounter = curElement.getLength();
|
||||
readOffset += curElement.getLength();
|
||||
break;
|
||||
case N : // reference skip
|
||||
cigarElementCounter = curElement.getLength();
|
||||
genomeOffset += curElement.getLength();
|
||||
break;
|
||||
case N : // reference skip (looks and gets processed just like a "deletion", just different logical meaning)
|
||||
// cigarElementCounter = curElement.getLength();
|
||||
// genomeOffset += curElement.getLength();
|
||||
// break;
|
||||
case D : // deletion w.r.t. the reference
|
||||
genomeOffset++;
|
||||
done = true;
|
||||
|
|
@ -221,7 +221,8 @@ public class LocusIteratorByState extends LocusIterator {
|
|||
ArrayList<SAMRecord> reads = new ArrayList<SAMRecord>(readStates.size());
|
||||
ArrayList<Integer> offsets = new ArrayList<Integer>(readStates.size());
|
||||
for ( SAMRecordState state : readStates ) {
|
||||
if ( state.getCurrentCigarOperator() != CigarOperator.D ) {
|
||||
if ( state.getCurrentCigarOperator() != CigarOperator.D && state.getCurrentCigarOperator() != CigarOperator.N ) {
|
||||
// System.out.println("Location: "+getLocation()+"; Read "+state.getRead().getReadName()+"; offset="+state.getReadOffset());
|
||||
reads.add(state.getRead());
|
||||
offsets.add(state.getReadOffset());
|
||||
} else if ( readInfo.includeReadsWithDeletionAtLoci() ) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue