import jalview.api.AlignmentViewPanel;
import jalview.api.structures.JalviewStructureDisplayI;
-import jalview.bin.Cache;
+import jalview.bin.Console;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.SequenceI;
jalview.util.BrowserLauncher.openURL(url);
} catch (Exception e)
{
- Cache.log.error("Failed to launch Jmol-associated url " + url, e);
+ Console.error("Failed to launch Jmol-associated url " + url, e);
// TODO: 2.6 : warn user if browser was not configured.
}
}
{
// todo - record which pdbids were successfully imported.
StringBuilder errormsgs = new StringBuilder();
-
+
List<String> files = new ArrayList<>();
String pdbid = "";
try
String[] filesInViewer = getStructureFiles();
// 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 < getPdbCount(); pi++)
{
- String file = getPdbEntry(pi).getFile();
+ PDBEntry strucEntry = getPdbEntry(pi);
+
+ String file = strucEntry.getFile();
if (file == null)
{
- // todo: extract block as method and pull up (also ChimeraViewFrame)
- // retrieve the pdb and store it locally
- AlignmentI pdbseq = null;
- PDBEntry strucEntry = getPdbEntry(pi);
pdbid = strucEntry.getId();
- long hdl = pdbid.hashCode() - System.currentTimeMillis();
- structureViewer.setProgressMessage(MessageManager
- .formatMessage("status.fetching_pdb", new String[]
- { pdbid }), hdl);
try
{
- if (afclient.isValidReference(pdbid))
- {
- pdbseq = afclient.getSequenceRecords(pdbid);
- } else {
- if (strucEntry.hasRetrievalUrl())
- {
- File tmpFile = File.createTempFile(pdbid, ".cif");
- String fromUrl = strucEntry.getRetrievalUrl();
- UrlDownloadClient.download(fromUrl, tmpFile);
-
- // may not need this check ?
- file = tmpFile.getAbsolutePath();
- if (file != null)
- {
- pdbseq = EBIAlfaFold.importDownloadedStructureFromUrl(fromUrl,tmpFile,pdbid,null,null,null);
- }
- } else {
- pdbseq = pdbclient.getSequenceRecords(pdbid);
- }
- }
+ file = structureViewer.fetchPdbFile(strucEntry);
} catch (OutOfMemoryError oomerror)
{
new OOMWarning("Retrieving PDB id " + pdbid, oomerror);
{
ex.printStackTrace();
errormsgs.append("'").append(pdbid).append("'");
- } finally
- {
- structureViewer.setProgressMessage(
- MessageManager.getString("label.state_completed"), hdl);
}
- if (pdbseq != null)
+ if (file != null)
{
- // just transfer the file name from the first sequence's first
- // PDBEntry
- file = new File(pdbseq.getSequenceAt(0).getAllPDBEntries()
- .elementAt(0).getFile()).getAbsolutePath();
- getPdbEntry(pi).setFile(file);
+ // success
files.add(file);
}
else