From 3bbfdd2376af6df268814837b928065d7152b7b9 Mon Sep 17 00:00:00 2001 From: "cmzmasek@gmail.com" Date: Wed, 22 Jan 2014 00:43:09 +0000 Subject: [PATCH] cleanup --- .../src/org/forester/archaeopteryx/Constants.java | 4 +- .../org/forester/archaeopteryx/ControlPanel.java | 38 +- .../org/forester/archaeopteryx/TreeColorSet.java | 14 +- .../src/org/forester/archaeopteryx/TreePanel.java | 367 ++++++++++---------- .../org/forester/phylogeny/PhylogenyMethods.java | 3 +- 5 files changed, 204 insertions(+), 222 deletions(-) diff --git a/forester/java/src/org/forester/archaeopteryx/Constants.java b/forester/java/src/org/forester/archaeopteryx/Constants.java index beef3dc..ff9f835 100644 --- a/forester/java/src/org/forester/archaeopteryx/Constants.java +++ b/forester/java/src/org/forester/archaeopteryx/Constants.java @@ -42,8 +42,8 @@ public final class Constants { public final static boolean __SYNTH_LF = false; // TODO remove me public final static boolean ALLOW_DDBJ_BLAST = false; public final static String PRG_NAME = "Archaeopteryx"; - final static String VERSION = "0.9819 FX"; - final static String PRG_DATE = "140115"; + final static String VERSION = "0.984 FX"; + final static String PRG_DATE = "140121"; final static String DEFAULT_CONFIGURATION_FILE_NAME = "_aptx_configuration_file"; final static String[] DEFAULT_FONT_CHOICES = { "Arial", "Helvetica", "Verdana", "Tahoma", "Dialog", "Lucida Sans", "SansSerif", "Sans-serif", "Sans" }; diff --git a/forester/java/src/org/forester/archaeopteryx/ControlPanel.java b/forester/java/src/org/forester/archaeopteryx/ControlPanel.java index 9549aef..846c531 100644 --- a/forester/java/src/org/forester/archaeopteryx/ControlPanel.java +++ b/forester/java/src/org/forester/archaeopteryx/ControlPanel.java @@ -121,7 +121,13 @@ final class ControlPanel extends JPanel implements ActionListener { private int _paste_subtree_item; private int _reroot_cb_item; private JButton _return_to_super_tree; - + // Search + private JLabel _search_found_label_0; + private JLabel _search_found_label_1; + private JButton _search_reset_button_0; + private JButton _search_reset_button_1; + private JTextField _search_tf_0; + private JTextField _search_tf_1; private int _select_nodes_item; private Sequence _selected_query_seq; private JCheckBox _seq_relation_confidence_switch; @@ -129,14 +135,6 @@ final class ControlPanel extends JPanel implements ActionListener { private JCheckBox _show_annotation; private JCheckBox _show_binary_character_counts; private JCheckBox _show_binary_characters; - // Search - private JLabel _search_found_label_0; - private JButton _search_reset_button_0; - private JTextField _search_tf_0; - private JLabel _search_found_label_1; - private JButton _search_reset_button_1; - private JTextField _search_tf_1; - // Indices for the click-to options in the combo box private int _show_data_item; private JCheckBox _show_domain_architectures; @@ -761,7 +759,7 @@ final class ControlPanel extends JPanel implements ActionListener { JLabel getSearchFoundCountsLabel0() { return _search_found_label_0; } - + JLabel getSearchFoundCountsLabel1() { return _search_found_label_1; } @@ -769,7 +767,7 @@ final class ControlPanel extends JPanel implements ActionListener { JButton getSearchResetButton0() { return _search_reset_button_0; } - + JButton getSearchResetButton1() { return _search_reset_button_1; } @@ -777,7 +775,7 @@ final class ControlPanel extends JPanel implements ActionListener { JTextField getSearchTextField0() { return _search_tf_0; } - + JTextField getSearchTextField1() { return _search_tf_1; } @@ -908,8 +906,6 @@ final class ControlPanel extends JPanel implements ActionListener { if ( query != null ) { query = query.trim(); } - - if ( !ForesterUtil.isEmpty( query ) ) { search0( main_panel, tree, query ); } @@ -920,7 +916,7 @@ final class ControlPanel extends JPanel implements ActionListener { searchReset0(); } } - + void search1() { final MainPanel main_panel = getMainPanel(); final Phylogeny tree = main_panel.getCurrentPhylogeny(); @@ -931,7 +927,6 @@ final class ControlPanel extends JPanel implements ActionListener { if ( query != null ) { query = query.trim(); } - if ( !ForesterUtil.isEmpty( query ) ) { search1( main_panel, tree, query ); } @@ -942,15 +937,13 @@ final class ControlPanel extends JPanel implements ActionListener { searchReset1(); } } - - void searchReset0() { if ( getMainPanel().getCurrentTreePanel() != null ) { getMainPanel().getCurrentTreePanel().setFoundNodes0( null ); } } - + void searchReset1() { if ( getMainPanel().getCurrentTreePanel() != null ) { getMainPanel().getCurrentTreePanel().setFoundNodes1( null ); @@ -1213,7 +1206,7 @@ final class ControlPanel extends JPanel implements ActionListener { void setSearchFoundCountsOnLabel0( final int counts ) { getSearchFoundCountsLabel0().setText( "Found: " + counts ); } - + void setSearchFoundCountsOnLabel1( final int counts ) { getSearchFoundCountsLabel1().setText( "Found: " + counts ); } @@ -1409,8 +1402,7 @@ final class ControlPanel extends JPanel implements ActionListener { s_panel_2.add( _search_found_label_1 ); addJButton( _search_reset_button_1, s_panel_2 ); } - - + void showAnnotations() { if ( _show_annotation != null ) { _show_annotation.setSelected( true ); @@ -1780,7 +1772,7 @@ final class ControlPanel extends JPanel implements ActionListener { searchReset0(); } } - + private void search1( final MainPanel main_panel, final Phylogeny tree, final String query_str ) { getSearchFoundCountsLabel1().setVisible( true ); getSearchResetButton1().setEnabled( true ); diff --git a/forester/java/src/org/forester/archaeopteryx/TreeColorSet.java b/forester/java/src/org/forester/archaeopteryx/TreeColorSet.java index c127885..bcf2574 100644 --- a/forester/java/src/org/forester/archaeopteryx/TreeColorSet.java +++ b/forester/java/src/org/forester/archaeopteryx/TreeColorSet.java @@ -145,7 +145,7 @@ public final class TreeColorSet { new Color( 0, 255, 0 ), // box_color new Color( 0, 255, 0 ), // collapesed_fill_color new Color( 255, 0, 0 ), // found_color 0 - new Color( 0, 255, 0 ), // found_color 1 + new Color( 0, 255, 0 ), // found_color 1 new Color( 255, 255, 0 ), // found_color 1 + 2 new Color( 255, 0, 0 ), // duplication_box_color new Color( 0, 255, 0 ), // speciation_box_color @@ -259,7 +259,7 @@ public final class TreeColorSet { new Color( 77, 77, 255 ), // box_color new Color( 77, 77, 255 ), // collapsed_fill_color new Color( 243, 243, 21 ), // found_color 0 - new Color( 255,20, 147 ), // found_color 1 + new Color( 255, 20, 147 ), // found_color 1 new Color( 255, 255, 255 ), // found_color 1 + 2 new Color( 255, 0, 0 ), // duplication_box_color new Color( 0, 255, 0 ), // speciation_box_color @@ -375,11 +375,11 @@ public final class TreeColorSet { Color getFoundColor0() { return found_color_0; } - + Color getFoundColor1() { return found_color_1; } - + Color getFoundColor0and1() { return found_color_0_and_1; } @@ -444,12 +444,8 @@ public final class TreeColorSet { box_color = _color_schemes[ scheme ][ 7 ]; collapse_fill_color = _color_schemes[ scheme ][ 8 ]; found_color_0 = _color_schemes[ scheme ][ 9 ]; - found_color_1 = _color_schemes[ scheme ][ 10 ]; - - found_color_0_and_1 = _color_schemes[ scheme ][11 ]; - - + found_color_0_and_1 = _color_schemes[ scheme ][ 11 ]; dup_box_color = _color_schemes[ scheme ][ 12 ]; spec_box_color = _color_schemes[ scheme ][ 13 ]; duplication_or_specation_color = _color_schemes[ scheme ][ 14 ]; diff --git a/forester/java/src/org/forester/archaeopteryx/TreePanel.java b/forester/java/src/org/forester/archaeopteryx/TreePanel.java index 18b0df2..407633e 100644 --- a/forester/java/src/org/forester/archaeopteryx/TreePanel.java +++ b/forester/java/src/org/forester/archaeopteryx/TreePanel.java @@ -133,121 +133,120 @@ import org.forester.util.TaxonomyUtil; public final class TreePanel extends JPanel implements ActionListener, MouseWheelListener, Printable { - private static final BasicStroke STROKE_2 = new BasicStroke( 2f ); - private static final BasicStroke STROKE_1 = new BasicStroke( 1f ); - private static final BasicStroke STROKE_075 = new BasicStroke( 0.75f ); - private static final BasicStroke STROKE_05 = new BasicStroke( 0.5f ); - private static final BasicStroke STROKE_025 = new BasicStroke( 0.25f ); - private static final BasicStroke STROKE_01 = new BasicStroke( 0.1f ); - private static final BasicStroke STROKE_005 = new BasicStroke( 0.05f ); - private static final float PI = ( float ) ( Math.PI ); - private static final double TWO_PI = 2 * Math.PI; - private static final float ONEHALF_PI = ( float ) ( 1.5 * Math.PI ); - private static final float HALF_PI = ( float ) ( Math.PI / 2.0 ); - private static final float ANGLE_ROTATION_UNIT = ( float ) ( Math.PI / 32 ); - private static final short OV_BORDER = 10; - final static Cursor CUT_CURSOR = Cursor.getPredefinedCursor( Cursor.CROSSHAIR_CURSOR ); - final static Cursor MOVE_CURSOR = Cursor.getPredefinedCursor( Cursor.MOVE_CURSOR ); final static Cursor ARROW_CURSOR = Cursor.getPredefinedCursor( Cursor.DEFAULT_CURSOR ); + final static Cursor CUT_CURSOR = Cursor.getPredefinedCursor( Cursor.CROSSHAIR_CURSOR ); final static Cursor HAND_CURSOR = Cursor.getPredefinedCursor( Cursor.HAND_CURSOR ); + final static Cursor MOVE_CURSOR = Cursor.getPredefinedCursor( Cursor.MOVE_CURSOR ); final static Cursor WAIT_CURSOR = Cursor.getPredefinedCursor( Cursor.WAIT_CURSOR ); - private final static long serialVersionUID = -978349745916505029L; + final private static double _180_OVER_PI = 180.0 / Math.PI; + private static final float ANGLE_ROTATION_UNIT = ( float ) ( Math.PI / 32 ); + private final static int CONFIDENCE_LEFT_MARGIN = 4; private final static int EURO_D = 10; - private final static String NODE_POPMENU_NODE_CLIENT_PROPERTY = "node"; - private final static int MIN_ROOT_LENGTH = 3; - private final static int MAX_SUBTREES = 100; + private final static NumberFormat FORMATTER_BRANCH_LENGTH; + private final static NumberFormat FORMATTER_CONFIDENCE; + private static final float HALF_PI = ( float ) ( Math.PI / 2.0 ); + private final static int LIMIT_FOR_HQ_RENDERING = 2000; private final static int MAX_NODE_FRAMES = 10; + private final static int MAX_SUBTREES = 100; + private final static int MIN_ROOT_LENGTH = 3; private final static int MOVE = 20; - private final static NumberFormat FORMATTER_CONFIDENCE; - private final static NumberFormat FORMATTER_BRANCH_LENGTH; + private final static String NODE_POPMENU_NODE_CLIENT_PROPERTY = "node"; + private static final float ONEHALF_PI = ( float ) ( 1.5 * Math.PI ); + private static final short OV_BORDER = 10; + private static final float PI = ( float ) ( Math.PI ); + final private static Font POPUP_FONT = new Font( Configuration.getDefaultFontFamilyName(), + Font.PLAIN, + 12 ); + private static final float ROUNDED_D = 8; + private final static long serialVersionUID = -978349745916505029L; + private static final BasicStroke STROKE_005 = new BasicStroke( 0.05f ); + private static final BasicStroke STROKE_01 = new BasicStroke( 0.1f ); + private static final BasicStroke STROKE_025 = new BasicStroke( 0.25f ); + private static final BasicStroke STROKE_05 = new BasicStroke( 0.5f ); + private static final BasicStroke STROKE_075 = new BasicStroke( 0.75f ); + private static final BasicStroke STROKE_1 = new BasicStroke( 1f ); + private static final BasicStroke STROKE_2 = new BasicStroke( 2f ); + private static final double TWO_PI = 2 * Math.PI; private final static int WIGGLE = 2; - private final static int LIMIT_FOR_HQ_RENDERING = 2000; - private final static int CONFIDENCE_LEFT_MARGIN = 4; - private final RenderingHints _rendering_hints = new RenderingHints( RenderingHints.KEY_RENDERING, - RenderingHints.VALUE_RENDER_DEFAULT ); - private File _treefile = null; + HashMap _nodeid_dist_to_leaf = new HashMap(); + final private Arc2D _arc = new Arc2D.Double(); + private AffineTransform _at; + private int _circ_max_depth; + final private Set _collapsed_external_nodeid_set = new HashSet(); + private JColorChooser _color_chooser = null; private Configuration _configuration = null; - private final NodeFrame[] _node_frames = new NodeFrame[ TreePanel.MAX_NODE_FRAMES ]; - private int _node_frame_index = 0; - private Phylogeny _phylogeny = null; - private final Phylogeny[] _sub_phylogenies = new Phylogeny[ TreePanel.MAX_SUBTREES ]; - private final PhylogenyNode[] _sub_phylogenies_temp_roots = new PhylogenyNode[ TreePanel.MAX_SUBTREES ]; - private int _subtree_index = 0; - private MainPanel _main_panel = null; - private Set _found_nodes_0 = null; - private Set _found_nodes_1 = null; - - private PhylogenyNode _highlight_node = null; - private JPopupMenu _node_popup_menu = null; - private JMenuItem _node_popup_menu_items[] = null; - private int _longest_ext_node_info = 0; - private float _x_correction_factor = 0.0f; - private float _ov_x_correction_factor = 0.0f; - private float _x_distance = 0.0f; - private float _y_distance = 0.0f; - private PHYLOGENY_GRAPHICS_TYPE _graphics_type = PHYLOGENY_GRAPHICS_TYPE.RECTANGULAR; - private double _domain_structure_width = Constants.DOMAIN_STRUCTURE_DEFAULT_WIDTH; + private ControlPanel _control_panel = null; + private final CubicCurve2D _cubic_curve = new CubicCurve2D.Float(); + private Set _current_external_nodes = null; + private StringBuilder _current_external_nodes_data_buffer = new StringBuilder(); + private int _current_external_nodes_data_buffer_change_counter = 0; private int _domain_structure_e_value_thr_exp = Constants.DOMAIN_STRUCTURE_E_VALUE_THR_DEFAULT_EXP; + private double _domain_structure_width = Constants.DOMAIN_STRUCTURE_DEFAULT_WIDTH; + private int _dynamic_hiding_factor = 0; + private boolean _edited = false; + private final Ellipse2D _ellipse = new Ellipse2D.Float(); + private int _external_node_index = 0; + private Set _found_nodes_0 = null; + private Set _found_nodes_1 = null; + private final FontRenderContext _frc = new FontRenderContext( null, + false, + false ); + private PHYLOGENY_GRAPHICS_TYPE _graphics_type = PHYLOGENY_GRAPHICS_TYPE.RECTANGULAR; + private PhylogenyNode _highlight_node = null; + private boolean _in_ov = false; + private boolean _in_ov_rect = false; private float _last_drag_point_x = 0; private float _last_drag_point_y = 0; - private ControlPanel _control_panel = null; - private int _external_node_index = 0; - private final Path2D.Float _polygon = new Path2D.Float(); - private final StringBuilder _sb = new StringBuilder(); - private JColorChooser _color_chooser = null; - private double _scale_distance = 0.0; - private String _scale_label = null; - private final CubicCurve2D _cubic_curve = new CubicCurve2D.Float(); - private final QuadCurve2D _quad_curve = new QuadCurve2D.Float(); private final Line2D _line = new Line2D.Float(); - private final Ellipse2D _ellipse = new Ellipse2D.Float(); - private final Rectangle2D _rectangle = new Rectangle2D.Float(); + private int _longest_ext_node_info = 0; + private MainPanel _main_panel = null; + private double _max_distance_to_root = -1; + private Popup _node_desc_popup; + private int _node_frame_index = 0; + private final NodeFrame[] _node_frames = new NodeFrame[ TreePanel.MAX_NODE_FRAMES ]; + private JPopupMenu _node_popup_menu = null; + private JMenuItem _node_popup_menu_items[] = null; + private PhylogenyNode[] _nodes_in_preorder = null; private Options _options = null; - private float _ov_max_width = 0; private float _ov_max_height = 0; + private float _ov_max_width = 0; + private boolean _ov_on = false; + private final Rectangle2D _ov_rectangle = new Rectangle2D.Float(); + private final Rectangle _ov_virtual_rectangle = new Rectangle(); + private float _ov_x_correction_factor = 0.0f; + private float _ov_x_distance = 0; private int _ov_x_position = 0; + private float _ov_y_distance = 0; private int _ov_y_position = 0; private int _ov_y_start = 0; - private float _ov_y_distance = 0; - private float _ov_x_distance = 0; - private boolean _ov_on = false; - private double _urt_starting_angle = ( float ) ( Math.PI / 2 ); - private float _urt_factor = 1; - private float _urt_factor_ov = 1; private final boolean _phy_has_branch_lengths; - private final Rectangle2D _ov_rectangle = new Rectangle2D.Float(); - private boolean _in_ov_rect = false; - private boolean _in_ov = false; - private final Rectangle _ov_virtual_rectangle = new Rectangle(); - final private static double _180_OVER_PI = 180.0 / Math.PI; - private static final float ROUNDED_D = 8; - private int _circ_max_depth; - private PhylogenyNode _root; - final private Arc2D _arc = new Arc2D.Double(); - final private HashMap _urt_nodeid_angle_map = new HashMap(); - final private HashMap _urt_nodeid_index_map = new HashMap(); - final private Set _collapsed_external_nodeid_set = new HashSet(); - HashMap _nodeid_dist_to_leaf = new HashMap(); - private AffineTransform _at; - private double _max_distance_to_root = -1; - private int _dynamic_hiding_factor = 0; - private boolean _edited = false; - private Popup _node_desc_popup; - private JTextArea _rollover_popup; + private Phylogeny _phylogeny = null; + private final Path2D.Float _polygon = new Path2D.Float(); private final StringBuffer _popup_buffer = new StringBuffer(); - final private static Font POPUP_FONT = new Font( Configuration.getDefaultFontFamilyName(), - Font.PLAIN, - 12 ); + private final QuadCurve2D _quad_curve = new QuadCurve2D.Float(); private Sequence _query_sequence = null; - private final FontRenderContext _frc = new FontRenderContext( null, - false, - false ); + private final Rectangle2D _rectangle = new Rectangle2D.Float(); + private final RenderingHints _rendering_hints = new RenderingHints( RenderingHints.KEY_RENDERING, + RenderingHints.VALUE_RENDER_DEFAULT ); + private JTextArea _rollover_popup; + private PhylogenyNode _root; + private final StringBuilder _sb = new StringBuilder(); + private double _scale_distance = 0.0; + private String _scale_label = null; // expression values menu: private DescriptiveStatistics _statistics_for_vector_data; - private PhylogenyNode[] _nodes_in_preorder = null; - private StringBuilder _current_external_nodes_data_buffer = new StringBuilder(); - private int _current_external_nodes_data_buffer_change_counter = 0; - private Set _current_external_nodes = null; + private final Phylogeny[] _sub_phylogenies = new Phylogeny[ TreePanel.MAX_SUBTREES ]; + private final PhylogenyNode[] _sub_phylogenies_temp_roots = new PhylogenyNode[ TreePanel.MAX_SUBTREES ]; + private int _subtree_index = 0; + private File _treefile = null; + private float _urt_factor = 1; + private float _urt_factor_ov = 1; + final private HashMap _urt_nodeid_angle_map = new HashMap(); + final private HashMap _urt_nodeid_index_map = new HashMap(); + private double _urt_starting_angle = ( float ) ( Math.PI / 2 ); + private float _x_correction_factor = 0.0f; + private float _x_distance = 0.0f; + private float _y_distance = 0.0f; // private Image offscreenImage; // private Graphics offscreenGraphics; // private Dimension offscreenDimension; @@ -972,7 +971,7 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee final Set getFoundNodes0() { return _found_nodes_0; } - + final Set getFoundNodes1() { return _found_nodes_1; } @@ -1432,7 +1431,8 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee g ); paintNodeBox( c.getXcoord(), c.getYcoord(), c, g, to_pdf, to_graphics_file ); if ( c.isExternal() ) { - final boolean is_in_found_nodes = isInFoundNodes0( c ) || isInFoundNodes1( c ) || isInCurrentExternalNodes( c ); + final boolean is_in_found_nodes = isInFoundNodes0( c ) || isInFoundNodes1( c ) + || isInCurrentExternalNodes( c ); if ( ( _dynamic_hiding_factor > 1 ) && !is_in_found_nodes && ( ( _urt_nodeid_index_map.get( c.getId() ) % _dynamic_hiding_factor ) != 1 ) ) { return; @@ -1467,7 +1467,7 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee g.setColor( getTreeColorSet().getFoundColor1() ); drawRectFilled( c.getXSecondary() - 1, c.getYSecondary() - 1, 3, 3, g ); } - else if ( isInFoundNodes0( c ) && isInFoundNodes1( c ) ) { + else if ( isInFoundNodes0( c ) && isInFoundNodes1( c ) ) { g.setColor( getTreeColorSet().getFoundColor0and1() ); drawRectFilled( c.getXSecondary() - 1, c.getYSecondary() - 1, 3, 3, g ); } @@ -1507,10 +1507,6 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee paintNodeBox( _root.getXcoord(), _root.getYcoord(), _root, g, to_pdf, to_graphics_file ); } - private boolean isInFoundNodes( PhylogenyNode n ) { - return isInFoundNodes0( n ) || isInFoundNodes1( n ); - } - final void paintCircularLite( final Phylogeny phy, final double starting_angle, final int center_x, @@ -1865,7 +1861,7 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee final void setFoundNodes0( final Set found_nodes ) { _found_nodes_0 = found_nodes; } - + final void setFoundNodes1( final Set found_nodes ) { _found_nodes_1 = found_nodes; } @@ -2459,22 +2455,6 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee dialog.setVisible( true ); } - private List getFoundNodes0AsListOfPhylogenyNodes() { - final List additional_nodes = new ArrayList(); - for( final Long id : getFoundNodes0() ) { - additional_nodes.add( _phylogeny.getNode( id ) ); - } - return additional_nodes; - } - - private List getFoundNodes1AsListOfPhylogenyNodes() { - final List additional_nodes = new ArrayList(); - for( final Long id : getFoundNodes1() ) { - additional_nodes.add( _phylogeny.getNode( id ) ); - } - return additional_nodes; - } - final private void copySubtree( final PhylogenyNode node ) { if ( getPhylogenyGraphicsType() == PHYLOGENY_GRAPHICS_TYPE.UNROOTED ) { errorMessageNoCutCopyPasteInUnrootedDisplay(); @@ -2760,6 +2740,21 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee JOptionPane.ERROR_MESSAGE ); } + private final Color getColorForFoundNode( final PhylogenyNode n ) { + if ( isInCurrentExternalNodes( n ) ) { + return getTreeColorSet().getFoundColor0(); + } + else if ( isInFoundNodes0( n ) && !isInFoundNodes1( n ) ) { + return getTreeColorSet().getFoundColor0(); + } + else if ( !isInFoundNodes0( n ) && isInFoundNodes1( n ) ) { + return getTreeColorSet().getFoundColor1(); + } + else { + return getTreeColorSet().getFoundColor0and1(); + } + } + final private Set getCopiedAndPastedNodes() { return getMainPanel().getCopiedAndPastedNodes(); } @@ -2772,6 +2767,22 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee return getMainPanel().getCutOrCopiedTree(); } + private List getFoundNodes0AsListOfPhylogenyNodes() { + final List additional_nodes = new ArrayList(); + for( final Long id : getFoundNodes0() ) { + additional_nodes.add( _phylogeny.getNode( id ) ); + } + return additional_nodes; + } + + private List getFoundNodes1AsListOfPhylogenyNodes() { + final List additional_nodes = new ArrayList(); + for( final Long id : getFoundNodes1() ) { + additional_nodes.add( _phylogeny.getNode( id ) ); + } + return additional_nodes; + } + final private float getLastDragPointX() { return _last_drag_point_x; } @@ -2830,6 +2841,22 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee return _ov_y_start; } + final private List getPdbAccs( final PhylogenyNode node ) { + final List pdb_ids = new ArrayList(); + if ( node.getNodeData().isHasSequence() ) { + final Sequence seq = node.getNodeData().getSequence(); + if ( !ForesterUtil.isEmpty( seq.getCrossReferences() ) ) { + final SortedSet cross_refs = seq.getCrossReferences(); + for( final Accession acc : cross_refs ) { + if ( acc.getSource().equalsIgnoreCase( "pdb" ) ) { + pdb_ids.add( acc ); + } + } + } + } + return pdb_ids; + } + final private double getScaleDistance() { return _scale_distance; } @@ -2974,22 +3001,6 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee return null; } - final private List getPdbAccs( final PhylogenyNode node ) { - final List pdb_ids = new ArrayList(); - if ( node.getNodeData().isHasSequence() ) { - final Sequence seq = node.getNodeData().getSequence(); - if ( !ForesterUtil.isEmpty( seq.getCrossReferences() ) ) { - final SortedSet cross_refs = seq.getCrossReferences(); - for( final Accession acc : cross_refs ) { - if ( acc.getSource().equalsIgnoreCase( "pdb" ) ) { - pdb_ids.add( acc ); - } - } - } - } - return pdb_ids; - } - final private boolean isCanOpenTaxWeb( final PhylogenyNode node ) { if ( node.getNodeData().isHasTaxonomy() && ( ( !ForesterUtil.isEmpty( node.getNodeData().getTaxonomy().getScientificName() ) ) @@ -3008,10 +3019,14 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee return ( ( getCurrentExternalNodes() != null ) && getCurrentExternalNodes().contains( node.getId() ) ); } + private boolean isInFoundNodes( final PhylogenyNode n ) { + return isInFoundNodes0( n ) || isInFoundNodes1( n ); + } + final private boolean isInFoundNodes0( final PhylogenyNode node ) { return ( ( getFoundNodes0() != null ) && getFoundNodes0().contains( node.getId() ) ); } - + final private boolean isInFoundNodes1( final PhylogenyNode node ) { return ( ( getFoundNodes1() != null ) && getFoundNodes1().contains( node.getId() ) ); } @@ -3357,33 +3372,6 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee } } - final private void openSeqWeb( final PhylogenyNode node ) { - if ( ForesterUtil.isEmpty( isCanOpenSeqWeb( node ) ) ) { - cannotOpenBrowserWarningMessage( "sequence" ); - return; - } - final String uri_str = TreePanelUtil.createUriForSeqWeb( node, getConfiguration(), this ); - if ( !ForesterUtil.isEmpty( uri_str ) ) { - try { - AptxUtil.launchWebBrowser( new URI( uri_str ), - isApplet(), - isApplet() ? obtainApplet() : null, - "_aptx_seq" ); - } - catch ( final IOException e ) { - AptxUtil.showErrorMessage( this, e.toString() ); - e.printStackTrace(); - } - catch ( final URISyntaxException e ) { - AptxUtil.showErrorMessage( this, e.toString() ); - e.printStackTrace(); - } - } - else { - cannotOpenBrowserWarningMessage( "sequence" ); - } - } - final private void openPdbWeb( final PhylogenyNode node ) { final List pdb_ids = getPdbAccs( node ); if ( ForesterUtil.isEmpty( pdb_ids ) ) { @@ -3414,6 +3402,33 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee } } + final private void openSeqWeb( final PhylogenyNode node ) { + if ( ForesterUtil.isEmpty( isCanOpenSeqWeb( node ) ) ) { + cannotOpenBrowserWarningMessage( "sequence" ); + return; + } + final String uri_str = TreePanelUtil.createUriForSeqWeb( node, getConfiguration(), this ); + if ( !ForesterUtil.isEmpty( uri_str ) ) { + try { + AptxUtil.launchWebBrowser( new URI( uri_str ), + isApplet(), + isApplet() ? obtainApplet() : null, + "_aptx_seq" ); + } + catch ( final IOException e ) { + AptxUtil.showErrorMessage( this, e.toString() ); + e.printStackTrace(); + } + catch ( final URISyntaxException e ) { + AptxUtil.showErrorMessage( this, e.toString() ); + e.printStackTrace(); + } + } + else { + cannotOpenBrowserWarningMessage( "sequence" ); + } + } + final private void openTaxWeb( final PhylogenyNode node ) { if ( !isCanOpenTaxWeb( node ) ) { cannotOpenBrowserWarningMessage( "taxonomic" ); @@ -3880,35 +3895,15 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee } } - private final Color getColorForFoundNode( final PhylogenyNode n ) { - if ( isInCurrentExternalNodes( n ) ) { - return getTreeColorSet().getFoundColor0(); - } - else if ( isInFoundNodes0( n ) && !isInFoundNodes1( n ) ) { - return getTreeColorSet().getFoundColor0() ; - } - else if ( !isInFoundNodes0( n ) && isInFoundNodes1( n ) ) { - return getTreeColorSet().getFoundColor1() ; - } - else { - return getTreeColorSet().getFoundColor0and1() ; - } - } - - final private void paintFoundNode( final PhylogenyNode n, final double x, final double y, final Graphics2D g ) { final int box_size = getOptions().getDefaultNodeShapeSize(); final double half_box_size = getOptions().getDefaultNodeShapeSize() / 2.0; - - - - g.setColor( getColorForFoundNode( n ) ); //g.fillRect( x - half_box_size, y - half_box_size, box_size, box_size ); //TODO check me //FIXME - _rectangle.setRect( x - half_box_size, y - half_box_size, box_size, box_size ); - g.fill( _rectangle ); + _rectangle.setRect( x - half_box_size, y - half_box_size, box_size, box_size ); + g.fill( _rectangle ); } final private void paintGainedAndLostCharacters( final Graphics2D g, @@ -3961,7 +3956,7 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee drawOval( x - 9, y - 9, 18, 18, g ); } if ( isInFoundNodes( node ) || isInCurrentExternalNodes( node ) ) { - paintFoundNode( node, x , y , g ); + paintFoundNode( node, x, y, g ); } else { Color outline_color = null; @@ -4974,7 +4969,7 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee paintNodeBox( new_x, new_y, desc, g, to_pdf, to_graphics_file ); } if ( n.isRoot() ) { - paintNodeBox( n.getXcoord(), n.getYcoord(), n, g, to_pdf, to_graphics_file ); + paintNodeBox( n.getXcoord(), n.getYcoord(), n, g, to_pdf, to_graphics_file ); } } @@ -5744,9 +5739,9 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee final private class SubtreeColorizationActionListener implements ActionListener { + List _additional_nodes = null; JColorChooser _chooser = null; PhylogenyNode _node = null; - List _additional_nodes = null; SubtreeColorizationActionListener( final JColorChooser chooser, final PhylogenyNode node ) { _chooser = chooser; diff --git a/forester/java/src/org/forester/phylogeny/PhylogenyMethods.java b/forester/java/src/org/forester/phylogeny/PhylogenyMethods.java index f16c57b..a916d89 100644 --- a/forester/java/src/org/forester/phylogeny/PhylogenyMethods.java +++ b/forester/java/src/org/forester/phylogeny/PhylogenyMethods.java @@ -38,7 +38,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.regex.Matcher; import java.util.regex.Pattern; import org.forester.io.parsers.PhylogenyParser; @@ -1711,7 +1710,7 @@ public class PhylogenyMethods { return my_s.indexOf( my_query ) >= 0; } else { - return Pattern.compile( "(\\b|_)" + Pattern.quote(my_query) + "(\\b|_)").matcher( my_s ).find(); + return Pattern.compile( "(\\b|_)" + Pattern.quote( my_query ) + "(\\b|_)" ).matcher( my_s ).find(); } } -- 1.7.10.2