public float produceFeatureInternal(BaseInformationRecords.BaseInformationOrBuilder record, int featureIndex) {
int direction = 1;
if (featureIndex >= AbstractFeatureMapper.MAX_GENOTYPES){
featureIndex = featureIndex - AbstractFeatureMapper.MAX_GENOTYPES;
direction = -1;
}
assert featureIndex >= 0 && featureIndex < AbstractFeatureMapper.MAX_GENOTYPES: "Only MAX_GENOTYPES features";
int germCounts = getAllCounts(record, false, true).get(featureIndex).forwardCount
+ getAllCounts(record, false, true).get(featureIndex).reverseCount;
int somCounts = getAllCounts(record, true, true).get(featureIndex).forwardCount
+ getAllCounts(record, true, true).get(featureIndex).reverseCount;
return Math.max(0,(normalize(germCounts,totalCountsGerm) - normalize(somCounts,totalCountsSom))*direction);
}