X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2Fscoremodels%2FScoreModels.java;h=ebc9a26d0a0c9260f9f7b9ee16a2122aec2b886a;hb=8a7a9401835f50b64bab13489de2781e8ced6ba8;hp=7262fb81925396f1ee4ce0dd5198a68f6de8ff53;hpb=f6123f656fa387e11f506dedd09672a0d0ff5ac5;p=jalview.git diff --git a/src/jalview/analysis/scoremodels/ScoreModels.java b/src/jalview/analysis/scoremodels/ScoreModels.java index 7262fb8..ebc9a26 100644 --- a/src/jalview/analysis/scoremodels/ScoreModels.java +++ b/src/jalview/analysis/scoremodels/ScoreModels.java @@ -41,12 +41,22 @@ public class ScoreModels private final ScoreMatrix DNA; - private static ScoreModels instance = new ScoreModels(); + private static ScoreModels instance; private Map models; + /** + * Answers the singleton instance of this class, with lazy initialisation + * (built-in score models are loaded on the first call to this method) + * + * @return + */ public static ScoreModels getInstance() { + if (instance == null) + { + instance = new ScoreModels(); + } return instance; } @@ -66,11 +76,11 @@ public class ScoreModels /* * using LinkedHashMap keeps models ordered as added */ - models = new LinkedHashMap(); + models = new LinkedHashMap<>(); BLOSUM62 = loadScoreMatrix("scoreModel/blosum62.scm"); PAM250 = loadScoreMatrix("scoreModel/pam250.scm"); - registerScoreModel(new PIDModel()); DNA = loadScoreMatrix("scoreModel/dna.scm"); + registerScoreModel(new PIDModel()); registerScoreModel(new FeatureDistanceModel()); } @@ -139,6 +149,14 @@ public class ScoreModels } /** + * Resets to just the built-in score models + */ + public void reset() + { + instance = new ScoreModels(); + } + + /** * Returns the default peptide or nucleotide score model, currently BLOSUM62 * or DNA *