iterating nh parser
[jalview.git] / forester / java / src / org / forester / archaeopteryx / MainFrame.java
index 89184ef..dc081fa 100644 (file)
@@ -20,7 +20,7 @@
 // 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;
 
@@ -58,6 +58,7 @@ import org.forester.archaeopteryx.Options.PHYLOGENY_GRAPHICS_TYPE;
 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.PhylogenyNode.NH_CONVERSION_SUPPORT_VALUE_STYLE;
@@ -185,7 +186,9 @@ public abstract class MainFrame extends JFrame implements ActionListener {
     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;
@@ -486,6 +489,26 @@ public abstract class MainFrame extends JFrame implements ActionListener {
         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;
     }
@@ -866,7 +889,7 @@ public abstract class MainFrame extends JFrame implements ActionListener {
         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 );
     }
@@ -1096,8 +1119,15 @@ public abstract class MainFrame extends JFrame implements ActionListener {
                 && _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 )
@@ -1256,14 +1286,6 @@ public abstract class MainFrame extends JFrame implements ActionListener {
         }
     }
 
-    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() );
@@ -1328,12 +1350,20 @@ public abstract class MainFrame extends JFrame implements ActionListener {
         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.
      */