From 8048b709a0407f4b1f62d9bfad80e2445c92da9d Mon Sep 17 00:00:00 2001 From: kiran Date: Fri, 26 Mar 2010 20:50:58 +0000 Subject: [PATCH] Selects a single sample on which to operate. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@3080 348d0f76-0448-11de-a6fe-93d51630548a --- .../sting/gatk/filters/SampleFilter.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100755 java/src/org/broadinstitute/sting/gatk/filters/SampleFilter.java diff --git a/java/src/org/broadinstitute/sting/gatk/filters/SampleFilter.java b/java/src/org/broadinstitute/sting/gatk/filters/SampleFilter.java new file mode 100755 index 000000000..ee6a56f28 --- /dev/null +++ b/java/src/org/broadinstitute/sting/gatk/filters/SampleFilter.java @@ -0,0 +1,16 @@ +package org.broadinstitute.sting.gatk.filters; + +import net.sf.picard.filter.SamRecordFilter; +import net.sf.samtools.SAMRecord; +import net.sf.samtools.SAMReadGroupRecord; +import org.broadinstitute.sting.utils.cmdLine.Argument; + +public class SampleFilter implements SamRecordFilter { + @Argument(fullName = "sample_to_keep", shortName = "goodSM", doc="The name of the sample to keep, filtering out all others", required=true) + private String SAMPLE_TO_KEEP = null; + + public boolean filterOut( final SAMRecord read ) { + final SAMReadGroupRecord readGroup = read.getReadGroup(); + return !( readGroup != null && readGroup.getSample().equals( SAMPLE_TO_KEEP ) ); + } +}