Skip to content

Commit

Permalink
Added additional outputs to PEP engine (#2424)
Browse files Browse the repository at this point in the history
Co-authored-by: Nic Bollis <[email protected]>
  • Loading branch information
Alexander-Sol and nbollis authored Oct 11, 2024
1 parent 8c8fe5f commit 2962329
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,10 @@ public string ComputePEPValuesForAllPSMs()
sumOfAllAmbiguousPeptidesResolved += ambiguousPeptidesResolved;
}

return AggregateMetricsForOutput(allMetrics, sumOfAllAmbiguousPeptidesResolved);
int positiveTrainingCount = PSMDataGroups.SelectMany(p => p).Count(p => p.Label);
int negativeTrainingcount = PSMDataGroups.SelectMany(p => p).Count(p => !p.Label);

return AggregateMetricsForOutput(allMetrics, sumOfAllAmbiguousPeptidesResolved, positiveTrainingCount, negativeTrainingcount, QValueCutoff);
}

/// <summary>
Expand Down Expand Up @@ -331,7 +334,8 @@ public IEnumerable<PsmData> CreatePsmData(string searchType,
return pda.AsEnumerable();
}

public static string AggregateMetricsForOutput(List<CalibratedBinaryClassificationMetrics> allMetrics, int sumOfAllAmbiguousPeptidesResolved)
public static string AggregateMetricsForOutput(List<CalibratedBinaryClassificationMetrics> allMetrics, int sumOfAllAmbiguousPeptidesResolved,
int positiveTrainingCount, int negativeTrainingCount, double qValueCutoff)
{
List<double> accuracy = allMetrics.Select(m => m.Accuracy).ToList();
List<double> areaUnderRocCurve = allMetrics.Select(m => m.AreaUnderRocCurve).ToList();
Expand Down Expand Up @@ -381,6 +385,9 @@ public static string AggregateMetricsForOutput(List<CalibratedBinaryClassificati
s.AppendLine("* NegativePrecision: " + negativePrecision.Average().ToString());
s.AppendLine("* NegativeRecall: " + negativeRecall.Average().ToString());
s.AppendLine("* Count of Ambiguous Peptides Removed: " + sumOfAllAmbiguousPeptidesResolved.ToString());
s.AppendLine("* Q-Value Cutoff for Training Targets: " + qValueCutoff);
s.AppendLine("* Targets Used for Training: " + positiveTrainingCount.ToString());
s.AppendLine("* Decoys Used for Training: " + negativeTrainingCount.ToString());
s.AppendLine("************************************************************");
return s.ToString();
}
Expand Down

0 comments on commit 2962329

Please sign in to comment.