new AnnotationExporter().exportAnnotations(
alignPanel,
viewport.showAnnotation ? viewport.alignment.getAlignmentAnnotation() : null,
- viewport.alignment.getGroups()
+ viewport.alignment.getGroups(),
+ ((Alignment)viewport.alignment).alignmentProperties
);
}
alignPanel.setAnnotationVisible(annotationPanelMenuItem.isSelected());
}
+ public void alignmentProperties()
+ {
+ JEditorPane editPane = new JEditorPane("text/html","");
+ editPane.setEditable(false);
+ StringBuffer contents = new StringBuffer("<html>");
+
+ float avg = 0;
+ int min=Integer.MAX_VALUE, max=0;
+ for(int i=0; i<viewport.alignment.getHeight(); i++)
+ {
+ int size = viewport.alignment.getSequenceAt(i).getEnd()
+ -viewport.alignment.getSequenceAt(i).getStart();
+ avg += size;
+ if(size>max)
+ max = size;
+ if(size<min)
+ min = size;
+ }
+ avg = avg/(float)viewport.alignment.getHeight();
+
+ contents.append("<br>Sequences: "+ viewport.alignment.getHeight());
+ contents.append("<br>Minimum Sequence Length: "+min);
+ contents.append("<br>Maximum Sequence Length: "+max);
+ contents.append("<br>Average Length: "+(int)avg);
+
+ if (((Alignment)viewport.alignment).alignmentProperties != null)
+ {
+ Hashtable props = ((Alignment)viewport.alignment).alignmentProperties;
+ Enumeration en = props.keys();
+ contents.append("<br><br><table border=\"1\">");
+ while(en.hasMoreElements())
+ {
+ String key = en.nextElement().toString();
+ contents.append("<tr><td>"+key+"</td><td>"+props.get(key)+"</td></tr>");
+ }
+ contents.append("</table>");
+ }
+ editPane.setText(contents.toString()+"</html>");
+ JInternalFrame frame = new JInternalFrame();
+ frame.add(editPane);
+
+ Desktop.instance.addInternalFrame(frame,"Alignment Properties: "+getTitle(),500,400);
+ }
+
+
/**
* DOCUMENT ME!
*
protected JMenuItem gatherViews = new JMenuItem();\r
protected JMenuItem expandViews = new JMenuItem();\r
JMenuItem pageSetup = new JMenuItem();\r
+ JMenuItem alignmentProperties = new JMenuItem();\r
public GAlignFrame()\r
{\r
try\r
pageSetup_actionPerformed(e);\r
}\r
});\r
+ alignmentProperties.setText("Alignment Properties...");\r
+ alignmentProperties.addActionListener(new ActionListener()\r
+ {\r
+ public void actionPerformed(ActionEvent actionEvent)\r
+ {\r
+ alignmentProperties();\r
+ }\r
+ });\r
\r
alignFrameMenuBar.add(fileMenu);\r
alignFrameMenuBar.add(editMenu);\r
viewMenu.add(showSeqFeatures);\r
viewMenu.add(featureSettings);\r
viewMenu.addSeparator();\r
+ viewMenu.add(alignmentProperties);\r
+ viewMenu.addSeparator();\r
viewMenu.add(overviewMenuItem);\r
colourMenu.add(applyToAllGroups);\r
colourMenu.add(textColour);\r
{\r
\r
}\r
+\r
+ public void alignmentProperties()\r
+ {\r
+\r
+ }\r
}\r