X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fstructure%2FStructureImportSettings.java;h=cbd59b1f9e7d79d9f03adbf3da3a546f963fd3a1;hb=1b10059cdf8b6a85fddd86a2a3c6588be3257c22;hp=c49b141796e3a2ed6bd5f38fd2bf319c91d7d84d;hpb=4e3166c6b7348b10af5ee6526a83eaa78191b1b6;p=jalview.git diff --git a/src/jalview/structure/StructureImportSettings.java b/src/jalview/structure/StructureImportSettings.java index c49b141..cbd59b1 100644 --- a/src/jalview/structure/StructureImportSettings.java +++ b/src/jalview/structure/StructureImportSettings.java @@ -1,7 +1,37 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.structure; -import jalview.datamodel.DBRefSource; +import java.util.Locale; +import jalview.datamodel.PDBEntry; +import jalview.datamodel.PDBEntry.Type; + +/** + * bean holding settings for structure IO. TODO: tests for validation of values + * TODO: tests for race conditions (all fields are static, is that correct ?) + * + * @author tcofoegbu + * + */ public class StructureImportSettings { /** @@ -14,7 +44,7 @@ public class StructureImportSettings * Set true to predict secondary structure (using JMol for protein, Annotate3D * for RNA) */ - private static boolean predictSecStr = false; + private static boolean processSecStr = false; /** * Set true (with predictSecondaryStructure=true) to predict secondary @@ -24,30 +54,28 @@ public class StructureImportSettings private static boolean showSeqFeatures = true; - public static final String JMOL_PARSER = "JMolParser"; - - public static final String JALVIEW_PARSER = "JalViewParser"; - - public static final String MMCIF = "mmCIF"; - - public static final String PDB = "PDB"; + public enum StructureParser + { + JMOL_PARSER, JALVIEW_PARSER + } /** * Determines the default file format for structure files to be downloaded * from the PDB sequence fetcher. Possible options include: PDB|mmCIF */ - private static String defaultStructureFileFormat = DBRefSource.PDB; + private static PDBEntry.Type defaultStructureFileFormat = Type.PDB; /** * Determines the parser used for parsing PDB format file. Possible options * are : JMolParser|JalveiwParser */ - private static String defaultPDBFileParser = JMOL_PARSER; + private static StructureParser defaultPDBFileParser = StructureParser.JMOL_PARSER; + public static void addSettings(boolean addAlignmentAnnotations, - boolean predictSecStr, boolean externalSecStr) + boolean processSecStr, boolean externalSecStr) { StructureImportSettings.visibleChainAnnotation = addAlignmentAnnotations; - StructureImportSettings.predictSecStr = predictSecStr; + StructureImportSettings.processSecStr = processSecStr; StructureImportSettings.externalSecondaryStructure = externalSecStr; StructureImportSettings.showSeqFeatures = true; } @@ -63,15 +91,15 @@ public class StructureImportSettings StructureImportSettings.visibleChainAnnotation = visibleChainAnnotation; } - public static boolean isPredictSecondaryStructure() + public static boolean isProcessSecondaryStructure() { - return predictSecStr; + return processSecStr; } - public static void setPredictSecondaryStructure( - boolean predictSecondaryStructure) + public static void setProcessSecondaryStructure( + boolean processSecondaryStructure) { - StructureImportSettings.predictSecStr = predictSecondaryStructure; + StructureImportSettings.processSecStr = processSecondaryStructure; } public static boolean isExternalSecondaryStructure() @@ -95,7 +123,7 @@ public class StructureImportSettings StructureImportSettings.showSeqFeatures = showSeqFeatures; } - public static String getDefaultStructureFileFormat() + public static PDBEntry.Type getDefaultStructureFileFormat() { return defaultStructureFileFormat; } @@ -103,17 +131,25 @@ public class StructureImportSettings public static void setDefaultStructureFileFormat( String defaultStructureFileFormat) { - StructureImportSettings.defaultStructureFileFormat = defaultStructureFileFormat; + StructureImportSettings.defaultStructureFileFormat = PDBEntry.Type + .valueOf(defaultStructureFileFormat.toUpperCase(Locale.ROOT)); } public static String getDefaultPDBFileParser() { - return defaultPDBFileParser; + return defaultPDBFileParser.toString(); } - public static void setDefaultPDBFileParser(String defaultPDBFileParser) + public static void setDefaultPDBFileParser( + StructureParser defaultPDBFileParser) { StructureImportSettings.defaultPDBFileParser = defaultPDBFileParser; } + public static void setDefaultPDBFileParser(String defaultPDBFileParser) + { + StructureImportSettings.defaultPDBFileParser = StructureParser + .valueOf(defaultPDBFileParser.toUpperCase(Locale.ROOT)); + } + }