JAL-2262 JAL-2195 Improvement to set PDBId availability in a flag
authortcofoegbu <tcnofoegbu@dundee.ac.uk>
Mon, 17 Oct 2016 11:32:38 +0000 (12:32 +0100)
committertcofoegbu <tcnofoegbu@dundee.ac.uk>
Mon, 17 Oct 2016 11:32:38 +0000 (12:32 +0100)
src/jalview/ext/jmol/JmolParser.java
src/jalview/io/StructureFile.java
src/jalview/structure/StructureSelectionManager.java

index 5866d51..b2ba256 100644 (file)
@@ -154,10 +154,12 @@ public class JmolParser extends StructureFile implements JmolStatusListener
       if (pdbId == null)
       {
         setId(safeName(getDataName()));
+        setPDBIdAvailable(false);
       }
       else
       {
         setId(pdbId);
+        setPDBIdAvailable(true);
       }
       List<Atom> significantAtoms = convertSignificantAtoms(ms);
       for (Atom tmpatom : significantAtoms)
index 2fe386b..26c202c 100644 (file)
@@ -67,6 +67,8 @@ public abstract class StructureFile extends AlignFile
 
   private Vector<PDBChain> chains;
 
+  private boolean pdbIdAvailable;
+
   public StructureFile(String inFile, String type) throws IOException
   {
     super(inFile, type);
@@ -467,4 +469,19 @@ public abstract class StructureFile extends AlignFile
   {
     return new PDBFeatureSettings();
   }
+
+  /**
+   * Answers true if the structure file has a PDBId
+   * 
+   * @return
+   */
+  public boolean isPPDBIdAvailable()
+  {
+    return pdbIdAvailable;
+  }
+
+  public void setPDBIdAvailable(boolean pdbIdAvailable)
+  {
+    this.pdbIdAvailable = pdbIdAvailable;
+  }
 }
index 2e0975d..7e691be 100644 (file)
@@ -390,11 +390,9 @@ public class StructureSelectionManager
       {
         registerPDBFile(pdb.getId().trim(), pdbFile);
       }
-      // if PDB/mmCIF file is local then don't perform SIFTS MAPPING
-      if (pdb.getId().contains("."))
-      {
-        isMapUsingSIFTs = false;
-      }
+      // if PDBId is unavailable then skip SIFTS mapping execution path
+      isMapUsingSIFTs = pdb.isPPDBIdAvailable();
+
     } catch (Exception ex)
     {
       ex.printStackTrace();