in progress
[jalview.git] / forester / java / src / org / forester / archaeopteryx / MainFrameApplication.java
index 6b2c76c..8ede385 100644 (file)
@@ -63,7 +63,6 @@ import org.forester.analysis.TaxonomyDataManager;
 import org.forester.archaeopteryx.Options.CLADOGRAM_TYPE;\r
 import org.forester.archaeopteryx.Options.NODE_LABEL_DIRECTION;\r
 import org.forester.archaeopteryx.Options.PHYLOGENY_GRAPHICS_TYPE;\r
-import org.forester.archaeopteryx.tools.AncestralTaxonomyInferrer;\r
 import org.forester.archaeopteryx.tools.InferenceManager;\r
 import org.forester.archaeopteryx.tools.PhyloInferenceDialog;\r
 import org.forester.archaeopteryx.tools.PhylogeneticInferenceOptions;\r
@@ -105,13 +104,11 @@ import org.forester.util.ForesterUtil;
 \r
 public final class MainFrameApplication extends MainFrame {\r
 \r
-    static final String                  INFER_ANCESTOR_TAXONOMIES             = "Infer Ancestor Taxonomies";\r
-    static final String                  OBTAIN_DETAILED_TAXONOMIC_INFORMATION = "Obtain Detailed Taxonomic Information";\r
-    private final static int             FRAME_X_SIZE                          = 800;\r
-    private final static int             FRAME_Y_SIZE                          = 800;\r
+    private final static int             FRAME_X_SIZE                    = 800;\r
+    private final static int             FRAME_Y_SIZE                    = 800;\r
     // Filters for the file-open dialog (classes defined in this file)\r
-    private static final long            serialVersionUID                      = -799735726778865234L;\r
-    private static final boolean         PREPROCESS_TREES                      = false;\r
+    private static final long            serialVersionUID                = -799735726778865234L;\r
+    private static final boolean         PREPROCESS_TREES                = false;\r
     private final JFileChooser           _values_filechooser;\r
     private final JFileChooser           _sequences_filechooser;\r
     private final JFileChooser           _open_filechooser;\r
@@ -124,18 +121,18 @@ public final class MainFrameApplication extends MainFrame {
     private ButtonGroup                  _radio_group_1;\r
     private ButtonGroup                  _radio_group_2;\r
     // Others:\r
-    double                               _min_not_collapse                     = Constants.MIN_NOT_COLLAPSE_DEFAULT;\r
-    double                               _min_not_collapse_bl                  = 0.001;\r
+    double                               _min_not_collapse               = Constants.MIN_NOT_COLLAPSE_DEFAULT;\r
+    double                               _min_not_collapse_bl            = 0.001;\r
     // Phylogeny Inference menu\r
     private JMenu                        _inference_menu;\r
     private JMenuItem                    _inference_from_msa_item;\r
     private JMenuItem                    _inference_from_seqs_item;\r
     // Phylogeny Inference\r
-    private PhylogeneticInferenceOptions _phylogenetic_inference_options       = null;\r
-    private Msa                          _msa                                  = null;\r
-    private File                         _msa_file                             = null;\r
-    private List<MolecularSequence>      _seqs                                 = null;\r
-    private File                         _seqs_file                            = null;\r
+    private PhylogeneticInferenceOptions _phylogenetic_inference_options = null;\r
+    private Msa                          _msa                            = null;\r
+    private File                         _msa_file                       = null;\r
+    private List<MolecularSequence>      _seqs                           = null;\r
+    private File                         _seqs_file                      = null;\r
     JMenuItem                            _read_values_jmi;\r
     JMenuItem                            _read_seqs_jmi;\r
 \r
@@ -244,14 +241,12 @@ public final class MainFrameApplication extends MainFrame {
         setOptions( Options.createInstance( _configuration ) );\r
         setInferenceManager( InferenceManager.createInstance( _configuration ) );\r
         setPhylogeneticInferenceOptions( PhylogeneticInferenceOptions.createInstance( _configuration ) );\r
-        //     _textframe = null; #~~~~\r
         // set title\r
         setTitle( Constants.PRG_NAME + " " + Constants.VERSION + " (" + Constants.PRG_DATE + ")" );\r
         _mainpanel = new MainPanel( _configuration, this );\r
         // The file dialogs\r
         _open_filechooser = new JFileChooser();\r
-        _open_filechooser.setCurrentDirectory( new File( "." ) );\r
-        _open_filechooser.setMultiSelectionEnabled( false );\r
+        _open_filechooser.setMultiSelectionEnabled( true );\r
         _open_filechooser.addChoosableFileFilter( MainFrame.xmlfilter );\r
         _open_filechooser.addChoosableFileFilter( MainFrame.nhxfilter );\r
         _open_filechooser.addChoosableFileFilter( MainFrame.nhfilter );\r
@@ -260,44 +255,41 @@ public final class MainFrameApplication extends MainFrame {
         _open_filechooser.addChoosableFileFilter( _open_filechooser.getAcceptAllFileFilter() );\r
         _open_filechooser.setFileFilter( MainFrame.defaultfilter );\r
         _open_filechooser_for_species_tree = new JFileChooser();\r
-        _open_filechooser_for_species_tree.setCurrentDirectory( new File( "." ) );\r
         _open_filechooser_for_species_tree.setMultiSelectionEnabled( false );\r
         _open_filechooser_for_species_tree.addChoosableFileFilter( MainFrame.xmlfilter );\r
         _open_filechooser_for_species_tree.addChoosableFileFilter( MainFrame.tolfilter );\r
         _open_filechooser_for_species_tree.setFileFilter( MainFrame.xmlfilter );\r
-        _save_filechooser = new JFileChooser();\r
-        _save_filechooser.setCurrentDirectory( new File( "." ) );\r
-        _save_filechooser.setMultiSelectionEnabled( false );\r
-        _save_filechooser.setFileFilter( MainFrame.xmlfilter );\r
-        _save_filechooser.addChoosableFileFilter( MainFrame.nhfilter );\r
-        _save_filechooser.addChoosableFileFilter( MainFrame.nexusfilter );\r
-        _save_filechooser.addChoosableFileFilter( _save_filechooser.getAcceptAllFileFilter() );\r
-        _writetopdf_filechooser = new JFileChooser();\r
-        _writetopdf_filechooser.addChoosableFileFilter( MainFrame.pdffilter );\r
-        _writetographics_filechooser = new JFileChooser();\r
-        _writetographics_filechooser.addChoosableFileFilter( MainFrame.graphicsfilefilter );\r
         // Msa:\r
         _msa_filechooser = new JFileChooser();\r
         _msa_filechooser.setName( "Read Multiple Sequence Alignment File" );\r
-        _msa_filechooser.setCurrentDirectory( new File( "." ) );\r
         _msa_filechooser.setMultiSelectionEnabled( false );\r
         _msa_filechooser.addChoosableFileFilter( _msa_filechooser.getAcceptAllFileFilter() );\r
         _msa_filechooser.addChoosableFileFilter( MainFrame.msafilter );\r
         // Seqs:\r
         _seqs_pi_filechooser = new JFileChooser();\r
         _seqs_pi_filechooser.setName( "Read Sequences File" );\r
-        _seqs_pi_filechooser.setCurrentDirectory( new File( "." ) );\r
         _seqs_pi_filechooser.setMultiSelectionEnabled( false );\r
         _seqs_pi_filechooser.addChoosableFileFilter( _seqs_pi_filechooser.getAcceptAllFileFilter() );\r
         _seqs_pi_filechooser.addChoosableFileFilter( MainFrame.seqsfilter );\r
         // Expression\r
         _values_filechooser = new JFileChooser();\r
-        _values_filechooser.setCurrentDirectory( new File( "." ) );\r
         _values_filechooser.setMultiSelectionEnabled( false );\r
         // Sequences\r
         _sequences_filechooser = new JFileChooser();\r
-        _sequences_filechooser.setCurrentDirectory( new File( "." ) );\r
         _sequences_filechooser.setMultiSelectionEnabled( false );\r
+        try {\r
+            final String home_dir = System.getProperty( "user.home" );\r
+            _open_filechooser.setCurrentDirectory( new File( home_dir ) );\r
+            _open_filechooser_for_species_tree.setCurrentDirectory( new File( home_dir ) );\r
+            _msa_filechooser.setCurrentDirectory( new File( home_dir ) );\r
+            _seqs_pi_filechooser.setCurrentDirectory( new File( home_dir ) );\r
+            _values_filechooser.setCurrentDirectory( new File( home_dir ) );\r
+            _sequences_filechooser.setCurrentDirectory( new File( home_dir ) );\r
+        }\r
+        catch ( final Exception e ) {\r
+            e.printStackTrace();\r
+            // Do nothing. Not important.\r
+        }\r
         // build the menu bar\r
         _jmenubar = new JMenuBar();\r
         if ( !_configuration.isUseNativeUI() ) {\r
@@ -409,16 +401,6 @@ public final class MainFrameApplication extends MainFrame {
             else if ( o == _load_species_tree_item ) {\r
                 readSpeciesTreeFromFile();\r
             }\r
-            else if ( o == _lineage_inference ) {\r
-                if ( isSubtreeDisplayed() ) {\r
-                    JOptionPane.showMessageDialog( this,\r
-                                                   "Subtree is shown.",\r
-                                                   "Cannot infer ancestral taxonomies",\r
-                                                   JOptionPane.ERROR_MESSAGE );\r
-                    return;\r
-                }\r
-                executeLineageInference();\r
-            }\r
             else if ( o == _obtain_detailed_taxonomic_information_jmi ) {\r
                 if ( isSubtreeDisplayed() ) {\r
                     return;\r
@@ -1440,7 +1422,6 @@ public final class MainFrameApplication extends MainFrame {
         Phylogeny[] phys = null;\r
         // Set an initial directory if none set yet\r
         final File my_dir = getCurrentDir();\r
-        _open_filechooser.setMultiSelectionEnabled( true );\r
         // Open file-open dialog and set current directory\r
         if ( my_dir != null ) {\r
             _open_filechooser.setCurrentDirectory( my_dir );\r
@@ -2094,24 +2075,6 @@ public final class MainFrameApplication extends MainFrame {
         exit();\r
     }\r
 \r
-    void executeLineageInference() {\r
-        if ( ( _mainpanel.getCurrentPhylogeny() == null ) || ( _mainpanel.getCurrentPhylogeny().isEmpty() ) ) {\r
-            return;\r
-        }\r
-        if ( !_mainpanel.getCurrentPhylogeny().isRooted() ) {\r
-            JOptionPane.showMessageDialog( this,\r
-                                           "Phylogeny is not rooted.",\r
-                                           "Cannot infer ancestral taxonomies",\r
-                                           JOptionPane.ERROR_MESSAGE );\r
-            return;\r
-        }\r
-        final AncestralTaxonomyInferrer inferrer = new AncestralTaxonomyInferrer( this,\r
-                                                                                  _mainpanel.getCurrentTreePanel(),\r
-                                                                                  _mainpanel.getCurrentPhylogeny()\r
-                                                                                  .copy() );\r
-        new Thread( inferrer ).start();\r
-    }\r
-\r
     void exit() {\r
         removeAllTextFrames();\r
         _mainpanel.terminate();\r