JAL-3855 check if an alpha fold ID and retrieve using that source
[jalview.git] / src / jalview / gui / AppJmol.java
index 7cf10e7..d085117 100644 (file)
@@ -51,6 +51,7 @@ import jalview.util.BrowserLauncher;
 import jalview.util.ImageMaker;
 import jalview.util.MessageManager;
 import jalview.util.Platform;
+import jalview.ws.dbsources.EBIAlfaFold;
 import jalview.ws.dbsources.Pdb;
 
 public class AppJmol extends StructureViewerBase
@@ -437,6 +438,8 @@ public class AppJmol extends StructureViewerBase
       // TODO: replace with reference fetching/transfer code (validate PDBentry
       // as a DBRef?)
       Pdb pdbclient = new Pdb();
+      EBIAlfaFold afclient = new EBIAlfaFold();
+      
       for (int pi = 0; pi < jmb.getPdbCount(); pi++)
       {
         String file = jmb.getPdbEntry(pi).getFile();
@@ -452,7 +455,12 @@ public class AppJmol extends StructureViewerBase
                   { pdbid }), hdl);
           try
           {
-            pdbseq = pdbclient.getSequenceRecords(pdbid);
+            if (afclient.isValidReference(pdbid))
+            {
+              pdbseq = afclient.getSequenceRecords(pdbid);
+            } else {
+              pdbseq = pdbclient.getSequenceRecords(pdbid);
+            }
           } catch (OutOfMemoryError oomerror)
           {
             new OOMWarning("Retrieving PDB id " + pdbid, oomerror);