JMenu jMenu1 = new JMenu();
- JMenuItem structureMenu = new JMenuItem();
+ JMenuItem proteinStructureMenu = new JMenuItem();
- JMenu viewStructureMenu = new JMenu();
+ JMenu rnaStructureMenu = new JMenu();
JMenuItem editSequence = new JMenuItem();
makeReferenceSeq.setText("Mark as representative");
}
- if (seq.getDatasetSequence().getPDBId() != null
- && seq.getDatasetSequence().getPDBId().size() > 0)
+ if (!ap.av.getAlignment().isNucleotide())
{
- java.util.Enumeration e = seq.getDatasetSequence().getPDBId()
- .elements();
-
- while (e.hasMoreElements())
- {
- final PDBEntry pdb = (PDBEntry) e.nextElement();
-
- menuItem = new JMenuItem();
- menuItem.setText(pdb.getId());
- menuItem.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- // TODO re JAL-860: optionally open dialog or provide a menu entry
- // allowing user to open just one structure per sequence
- // new AppJmol(pdb, ap.av.collateForPDB(new PDBEntry[]
- // { pdb })[0], null, ap);
- new StructureViewer(ap.getStructureSelectionManager())
- .viewStructures(pdb,
- ap.av.collateForPDB(new PDBEntry[]
- { pdb })[0], null, ap);
- }
- });
- viewStructureMenu.add(menuItem);
-
- /*
- * menuItem = new JMenuItem(); menuItem.setText(pdb.getId());
- * menuItem.addActionListener(new java.awt.event.ActionListener() {
- * public void actionPerformed(ActionEvent e) {
- * colourByStructure(pdb.getId()); } });
- * colStructureMenu.add(menuItem);
- */
- }
+ remove(rnaStructureMenu);
}
else
{
- if (ap.av.getAlignment().isNucleotide() == false)
- {
- structureMenu.remove(viewStructureMenu);
- }
- }
- if (ap.av.getAlignment().isNucleotide() == true)
- {
- AlignmentAnnotation[] aa = ap.av.getAlignment()
+ /*
+ * add menu items to 2D-render any alignment or sequence secondary
+ * structure annotation
+ */
+ AlignmentAnnotation[] aas = ap.av.getAlignment()
.getAlignmentAnnotation();
- for (int i = 0; aa != null && i < aa.length; i++)
+ if (aas != null)
{
- if (aa[i].isValidStruc() && aa[i].sequenceRef == null)
+ for (final AlignmentAnnotation aa : aas)
{
- final String rnastruc = aa[i].getRNAStruc();
- final String structureLine = aa[i].label + " (alignment)";
- menuItem = new JMenuItem();
- menuItem.setText(MessageManager.formatMessage(
- "label.2d_rna_structure_line", new Object[]
- { structureLine }));
- menuItem.addActionListener(new java.awt.event.ActionListener()
+ if (aa.isValidStruc() && aa.sequenceRef == null)
{
- @Override
- public void actionPerformed(ActionEvent e)
+ /*
+ * valid alignment RNA secondary structure annotation
+ */
+ menuItem = new JMenuItem();
+ menuItem.setText(MessageManager.formatMessage(
+ "label.2d_rna_structure_line", new Object[]
+ { aa.label }));
+ menuItem.addActionListener(new java.awt.event.ActionListener()
{
- new AppVarna(structureLine, seq, seq.getSequenceAsString(),
- rnastruc, seq.getName(), ap);
- System.out.println("end");
- }
- });
- viewStructureMenu.add(menuItem);
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ new AppVarna(seq, aa, ap);
+ }
+ });
+ rnaStructureMenu.add(menuItem);
+ }
}
}
-
if (seq.getAnnotation() != null)
{
- AlignmentAnnotation seqAnno[] = seq.getAnnotation();
- for (int i = 0; i < seqAnno.length; i++)
+ AlignmentAnnotation seqAnns[] = seq.getAnnotation();
+ for (final AlignmentAnnotation aa : seqAnns)
{
- if (seqAnno[i].isValidStruc())
+ if (aa.isValidStruc())
{
- final String rnastruc = seqAnno[i].getRNAStruc();
-
+ /*
+ * valid sequence RNA secondary structure annotation
+ */
// TODO: make rnastrucF a bit more nice
menuItem = new JMenuItem();
menuItem.setText(MessageManager.formatMessage(
public void actionPerformed(ActionEvent e)
{
// TODO: VARNA does'nt print gaps in the sequence
-
- new AppVarna(seq.getName() + " structure", seq, seq
- .getSequenceAsString(), rnastruc, seq.getName(),
- ap);
+ new AppVarna(seq, aa, ap);
}
});
- viewStructureMenu.add(menuItem);
+ rnaStructureMenu.add(menuItem);
}
}
}
if (seq == null)
{
sequenceMenu.setVisible(false);
- structureMenu.setVisible(false);
+ proteinStructureMenu.setVisible(false);
+ rnaStructureMenu.setVisible(false);
}
if (links != null && links.size() > 0)
}
});
jMenu1.setText(MessageManager.getString("label.group"));
- structureMenu.setText(MessageManager.getString("label.view_structure"));
- structureMenu.addActionListener(new ActionListener()
+ proteinStructureMenu.setText(MessageManager
+ .getString("label.view_protein_structure"));
+ proteinStructureMenu.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent actionEvent)
}
});
- viewStructureMenu.setText(MessageManager
- .getString("label.view_structure"));
+ rnaStructureMenu.setText(MessageManager
+ .getString("label.view_rna_structure"));
+
// colStructureMenu.setText("Colour By Structure");
editSequence.setText(MessageManager.getString("label.edit_sequence")
+ "...");
groupMenu.add(sequenceSelDetails);
add(groupMenu);
add(sequenceMenu);
- add(structureMenu);
+ add(rnaStructureMenu);
+ add(proteinStructureMenu);
if (sequence!=null)
{
add(hideInsertions);