/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
+ * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
*
* This file is part of Jalview.
*
protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();
protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();
-
+
protected JRadioButtonMenuItem purinePyrimidineColour = new JRadioButtonMenuItem();
-
- //protected JRadioButtonMenuItem covariationColour = new JRadioButtonMenuItem();
+
+ // protected JRadioButtonMenuItem covariationColour = new
+ // JRadioButtonMenuItem();
JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();
JMenuItem sequenceName = new JMenuItem();
- Sequence sequence;
+ SequenceI sequence;
JMenuItem unGroupMenuItem = new JMenuItem();
* @param links
* @param groupLinks
*/
- public PopupMenu(final AlignmentPanel ap, Sequence seq, Vector links,
+ public PopupMenu(final AlignmentPanel ap, final SequenceI seq, Vector links,
Vector groupLinks)
{
// /////////////////////////////////////////////////////////
colours.add(PIDColour);
colours.add(BLOSUM62Colour);
colours.add(purinePyrimidineColour);
- //colours.add(covariationColour);
+ // colours.add(covariationColour);
for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++)
{
e.printStackTrace();
}
+ JMenuItem menuItem;
if (seq != null)
{
sequenceMenu.setText(sequence.getName());
- JMenuItem menuItem;
if (seq.getDatasetSequence().getPDBId() != null
&& seq.getDatasetSequence().getPDBId().size() > 0)
{
}
else
{
- //TODO: Something to check if it's an RNA
- //like: if(seq.getAnnotation()[0].annotations[0].secondaryStructure == 'S')
- menuItem = new JMenuItem();
- menuItem.setText("RNA structure");
- menuItem.addActionListener(new java.awt.event.ActionListener()
+ if (ap.av.alignment.isNucleotide() == false)
+ {
+ structureMenu.remove(viewStructureMenu);
+ }
+ // structureMenu.remove(colStructureMenu);
+ }
+
+ if (ap.av.alignment.isNucleotide() == true)
+ {
+ AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation();
+ for (int i = 0; i < aa.length; i++)
+ {
+ if (aa[i].getRNAStruc() != null)
{
- public void actionPerformed(ActionEvent e)
+ final String rnastruc = aa[i].getRNAStruc();
+
+ menuItem = new JMenuItem();
+ menuItem.setText("RNA structure - consensus");
+ menuItem.addActionListener(new java.awt.event.ActionListener()
{
- System.out.println("Call Varna");
- new AppVarna();
-
+ public void actionPerformed(ActionEvent e)
+ {
+ new AppVarna(seq.getSequenceAsString(), rnastruc, seq
+ .getName(), ap);
+ }
+ });
+ viewStructureMenu.add(menuItem);
+ }
+ }
+
+ // SequenceFeatures[] test = seq.getSequenceFeatures();
+
+ if (seq.getAnnotation() != null)
+ {
+ AlignmentAnnotation seqAnno[] = seq.getAnnotation();
+ for (int i = 0; i < seqAnno.length; i++)
+ {
+ if (seqAnno[i].getRNAStruc() != null)
+ {
+ final String rnastruc = seqAnno[i].getRNAStruc();
+
+ // TODO: make rnastrucF a bit more nice
+ menuItem = new JMenuItem();
+ menuItem.setText("RNA structure - "+seq.getName());
+ menuItem.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ // TODO: VARNA does'nt print gaps in the sequence
+ new AppVarna(seq.getSequenceAsString(), rnastruc, seq
+ .getName(), ap);
+ }
+ });
+ viewStructureMenu.add(menuItem);
}
- });
- viewStructureMenu.add(menuItem);
-
- //JAN structureMenu.remove(viewStructureMenu);
- // structureMenu.remove(colStructureMenu);
+ }
+ }
+
+
}
menuItem = new JMenuItem("Hide Sequences");
});
add(menuItem);
}
-
+ }
+ }
+ // for the case when no sequences are even visible
+ if (ap.av.hasHiddenRows) {
+ {
menuItem = new JMenuItem("Reveal All");
menuItem.addActionListener(new ActionListener()
{
SequenceGroup sg = ap.av.getSelectionGroup();
- if (sg != null)
+ if (sg != null&& sg.getSize()>0)
{
groupName.setText("Name: "+sg.getName());
groupName.setText("Edit name and description of current group.");
}
else if (sg.cs instanceof PurinePyrimidineColourScheme)
{
- purinePyrimidineColour.setSelected(true);
+ purinePyrimidineColour.setSelected(true);
}
- /* else if (sg.cs instanceof CovariationColourScheme)
- {
- covariationColour.setSelected(true);
- }*/
+ /*
+ * else if (sg.cs instanceof CovariationColourScheme) {
+ * covariationColour.setSelected(true); }
+ */
else
{
noColourmenuItem.setSelected(true);
}
// Add a 'show all structures' for the current selection
Hashtable<String, PDBEntry> pdbe=new Hashtable<String,PDBEntry>();
+ SequenceI sqass=null;
for (SequenceI sq: ap.av.getSequenceSelection())
{
Vector<PDBEntry> pes = (Vector<PDBEntry>) sq.getDatasetSequence().getPDBId();
for (PDBEntry pe: pes)
{
pdbe.put(pe.getId(), pe);
+ if (sqass==null)
+ {
+ sqass = sq;
+ }
}
}
}
{
final PDBEntry[] pe = pdbe.values().toArray(new PDBEntry[pdbe.size()]);
final JMenuItem gpdbview;
- structureMenu.add(gpdbview=new JMenuItem("View "+pdbe.size()+" structures."));
+ if (pdbe.size()==1)
+ {
+ structureMenu.add(gpdbview=new JMenuItem("View structure for "+sqass.getDisplayId(false)));
+ } else {
+ structureMenu.add(gpdbview=new JMenuItem("View all "+pdbe.size()+" structures."));
+ }
gpdbview.setToolTipText("Open a new Jmol view with all structures associated with the current selection and superimpose them using the alignment.");
gpdbview.addActionListener(new ActionListener()
{
continue;
}
final String label = urlLink.getLabel();
- if (urlLink.isDynamic())
+ if (seq!=null && urlLink.isDynamic())
{
// collect matching db-refs
colourMenu.add(turnColour);
colourMenu.add(buriedColour);
colourMenu.add(nucleotideMenuItem);
- colourMenu.add(purinePyrimidineColour);
- //colourMenu.add(covariationColour);
+ if (ap.getAlignment().isNucleotide()) {
+ colourMenu.add(purinePyrimidineColour);
+ }
+ // colourMenu.add(covariationColour);
colourMenu.add(userDefinedColour);
if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)
}
});
purinePyrimidineColour.setText("Purine/Pyrimidine");
- purinePyrimidineColour.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- purinePyrimidineColour_actionPerformed();
- }
- });
- /*
- covariationColour.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- covariationColour_actionPerformed();
- }
- });*/
-
+ purinePyrimidineColour
+ .addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ purinePyrimidineColour_actionPerformed();
+ }
+ });
+ /*
+ * covariationColour.addActionListener(new java.awt.event.ActionListener() {
+ * public void actionPerformed(ActionEvent e) {
+ * covariationColour_actionPerformed(); } });
+ */
+
conservationMenuItem.setText("Conservation");
conservationMenuItem
.addActionListener(new java.awt.event.ActionListener()
getGroup().cs = new NucleotideColourScheme();
refresh();
}
-
+
protected void purinePyrimidineColour_actionPerformed()
{
getGroup().cs = new PurinePyrimidineColourScheme();
refresh();
}
+
/*
- protected void covariationColour_actionPerformed()
- {
- getGroup().cs = new CovariationColourScheme(sequence.getAnnotation()[0]);
- refresh();
- }
-*/
+ * protected void covariationColour_actionPerformed() { getGroup().cs = new
+ * CovariationColourScheme(sequence.getAnnotation()[0]); refresh(); }
+ */
/**
* DOCUMENT ME!
*
public void discoverPDB_actionPerformed()
{
- final SequenceI[] sequences = ((ap.av.selectionGroup == null) ? new Sequence[]
+ final SequenceI[] sequences = ((ap.av.selectionGroup == null) ? new SequenceI[]
{ sequence }
: ap.av.selectionGroup.getSequencesInOrder(ap.av.alignment));
Thread discpdb = new Thread(new Runnable()