// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
//
// Contact: phylosoft @ gmail . com
-// WWW: www.phylosoft.org/forester
+// WWW: https://sites.google.com/site/cmzmasek/home/software/forester
package org.forester.archaeopteryx;
import org.forester.archaeopteryx.tools.InferenceManager;
import org.forester.archaeopteryx.tools.ProcessPool;
import org.forester.archaeopteryx.tools.ProcessRunning;
+import org.forester.io.parsers.nhx.NHXParser.TAXONOMY_EXTRACTION;
import org.forester.phylogeny.Phylogeny;
import org.forester.phylogeny.PhylogenyNode;
-import org.forester.phylogeny.PhylogenyNodeI.NH_CONVERSION_SUPPORT_VALUE_STYLE;
+import org.forester.phylogeny.PhylogenyNode.NH_CONVERSION_SUPPORT_VALUE_STYLE;
import org.forester.phylogeny.data.Annotation;
import org.forester.phylogeny.data.NodeVisualization.NodeFill;
import org.forester.phylogeny.data.NodeVisualization.NodeShape;
JMenuItem _taxcolor_item;
JMenuItem _confcolor_item;
JMenuItem _color_rank_jmi;
- JMenuItem _infer_common_sn_names_item;
JMenuItem _collapse_species_specific_subtrees;
JMenuItem _collapse_below_threshold; //TODO implememt me
JMenuItem _obtain_detailed_taxonomic_information_jmi;
JMenuItem _obtain_detailed_taxonomic_information_deleting_jmi;
- JMenuItem _obtain_uniprot_seq_information_jmi;
+ JMenuItem _obtain_seq_information_jmi;
JMenuItem _move_node_names_to_tax_sn_jmi;
JMenuItem _move_node_names_to_seq_names_jmi;
JMenuItem _extract_tax_code_from_node_names_jmi;
JMenuItem _choose_pdf_width_mi;
// _ parsing
JCheckBoxMenuItem _internal_number_are_confidence_for_nh_parsing_cbmi;
- JCheckBoxMenuItem _extract_pfam_style_tax_codes_cbmi;
+ JRadioButtonMenuItem _extract_taxonomy_no_rbmi;
+ JRadioButtonMenuItem _extract_taxonomy_yes_rbmi;
+ JRadioButtonMenuItem _extract_taxonomy_pfam_rbmi;
JCheckBoxMenuItem _replace_underscores_cbmi;
JCheckBoxMenuItem _use_brackets_for_conf_in_nh_export_cbmi;
JCheckBoxMenuItem _use_internal_names_for_conf_in_nh_export_cbmi;
else if ( o == _color_rank_jmi ) {
colorRank();
}
- else if ( o == _infer_common_sn_names_item ) {
- if ( isSubtreeDisplayed() ) {
- return;
- }
- if ( getCurrentTreePanel() != null ) {
- getCurrentTreePanel().inferCommonPartOfScientificNames();
- }
- }
else if ( o == _collapse_species_specific_subtrees ) {
if ( isSubtreeDisplayed() ) {
return;
return _configuration;
}
+ /**
+ * This method returns the current external node data which
+ * has been selected by the user by clicking the "Return ..."
+ * menu item. This method is expected to be called from Javascript or
+ * something like it.
+ *
+ * @return current external node data as String
+ */
+ public String getCurrentExternalNodesDataBuffer() {
+ return getCurrentTreePanel().getCurrentExternalNodesDataBufferAsString();
+ }
+
+ public int getCurrentExternalNodesDataBufferChangeCounter() {
+ return getCurrentTreePanel().getCurrentExternalNodesDataBufferChangeCounter();
+ }
+
+ public int getCurrentExternalNodesDataBufferLength() {
+ return getCurrentTreePanel().getCurrentExternalNodesDataBufferAsString().length();
+ }
+
public InferenceManager getInferenceManager() {
return _inference_manager;
}
sb.append( "Website: " + Constants.PHYLOXML_WEB_SITE + "\n" );
sb.append( "Version: " + ForesterConstants.PHYLO_XML_VERSION + "\n" );
sb.append( "\n" );
- sb.append( "For more information: http://www.phylosoft.org/archaeopteryx/\n" );
+ sb.append( "For more information: https://sites.google.com/site/cmzmasek/home/software/archaeopteryx\n" );
sb.append( "Email: " + Constants.AUTHOR_EMAIL + "\n\n" );
TextFrame.instantiate( sb.toString(), "Help", _textframes );
}
&& _print_black_and_white_cbmi.isSelected() );
options.setInternalNumberAreConfidenceForNhParsing( ( _internal_number_are_confidence_for_nh_parsing_cbmi != null )
&& _internal_number_are_confidence_for_nh_parsing_cbmi.isSelected() );
- options.setExtractPfamTaxonomyCodesInNhParsing( ( _extract_pfam_style_tax_codes_cbmi != null )
- && _extract_pfam_style_tax_codes_cbmi.isSelected() );
+ if ( ( _extract_taxonomy_yes_rbmi != null ) && _extract_taxonomy_yes_rbmi.isSelected() ) {
+ options.setTaxonomyExtractio( TAXONOMY_EXTRACTION.YES );
+ }
+ else if ( ( _extract_taxonomy_pfam_rbmi != null ) && _extract_taxonomy_pfam_rbmi.isSelected() ) {
+ options.setTaxonomyExtractio( TAXONOMY_EXTRACTION.PFAM_STYLE_ONLY );
+ }
+ else if ( ( _extract_taxonomy_no_rbmi != null ) && _extract_taxonomy_no_rbmi.isSelected() ) {
+ options.setTaxonomyExtractio( TAXONOMY_EXTRACTION.NO );
+ }
options.setReplaceUnderscoresInNhParsing( ( _replace_underscores_cbmi != null )
&& _replace_underscores_cbmi.isSelected() );
options.setMatchWholeTermsOnly( ( _search_whole_words_only_cbmi != null )
}
final Phylogeny phy = getMainPanel().getCurrentPhylogeny();
if ( ( phy != null ) && !phy.isEmpty() ) {
- final JTextField xField = new JTextField( 10 );
- final JTextField yField = new JTextField( 20 );
- xField.setText( ForesterUtil.isEmpty( getPreviousNodeAnnotationReference() ) ? ""
+ final JTextField ref_field = new JTextField( 10 );
+ final JTextField desc_filed = new JTextField( 20 );
+ ref_field.setText( ForesterUtil.isEmpty( getPreviousNodeAnnotationReference() ) ? ""
: getPreviousNodeAnnotationReference() );
- final JPanel myPanel = new JPanel();
- myPanel.add( new JLabel( "Reference " ) );
- myPanel.add( xField );
- myPanel.add( Box.createHorizontalStrut( 15 ) );
- myPanel.add( new JLabel( "Description " ) );
- myPanel.add( yField );
+ final JPanel my_panel = new JPanel();
+ my_panel.add( new JLabel( "Reference " ) );
+ my_panel.add( ref_field );
+ my_panel.add( Box.createHorizontalStrut( 15 ) );
+ my_panel.add( new JLabel( "Description " ) );
+ my_panel.add( desc_filed );
final int result = JOptionPane.showConfirmDialog( null,
- myPanel,
+ my_panel,
"Enter the sequence annotation(s) for the "
+ nodes.size() + " selected nodes",
JOptionPane.OK_CANCEL_OPTION );
if ( result == JOptionPane.OK_OPTION ) {
- String ref = xField.getText();
- String desc = yField.getText();
- if ( ref != null ) {
+ String ref = ref_field.getText();
+ String desc = desc_filed.getText();
+ if ( !ForesterUtil.isEmpty( ref ) ) {
ref = ref.trim();
ref = ref.replaceAll( "\\s+", " " );
+ if ( ( ref.indexOf( ':' ) < 1 ) || ( ref.indexOf( ':' ) > ref.length() - 2 )
+ || ( ref.length() < 3 ) ) {
+ JOptionPane.showMessageDialog( this,
+ "Reference needs to be in the form of \"GO:1234567\"",
+ "Illegal Format for Annotation Reference",
+ JOptionPane.ERROR_MESSAGE );
+ return;
+ }
+ }
+ if ( ref != null ) {
+ setPreviousNodeAnnotationReference( ref );
}
if ( desc != null ) {
desc = desc.trim();
desc = desc.replaceAll( "\\s+", " " );
}
- if ( ref != null ) {
- setPreviousNodeAnnotationReference( ref );
- }
if ( !ForesterUtil.isEmpty( ref ) || !ForesterUtil.isEmpty( desc ) ) {
for( final Integer id : nodes ) {
final PhylogenyNode n = phy.getNode( id );
n.getNodeData().getSequence().addAnnotation( ann );
}
}
+ getMainPanel().getControlPanel().showAnnotations();
}
}
}
}
- private String getPreviousNodeAnnotationReference() {
- return _previous_node_annotation_ref;
- }
-
- private void setPreviousNodeAnnotationReference( final String previous_node_annotation_ref ) {
- _previous_node_annotation_ref = previous_node_annotation_ref;
- }
-
private void chooseFont() {
final FontChooser fc = new FontChooser();
fc.setFont( getMainPanel().getTreeFontSet().getLargeFont() );
repaint();
}
+ private String getPreviousNodeAnnotationReference() {
+ return _previous_node_annotation_ref;
+ }
+
private void removeBranchColors() {
if ( getMainPanel().getCurrentPhylogeny() != null ) {
AptxUtil.removeBranchColors( getMainPanel().getCurrentPhylogeny() );
}
}
+ private void setPreviousNodeAnnotationReference( final String previous_node_annotation_ref ) {
+ _previous_node_annotation_ref = previous_node_annotation_ref;
+ }
+
/**
* Display the about box.
*/