X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fstructure%2FStructureImportSettings.java;h=f5963dea76d64dfb66831ec511cefb97aa3170d3;hb=02e38bb826828ab2991584cf4b737c0138cb6c44;hp=b23fd53cf9d16a259731ae6e5fea6f3bd65a35f7;hpb=0bec4854366c4bc4608ed0d7dc1506fc6afe2285;p=jalview.git diff --git a/src/jalview/structure/StructureImportSettings.java b/src/jalview/structure/StructureImportSettings.java index b23fd53..f5963de 100644 --- a/src/jalview/structure/StructureImportSettings.java +++ b/src/jalview/structure/StructureImportSettings.java @@ -1,7 +1,15 @@ package jalview.structure; -import jalview.datamodel.DBRefSource; - +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 +22,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,15 +32,28 @@ public class StructureImportSettings private static boolean showSeqFeatures = true; - private static boolean processHETATMs = false; + public enum StructureParser + { + JMOL_PARSER, JALVIEW_PARSER + } + - private static String currentDefaultFormat = DBRefSource.PDB; + /** + * Determines the default file format for structure files to be downloaded + * from the PDB sequence fetcher. Possible options include: PDB|mmCIF + */ + private static PDBEntry.Type defaultStructureFileFormat = Type.PDB; + /** + * Determines the parser used for parsing PDB format file. Possible options + * are : JMolParser|JalveiwParser + */ + 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; } @@ -48,15 +69,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() @@ -80,24 +101,33 @@ public class StructureImportSettings StructureImportSettings.showSeqFeatures = showSeqFeatures; } - public static String getCurrentDefaultFormat() + public static PDBEntry.Type getDefaultStructureFileFormat() + { + return defaultStructureFileFormat; + } + + public static void setDefaultStructureFileFormat( + String defaultStructureFileFormat) { - return currentDefaultFormat; + StructureImportSettings.defaultStructureFileFormat = PDBEntry.Type + .valueOf(defaultStructureFileFormat.toUpperCase()); } - public static void setCurrentDefaultFormat(String currentDefaultFormat) + public static String getDefaultPDBFileParser() { - StructureImportSettings.currentDefaultFormat = currentDefaultFormat; + return defaultPDBFileParser.toString(); } - public static boolean isProcessHETATMs() + public static void setDefaultPDBFileParser( + StructureParser defaultPDBFileParser) { - return processHETATMs; + StructureImportSettings.defaultPDBFileParser = defaultPDBFileParser; } - public static void setProcessHETATMs(boolean processHETATMs) + public static void setDefaultPDBFileParser(String defaultPDBFileParser) { - StructureImportSettings.processHETATMs = processHETATMs; + StructureImportSettings.defaultPDBFileParser = StructureParser + .valueOf(defaultPDBFileParser.toUpperCase()); } }