now that the design is stable, pull the setReference and setLocation methods back out of Genotype and stick them into constructors of implementing classes

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1931 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
ebanks 2009-10-29 13:27:37 +00:00
parent 3091443dc7
commit 5cdbdd9e5b
10 changed files with 22 additions and 71 deletions

View File

@ -54,12 +54,8 @@ public abstract class EMGenotypeCalculationModel extends GenotypeCalculationMode
for ( String sample : GLs.keySet() ) {
// create the call
Genotype call = GenotypeWriterFactory.createSupportedCall(OUTPUT_FORMAT);
call.setReference(ref);
// get the context
AlignmentContext context = contexts.get(sample).getContext(StratifiedContext.OVERALL);
call.setLocation(context.getLocation());
Genotype call = GenotypeWriterFactory.createSupportedCall(OUTPUT_FORMAT, ref, context.getLocation());
if ( call instanceof ReadBacked ) {
((ReadBacked)call).setReads(context.getReads());

View File

@ -321,11 +321,8 @@ public class JointEstimateGenotypeCalculationModel extends GenotypeCalculationMo
for ( String sample : GLs.keySet() ) {
// create the call
Genotype call = GenotypeWriterFactory.createSupportedCall(OUTPUT_FORMAT);
call.setReference(ref);
AlignmentContext context = contexts.get(sample).getContext(StratifiedContext.OVERALL);
call.setLocation(context.getLocation());
Genotype call = GenotypeWriterFactory.createSupportedCall(OUTPUT_FORMAT, ref, context.getLocation());
if ( call instanceof ReadBacked ) {
((ReadBacked)call).setReads(context.getReads());

View File

@ -44,9 +44,7 @@ public class PointEstimateGenotypeCalculationModel extends EMGenotypeCalculation
// create the genotype call object
// create the call
Genotype call = GenotypeWriterFactory.createSupportedCall(OUTPUT_FORMAT);
call.setReference(ref);
call.setLocation(context.getLocation());
Genotype call = GenotypeWriterFactory.createSupportedCall(OUTPUT_FORMAT, ref, context.getLocation());
Pair<ReadBackedPileup, GenotypeLikelihoods> discoveryGL = getSingleSampleLikelihoods(ref, sampleContext, priors, StratifiedContext.OVERALL);

View File

@ -113,11 +113,6 @@ public class BasicGenotype implements Genotype {
return mLocation;
}
// set the location
public void setLocation(GenomeLoc loc) {
mLocation = loc;
}
/**
* returns true if the genotype is a point genotype, false if it's a indel / deletion
*
@ -150,11 +145,6 @@ public class BasicGenotype implements Genotype {
return mRef;
}
// set the reference base
public void setReference(char refBase) {
mRef = Character.toUpperCase(refBase);
}
/**
* return this genotype as a variant
*

View File

@ -52,12 +52,6 @@ public interface Genotype {
*/
public GenomeLoc getLocation();
/**
* set the location.
* @param loc the location
*/
public void setLocation(GenomeLoc loc);
/**
* returns true if the genotype is a point genotype, false if it's a indel / deletion
*
@ -80,12 +74,6 @@ public interface Genotype {
*/
public char getReference();
/**
* set the reference base.
* @param ref the ref base
*/
public void setReference(char ref);
/**
* return this genotype as a variant
*

View File

@ -1,6 +1,7 @@
package org.broadinstitute.sting.utils.genotype;
import net.sf.samtools.SAMFileHeader;
import org.broadinstitute.sting.utils.GenomeLoc;
import org.broadinstitute.sting.utils.StingException;
import org.broadinstitute.sting.utils.genotype.geli.*;
import org.broadinstitute.sting.utils.genotype.glf.*;
@ -74,15 +75,15 @@ public class GenotypeWriterFactory {
* @param format the format
* @return an unpopulated genotype call object
*/
public static Genotype createSupportedCall(GENOTYPE_FORMAT format) {
public static Genotype createSupportedCall(GENOTYPE_FORMAT format, char ref, GenomeLoc loc) {
switch (format) {
case VCF:
return new VCFGenotypeCall();
return new VCFGenotypeCall(ref, loc);
case GELI:
case GELI_BINARY:
return new GeliGenotypeCall();
return new GeliGenotypeCall(ref, loc);
case GLF:
return new GLFGenotypeCall();
return new GLFGenotypeCall(ref, loc);
default:
throw new StingException("Genotype format " + format.toString() + " is not implemented");
}

View File

@ -34,22 +34,16 @@ public class GeliGenotypeCall implements Genotype, ReadBacked, PosteriorsBacked
* Generate a single sample genotype object
*
*/
public GeliGenotypeCall() {
public GeliGenotypeCall(char ref, GenomeLoc loc) {
mRefBase = ref;
mLocation = loc;
// fill in empty data
mRefBase = 'N';
mPosteriors = new double[10];
Arrays.fill(mPosteriors, Double.MIN_VALUE);
mReads = new ArrayList<SAMRecord>();
}
public void setReference(char refBase) {
mRefBase = Character.toUpperCase(refBase);
}
public void setLocation(GenomeLoc loc) {
mLocation = loc;
}
public void setReads(List<SAMRecord> reads) {
mReads = new ArrayList<SAMRecord>(reads);
}

View File

@ -31,24 +31,18 @@ public class GLFGenotypeCall implements Genotype, ReadBacked, LikelihoodsBacked
* Generate a single sample genotype object, containing everything we need to represent calls out of a genotyper object
*
*/
public GLFGenotypeCall() {
public GLFGenotypeCall(char ref, GenomeLoc loc) {
mRefBase = ref;
mGenotype = Utils.dupString(ref, 2);
// fill in empty data
mRefBase = 'N';
mGenotype = "NN";
mLocation = loc;
mLikelihoods = new double[10];
Arrays.fill(mLikelihoods, Double.MIN_VALUE);
mReads = new ArrayList<SAMRecord>();
mNegLog10PError = Double.MIN_VALUE;
}
public void setReference(char refBase) {
mRefBase = Character.toUpperCase(refBase);
}
public void setLocation(GenomeLoc loc) {
mLocation = loc;
}
public void setReads(List<SAMRecord> reads) {
mReads = new ArrayList<SAMRecord>(reads);
}

View File

@ -37,23 +37,17 @@ public class VCFGenotypeCall implements Genotype, ReadBacked, PosteriorsBacked,
* Generate a single sample genotype object
*
*/
public VCFGenotypeCall() {
public VCFGenotypeCall(char ref, GenomeLoc loc) {
mRefBase = ref;
mLocation = loc;
// fill in empty data
mRefBase = 'N';
mPosteriors = new double[10];
Arrays.fill(mPosteriors, Double.MIN_VALUE);
mSampleName = "";
mReads = new ArrayList<SAMRecord>();
}
public void setReference(char refBase) {
mRefBase = Character.toUpperCase(refBase);
}
public void setLocation(GenomeLoc loc) {
mLocation = loc;
}
public void setReads(List<SAMRecord> reads) {
mReads = new ArrayList<SAMRecord>(reads);
}

View File

@ -145,8 +145,7 @@ class FakeGenotype extends GLFGenotypeCall implements Comparable<FakeGenotype> {
* @param negLog10PError the confidence score
*/
public FakeGenotype(GenomeLoc location, String genotype, char ref, double negLog10PError, double likelihoods[]) {
setLocation(location);
setReference(ref);
super(ref, location);
setLikelihoods(likelihoods);
setGenotype(genotype);
setNegLog10PError(negLog10PError);