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();
|
cigarElementCounter = curElement.getLength();
|
||||||
readOffset += curElement.getLength();
|
readOffset += curElement.getLength();
|
||||||
break;
|
break;
|
||||||
case N : // reference skip
|
case N : // reference skip (looks and gets processed just like a "deletion", just different logical meaning)
|
||||||
cigarElementCounter = curElement.getLength();
|
// cigarElementCounter = curElement.getLength();
|
||||||
genomeOffset += curElement.getLength();
|
// genomeOffset += curElement.getLength();
|
||||||
break;
|
// break;
|
||||||
case D : // deletion w.r.t. the reference
|
case D : // deletion w.r.t. the reference
|
||||||
genomeOffset++;
|
genomeOffset++;
|
||||||
done = true;
|
done = true;
|
||||||
|
|
@ -221,7 +221,8 @@ public class LocusIteratorByState extends LocusIterator {
|
||||||
ArrayList<SAMRecord> reads = new ArrayList<SAMRecord>(readStates.size());
|
ArrayList<SAMRecord> reads = new ArrayList<SAMRecord>(readStates.size());
|
||||||
ArrayList<Integer> offsets = new ArrayList<Integer>(readStates.size());
|
ArrayList<Integer> offsets = new ArrayList<Integer>(readStates.size());
|
||||||
for ( SAMRecordState state : readStates ) {
|
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());
|
reads.add(state.getRead());
|
||||||
offsets.add(state.getReadOffset());
|
offsets.add(state.getReadOffset());
|
||||||
} else if ( readInfo.includeReadsWithDeletionAtLoci() ) {
|
} else if ( readInfo.includeReadsWithDeletionAtLoci() ) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue