From 84dd72e6cb5d4cfd4a5031a75cda250142530d75 Mon Sep 17 00:00:00 2001 From: droazen Date: Wed, 22 Jun 2011 22:54:15 +0000 Subject: [PATCH] Adding in some read filters, updating MathUtils. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@6042 348d0f76-0448-11de-a6fe-93d51630548a --- .../gatk/filters/MateSameStrandFilter.java | 18 ++++++++++++++++ .../gatk/filters/MaxInsertSizeFilter.java | 21 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100755 java/src/org/broadinstitute/sting/gatk/filters/MateSameStrandFilter.java create mode 100755 java/src/org/broadinstitute/sting/gatk/filters/MaxInsertSizeFilter.java diff --git a/java/src/org/broadinstitute/sting/gatk/filters/MateSameStrandFilter.java b/java/src/org/broadinstitute/sting/gatk/filters/MateSameStrandFilter.java new file mode 100755 index 000000000..9579aac05 --- /dev/null +++ b/java/src/org/broadinstitute/sting/gatk/filters/MateSameStrandFilter.java @@ -0,0 +1,18 @@ +package org.broadinstitute.sting.gatk.filters; + +import net.sf.samtools.SAMRecord; + +/** + * Created by IntelliJ IDEA. + * User: chartl + * Date: 5/18/11 + * Time: 4:25 PM + * To change this template use File | Settings | File Templates. + */ +public class MateSameStrandFilter extends ReadFilter { + + public boolean filterOut(SAMRecord read) { + return (! read.getReadPairedFlag() ) || read.getMateUnmappedFlag() || read.getDuplicateReadFlag() || + read.getReadFailsVendorQualityCheckFlag() || read.getMateNegativeStrandFlag() != read.getReadNegativeStrandFlag(); + } +} diff --git a/java/src/org/broadinstitute/sting/gatk/filters/MaxInsertSizeFilter.java b/java/src/org/broadinstitute/sting/gatk/filters/MaxInsertSizeFilter.java new file mode 100755 index 000000000..584783d34 --- /dev/null +++ b/java/src/org/broadinstitute/sting/gatk/filters/MaxInsertSizeFilter.java @@ -0,0 +1,21 @@ +package org.broadinstitute.sting.gatk.filters; + +import net.sf.picard.filter.SamRecordFilter; +import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.commandline.Argument; + +/** + * Created by IntelliJ IDEA. + * User: chartl + * Date: 5/2/11 + * Time: 12:20 PM + * To change this template use File | Settings | File Templates. + */ +public class MaxInsertSizeFilter extends ReadFilter { + @Argument(fullName = "maxInsertSize", shortName = "maxInsert", doc="Discard reads with insert size greater than the specified value, defaults to 1000000", required=false) + private int maxInsertSize = 1000000; + + public boolean filterOut(SAMRecord record) { + return (record.getReadPairedFlag() && (record.getInferredInsertSize() > maxInsertSize || record.getInferredInsertSize() < -1*maxInsertSize)); + } +}