Added getAsMap -> returns the likelihoods as an EnumMap with Genotypes as keys and likelihoods as values.
This commit is contained in:
parent
76dd816e70
commit
ef6a6fdfe4
|
|
@ -25,8 +25,12 @@
|
||||||
package org.broadinstitute.sting.utils.variantcontext;
|
package org.broadinstitute.sting.utils.variantcontext;
|
||||||
|
|
||||||
import org.broad.tribble.TribbleException;
|
import org.broad.tribble.TribbleException;
|
||||||
|
import org.broadinstitute.sting.utils.MathUtils;
|
||||||
import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants;
|
import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants;
|
||||||
|
|
||||||
|
import java.util.EnumMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class GenotypeLikelihoods {
|
public class GenotypeLikelihoods {
|
||||||
public static final boolean CAP_PLS = false;
|
public static final boolean CAP_PLS = false;
|
||||||
public static final int PL_CAP = 255;
|
public static final int PL_CAP = 255;
|
||||||
|
|
@ -94,6 +98,16 @@ public class GenotypeLikelihoods {
|
||||||
return likelihoodsAsString_PLs;
|
return likelihoodsAsString_PLs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public EnumMap<Genotype.Type,Double> getAsMap(boolean normalizeFromLog10){
|
||||||
|
//Make sure that the log10likelihoods are set
|
||||||
|
double[] likelihoods = normalizeFromLog10 ? MathUtils.normalizeFromLog10(getAsVector()) : getAsVector();
|
||||||
|
EnumMap<Genotype.Type,Double> likelihoodsMap = new EnumMap<Genotype.Type, Double>(Genotype.Type.class);
|
||||||
|
likelihoodsMap.put(Genotype.Type.HOM_REF,likelihoods[Genotype.Type.HOM_REF.ordinal()-1]);
|
||||||
|
likelihoodsMap.put(Genotype.Type.HET,likelihoods[Genotype.Type.HET.ordinal()-1]);
|
||||||
|
likelihoodsMap.put(Genotype.Type.HOM_VAR, likelihoods[Genotype.Type.HOM_VAR.ordinal() - 1]);
|
||||||
|
return likelihoodsMap;
|
||||||
|
}
|
||||||
|
|
||||||
private final static double[] parsePLsIntoLikelihoods(String likelihoodsAsString_PLs) {
|
private final static double[] parsePLsIntoLikelihoods(String likelihoodsAsString_PLs) {
|
||||||
if ( !likelihoodsAsString_PLs.equals(VCFConstants.MISSING_VALUE_v4) ) {
|
if ( !likelihoodsAsString_PLs.equals(VCFConstants.MISSING_VALUE_v4) ) {
|
||||||
String[] strings = likelihoodsAsString_PLs.split(",");
|
String[] strings = likelihoodsAsString_PLs.split(",");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue