import jalview.util.MessageManager;
import jalview.ws.ebi.EBIFetchClient;
+import java.io.File;
import java.util.ArrayList;
import java.util.List;
-import java.util.Vector;
import com.stevesoft.pat.Regex;
stopQuery();
return null;
}
+
+ /*
+ * ensure that an mmCIF format structure file is saved with extension.cif,
+ * because the Chimera "open" command recognises this extension
+ */
Type pdbFileFormat = StructureImportSettings
.getDefaultStructureFileFormat();
- String ext = "." + pdbFileFormat.getExtension();
+ String ext = pdbFileFormat.getExtension();
+ String fetchFormat = pdbFileFormat.getFormat();
+
EBIFetchClient ebi = new EBIFetchClient();
- file = ebi.fetchDataAsFile("pdb:" + id, pdbFileFormat.getFormat(), ext)
- .getAbsolutePath();
+ File tmpFile = ebi.fetchDataAsFile("pdb:" + id, fetchFormat, ext);
+ file = tmpFile.getAbsolutePath();
stopQuery();
if (file == null)
{
}
try
{
- // convert Type.PDB/MMCIF to FileFormat.PDB/MMCIF
- // todo get rid of Type?
- FileFormatI fileFormat = FileFormat.valueOf(pdbFileFormat.toString());
+ // todo get rid of Type and use FileFormatI instead?
+ FileFormatI fileFormat = (pdbFileFormat == Type.PDB) ? FileFormat.PDB
+ : FileFormat.MMCif;
pdbAlignment = new FormatAdapter().readFile(file,
DataSourceType.FILE, fileFormat);
if (pdbAlignment != null)