X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FStructureViewerBase.java;h=021e2f61ebdba7b2aea517789f098ae07d90a9ac;hb=27dc4596d13971e00f04578d469c5e3eb604757f;hp=11bf50fa9cde2841d637febd386d30c561d5ba4b;hpb=e17fd50136e5e56d2695002d00047281ca0fa4e3;p=jalview.git diff --git a/src/jalview/gui/StructureViewerBase.java b/src/jalview/gui/StructureViewerBase.java index 11bf50f..021e2f6 100644 --- a/src/jalview/gui/StructureViewerBase.java +++ b/src/jalview/gui/StructureViewerBase.java @@ -65,6 +65,7 @@ import jalview.util.BrowserLauncher; import jalview.util.MessageManager; import jalview.ws.dbsources.EBIAlfaFold; import jalview.ws.dbsources.Pdb; +import jalview.ws.utils.UrlDownloadClient; /** * Base class with common functionality for JMol, Chimera or other structure @@ -1153,7 +1154,25 @@ public abstract class StructureViewerBase extends GStructureViewer { pdbseq = afclient.getSequenceRecords(pdbid); } else { - pdbseq = pdbclient.getSequenceRecords(pdbid); + if (processingEntry.hasRetrievalUrl()) + { + // retrieve from URL to new local tmpfile + File tmpFile = File.createTempFile(pdbid, + "." + (PDBEntry.Type.MMCIF.toString().equals( + processingEntry.getType().toString()) ? "cif" + : "pdb")); + String fromUrl = processingEntry.getRetrievalUrl(); + UrlDownloadClient.download(fromUrl, tmpFile); + + // may not need this check ? + String file = tmpFile.getAbsolutePath(); + if (file != null) + { + pdbseq = EBIAlfaFold.importDownloadedStructureFromUrl(fromUrl,tmpFile,pdbid,null,null,null); + } + } else { + pdbseq = pdbclient.getSequenceRecords(pdbid); + } } } catch (Exception e) {