Minor refactoring for Ryan

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@3986 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
depristo 2010-08-09 18:05:23 +00:00
parent c66e93d86e
commit 8944800f60
1 changed files with 12 additions and 8 deletions

View File

@ -545,6 +545,9 @@ public final class VariantGaussianMixtureModel extends VariantOptimizationModel
sum += pVarInCluster[kkk]; // * clusterTruePositiveRate[kkk]; sum += pVarInCluster[kkk]; // * clusterTruePositiveRate[kkk];
} }
// if ( sum > 1 )
// System.out.printf("Bad pVar, bad!");
return sum; return sum;
} }
@ -834,7 +837,7 @@ public final class VariantGaussianMixtureModel extends VariantOptimizationModel
private void evaluateGaussiansForSingleVariant( final double[] annotations, final double[] pVarInCluster ) { private void evaluateGaussiansForSingleVariant( final double[] annotations, final double[] pVarInCluster ) {
final int numAnnotations = annotations.length; final int numAnnotations = annotations.length;
final double mult[] = new double[numAnnotations]; //final double mult[] = new double[numAnnotations];
final double evalGaussianPDFLog10[] = new double[maxGaussians]; final double evalGaussianPDFLog10[] = new double[maxGaussians];
for( int kkk = 0; kkk < maxGaussians; kkk++ ) { for( int kkk = 0; kkk < maxGaussians; kkk++ ) {
@ -848,15 +851,16 @@ public final class VariantGaussianMixtureModel extends VariantOptimizationModel
final double mySigma = sigmaVals[ppp][jjj]; final double mySigma = sigmaVals[ppp][jjj];
value += (myAnn - myMu) * mySigma; value += (myAnn - myMu) * mySigma;
} }
mult[jjj] = value; double jNorm = annotations[jjj] - mu[kkk][jjj];
} double prod = value * jNorm;
for( int jjj = 0; jjj < numAnnotations; jjj++ ) { sum += prod;
sum += mult[jjj] * (annotations[jjj] - mu[kkk][jjj]);
} }
final double denomLog10 = Math.log10(Math.pow(2.0 * Math.PI, ((double)numAnnotations) / 2.0)) + Math.log10(Math.pow(determinant[kkk], 0.5)); final double log10SqrtDet = Math.log10(Math.pow(determinant[kkk], 0.5));
final double denomLog10 = Math.log10(Math.pow(2.0 * Math.PI, ((double)numAnnotations) / 2.0)) + log10SqrtDet;
evalGaussianPDFLog10[kkk] = (( -0.5 * sum ) / Math.log(10.0)) - denomLog10; evalGaussianPDFLog10[kkk] = (( -0.5 * sum ) / Math.log(10.0)) - denomLog10;
pVarInCluster[kkk] = Math.pow(10.0, pClusterLog10[kkk] + evalGaussianPDFLog10[kkk]); double pVar1 = Math.pow(10.0, pClusterLog10[kkk] + evalGaussianPDFLog10[kkk]);
pVarInCluster[kkk] = pVar1;
} }
} }
@ -947,4 +951,4 @@ public final class VariantGaussianMixtureModel extends VariantOptimizationModel
+ ( 1.0 / (120.0 * Math.pow(x, 4.0)) ) + ( 1.0 / (120.0 * Math.pow(x, 4.0)) )
- ( 1.0 / (252.0 * Math.pow(x, 6.0)) ); - ( 1.0 / (252.0 * Math.pow(x, 6.0)) );
} }
} }