Further structure accessing feature
[jalview.git] / src / jalview / gui / PopupMenu.java
index 477136f..8197688 100644 (file)
@@ -69,6 +69,10 @@ public class PopupMenu extends JPopupMenu
   protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();
 
   protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();
+  
+  protected JRadioButtonMenuItem purinePyrimidineColour = new JRadioButtonMenuItem();
+  
+  //protected JRadioButtonMenuItem covariationColour = new JRadioButtonMenuItem();
 
   JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();
 
@@ -183,6 +187,8 @@ public class PopupMenu extends JPopupMenu
     colours.add(userDefinedColour);
     colours.add(PIDColour);
     colours.add(BLOSUM62Colour);
+    colours.add(purinePyrimidineColour);
+    //colours.add(covariationColour);
 
     for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++)
     {
@@ -247,10 +253,40 @@ public class PopupMenu extends JPopupMenu
         }
       }
       else
-      {
-        structureMenu.remove(viewStructureMenu);
+      {          
+        //JAN 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();
+         AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation();
+       
+
+         //for(int i=0; i<aa.length;i++){
+         final String rnastruc=aa[0].getRNAStruc();
+                 if(aa[0]._rnasecstr != null){
+                         System.out.println("Is RNA: "+aa[0].getRNAStruc()+" "+aa.length);
+                         
+                 }             
+         
+         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(),rnastruc,seqI.getName());
+               
+        }
+      });        
+      viewStructureMenu.add(menuItem);
+         
+      //}
+     
 
       menuItem = new JMenuItem("Hide Sequences");
       menuItem.addActionListener(new java.awt.event.ActionListener()
@@ -367,6 +403,14 @@ public class PopupMenu extends JPopupMenu
       {
         clustalColour.setSelected(true);
       }
+      else if (sg.cs instanceof PurinePyrimidineColourScheme)
+      {
+       purinePyrimidineColour.setSelected(true);
+      }
+     /* else if (sg.cs instanceof CovariationColourScheme)
+      {
+       covariationColour.setSelected(true);
+      }*/
       else
       {
         noColourmenuItem.setSelected(true);
@@ -995,6 +1039,8 @@ public class PopupMenu extends JPopupMenu
     colourMenu.add(turnColour);
     colourMenu.add(buriedColour);
     colourMenu.add(nucleotideMenuItem);
+    colourMenu.add(purinePyrimidineColour);
+    //colourMenu.add(covariationColour);
     colourMenu.add(userDefinedColour);
 
     if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)
@@ -1146,6 +1192,23 @@ public class PopupMenu extends JPopupMenu
         BLOSUM62Colour_actionPerformed();
       }
     });
+    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();
+      }
+    });*/
+    
     conservationMenuItem.setText("Conservation");
     conservationMenuItem
             .addActionListener(new java.awt.event.ActionListener()
@@ -1284,7 +1347,19 @@ public class PopupMenu extends JPopupMenu
     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();
+  }
+*/
   /**
    * DOCUMENT ME!
    *