private bool ReintegratePeaks(CommandArgs commandArgs) { if (!_doc.Settings.HasResults) { _out.WriteLine(Resources.CommandLine_ReintegratePeaks_Error__You_must_first_import_results_into_the_document_before_reintegrating_); return false; } else { ModelAndFeatures modelAndFeatures; if (commandArgs.IsCreateScoringModel) { modelAndFeatures = CreateScoringModel(commandArgs.ReintegratModelName, commandArgs.IsDecoyModel, commandArgs.IsSecondBestModel); if (modelAndFeatures == null) return false; } else { PeakScoringModelSpec scoringModel; if (!Settings.Default.PeakScoringModelList.TryGetValue(commandArgs.ReintegratModelName, out scoringModel)) { _out.WriteLine(Resources.CommandLine_ReintegratePeaks_Error__Unknown_peak_scoring_model___0__); return false; } modelAndFeatures = new ModelAndFeatures(scoringModel, null); } if (!Reintegrate(modelAndFeatures, commandArgs.IsAnnotateScoring, commandArgs.IsOverwritePeaks)) return false; } return true; }
private bool Reintegrate(ModelAndFeatures modelAndFeatures, bool isAnnotateScoring, bool isOverwritePeaks) { try { var resultsHandler = new MProphetResultsHandler(_doc, modelAndFeatures.ScoringModel, modelAndFeatures.Features) { OverrideManual = isOverwritePeaks, AddAnnotation = isAnnotateScoring, AddMAnnotation = isAnnotateScoring }; var progressMonitor = new CommandProgressMonitor(_out, new ProgressStatus(string.Empty)); resultsHandler.ScoreFeatures(progressMonitor); if (resultsHandler.IsMissingScores()) { _out.WriteLine(Resources.CommandLine_Reintegrate_Error__The_current_peak_scoring_model_is_incompatible_with_one_or_more_peptides_in_the_document__Please_train_a_new_model_); return false; } _doc = resultsHandler.ChangePeaks(progressMonitor); return true; } catch (Exception x) { _out.WriteLine(Resources.CommandLine_Reintegrate_Error__Failed_to_reintegrate_peaks_successfully_); _out.WriteLine(x.Message); return false; } }