From 418e007ca6abae4f4e20f474b12a724e542d0d31 Mon Sep 17 00:00:00 2001 From: ebanks Date: Fri, 16 Oct 2009 14:09:16 +0000 Subject: [PATCH] A cleaner interface: now everyone can use UG's initialize method git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1860 348d0f76-0448-11de-a6fe-93d51630548a --- .../walkers/genotyper/UnifiedGenotyper.java | 39 ++++++++----------- ...seTransitionTableCalculatorJavaWalker.java | 2 +- .../gatk/walkers/CoverageEvalWalker.java | 2 +- .../gatk/walkers/DeNovoSNPWalker.java | 2 +- .../utils/ArtificialPoolContext.java | 2 +- 5 files changed, 21 insertions(+), 26 deletions(-) diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyper.java b/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyper.java index ca9e45415..b23ce086e 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyper.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyper.java @@ -85,13 +85,27 @@ public class UnifiedGenotyper extends LocusWalker, Genot /** * Initialize the samples, output, and genotype calculation model * - * *** OTHER WALKERS SHOULD NOT CALL THIS METHOD. USE initializePublic() INSTEAD! *** - * **/ public void initialize() { - initializePublic(); + // get all of the unique sample names + samples = new HashSet(); + List readGroups = getToolkit().getSAMFileHeader().getReadGroups(); + for ( SAMReadGroupRecord readGroup : readGroups ) + samples.add(readGroup.getSample()); + // print them out for debugging (need separate loop to ensure uniqueness) + for ( String sample : samples ) + logger.debug("SAMPLE: " + sample); + + gcm = GenotypeCalculationModelFactory.makeGenotypeCalculation(samples, logger, UAC); + + // *** If we were called by another walker, then we don't *** + // *** want to do any of the other initialization steps. *** + if ( VARIANTS_FILE == null && out == null ) + return; + + // if we got here, then we were instantiated by the GATK engine calledByAnotherWalker = false; // create the output writer stream @@ -107,25 +121,6 @@ public class UnifiedGenotyper extends LocusWalker, Genot callsMetrics = new CallMetrics(); } - /** - * This method should be called by other walkers wanting to use the UnifiedGenotyper. - * If the regular initialize() method is called, subsequent calls to map() may result in - * exceptions being thrown. - */ - public void initializePublic() { - // get all of the unique sample names - samples = new HashSet(); - List readGroups = getToolkit().getSAMFileHeader().getReadGroups(); - for ( SAMReadGroupRecord readGroup : readGroups ) - samples.add(readGroup.getSample()); - - // print them out for debugging (need separate loop to ensure uniqueness) - for ( String sample : samples ) - logger.debug("SAMPLE: " + sample); - - gcm = GenotypeCalculationModelFactory.makeGenotypeCalculation(samples, logger, UAC); - } - /** * Compute at a given locus. * diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseTransitionTableCalculatorJavaWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseTransitionTableCalculatorJavaWalker.java index a74f44b94..cf24922ff 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseTransitionTableCalculatorJavaWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseTransitionTableCalculatorJavaWalker.java @@ -41,7 +41,7 @@ public class BaseTransitionTableCalculatorJavaWalker extends LocusWalker, String> { public void initialize() { UG = new UnifiedGenotyper(); - UG.initializePublic(); + UG.initialize(); String header = "#Sequence Position ReferenceBase NumberOfReads MaxMappingQuality BestGenotype BtrLod BtnbLod AA AC AG AT CC CG CT GG GT TT"; out.println("DownsampledCoverage\tAvailableCoverage\tHapmapChipGenotype\tGenotypeCallType\t"+header.substring(1)); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/DeNovoSNPWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/DeNovoSNPWalker.java index a88834bd0..038380040 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/DeNovoSNPWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/DeNovoSNPWalker.java @@ -37,7 +37,7 @@ public class DeNovoSNPWalker extends RefWalker{ public void initialize() { UG = new UnifiedGenotyper(); - UG.initializePublic(); + UG.initialize(); readGroupSets = getToolkit().getMergedReadGroupsByReaders(); } diff --git a/java/src/org/broadinstitute/sting/playground/utils/ArtificialPoolContext.java b/java/src/org/broadinstitute/sting/playground/utils/ArtificialPoolContext.java index a6342177b..057440d60 100755 --- a/java/src/org/broadinstitute/sting/playground/utils/ArtificialPoolContext.java +++ b/java/src/org/broadinstitute/sting/playground/utils/ArtificialPoolContext.java @@ -74,7 +74,7 @@ public class ArtificialPoolContext { } public void initializeUG() { - ug.initializePublic(); + ug.initialize(); } public void setReadGroupSets(List> rgSets) {