}
pdbentry.getProperty().put("protocol", protocol);
toaddpdb.addPDBId(pdbentry);
+ alignPanel.getStructureSelectionManager()
+ .registerPDBEntry(pdbentry);
}
}
return true;
if (seqs[i] != null)
{
((Sequence) seqs[i]).addPDBId(pdb);
+ StructureSelectionManager.getStructureSelectionManager(
+ applet).registerPDBEntry(pdb);
}
else
{
{
PDBEntry pe = new AssociatePdbFileWithSeq()
.associatePdbWithSeq((String) fm[0],
- (String) fm[1], toassoc, false);
+ (String) fm[1], toassoc, false,
+ Desktop.instance);
if (pe != null)
{
System.err.println("Associated file : "
*/
package jalview.gui;
-import javax.swing.JOptionPane;
+import jalview.api.StructureSelectionManagerProvider;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.SequenceI;
+import jalview.structure.StructureSelectionManager;
import jalview.util.MessageManager;
+import javax.swing.JOptionPane;
+
/**
* GUI related routines for associating PDB files with sequences
*
* @param sequence
*/
public PDBEntry associatePdbWithSeq(String choice, String protocol,
- SequenceI sequence, boolean prompt)
+ SequenceI sequence, boolean prompt,
+ StructureSelectionManagerProvider ssmp)
{
PDBEntry entry = new PDBEntry();
MCview.PDBfile pdbfile = null;
- try
+ pdbfile = StructureSelectionManager.getStructureSelectionManager(ssmp)
+ .setMapping(false, new SequenceI[]
+ { sequence }, null, choice, protocol);
+ if (pdbfile == null)
{
- // TODO JAL-674 extract secondary structure and transfer it to associated
- // sequence
- pdbfile = new MCview.PDBfile(false, false, choice, protocol);
- if (pdbfile.id == null)
- {
- String reply = null;
-
- if (prompt)
- {
- reply = JOptionPane.showInternalInputDialog(Desktop.desktop,
- MessageManager
- .getString("label.couldnt_find_pdb_id_in_file"),
- MessageManager.getString("label.no_pdb_id_in_file"),
- JOptionPane.QUESTION_MESSAGE);
- }
- if (reply == null)
- {
- return null;
- }
+ // stacktrace already thrown so just return
+ return null;
+ }
+ if (pdbfile.id == null)
+ {
+ String reply = null;
- entry.setId(reply);
+ if (prompt)
+ {
+ reply = JOptionPane.showInternalInputDialog(Desktop.desktop,
+ MessageManager
+ .getString("label.couldnt_find_pdb_id_in_file"),
+ MessageManager.getString("label.no_pdb_id_in_file"),
+ JOptionPane.QUESTION_MESSAGE);
}
- else
+ if (reply == null)
{
- entry.setId(pdbfile.id);
+ return null;
}
- } catch (java.io.IOException ex)
+ entry.setId(reply);
+ }
+ else
{
- ex.printStackTrace();
+ entry.setId(pdbfile.id);
}
- entry.setFile(choice);
- sequence.getDatasetSequence().addPDBId(entry);
+ if (pdbfile != null)
+ {
+ entry.setFile(choice);
+ sequence.getDatasetSequence().addPDBId(entry);
+ StructureSelectionManager.getStructureSelectionManager(ssmp)
+ .registerPDBEntry(entry);
+ }
return entry;
}
}
entry.setFile(pdbloaded.get(ids[p].getId()).toString());
}
}
-
+ StructureSelectionManager.getStructureSelectionManager(
+ Desktop.instance)
+ .registerPDBEntry(entry);
al.getSequenceAt(i).getDatasetSequence().addPDBId(entry);
}
}
entry.setId(ids[p].getId());
entry.setType(ids[p].getType());
al.getSequenceAt(i).getDatasetSequence().addPDBId(entry);
+ StructureSelectionManager.getStructureSelectionManager(
+ Desktop.instance).registerPDBEntry(entry);
}
}
String choice = chooser.getSelectedFile().getPath();
jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);
new AssociatePdbFileWithSeq().associatePdbWithSeq(choice,
- jalview.io.AppletFormatAdapter.FILE, sequence, true);
+ jalview.io.AppletFormatAdapter.FILE, sequence, true,
+ Desktop.instance);
}
}
package jalview.io;
import jalview.datamodel.AlignmentI;
+import jalview.datamodel.PDBEntry;
+import jalview.datamodel.SequenceI;
import jalview.gui.AlignFrame;
import jalview.gui.AlignViewport;
import jalview.gui.Desktop;
import jalview.gui.Jalview2XML;
+import jalview.structure.StructureSelectionManager;
+import jalview.util.MessageManager;
+import java.util.List;
import java.util.StringTokenizer;
import java.util.Vector;
-import jalview.util.MessageManager;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;
if ((al != null) && (al.getHeight() > 0))
{
+ for (SequenceI sq : al.getSequences())
+ {
+ while (sq.getDatasetSequence() != null)
+ {
+ sq = sq.getDatasetSequence();
+ }
+ if (sq.getPDBId() != null)
+ {
+ for (PDBEntry pdbe : (List<PDBEntry>) sq.getPDBId())
+ {
+ StructureSelectionManager.getStructureSelectionManager(
+ Desktop.instance).registerPDBEntry(pdbe);
+ }
+ }
+ }
if (viewport != null)
{
// TODO: create undo object for this JAL-1101