import jalview.api.StructureSelectionManagerProvider;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.SequenceI;
+import jalview.io.DataSourceType;
+import jalview.io.StructureFile;
+import jalview.structure.StructureImportSettings.TFType;
import jalview.structure.StructureSelectionManager;
import jalview.util.MessageManager;
-import javax.swing.JOptionPane;
-
/**
* GUI related routines for associating PDB files with sequences
*
* @param choice
* @param sequence
*/
- public PDBEntry associatePdbWithSeq(String choice, String protocol,
+ public PDBEntry associatePdbWithSeq(String choice, DataSourceType file,
SequenceI sequence, boolean prompt,
StructureSelectionManagerProvider ssmp)
{
+ return associatePdbWithSeq(choice, file, sequence, prompt, ssmp,
+ TFType.DEFAULT, null, true);
+ }
+
+ public PDBEntry associatePdbWithSeq(String choice, DataSourceType file,
+ SequenceI sequence, boolean prompt,
+ StructureSelectionManagerProvider ssmp, TFType tft,
+ String paeFilename, boolean doXferSettings)
+ {
PDBEntry entry = new PDBEntry();
- MCview.PDBfile pdbfile = null;
- pdbfile = StructureSelectionManager.getStructureSelectionManager(ssmp)
+ StructureFile pdbfile = StructureSelectionManager
+ .getStructureSelectionManager(ssmp)
.setMapping(false, new SequenceI[]
- { sequence }, null, choice, protocol);
+ { sequence }, null, choice, file, tft, paeFilename,
+ doXferSettings);
if (pdbfile == null)
{
// stacktrace already thrown so just return
return null;
}
- if (pdbfile.id == null)
+ if (pdbfile.getId() == null)
{
String reply = null;
if (prompt)
{
- reply = JOptionPane.showInternalInputDialog(Desktop.desktop,
+ reply = JvOptionPane.showInternalInputDialog(Desktop.desktop,
MessageManager
.getString("label.couldnt_find_pdb_id_in_file"),
MessageManager.getString("label.no_pdb_id_in_file"),
- JOptionPane.QUESTION_MESSAGE);
+ JvOptionPane.QUESTION_MESSAGE);
}
if (reply == null)
{
}
else
{
- entry.setId(pdbfile.id);
+ entry.setId(pdbfile.getId());
}
entry.setType(PDBEntry.Type.FILE);
sequence.getDatasetSequence().addPDBId(entry);
StructureSelectionManager.getStructureSelectionManager(ssmp)
.registerPDBEntry(entry);
+ entry.setStructureFile(pdbfile);
}
+ if (tft != null)
+ entry.setProperty("TFType", tft.name());
+ if (paeFilename != null)
+ entry.setProperty("PAEFile", paeFilename);
return entry;
}
}