From 7ab8b5333930435a53716078956c6ff209633475 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Tue, 26 Jul 2011 11:37:31 -0400 Subject: [PATCH] Support for List argument type --- .../sting/commandline/RodBinding.java | 15 ++++++++++----- .../variantutils/VariantsToTableNewRodStyle.java | 8 +++++++- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/commandline/RodBinding.java b/public/java/src/org/broadinstitute/sting/commandline/RodBinding.java index 2f5046b3a..f4086fead 100644 --- a/public/java/src/org/broadinstitute/sting/commandline/RodBinding.java +++ b/public/java/src/org/broadinstitute/sting/commandline/RodBinding.java @@ -27,6 +27,7 @@ package org.broadinstitute.sting.commandline; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.io.File; import java.util.List; @@ -35,7 +36,7 @@ import java.util.List; * */ // TODO -- should have a derived class called VariantContentRodBinding with simple accessors -public class RodBinding { +public class RodBinding { final String variableName; final File sourceFile; @@ -52,12 +53,16 @@ public class RodBinding { return sourceFile; } - public List getAll(RefMetaDataTracker tracker) { - return (List)tracker.getReferenceMetaData(variableName); + public List getAll(RefMetaDataTracker tracker) { + return tracker.getReferenceMetaData(variableName); } - public T getVariantContext(RefMetaDataTracker tracker, ReferenceContext ref, GenomeLoc loc) { - return (T)tracker.getVariantContext(ref, variableName, loc); + public VariantContext getVariantContext(RefMetaDataTracker tracker, ReferenceContext ref, GenomeLoc loc) { + return tracker.getVariantContext(ref, variableName, loc); + } + + public String toString() { + return String.format("(RodBinding name=%s source=%s)", variableName, sourceFile); } } diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantsToTableNewRodStyle.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantsToTableNewRodStyle.java index b44983e3d..552c5bd07 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantsToTableNewRodStyle.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantsToTableNewRodStyle.java @@ -66,7 +66,10 @@ public class VariantsToTableNewRodStyle extends RodWalker { public boolean ALLOW_MISSING_DATA = false; @Input(fullName="variants", shortName="V", doc="The variant file we will convert to a table", required=true) - public RodBinding variants; + public RodBinding variants; + + @Input(fullName="variantsList", shortName="VL", doc="The variant file we will convert to a table", required=true) + public List variantsList; public void initialize() { out.println(Utils.join("\t", fieldsToTake)); @@ -135,6 +138,9 @@ public class VariantsToTableNewRodStyle extends RodWalker { if ( tracker == null ) // RodWalkers can make funky map calls return 0; + for ( RodBinding binding : variantsList ) + System.out.printf("VariantList binding %s%n", binding); + if ( ++nRecords < MAX_RECORDS || MAX_RECORDS == -1 ) { VariantContext vc = variants.getVariantContext(tracker, ref, context.getLocation()); if ( (keepMultiAllelic || vc.isBiallelic()) && ( showFiltered || vc.isNotFiltered() ) ) {