From 4fa1ed95324b462362fb677082ce34813eff1dde Mon Sep 17 00:00:00 2001 From: alchemistmatt Date: Mon, 6 Sep 2021 17:04:14 -0700 Subject: [PATCH] Show warnings when scores are out of the expected range, but continue searching --- .../ucsd/msjava/msgf/FlexAminoAcidGraph.java | 9 ++++++-- .../ucsd/msjava/msgf/GeneratingFunction.java | 23 +++++++++++++++---- .../java/edu/ucsd/msjava/ui/MSGFPlus.java | 4 ++-- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/src/main/java/edu/ucsd/msjava/msgf/FlexAminoAcidGraph.java b/src/main/java/edu/ucsd/msjava/msgf/FlexAminoAcidGraph.java index df36ac59..18f86291 100644 --- a/src/main/java/edu/ucsd/msjava/msgf/FlexAminoAcidGraph.java +++ b/src/main/java/edu/ucsd/msjava/msgf/FlexAminoAcidGraph.java @@ -327,8 +327,13 @@ private void makeForwardEdges(NominalMass curNode, ArrayList aaList, // if(aa.isModified()) // errorScore += MODIFIED_EDGE_PENALTY; if (errorScore < -100 || errorScore > 100) { - System.err.println("Invalid ErrorScore: " + errorScore); - System.exit(-1); + System.err.println("Warning, invalid ErrorScore: " + errorScore); + + // Could abort the search + // System.exit(-1); + + // Instead, use a score of -4 + errorScore = -4; } edge.setErrorScore(errorScore); if (addCleavageScore) { diff --git a/src/main/java/edu/ucsd/msjava/msgf/GeneratingFunction.java b/src/main/java/edu/ucsd/msjava/msgf/GeneratingFunction.java index 9841e2e8..367fdf04 100644 --- a/src/main/java/edu/ucsd/msjava/msgf/GeneratingFunction.java +++ b/src/main/java/edu/ucsd/msjava/msgf/GeneratingFunction.java @@ -413,11 +413,24 @@ private void setCurNode(T curNode, ScoreDistFactory scoreDistFactory) { if (curMinScore >= curMaxScore) return; - if (curMinScore < -10000 || curMaxScore > 10000) { - System.err.println("Error! MinScore: " + curMinScore + ", MaxScore: " + curMaxScore + ", " - + "CurNode: " + curNode.getNominalMass() - + ", CurNodeScore: " + curNodeScore); - System.exit(-1); + if (curMinScore < -10000) { + System.err.println("Warning, MinScore is abnormally low; " + + "MinScore: " + curMinScore + ", MaxScore: " + curMaxScore + ", " + + "CurNode: " + curNode.getNominalMass() + ", CurNodeScore: " + curNodeScore); + // Could abort processing + // System.exit(-1); + // Instead, skip this node + return; + } + + if (curMaxScore > 10000) { + System.err.println("Warning, MaxScore is abnormally high; " + + "MinScore: " + curMinScore + ", MaxScore: " + curMaxScore + ", " + + "CurNode: " + curNode.getNominalMass() + ", CurNodeScore: " + curNodeScore); + // Could abort processing + // System.exit(-1); + // Instead, skip this node + return; } ScoreDist curDist = scoreDistFactory.getInstance(curMinScore, curMaxScore); diff --git a/src/main/java/edu/ucsd/msjava/ui/MSGFPlus.java b/src/main/java/edu/ucsd/msjava/ui/MSGFPlus.java index 27aa6a56..4978891e 100644 --- a/src/main/java/edu/ucsd/msjava/ui/MSGFPlus.java +++ b/src/main/java/edu/ucsd/msjava/ui/MSGFPlus.java @@ -22,8 +22,8 @@ public class MSGFPlus { - public static final String VERSION = "Release (v2021.03.22)"; - public static final String RELEASE_DATE = "22 March 2021"; + public static final String VERSION = "Release (v2021.09.06)"; + public static final String RELEASE_DATE = "06 September 2021"; public static final String DECOY_DB_EXTENSION = ".revCat.fasta"; public static final String DEFAULT_DECOY_PROTEIN_PREFIX = "XXX";