diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/SelectVariants.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/SelectVariants.java index bfe7198cf..ae798cf58 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/SelectVariants.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/SelectVariants.java @@ -223,6 +223,12 @@ public class SelectVariants extends RodWalker { @Argument(fullName="excludeFiltered", shortName="ef", doc="Don't include filtered loci in the analysis", required=false) private boolean EXCLUDE_FILTERED = false; + @Argument(fullName="excludeBiallelic", shortName="xl_biallelic", doc="Select only multi-allelic variants, excluding any biallelic one.", required=false) + private boolean EXCLUDE_BIALLELIC = false; + + @Argument(fullName="selectMultiallelic", shortName="xl_multiallelic", doc="Select only biallelic variants, excluding any multi-allelic one.", required=false) + private boolean EXCLUDE_MULTIALLELIC = false; + @Argument(fullName="keepOriginalAC", shortName="keepOriginalAC", doc="Don't update the AC, AF, or AN values in the INFO field after selecting", required=false) private boolean KEEP_ORIGINAL_CHR_COUNTS = false; @@ -335,6 +341,7 @@ public class SelectVariants extends RodWalker { // first, add any requested samples samples.addAll(samplesFromFile); samples.addAll(samplesFromExpressions); + if (sampleNames != null) samples.addAll(sampleNames); // if none were requested, we want all of them @@ -493,6 +500,11 @@ public class SelectVariants extends RodWalker { if (!isConcordant(vc, compVCs)) return 0; } + if (EXCLUDE_BIALLELIC && vc.isBiallelic()) + return 0; + + if (EXCLUDE_MULTIALLELIC && !vc.isBiallelic()) + return 0; // TODO - add ability to also select MNPs // TODO - move variant selection arguments to the engine so other walkers can also do this