public float produceFeatureInternal(BaseInformationRecords.BaseInformationOrBuilder record, int featureIndex) {
assert featureIndex >= 0 && featureIndex < MAX_GENOTYPES : "Only MAX_GENOTYPES features";
ObjectArrayList<? extends GenotypeCount> germlineCounts = getAllCounts(record, false, true);
ObjectArrayList<? extends GenotypeCount> somaticCounts = getAllCounts(record, true, true);
int germlineCount = germlineCounts.get(featureIndex).totalCount();
int somaticCount = somaticCounts.get(featureIndex).totalCount();
float germFrequency = ((float) germlineCount / (float) totalCountsGermline);
float somaticFrequency = ((float) somaticCount / (float) totalCountsSomatic);
return (float) (Math.max(0f,(somaticFrequency - germFrequency)) * somaticCount);
}