From: Jim Procter Date: Thu, 21 Jul 2016 12:03:21 +0000 (+0100) Subject: Merge branch 'apifix/JAL-1926_JAL-2106' into develop X-Git-Tag: Release_2_10_0~135^2 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=82a6c8e2e25b7534168b68b2c89b9cf195f815a5;p=jalview.git Merge branch 'apifix/JAL-1926_JAL-2106' into develop JAL-1919 JAL-2148 regularise use of jalview.datamodel.PDBEntry.Type for PDB/mmCIF file type JAL-1919 JAL-2148 use new enum jalview.structure.StructureImportSettings.StructureParser --- 82a6c8e2e25b7534168b68b2c89b9cf195f815a5 diff --cc src/jalview/bin/Cache.java index 23277a4,8493dff..6f16a6e --- a/src/jalview/bin/Cache.java +++ b/src/jalview/bin/Cache.java @@@ -20,6 -20,6 +20,7 @@@ */ package jalview.bin; ++import jalview.datamodel.PDBEntry; import jalview.structure.StructureImportSettings; import jalview.ws.dbsources.das.api.DasSourceRegistryI; import jalview.ws.dbsources.das.datamodel.DasSourceRegistry; @@@ -226,10 -226,11 +227,15 @@@ public class Cach private final static String DEFAULT_CACHE_THRESHOLD_IN_DAYS = "2"; private final static String DEFAULT_FAIL_SAFE_PID_THRESHOLD = "30"; -- - private final static String DEFAULT_STRUCTURE_FORMAT = StructureImportSettings.MMCIF; + - private final static String DEFAULT_PDB_FILE_PARSER = StructureImportSettings.JMOL_PARSER; + /** + * Allowed values are PDB or mmCIF + */ - private final static String DEFAULT_STRUCTURE_FORMAT = "PDB"; ++ private final static String DEFAULT_STRUCTURE_FORMAT = PDBEntry.Type.MMCIF ++ .toString(); ++ ++ private final static String DEFAULT_PDB_FILE_PARSER = StructureImportSettings.StructureParser.JMOL_PARSER ++ .toString(); /** * Initialises the Jalview Application Log diff --cc src/jalview/io/AppletFormatAdapter.java index fca7263,fb414f4..2243a5c --- a/src/jalview/io/AppletFormatAdapter.java +++ b/src/jalview/io/AppletFormatAdapter.java @@@ -26,6 -26,6 +26,7 @@@ import jalview.datamodel.Alignment import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; import jalview.datamodel.AlignmentView; ++import jalview.datamodel.PDBEntry.Type; import jalview.structure.StructureImportSettings; import jalview.util.MessageManager; @@@ -280,9 -280,8 +281,9 @@@ public class AppletFormatAdapte { // TODO obtain config value from preference settings. // Set value to 'true' to test PDB processing with Jmol: JAL-1213 - boolean isParseWithJMOL = !StructureImportSettings - .getCurrentDefaultFormat().equalsIgnoreCase("PDB"); + boolean isParseWithJMOL = StructureImportSettings - .getDefaultPDBFileParser().equalsIgnoreCase( - StructureImportSettings.JMOL_PARSER); ++ .getDefaultPDBFileParser() ++ .equals(StructureImportSettings.StructureParser.JMOL_PARSER); if (isParseWithJMOL) { StructureImportSettings.addSettings(annotFromStructure, @@@ -450,8 -447,6 +451,7 @@@ alignFile = new MCview.PDBfile(annotFromStructure, localSecondaryStruct, serviceSecondaryStruct, source); } - ((StructureFile) alignFile) - .setDbRefType(StructureImportSettings.PDB); ++ ((StructureFile) alignFile).setDbRefType(Type.PDB); } else if (format.equals("mmCIF")) { @@@ -459,8 -454,6 +459,7 @@@ localSecondaryStruct, serviceSecondaryStruct); alignFile = new jalview.ext.jmol.JmolParser(annotFromStructure, localSecondaryStruct, serviceSecondaryStruct, source); - ((StructureFile) alignFile) - .setDbRefType(StructureImportSettings.MMCIF); ++ ((StructureFile) alignFile).setDbRefType(Type.MMCIF); } else if (format.equals("STH")) { diff --cc src/jalview/io/StructureFile.java index 97e11eb,b2e5b23..fc0e207 --- a/src/jalview/io/StructureFile.java +++ b/src/jalview/io/StructureFile.java @@@ -8,6 -8,6 +8,7 @@@ import jalview.datamodel.AlignmentI import jalview.datamodel.DBRefEntry; import jalview.datamodel.DBRefSource; import jalview.datamodel.PDBEntry; ++import jalview.datamodel.PDBEntry.Type; import jalview.datamodel.SequenceI; import jalview.structure.StructureImportSettings; @@@ -25,7 -25,7 +26,7 @@@ public abstract class StructureFile ext private String id; -- private String dbRefType; ++ private PDBEntry.Type dbRefType; /** * set to true to add derived sequence annotations (temp factor read from @@@ -401,13 -399,13 +400,18 @@@ this.chains = chains; } -- public String getDbRefType() ++ public Type getDbRefType() { return dbRefType; } public void setDbRefType(String dbRefType) { ++ this.dbRefType = Type.valueOf(dbRefType); ++ } ++ ++ public void setDbRefType(Type dbRefType) ++ { this.dbRefType = dbRefType; } diff --cc src/jalview/structure/StructureImportSettings.java index 4c06e0f,ed53425..388ccbd --- a/src/jalview/structure/StructureImportSettings.java +++ b/src/jalview/structure/StructureImportSettings.java @@@ -1,7 -1,6 +1,14 @@@ 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 ++ * ++ * @author tcofoegbu ++ * ++ */ public class StructureImportSettings { /** @@@ -26,30 -25,18 +33,28 @@@ private static boolean processHETATMs = false; - public static final String JMOL_PARSER = "JMolParser"; - - public static final String JALVIEW_PARSER = "JalViewParser"; - - public static final String MMCIF = "mmCIF"; - public enum StructureFormat ++ public enum StructureParser + { - PDB, MMCIF - }; ++ JMOL_PARSER, JALVIEW_PARSER ++ } - public static final String PDB = "PDB"; - private static StructureFormat currentDefaultFormat = StructureFormat.PDB; + /** + * 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; } @@@ -97,15 -84,15 +102,16 @@@ StructureImportSettings.showSeqFeatures = showSeqFeatures; } - public static String getCurrentDefaultFormat() + public static String getDefaultStructureFileFormat() { - return defaultStructureFileFormat; - return currentDefaultFormat.toString(); ++ return defaultStructureFileFormat.toString(); } - public static void setCurrentDefaultFormat(String currentDefaultFormat) + public static void setDefaultStructureFileFormat( + String defaultStructureFileFormat) { - StructureImportSettings.defaultStructureFileFormat = defaultStructureFileFormat; - StructureImportSettings.currentDefaultFormat = StructureFormat - .valueOf(currentDefaultFormat); ++ StructureImportSettings.defaultStructureFileFormat = PDBEntry.Type ++ .valueOf(defaultStructureFileFormat); } public static boolean isProcessHETATMs() @@@ -118,14 -105,4 +124,21 @@@ StructureImportSettings.processHETATMs = processHETATMs; } + 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); ++ } ++ } diff --cc src/jalview/ws/dbsources/Pdb.java index 1a58466,a06f0c8..fc636c6 --- a/src/jalview/ws/dbsources/Pdb.java +++ b/src/jalview/ws/dbsources/Pdb.java @@@ -27,6 -27,6 +27,7 @@@ import jalview.datamodel.AlignmentI import jalview.datamodel.DBRefEntry; import jalview.datamodel.DBRefSource; import jalview.datamodel.PDBEntry; ++import jalview.datamodel.PDBEntry.Type; import jalview.datamodel.SequenceI; import jalview.io.FormatAdapter; import jalview.io.PDBFeatureSettings; @@@ -132,12 -133,11 +133,11 @@@ public class Pdb extends EbiFileRetriev stopQuery(); return null; } - String ext = StructureImportSettings.getCurrentDefaultFormat().equals( - StructureFormat.MMCIF) ? ".cif" : ".xml"; + String ext = StructureImportSettings.getDefaultStructureFileFormat() - .equalsIgnoreCase("mmcif") ? ".cif" - : ".xml"; ++ .equals(Type.MMCIF) ? ".cif" : ".xml"; EBIFetchClient ebi = new EBIFetchClient(); file = ebi.fetchDataAsFile("pdb:" + id, - StructureImportSettings.getCurrentDefaultFormat().toLowerCase(), + StructureImportSettings.getDefaultStructureFileFormat().toLowerCase(), ext) .getAbsolutePath(); stopQuery(); diff --cc test/jalview/ext/jmol/JmolParserTest.java index 0010321,0627a4a..2ea0b80 --- a/test/jalview/ext/jmol/JmolParserTest.java +++ b/test/jalview/ext/jmol/JmolParserTest.java @@@ -31,6 -31,6 +31,7 @@@ import jalview.gui.AlignFrame import jalview.io.AppletFormatAdapter; import jalview.io.FileLoader; import jalview.structure.StructureImportSettings; ++import jalview.structure.StructureImportSettings.StructureParser; import java.util.Vector; @@@ -89,9 -89,6 +90,9 @@@ public class JmolParserTes Boolean.TRUE.toString()); Cache.applicationProperties.setProperty("ADD_SS_ANN", Boolean.TRUE.toString()); + StructureImportSettings.setDefaultStructureFileFormat("PDB"); + StructureImportSettings - .setDefaultPDBFileParser(StructureImportSettings.JALVIEW_PARSER); ++ .setDefaultPDBFileParser(StructureParser.JALVIEW_PARSER); } @Test(groups = { "Functional" }) diff --cc test/jalview/io/AnnotatedPDBFileInputTest.java index 5368d41,3524a88..e6019aa --- a/test/jalview/io/AnnotatedPDBFileInputTest.java +++ b/test/jalview/io/AnnotatedPDBFileInputTest.java @@@ -32,6 -32,6 +32,7 @@@ import jalview.datamodel.SequenceFeatur import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; import jalview.structure.StructureImportSettings; ++import jalview.structure.StructureImportSettings.StructureParser; import java.io.File; @@@ -66,9 -66,7 +67,9 @@@ public class AnnotatedPDBFileInputTes al = af.getViewport().getAlignment(); pdbId = al.getSequenceAt(0).getDatasetSequence().getAllPDBEntries() .get(0).getId(); - StructureImportSettings.setCurrentDefaultFormat("PDB"); + StructureImportSettings.setDefaultStructureFileFormat("PDB"); + StructureImportSettings - .setDefaultPDBFileParser(StructureImportSettings.JALVIEW_PARSER); ++ .setDefaultPDBFileParser(StructureParser.JALVIEW_PARSER); } @Test(groups = { "Functional" }) diff --cc test/jalview/ws/PDBSequenceFetcherTest.java index d082785,0c810a3..fda0198 --- a/test/jalview/ws/PDBSequenceFetcherTest.java +++ b/test/jalview/ws/PDBSequenceFetcherTest.java @@@ -26,6 -26,6 +26,7 @@@ import jalview.bin.Cache import jalview.datamodel.AlignmentI; import jalview.datamodel.SequenceI; import jalview.structure.StructureImportSettings; ++import jalview.structure.StructureImportSettings.StructureParser; import jalview.ws.seqfetcher.DbSourceProxy; import java.util.List; @@@ -86,9 -86,7 +87,9 @@@ public class PDBSequenceFetcherTes { Cache.applicationProperties.setProperty("STRUCT_FROM_PDB", Boolean.TRUE.toString()); - StructureImportSettings.setCurrentDefaultFormat("PDB"); + StructureImportSettings.setDefaultStructureFileFormat("PDB"); + StructureImportSettings - .setDefaultPDBFileParser(StructureImportSettings.JALVIEW_PARSER); ++ .setDefaultPDBFileParser(StructureParser.JALVIEW_PARSER); testRetrieveProteinSeqFromPDB(); }