Update to new RodBinding system

This commit is contained in:
Menachem Fromer 2011-08-11 17:54:16 -04:00
parent 79c86e211f
commit 9de06560df
4 changed files with 15 additions and 15 deletions

View File

@ -25,11 +25,12 @@
package org.broadinstitute.sting.gatk.walkers.phasing;
import org.broadinstitute.sting.commandline.Argument;
import org.broadinstitute.sting.commandline.Input;
import org.broadinstitute.sting.commandline.Output;
import org.broadinstitute.sting.commandline.RodBinding;
import org.broadinstitute.sting.gatk.contexts.AlignmentContext;
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum;
import org.broadinstitute.sting.gatk.walkers.*;
import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader;
import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLine;
@ -58,7 +59,8 @@ public class MergeMNPsWalker extends RodWalker<Integer, Integer> {
@Argument(fullName = "maxGenomicDistanceForMNP", shortName = "maxDistMNP", doc = "The maximum reference-genome distance between consecutive heterozygous sites to permit merging phased VCF records into a MNP record; [default:1]", required = false)
protected int maxGenomicDistanceForMNP = 1;
private String rodName = "variant";
@Input(fullName="variant", shortName = "V", doc="Select variants from this VCF file", required=true)
public RodBinding<VariantContext> variants;
public void initialize() {
initializeVcfWriter();
@ -74,8 +76,8 @@ public class MergeMNPsWalker extends RodWalker<Integer, Integer> {
hInfo.addAll(VCFUtils.getHeaderFields(getToolkit()));
hInfo.add(new VCFHeaderLine("reference", getToolkit().getArguments().referenceFile.getName()));
Map<String, VCFHeader> rodNameToHeader = getVCFHeadersFromRods(getToolkit(), Arrays.asList(rodName));
vcMergerWriter.writeHeader(new VCFHeader(hInfo, new TreeSet<String>(rodNameToHeader.get(rodName).getGenotypeSamples())));
Map<String, VCFHeader> rodNameToHeader = getVCFHeadersFromRods(getToolkit(), Arrays.asList(variants.getName()));
vcMergerWriter.writeHeader(new VCFHeader(hInfo, new TreeSet<String>(rodNameToHeader.get(variants.getName()).getGenotypeSamples())));
}
public boolean generateExtendedEvents() {
@ -98,7 +100,7 @@ public class MergeMNPsWalker extends RodWalker<Integer, Integer> {
if (tracker == null)
return null;
for (VariantContext vc : tracker.getValues(VariantContext.class, rodName, context.getLocation()))
for (VariantContext vc : tracker.getValues(variants, context.getLocation()))
writeVCF(vc);
return 0;

View File

@ -24,13 +24,10 @@
package org.broadinstitute.sting.gatk.walkers.phasing;
import org.broadinstitute.sting.commandline.Argument;
import org.broadinstitute.sting.commandline.Hidden;
import org.broadinstitute.sting.commandline.Output;
import org.broadinstitute.sting.commandline.*;
import org.broadinstitute.sting.gatk.contexts.AlignmentContext;
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum;
import org.broadinstitute.sting.gatk.walkers.*;
import org.broadinstitute.sting.utils.GenomeLocParser;
import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader;
@ -81,7 +78,8 @@ public class MergeSegregatingAlternateAllelesWalker extends RodWalker<Integer, I
@Argument(fullName = "dontRequireSomeSampleHasDoubleAltAllele", shortName = "dontRequireSomeSampleHasDoubleAltAllele", doc = "Should the requirement, that SUCCESSIVE records to be merged have at least one sample with a double alternate allele, be relaxed?; [default:false]", required = false)
protected boolean dontRequireSomeSampleHasDoubleAltAllele = false;
private String rodName = "variant";
@Input(fullName="variant", shortName = "V", doc="Select variants from this VCF file", required=true)
public RodBinding<VariantContext> variants;
public void initialize() {
initializeVcfWriter();
@ -111,8 +109,8 @@ public class MergeSegregatingAlternateAllelesWalker extends RodWalker<Integer, I
hInfo.addAll(VCFUtils.getHeaderFields(getToolkit()));
hInfo.add(new VCFHeaderLine("reference", getToolkit().getArguments().referenceFile.getName()));
Map<String, VCFHeader> rodNameToHeader = getVCFHeadersFromRods(getToolkit(), Arrays.asList(rodName));
vcMergerWriter.writeHeader(new VCFHeader(hInfo, new TreeSet<String>(rodNameToHeader.get(rodName).getGenotypeSamples())));
Map<String, VCFHeader> rodNameToHeader = getVCFHeadersFromRods(getToolkit(), Arrays.asList(variants.getName()));
vcMergerWriter.writeHeader(new VCFHeader(hInfo, new TreeSet<String>(rodNameToHeader.get(variants.getName()).getGenotypeSamples())));
}
public boolean generateExtendedEvents() {
@ -135,7 +133,7 @@ public class MergeSegregatingAlternateAllelesWalker extends RodWalker<Integer, I
if (tracker == null)
return null;
for (VariantContext vc : tracker.getValues(VariantContext.class, rodName, context.getLocation()))
for (VariantContext vc : tracker.getValues(variants, context.getLocation()))
writeVCF(vc);
return 0;

View File

@ -10,7 +10,7 @@ public class MergeMNPsIntegrationTest extends WalkerTest {
public static String baseTestString(String reference, String VCF, int maxDistMNP) {
return "-T MergeMNPs" +
" -R " + reference +
" -B:variant,VCF " + validationDataLocation + VCF +
" --variant:vcf " + validationDataLocation + VCF +
" --maxGenomicDistanceForMNP " + maxDistMNP +
" -o %s" +
" -NO_HEADER";

View File

@ -10,7 +10,7 @@ public class MergeSegregatingAlternateAllelesIntegrationTest extends WalkerTest
public static String baseTestString(String reference, String VCF, int maxDist) {
return "-T MergeSegregatingAlternateAlleles" +
" -R " + reference +
" -B:variant,VCF " + validationDataLocation + VCF +
" --variant:vcf " + validationDataLocation + VCF +
" --maxGenomicDistance " + maxDist +
" -o %s" +
" -NO_HEADER";