public float GetScore(PeakScoringContext context, IPeakFeatureCalculator calc) { var summaryCalc = calc as SummaryPeakFeatureCalculator; if (summaryCalc != null) { return(summaryCalc.Calculate(context, this)); } var groupPeakData = TransitionGroupPeakData.FirstOrDefault() as SummaryTransitionGroupPeakData; if (groupPeakData != null) { return(groupPeakData.GetScore(calc.GetType())); } return(float.NaN); }
public void MQuestScoreEquals(IPeakFeatureCalculator calc, double score, IPeptidePeakData peptidePeakData) { AreCloseEnough(calc.Calculate(new PeakScoringContext(null), peptidePeakData), score); }
public EnabledFeatureScores(IPeakFeatureCalculator calculator, double weight, double percentageContribution) { Calculator = calculator; Weight = weight; PercentageContribution = percentageContribution; }
private int GetEnabledCount(IPeakFeatureCalculator[] featureCalculators, IList<double> weights) { int enabledCount = 0; foreach (var calculator in featureCalculators) { var calculatorType = calculator.GetType(); int indexWeight = PeakFeatureCalculators.IndexOf(calc => calc.GetType() == calculatorType); if (!double.IsNaN(weights[indexWeight])) enabledCount++; } return enabledCount; }