Added ability to set the priors after construction (and requiring a flushing of the likelihoods cache)
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1749 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
665951f9f0
commit
841d25cc44
|
|
@ -241,6 +241,8 @@ public class EmpiricalSubstitutionGenotypeLikelihoods extends GenotypeLikelihood
|
||||||
return EMPIRICAL_CACHE[a][i][j][k][x];
|
return EMPIRICAL_CACHE[a][i][j][k][x];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void clearCache() { EMPIRICAL_CACHE = new GenotypeLikelihoods[EmpiricalSubstitutionGenotypeLikelihoods.SequencerPlatform.values().length][BaseUtils.BASES.length][QualityUtils.MAX_QUAL_SCORE][MAX_PLOIDY][2]; }
|
||||||
|
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,12 @@ public abstract class GenotypeLikelihoods implements Cloneable {
|
||||||
initialize();
|
initialize();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GenotypeLikelihoods merge(GenotypeLikelihoods gl1, GenotypeLikelihoods gl2) {
|
public static GenotypeLikelihoods combineLikelihoods(GenotypeLikelihoods gl1, GenotypeLikelihoods gl2) {
|
||||||
|
if ( gl1 == null )
|
||||||
|
return gl2;
|
||||||
|
if ( gl2 == null )
|
||||||
|
return gl1;
|
||||||
|
|
||||||
// GL = GL_i + GL_j
|
// GL = GL_i + GL_j
|
||||||
|
|
||||||
GenotypeLikelihoods gl;
|
GenotypeLikelihoods gl;
|
||||||
|
|
@ -182,6 +187,14 @@ public abstract class GenotypeLikelihoods implements Cloneable {
|
||||||
return priors.getPriors();
|
return priors.getPriors();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the priors and clears the likelihoods cache.
|
||||||
|
*/
|
||||||
|
public void setPriors(DiploidGenotypePriors priors) {
|
||||||
|
this.priors = priors;
|
||||||
|
clearCache();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the prior associated with DiploidGenotype g
|
* Returns the prior associated with DiploidGenotype g
|
||||||
* @param g
|
* @param g
|
||||||
|
|
@ -334,6 +347,10 @@ public abstract class GenotypeLikelihoods implements Cloneable {
|
||||||
*/
|
*/
|
||||||
protected abstract GenotypeLikelihoods getSetCache( char observedBase, byte qualityScore, int ploidy,
|
protected abstract GenotypeLikelihoods getSetCache( char observedBase, byte qualityScore, int ploidy,
|
||||||
SAMRecord read, int offset, GenotypeLikelihoods val );
|
SAMRecord read, int offset, GenotypeLikelihoods val );
|
||||||
|
/**
|
||||||
|
* Method for clearing the cache (in case we change the priors)
|
||||||
|
*/
|
||||||
|
protected abstract void clearCache();
|
||||||
|
|
||||||
protected GenotypeLikelihoods simpleGetSetCache( GenotypeLikelihoods[][][][] cache,
|
protected GenotypeLikelihoods simpleGetSetCache( GenotypeLikelihoods[][][][] cache,
|
||||||
char observedBase, byte qualityScore, int ploidy,
|
char observedBase, byte qualityScore, int ploidy,
|
||||||
|
|
|
||||||
|
|
@ -40,4 +40,5 @@ public class ThreeStateErrorGenotypeLikelihoods extends GenotypeLikelihoods {
|
||||||
SAMRecord read, int offset, GenotypeLikelihoods val ) {
|
SAMRecord read, int offset, GenotypeLikelihoods val ) {
|
||||||
return simpleGetSetCache(THREE_STATE_CACHE, observedBase, qualityScore, ploidy, read, offset, val);
|
return simpleGetSetCache(THREE_STATE_CACHE, observedBase, qualityScore, ploidy, read, offset, val);
|
||||||
}
|
}
|
||||||
|
protected void clearCache() { THREE_STATE_CACHE = new GenotypeLikelihoods[BaseUtils.BASES.length][QualityUtils.MAX_QUAL_SCORE][MAX_PLOIDY][2]; }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue