Previous base now checks that the read matches the reference in the previous base window.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1915 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
726378be8b
commit
31d5df2859
|
|
@ -217,11 +217,30 @@ public class BaseTransitionTableCalculatorJavaWalker extends LocusWalker<Set<Bas
|
|||
return false;
|
||||
} else if ( useSecondaryBase && read.getAttribute("SQ") == null )
|
||||
return false;
|
||||
else if ( nPreviousBases >= 1 && previousReadBasesMismatchRef(read, offset, ref) )
|
||||
return false;
|
||||
else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean previousReadBasesMismatchRef( SAMRecord read, int offset, ReferenceContext ref ) {
|
||||
int c = read.getReadNegativeStrandFlag() ? 1 : -1;
|
||||
if ( offset + nPreviousBases*c < 0 ) {
|
||||
return true;
|
||||
} else if ( offset + nPreviousBases*c > read.getReadLength() ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
for ( int prevBase = 1; prevBase <= nPreviousBases; prevBase ++ ) {
|
||||
if ( Character.toUpperCase(read.getReadBases()[offset + prevBase*c]) != Character.toUpperCase(ref.getBases()[nPreviousBases+1+prevBase*c]) ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public List<Comparable> buildConditions( SAMRecord read, int offset, ReferenceContext ref, ReadBackedPileup pileup ) {
|
||||
ArrayList<Comparable> conditions = new ArrayList<Comparable>();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue