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
This commit is contained in:
parent
96972c3a5c
commit
418e007ca6
|
|
@ -85,13 +85,27 @@ public class UnifiedGenotyper extends LocusWalker<Pair<List<GenotypeCall>, Genot
|
||||||
/**
|
/**
|
||||||
* Initialize the samples, output, and genotype calculation model
|
* Initialize the samples, output, and genotype calculation model
|
||||||
*
|
*
|
||||||
* *** OTHER WALKERS SHOULD NOT CALL THIS METHOD. USE initializePublic() INSTEAD! ***
|
|
||||||
*
|
|
||||||
**/
|
**/
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
|
|
||||||
initializePublic();
|
// get all of the unique sample names
|
||||||
|
samples = new HashSet<String>();
|
||||||
|
List<SAMReadGroupRecord> 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;
|
calledByAnotherWalker = false;
|
||||||
|
|
||||||
// create the output writer stream
|
// create the output writer stream
|
||||||
|
|
@ -107,25 +121,6 @@ public class UnifiedGenotyper extends LocusWalker<Pair<List<GenotypeCall>, Genot
|
||||||
callsMetrics = new CallMetrics();
|
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<String>();
|
|
||||||
List<SAMReadGroupRecord> 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.
|
* Compute at a given locus.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public class BaseTransitionTableCalculatorJavaWalker extends LocusWalker<Referen
|
||||||
|
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
ug = new UnifiedGenotyper();
|
ug = new UnifiedGenotyper();
|
||||||
ug.initializePublic();
|
ug.initialize();
|
||||||
refWindow = new ReferenceContextWindow(nPreviousBases);
|
refWindow = new ReferenceContextWindow(nPreviousBases);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public class CoverageEvalWalker extends LocusWalker<List<String>, String> {
|
||||||
|
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
UG = new UnifiedGenotyper();
|
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";
|
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));
|
out.println("DownsampledCoverage\tAvailableCoverage\tHapmapChipGenotype\tGenotypeCallType\t"+header.substring(1));
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ public class DeNovoSNPWalker extends RefWalker<String, Integer>{
|
||||||
|
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
UG = new UnifiedGenotyper();
|
UG = new UnifiedGenotyper();
|
||||||
UG.initializePublic();
|
UG.initialize();
|
||||||
|
|
||||||
readGroupSets = getToolkit().getMergedReadGroupsByReaders();
|
readGroupSets = getToolkit().getMergedReadGroupsByReaders();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ public class ArtificialPoolContext {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initializeUG() {
|
public void initializeUG() {
|
||||||
ug.initializePublic();
|
ug.initialize();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setReadGroupSets(List<Set<String>> rgSets) {
|
public void setReadGroupSets(List<Set<String>> rgSets) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue