Update MalformedReadFilter to pass reads that have cigar strings like 40S36I

that have 0 aligned bases in the genome.  We'll have to fix walkers as faults
appear.

Also added JIRA GSA-406: finer-grained control of MalformedReadFilter: want
to exception out by default in these cases but pass them with a warning with
a corresponding -U flag.


git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4476 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
hanna 2010-10-11 03:01:04 +00:00
parent 530875817f
commit 7008a469dc
2 changed files with 3 additions and 4 deletions

View File

@ -72,8 +72,8 @@ public class MalformedReadFilter implements SamRecordHeaderFilter {
* @return true if read end is valid, false otherwise. * @return true if read end is valid, false otherwise.
*/ */
private static boolean checkInvalidAlignmentEnd( SAMRecord read ) { private static boolean checkInvalidAlignmentEnd( SAMRecord read ) {
// Alignment ends prior to its beginning // Alignment aligns to negative number of bases in the reference.
if( !read.getReadUnmappedFlag() && read.getAlignmentEnd() != -1 && read.getAlignmentEnd() < read.getAlignmentStart() ) if( !read.getReadUnmappedFlag() && read.getAlignmentEnd() != -1 && (read.getAlignmentEnd()-read.getAlignmentStart()+1)<0 )
return false; return false;
return true; return true;
} }
@ -105,7 +105,7 @@ public class MalformedReadFilter implements SamRecordHeaderFilter {
if( !read.getReadUnmappedFlag() && if( !read.getReadUnmappedFlag() &&
read.getAlignmentStart() != -1 && read.getAlignmentStart() != -1 &&
read.getAlignmentStart() != SAMRecord.NO_ALIGNMENT_START && read.getAlignmentStart() != SAMRecord.NO_ALIGNMENT_START &&
read.getAlignmentBlocks().size() == 0 ) read.getAlignmentBlocks().size() < 0 )
return false; return false;
return true; return true;
} }

View File

@ -92,7 +92,6 @@ public class TraverseReads<M,T> extends TraversalEngine<M,T,ReadWalker<M,T>,Read
// update the number of reads we've seen // update the number of reads we've seen
ReadMetrics readMetrics = dataProvider.getShard().getReadMetrics(); ReadMetrics readMetrics = dataProvider.getShard().getReadMetrics();
readMetrics.incrementNumIterations(); readMetrics.incrementNumIterations();
readMetrics.incrementNumReadsSeen();
// if the read is mapped, create a metadata tracker // if the read is mapped, create a metadata tracker
ReadMetaDataTracker tracker = (read.getReferenceIndex() >= 0) ? rodView.getReferenceOrderedDataForRead(read) : null; ReadMetaDataTracker tracker = (read.getReferenceIndex() >= 0) ? rodView.getReferenceOrderedDataForRead(read) : null;