From 979119f77e49f6cfef9dce9598d9af31baa0df3b Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 4 Sep 2024 15:30:24 -0500 Subject: [PATCH 1/7] Updated PEP to use set seed (42) --- .../FdrAnalysis/PEPAnalysisEngine.cs | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs b/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs index f68cd3c0a..1ecf39a0b 100644 --- a/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs +++ b/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs @@ -22,6 +22,29 @@ namespace EngineLayer { public class PepAnalysisEngine { + /// + /// This method contains the hyper-parameters that will be used when training the machine learning model + /// + /// Maximum number of threads to use in training + /// Options object to be passed in to the FastTree constructor + public Microsoft.ML.Trainers.FastTree.FastTreeBinaryTrainer.Options GetFastTreeOptions(int maxThreads) + { + return new Microsoft.ML.Trainers.FastTree.FastTreeBinaryTrainer.Options + { + NumberOfThreads = maxThreads, + NumberOfTrees = 400, + MinimumExampleCountPerLeaf = 10, + MaximumBinCountPerFeature = 255, + LearningRate = 0.2, + Shrinkage = 0.1, + LabelColumnName = "Label", + FeatureColumnName = "Features", + UnbalancedSets = true, + Seed = 42, + FeatureSelectionSeed = 42 + }; + } + private static readonly double AbsoluteProbabilityThatDistinguishesPeptides = 0.05; //These two dictionaries contain the average and standard deviations of hydrophobicitys measured in 1 minute increments accross each raw @@ -108,7 +131,8 @@ public string ComputePEPValuesForAllPSMs() MLContext mlContext = new MLContext(); TransformerChain>>[] trainedModels = new TransformerChain>>[numGroups]; - var trainer = mlContext.BinaryClassification.Trainers.FastTree(labelColumnName: "Label", featureColumnName: "Features", numberOfTrees: 400); + var binaryTreeOptions = GetFastTreeOptions(maxThreads: FileSpecificParametersDictionary.Max(kvp => kvp.Value.MaxThreadsToUsePerFile)); + var trainer = mlContext.BinaryClassification.Trainers.FastTree(binaryTreeOptions); var pipeline = mlContext.Transforms.Concatenate("Features", TrainingVariables) .Append(trainer); From ecd3ef8ef70c12e1bbba891eec415b410d7fee1b Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 4 Sep 2024 15:57:35 -0500 Subject: [PATCH 2/7] Reverted to old features --- MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs b/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs index 1ecf39a0b..7b12ff9ce 100644 --- a/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs +++ b/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs @@ -34,14 +34,13 @@ public Microsoft.ML.Trainers.FastTree.FastTreeBinaryTrainer.Options GetFastTreeO NumberOfThreads = maxThreads, NumberOfTrees = 400, MinimumExampleCountPerLeaf = 10, - MaximumBinCountPerFeature = 255, + NumberOfLeaves = 20, LearningRate = 0.2, - Shrinkage = 0.1, LabelColumnName = "Label", FeatureColumnName = "Features", - UnbalancedSets = true, Seed = 42, - FeatureSelectionSeed = 42 + FeatureSelectionSeed = 42, + UnbalancedSets = false // You might think this should be set to true, but you'd be wrong }; } From e3e9b3d2cefe4f6af2bc1e7d1cc4ecc4752504b8 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 6 Sep 2024 12:49:08 -0500 Subject: [PATCH 3/7] Removed multi-threading, stabilized results --- .../EngineLayer/FdrAnalysis/FdrInfo.cs | 11 +++++++++ .../FdrAnalysis/PEPAnalysisEngine.cs | 23 +++++++++---------- .../SearchTask/PostSearchAnalysisTask.cs | 4 ++-- 3 files changed, 24 insertions(+), 14 deletions(-) diff --git a/MetaMorpheus/EngineLayer/FdrAnalysis/FdrInfo.cs b/MetaMorpheus/EngineLayer/FdrAnalysis/FdrInfo.cs index 85acb5801..dc1327904 100644 --- a/MetaMorpheus/EngineLayer/FdrAnalysis/FdrInfo.cs +++ b/MetaMorpheus/EngineLayer/FdrAnalysis/FdrInfo.cs @@ -10,5 +10,16 @@ public class FdrInfo public double QValueNotch { get; set; } public double PEP { get; set; } public double PEP_QValue { get; set; } + + /// + /// Creates a new FdrInfo object where Q-Values and PEP_Qvalues are set to 2 by default + /// This is done to avoid situations where q-values aren't calcualted for a given peptides, but it is still + /// reported in the final results. + /// + public FdrInfo() + { + QValue = 2; + PEP_QValue = 2; + } } } \ No newline at end of file diff --git a/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs b/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs index 7b12ff9ce..861eda487 100644 --- a/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs +++ b/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs @@ -22,27 +22,27 @@ namespace EngineLayer { public class PepAnalysisEngine { + private int _randomSeed = 42; + /// /// This method contains the hyper-parameters that will be used when training the machine learning model /// /// Maximum number of threads to use in training /// Options object to be passed in to the FastTree constructor - public Microsoft.ML.Trainers.FastTree.FastTreeBinaryTrainer.Options GetFastTreeOptions(int maxThreads) - { - return new Microsoft.ML.Trainers.FastTree.FastTreeBinaryTrainer.Options + public Microsoft.ML.Trainers.FastTree.FastTreeBinaryTrainer.Options BGDTreeOptions => + new Microsoft.ML.Trainers.FastTree.FastTreeBinaryTrainer.Options { - NumberOfThreads = maxThreads, - NumberOfTrees = 400, + NumberOfThreads = 1, + NumberOfTrees = 400, MinimumExampleCountPerLeaf = 10, NumberOfLeaves = 20, LearningRate = 0.2, LabelColumnName = "Label", FeatureColumnName = "Features", - Seed = 42, - FeatureSelectionSeed = 42, - UnbalancedSets = false // You might think this should be set to true, but you'd be wrong + Seed = _randomSeed, + FeatureSelectionSeed = _randomSeed, + UnbalancedSets = true }; - } private static readonly double AbsoluteProbabilityThatDistinguishesPeptides = 0.05; @@ -127,11 +127,10 @@ public string ComputePEPValuesForAllPSMs() } } - MLContext mlContext = new MLContext(); + MLContext mlContext = new MLContext(seed: _randomSeed); TransformerChain>>[] trainedModels = new TransformerChain>>[numGroups]; - var binaryTreeOptions = GetFastTreeOptions(maxThreads: FileSpecificParametersDictionary.Max(kvp => kvp.Value.MaxThreadsToUsePerFile)); - var trainer = mlContext.BinaryClassification.Trainers.FastTree(binaryTreeOptions); + var trainer = mlContext.BinaryClassification.Trainers.FastTree(BGDTreeOptions); var pipeline = mlContext.Transforms.Concatenate("Features", TrainingVariables) .Append(trainer); diff --git a/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs b/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs index 69e73a402..10306ebe0 100644 --- a/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs +++ b/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs @@ -137,9 +137,9 @@ private void CalculatePsmAndPeptideFdr(List psms, string analysis // this could cause weird PSM FDR issues Status("Estimating PSM FDR...", Parameters.SearchTaskId); - new FdrAnalysisEngine(psms, Parameters.NumNotches, CommonParameters, this.FileSpecificParameters, + new FdrAnalysisEngine(psms, Parameters.NumNotches, CommonParameters, this.FileSpecificParameters, new List { Parameters.SearchTaskId }, analysisType: analysisType, doPEP: doPep, outputFolder: Parameters.OutputFolder).Run(); - + Status("Done estimating PSM FDR!", Parameters.SearchTaskId); } From 2665cfb352c0e880ad7aa7939be7df8d0c878eca Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 9 Sep 2024 13:04:37 -0500 Subject: [PATCH 4/7] disabled random ordering during PEP --- .../FdrAnalysis/PEPAnalysisEngine.cs | 3 +- .../EngineLayer/PeptideSpectralMatch.cs | 4 ++ MetaMorpheus/EngineLayer/SpectralMatch.cs | 40 +++++++++++++++++++ .../SearchTask/PostSearchAnalysisTask.cs | 33 +++++++++++++-- 4 files changed, 75 insertions(+), 5 deletions(-) diff --git a/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs b/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs index 861eda487..5425c3061 100644 --- a/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs +++ b/MetaMorpheus/EngineLayer/FdrAnalysis/PEPAnalysisEngine.cs @@ -27,7 +27,6 @@ public class PepAnalysisEngine /// /// This method contains the hyper-parameters that will be used when training the machine learning model /// - /// Maximum number of threads to use in training /// Options object to be passed in to the FastTree constructor public Microsoft.ML.Trainers.FastTree.FastTreeBinaryTrainer.Options BGDTreeOptions => new Microsoft.ML.Trainers.FastTree.FastTreeBinaryTrainer.Options @@ -41,7 +40,7 @@ public class PepAnalysisEngine FeatureColumnName = "Features", Seed = _randomSeed, FeatureSelectionSeed = _randomSeed, - UnbalancedSets = true + RandomStart = false }; private static readonly double AbsoluteProbabilityThatDistinguishesPeptides = 0.05; diff --git a/MetaMorpheus/EngineLayer/PeptideSpectralMatch.cs b/MetaMorpheus/EngineLayer/PeptideSpectralMatch.cs index 1e23205e0..ee14f5770 100644 --- a/MetaMorpheus/EngineLayer/PeptideSpectralMatch.cs +++ b/MetaMorpheus/EngineLayer/PeptideSpectralMatch.cs @@ -47,6 +47,10 @@ protected PeptideSpectralMatch(SpectralMatch psm, List<(int Notch, IBioPolymerWi : base(psm, bestMatchingPeptides) { } + + public PeptideSpectralMatch(SpectralMatch psm) : base(psm) + { + } #endregion diff --git a/MetaMorpheus/EngineLayer/SpectralMatch.cs b/MetaMorpheus/EngineLayer/SpectralMatch.cs index 299f13b00..ee540d81c 100644 --- a/MetaMorpheus/EngineLayer/SpectralMatch.cs +++ b/MetaMorpheus/EngineLayer/SpectralMatch.cs @@ -379,6 +379,46 @@ protected SpectralMatch(SpectralMatch psm, List<(int Notch, IBioPolymerWithSetMo SpectralAngle = psm.SpectralAngle; } + public SpectralMatch(SpectralMatch psm) + { + _BestMatchingBioPolymersWithSetMods = psm._BestMatchingBioPolymersWithSetMods; + BaseSequence = PsmTsvWriter.Resolve(_BestMatchingBioPolymersWithSetMods.Select(b => b.Pwsm.BaseSequence)).ResolvedValue; + FullSequence = PsmTsvWriter.Resolve(_BestMatchingBioPolymersWithSetMods.Select(b => b.Pwsm.FullSequence)).ResolvedValue; + + ModsChemicalFormula = psm.ModsChemicalFormula; + Notch = psm.Notch; + BioPolymerWithSetModsLength = psm.BioPolymerWithSetModsLength; + OneBasedStartResidue = psm.OneBasedStartResidue; + OneBasedEndResidue = psm.OneBasedEndResidue; + BioPolymerWithSetModsMonoisotopicMass = psm.BioPolymerWithSetModsMonoisotopicMass; + ParentLength = psm.ParentLength; + Accession = psm.Accession; + Organism = psm.Organism; + MatchedFragmentIons = psm.MatchedFragmentIons; + PsmCount = psm.PsmCount; + ModsIdentified = psm.ModsIdentified; + LocalizedScores = psm.LocalizedScores; + ScanNumber = psm.ScanNumber; + PrecursorScanNumber = psm.PrecursorScanNumber; + ScanRetentionTime = psm.ScanRetentionTime; + ScanExperimentalPeaks = psm.ScanExperimentalPeaks; + TotalIonCurrent = psm.TotalIonCurrent; + ScanPrecursorCharge = psm.ScanPrecursorCharge; + ScanPrecursorMonoisotopicPeakMz = psm.ScanPrecursorMonoisotopicPeakMz; + ScanPrecursorMass = psm.ScanPrecursorMass; + FullFilePath = psm.FullFilePath; + ScanIndex = psm.ScanIndex; + FdrInfo = psm.FdrInfo; + Score = psm.Score; + Xcorr = psm.Xcorr; + RunnerUpScore = psm.RunnerUpScore; + IsDecoy = psm.IsDecoy; + IsContaminant = psm.IsContaminant; + DigestionParams = psm.DigestionParams; + BioPolymersWithSetModsToMatchingFragments = psm.BioPolymersWithSetModsToMatchingFragments; + SpectralAngle = psm.SpectralAngle; + } + #endregion #region FDR diff --git a/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs b/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs index 10306ebe0..c7029bcdc 100644 --- a/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs +++ b/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs @@ -137,9 +137,36 @@ private void CalculatePsmAndPeptideFdr(List psms, string analysis // this could cause weird PSM FDR issues Status("Estimating PSM FDR...", Parameters.SearchTaskId); - new FdrAnalysisEngine(psms, Parameters.NumNotches, CommonParameters, this.FileSpecificParameters, - new List { Parameters.SearchTaskId }, analysisType: analysisType, doPEP: doPep, outputFolder: Parameters.OutputFolder).Run(); - + + List psmsAboveQ = new List(); + List peptidesAboveQ = new List(); + List psmsAbovePepQ = new List(); + List peptidesAbovePepQ = new List(); + + for (int i = 0; i < 10; i++) + { + var tempPsms = psms + .Select(p => new PeptideSpectralMatch(p)) + .Cast() + .ToList(); + new FdrAnalysisEngine(tempPsms, Parameters.NumNotches, CommonParameters, this.FileSpecificParameters, + new List { Parameters.SearchTaskId }, analysisType: analysisType, doPEP: doPep, outputFolder: Parameters.OutputFolder).Run(); + psmsAboveQ.Add(tempPsms.Count(p => p.FdrInfo.QValue <= 0.01)); + peptidesAboveQ.Add(tempPsms.Count(p => p.PeptideFdrInfo.QValue <= 0.01)); + psmsAbovePepQ.Add(tempPsms.Count(p => p.FdrInfo.PEP_QValue <= 0.01)); + peptidesAbovePepQ.Add(tempPsms.Count(p => p.PeptideFdrInfo.PEP_QValue <= 0.01)); + } + + // write summary text + using(StreamWriter writer = new StreamWriter(@"C:\Users\Alex\PEP_NoRandomOrdering.tsv")) + { + writer.WriteLine("PSMs Q\tPeptides Q\tPSMs PEP-Q\tPeptides PEP-Q"); + for(int i = 0; i < 10; i++) + { + writer.WriteLine(String.Join('\t', psmsAboveQ[i], peptidesAboveQ[i], psmsAbovePepQ[i], peptidesAbovePepQ[i])); + } + } + throw new Exception("PEP Seed Results written to file"); Status("Done estimating PSM FDR!", Parameters.SearchTaskId); } From b705dd539a0a1b19b75b71f762f7444adb5cd034 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 13 Sep 2024 16:36:19 -0500 Subject: [PATCH 5/7] Updated to mzLib 1.0.552 --- MetaMorpheus/CMD/CMD.csproj | 2 +- MetaMorpheus/EngineLayer/EngineLayer.csproj | 2 +- MetaMorpheus/GUI/GUI.csproj | 2 +- MetaMorpheus/GuiFunctions/GuiFunctions.csproj | 2 +- .../SearchTask/PostSearchAnalysisTask.cs | 30 +------------------ MetaMorpheus/TaskLayer/TaskLayer.csproj | 2 +- MetaMorpheus/Test/Test.csproj | 2 +- 7 files changed, 7 insertions(+), 35 deletions(-) diff --git a/MetaMorpheus/CMD/CMD.csproj b/MetaMorpheus/CMD/CMD.csproj index 44eb33bbe..9a9f0d891 100644 --- a/MetaMorpheus/CMD/CMD.csproj +++ b/MetaMorpheus/CMD/CMD.csproj @@ -24,7 +24,7 @@ - + diff --git a/MetaMorpheus/EngineLayer/EngineLayer.csproj b/MetaMorpheus/EngineLayer/EngineLayer.csproj index 9c82f4ec2..600c08d90 100644 --- a/MetaMorpheus/EngineLayer/EngineLayer.csproj +++ b/MetaMorpheus/EngineLayer/EngineLayer.csproj @@ -21,7 +21,7 @@ - + diff --git a/MetaMorpheus/GUI/GUI.csproj b/MetaMorpheus/GUI/GUI.csproj index df8cfd5df..b2912b0de 100644 --- a/MetaMorpheus/GUI/GUI.csproj +++ b/MetaMorpheus/GUI/GUI.csproj @@ -55,7 +55,7 @@ - + diff --git a/MetaMorpheus/GuiFunctions/GuiFunctions.csproj b/MetaMorpheus/GuiFunctions/GuiFunctions.csproj index e2989fbcb..1e5e122fe 100644 --- a/MetaMorpheus/GuiFunctions/GuiFunctions.csproj +++ b/MetaMorpheus/GuiFunctions/GuiFunctions.csproj @@ -16,7 +16,7 @@ - + diff --git a/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs b/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs index c7029bcdc..529ee8b0e 100644 --- a/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs +++ b/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs @@ -137,36 +137,8 @@ private void CalculatePsmAndPeptideFdr(List psms, string analysis // this could cause weird PSM FDR issues Status("Estimating PSM FDR...", Parameters.SearchTaskId); - - List psmsAboveQ = new List(); - List peptidesAboveQ = new List(); - List psmsAbovePepQ = new List(); - List peptidesAbovePepQ = new List(); - - for (int i = 0; i < 10; i++) - { - var tempPsms = psms - .Select(p => new PeptideSpectralMatch(p)) - .Cast() - .ToList(); - new FdrAnalysisEngine(tempPsms, Parameters.NumNotches, CommonParameters, this.FileSpecificParameters, + new FdrAnalysisEngine(psms, Parameters.NumNotches, CommonParameters, this.FileSpecificParameters, new List { Parameters.SearchTaskId }, analysisType: analysisType, doPEP: doPep, outputFolder: Parameters.OutputFolder).Run(); - psmsAboveQ.Add(tempPsms.Count(p => p.FdrInfo.QValue <= 0.01)); - peptidesAboveQ.Add(tempPsms.Count(p => p.PeptideFdrInfo.QValue <= 0.01)); - psmsAbovePepQ.Add(tempPsms.Count(p => p.FdrInfo.PEP_QValue <= 0.01)); - peptidesAbovePepQ.Add(tempPsms.Count(p => p.PeptideFdrInfo.PEP_QValue <= 0.01)); - } - - // write summary text - using(StreamWriter writer = new StreamWriter(@"C:\Users\Alex\PEP_NoRandomOrdering.tsv")) - { - writer.WriteLine("PSMs Q\tPeptides Q\tPSMs PEP-Q\tPeptides PEP-Q"); - for(int i = 0; i < 10; i++) - { - writer.WriteLine(String.Join('\t', psmsAboveQ[i], peptidesAboveQ[i], psmsAbovePepQ[i], peptidesAbovePepQ[i])); - } - } - throw new Exception("PEP Seed Results written to file"); Status("Done estimating PSM FDR!", Parameters.SearchTaskId); } diff --git a/MetaMorpheus/TaskLayer/TaskLayer.csproj b/MetaMorpheus/TaskLayer/TaskLayer.csproj index 35f063006..8b96a5be5 100644 --- a/MetaMorpheus/TaskLayer/TaskLayer.csproj +++ b/MetaMorpheus/TaskLayer/TaskLayer.csproj @@ -21,7 +21,7 @@ - + diff --git a/MetaMorpheus/Test/Test.csproj b/MetaMorpheus/Test/Test.csproj index a4d8b9f5c..e46489a22 100644 --- a/MetaMorpheus/Test/Test.csproj +++ b/MetaMorpheus/Test/Test.csproj @@ -24,7 +24,7 @@ - + From 06ca65de5e24cd1527a8c9e41c37b0c5a0264645 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 13 Sep 2024 16:44:31 -0500 Subject: [PATCH 6/7] Removed unintended changes --- .../EngineLayer/PeptideSpectralMatch.cs | 4 -- MetaMorpheus/EngineLayer/SpectralMatch.cs | 40 ------------------- .../SearchTask/PostSearchAnalysisTask.cs | 1 + 3 files changed, 1 insertion(+), 44 deletions(-) diff --git a/MetaMorpheus/EngineLayer/PeptideSpectralMatch.cs b/MetaMorpheus/EngineLayer/PeptideSpectralMatch.cs index ee14f5770..1e23205e0 100644 --- a/MetaMorpheus/EngineLayer/PeptideSpectralMatch.cs +++ b/MetaMorpheus/EngineLayer/PeptideSpectralMatch.cs @@ -47,10 +47,6 @@ protected PeptideSpectralMatch(SpectralMatch psm, List<(int Notch, IBioPolymerWi : base(psm, bestMatchingPeptides) { } - - public PeptideSpectralMatch(SpectralMatch psm) : base(psm) - { - } #endregion diff --git a/MetaMorpheus/EngineLayer/SpectralMatch.cs b/MetaMorpheus/EngineLayer/SpectralMatch.cs index ee540d81c..299f13b00 100644 --- a/MetaMorpheus/EngineLayer/SpectralMatch.cs +++ b/MetaMorpheus/EngineLayer/SpectralMatch.cs @@ -379,46 +379,6 @@ protected SpectralMatch(SpectralMatch psm, List<(int Notch, IBioPolymerWithSetMo SpectralAngle = psm.SpectralAngle; } - public SpectralMatch(SpectralMatch psm) - { - _BestMatchingBioPolymersWithSetMods = psm._BestMatchingBioPolymersWithSetMods; - BaseSequence = PsmTsvWriter.Resolve(_BestMatchingBioPolymersWithSetMods.Select(b => b.Pwsm.BaseSequence)).ResolvedValue; - FullSequence = PsmTsvWriter.Resolve(_BestMatchingBioPolymersWithSetMods.Select(b => b.Pwsm.FullSequence)).ResolvedValue; - - ModsChemicalFormula = psm.ModsChemicalFormula; - Notch = psm.Notch; - BioPolymerWithSetModsLength = psm.BioPolymerWithSetModsLength; - OneBasedStartResidue = psm.OneBasedStartResidue; - OneBasedEndResidue = psm.OneBasedEndResidue; - BioPolymerWithSetModsMonoisotopicMass = psm.BioPolymerWithSetModsMonoisotopicMass; - ParentLength = psm.ParentLength; - Accession = psm.Accession; - Organism = psm.Organism; - MatchedFragmentIons = psm.MatchedFragmentIons; - PsmCount = psm.PsmCount; - ModsIdentified = psm.ModsIdentified; - LocalizedScores = psm.LocalizedScores; - ScanNumber = psm.ScanNumber; - PrecursorScanNumber = psm.PrecursorScanNumber; - ScanRetentionTime = psm.ScanRetentionTime; - ScanExperimentalPeaks = psm.ScanExperimentalPeaks; - TotalIonCurrent = psm.TotalIonCurrent; - ScanPrecursorCharge = psm.ScanPrecursorCharge; - ScanPrecursorMonoisotopicPeakMz = psm.ScanPrecursorMonoisotopicPeakMz; - ScanPrecursorMass = psm.ScanPrecursorMass; - FullFilePath = psm.FullFilePath; - ScanIndex = psm.ScanIndex; - FdrInfo = psm.FdrInfo; - Score = psm.Score; - Xcorr = psm.Xcorr; - RunnerUpScore = psm.RunnerUpScore; - IsDecoy = psm.IsDecoy; - IsContaminant = psm.IsContaminant; - DigestionParams = psm.DigestionParams; - BioPolymersWithSetModsToMatchingFragments = psm.BioPolymersWithSetModsToMatchingFragments; - SpectralAngle = psm.SpectralAngle; - } - #endregion #region FDR diff --git a/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs b/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs index 529ee8b0e..e30b4549a 100644 --- a/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs +++ b/MetaMorpheus/TaskLayer/SearchTask/PostSearchAnalysisTask.cs @@ -139,6 +139,7 @@ private void CalculatePsmAndPeptideFdr(List psms, string analysis Status("Estimating PSM FDR...", Parameters.SearchTaskId); new FdrAnalysisEngine(psms, Parameters.NumNotches, CommonParameters, this.FileSpecificParameters, new List { Parameters.SearchTaskId }, analysisType: analysisType, doPEP: doPep, outputFolder: Parameters.OutputFolder).Run(); + Status("Done estimating PSM FDR!", Parameters.SearchTaskId); } From 329d9e8fadfbb2a253b609c63c3fc867bf70025f Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 13 Sep 2024 17:10:21 -0500 Subject: [PATCH 7/7] Fixed broken XL test --- MetaMorpheus/Test/XLTest.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MetaMorpheus/Test/XLTest.cs b/MetaMorpheus/Test/XLTest.cs index 5de9a1e65..f8a136ed7 100644 --- a/MetaMorpheus/Test/XLTest.cs +++ b/MetaMorpheus/Test/XLTest.cs @@ -561,8 +561,8 @@ public static void XlTest_MoreComprehensive() } } - Assert.AreEqual(47, inter); - Assert.AreEqual(73, intra); + Assert.AreEqual(53, inter); + Assert.AreEqual(81, intra); Assert.AreEqual(0, unnasignedCrossType);