From 4c1fa52ddf890bfce57d441817a1aa786b2244d1 Mon Sep 17 00:00:00 2001 From: ebanks Date: Fri, 7 Aug 2009 03:18:02 +0000 Subject: [PATCH] -Added mapping quality zero filter -Set some reasonable defaults (based on pilot2) git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1388 348d0f76-0448-11de-a6fe-93d51630548a --- .../walkers/variants/VECAlleleBalance.java | 3 +- .../variants/VECMappingQualityZero.java | 45 +++++++++++++++++++ .../variants/VECOnOffGenotypeRatio.java | 3 +- 3 files changed, 49 insertions(+), 2 deletions(-) create mode 100755 java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECMappingQualityZero.java diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECAlleleBalance.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECAlleleBalance.java index b2edae3e2..80611215c 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECAlleleBalance.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECAlleleBalance.java @@ -10,7 +10,8 @@ import org.broadinstitute.sting.utils.GenotypeUtils; public class VECAlleleBalance implements VariantExclusionCriterion { //extends RatioFilter { //final private static GenotypeFeatureData.Tail tail = GenotypeFeatureData.Tail.TwoTailed; private boolean exclude; - private double lowThreshold, highThreshold, ratio; + private double lowThreshold = 0.1, highThreshold = 0.85; + private double ratio; public void initialize(String arguments) { if (arguments != null && !arguments.isEmpty()) { diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECMappingQualityZero.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECMappingQualityZero.java new file mode 100755 index 000000000..a8a65a5f4 --- /dev/null +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECMappingQualityZero.java @@ -0,0 +1,45 @@ +package org.broadinstitute.sting.playground.gatk.walkers.variants; + +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.refdata.rodVariants; +import org.broadinstitute.sting.utils.MathUtils; +import net.sf.samtools.SAMRecord; + +import java.util.List; + + +public class VECMappingQualityZero implements VariantExclusionCriterion { + private int maximum = 50; + private int mq0Count; + private boolean exclude; + + public void initialize(String arguments) { + if (arguments != null && !arguments.isEmpty()) { + maximum = Integer.valueOf(arguments); + } + } + + public void compute(char ref, AlignmentContext context, rodVariants variant) { + List reads = context.getReads(); + mq0Count = 0; + for (int i=0; i < reads.size(); i++) { + if ( reads.get(i).getMappingQuality() == 0 ) + mq0Count++; + } + exclude = mq0Count > maximum; + } + + public boolean isExcludable() { + return exclude; + } + + public String getStudyHeader() { + return "MappingQualityZero("+maximum+")\tMQ0_count"; + } + + public String getStudyInfo() { + return (exclude ? "fail" : "pass") + "\t" + mq0Count; + } + + public boolean useZeroQualityReads() { return true; } +} \ No newline at end of file diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECOnOffGenotypeRatio.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECOnOffGenotypeRatio.java index d48fbbf12..5d87a68e5 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECOnOffGenotypeRatio.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECOnOffGenotypeRatio.java @@ -7,7 +7,8 @@ import org.broadinstitute.sting.utils.*; public class VECOnOffGenotypeRatio implements VariantExclusionCriterion { // extends RatioFilter { //final private static GenotypeFeatureData.Tail tail = GenotypeFeatureData.Tail.LeftTailed; private boolean exclude; - private double threshold, ratio; + private double threshold = 0.0; + private double ratio; public void initialize(String arguments) { if (arguments != null && !arguments.isEmpty()) {