* @param links
* @param groupLinks
*/
- public PopupMenu(final AlignmentPanel ap, Sequence seq, Vector links,
- Vector groupLinks)
+ public PopupMenu(final AlignmentPanel ap, final Sequence seq, final Vector links,
+ final Vector groupLinks)
{
// /////////////////////////////////////////////////////////
// If this is activated from the sequence panel, the user may want to
}
}
else
- {
- //JAN structureMenu.remove(viewStructureMenu);
+ {
+ if(ap.av.alignment.isNucleotide()==false){
+ structureMenu.remove(viewStructureMenu);
+ }
// structureMenu.remove(colStructureMenu);
}
- //if(seq.getAnnotation()[0].annotations[0].secondaryStructure == 'S'){
- //TODO: Something to check if it's an RNA
- //like: if(seq.getAnnotation()[0].annotations[0].secondaryStructure == 'S')
- final SequenceI seqI = seq.getDatasetSequence();
- //ap.getAlignment().get
- menuItem = new JMenuItem();
- menuItem.setText("RNA structure");
- menuItem.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- System.out.println("Call Varna "+seqI.getSequenceAsString()+" "+seqI.getName());
- new AppVarna(seqI.getSequenceAsString(),seqI.getName());
-
- }
- });
- viewStructureMenu.add(menuItem);
- //}
-
+ if(ap.av.alignment.isNucleotide()==true){
+ AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation();
+ String rnastruc=new String();
+ for(int i=0; i<aa.length;i++){
+ if(aa[i]._rnasecstr != null){
+ rnastruc=aa[i].getRNAStruc();
+ break;
+ }
+ }
+ //TODO: make rnastrucF a bit more nice
+ final String rnastrucF=rnastruc;
+ menuItem = new JMenuItem();
+ menuItem.setText("RNA structure");
+ menuItem.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ System.out.println("Call Varna "+seq.getSequenceAsString()+" "+seq.getName());
+ //TODO: VARNA does'nt print gaps in the sequence
+ new AppVarna(seq.getSequenceAsString(),rnastrucF,seq.getName());
+ }
+ });
+ viewStructureMenu.add(menuItem);
+ }
menuItem = new JMenuItem("Hide Sequences");
menuItem.addActionListener(new java.awt.event.ActionListener()