X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Farchaeopteryx%2FTreePanel.java;h=971afb342a8cb5614a02357ca6101c8bd910afca;hb=9f327d05d2ab16fe5c0eccb2c342ba6762560ae3;hp=3f6496b657801c77783c5e3133584ce84d1e54c3;hpb=825120e331e7944f5f2498e72c58402f5fc6442a;p=jalview.git diff --git a/forester/java/src/org/forester/archaeopteryx/TreePanel.java b/forester/java/src/org/forester/archaeopteryx/TreePanel.java index 3f6496b..971afb3 100644 --- a/forester/java/src/org/forester/archaeopteryx/TreePanel.java +++ b/forester/java/src/org/forester/archaeopteryx/TreePanel.java @@ -173,6 +173,7 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee 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 static final String SHOW_ONLY_THIS_CONF_TYPE = "posterior probability"; //TODO remove me HashMap _nodeid_dist_to_leaf = new HashMap(); final private Arc2D _arc = new Arc2D.Double(); private AffineTransform _at; @@ -1044,7 +1045,7 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee } final Color getTaxonomyBasedColor( final PhylogenyNode node ) { - if ( node.getNodeData().isHasTaxonomy() ) { + if ( node.isExternal() && node.getNodeData().isHasTaxonomy() ) { return calculateTaxonomyBasedColor( node.getNodeData().getTaxonomy() ); } // return non-colorized color @@ -2854,13 +2855,19 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee final List additional_nodes = new ArrayList(); if ( getFoundNodes0() != null ) { for( final Long id : getFoundNodes0() ) { - additional_nodes.add( _phylogeny.getNode( id ) ); + final PhylogenyNode n = _phylogeny.getNode( id ); + if ( n != null ) { + additional_nodes.add( n ); + } } } if ( getFoundNodes1() != null ) { for( final Long id : getFoundNodes1() ) { if ( ( getFoundNodes0() == null ) || !getFoundNodes0().contains( id ) ) { - additional_nodes.add( _phylogeny.getNode( id ) ); + final PhylogenyNode n = _phylogeny.getNode( id ); + if ( n != null ) { + additional_nodes.add( n ); + } } } } @@ -4042,26 +4049,30 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee Collections.sort( confidences ); final StringBuilder sb = new StringBuilder(); for( final Confidence confidence : confidences ) { - final double value = confidence.getValue(); - if ( value != Confidence.CONFIDENCE_DEFAULT_VALUE ) { - if ( value < getOptions().getMinConfidenceValue() ) { - return; - } - if ( not_first ) { - sb.append( "/" ); - } - else { - not_first = true; - } - sb.append( FORMATTER_CONFIDENCE.format( ForesterUtil.round( value, getOptions() - .getNumberOfDigitsAfterCommaForConfidenceValues() ) ) ); - if ( getOptions().isShowConfidenceStddev() ) { - if ( confidence.getStandardDeviation() != Confidence.CONFIDENCE_DEFAULT_VALUE ) { - sb.append( "(" ); - sb.append( FORMATTER_CONFIDENCE.format( ForesterUtil.round( confidence.getStandardDeviation(), - getOptions() - .getNumberOfDigitsAfterCommaForConfidenceValues() ) ) ); - sb.append( ")" ); + if ( ForesterUtil.isEmpty( SHOW_ONLY_THIS_CONF_TYPE ) + || ( !ForesterUtil.isEmpty( confidence.getType() ) && confidence.getType() + .equalsIgnoreCase( SHOW_ONLY_THIS_CONF_TYPE ) ) ) { + final double value = confidence.getValue(); + if ( value != Confidence.CONFIDENCE_DEFAULT_VALUE ) { + if ( value < getOptions().getMinConfidenceValue() ) { + return; + } + if ( not_first ) { + sb.append( "/" ); + } + else { + not_first = true; + } + sb.append( FORMATTER_CONFIDENCE.format( ForesterUtil.round( value, getOptions() + .getNumberOfDigitsAfterCommaForConfidenceValues() ) ) ); + if ( getOptions().isShowConfidenceStddev() ) { + if ( confidence.getStandardDeviation() != Confidence.CONFIDENCE_DEFAULT_VALUE ) { + sb.append( "(" ); + sb.append( FORMATTER_CONFIDENCE.format( ForesterUtil.round( confidence + .getStandardDeviation(), getOptions() + .getNumberOfDigitsAfterCommaForConfidenceValues() ) ) ); + sb.append( ")" ); + } } } } @@ -4312,7 +4323,7 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee if ( isNodeDataInvisible( node ) && !to_graphics_file && !to_pdf ) { return 0; } - if ( getOptions().isShowBranchLengthValues() + if ( getControlPanel().isWriteBranchLengthValues() && ( ( getPhylogenyGraphicsType() == PHYLOGENY_GRAPHICS_TYPE.RECTANGULAR ) || ( getPhylogenyGraphicsType() == PHYLOGENY_GRAPHICS_TYPE.ROUNDED ) || ( getPhylogenyGraphicsType() == PHYLOGENY_GRAPHICS_TYPE.EURO_STYLE ) ) && ( !node.isRoot() ) && ( node.getDistanceToParent() != PhylogenyDataUtil.BRANCH_LENGTH_DEFAULT ) ) { @@ -4812,18 +4823,18 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee if ( getOptions().isRightLineUpDomains() ) { rds.render( ( float ) ( ( getMaxDistanceToRoot() * getXcorrectionFactor() ) + _length_of_longest_text + ( ( _longest_domain - rds.getTotalLength() ) * rds - .getRenderingFactorWidth() ) ), node.getYcoord() - ( h / 2 ), g, this, to_pdf ); + .getRenderingFactorWidth() ) ), node.getYcoord() - ( h / 2.0f ), g, this, to_pdf ); } else { rds.render( ( float ) ( ( getMaxDistanceToRoot() * getXcorrectionFactor() ) + _length_of_longest_text ), - node.getYcoord() - ( h / 2 ), + node.getYcoord() - ( h / 2.0f ), g, this, to_pdf ); } } else { - rds.render( node.getXcoord() + x, node.getYcoord() - ( h / 2 ), g, this, to_pdf ); + rds.render( node.getXcoord() + x, node.getYcoord() - ( h / 2.0f ), g, this, to_pdf ); } } else { @@ -4831,14 +4842,14 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee rds.render( ( ( getPhylogeny().getFirstExternalNode().getXcoord() + _length_of_longest_text ) - 20 ) + ( ( _longest_domain - rds.getTotalLength() ) * rds .getRenderingFactorWidth() ), - node.getYcoord() - ( h / 2 ), + node.getYcoord() - ( h / 2.0f ), g, this, to_pdf ); } else { rds.render( getPhylogeny().getFirstExternalNode().getXcoord() + _length_of_longest_text, - node.getYcoord() - ( h / 2 ), + node.getYcoord() - ( h / 2.0f ), g, this, to_pdf ); @@ -4873,7 +4884,7 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee && ( node.getNodeData().getSequence().isMolecularSequenceAligned() ) && ( !ForesterUtil.isEmpty( node.getNodeData().getSequence().getMolecularSequence() ) ) ) { final RenderableMsaSequence rs = RenderableMsaSequence.createInstance( node.getNodeData().getSequence() - .getMolecularSequence(), getConfiguration() ); + .getMolecularSequence(), node.getNodeData().getSequence().getType(), getConfiguration() ); if ( rs != null ) { final int default_height = 7; float y = getYdistance(); @@ -4883,18 +4894,15 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee final int h = y < default_height ? ForesterUtil.roundToInt( y ) : default_height; rs.setRenderingHeight( h > 1 ? h : 2 ); if ( getControlPanel().isDrawPhylogram() ) { - - rs.render( ( float ) ( ( getMaxDistanceToRoot() * getXcorrectionFactor() ) + _length_of_longest_text ), - node.getYcoord() - ( h / 2 ), - g, - this, - to_pdf ); - - + rs.render( ( float ) ( ( getMaxDistanceToRoot() * getXcorrectionFactor() ) + _length_of_longest_text ), + node.getYcoord() - ( h / 2.0f ), + g, + this, + to_pdf ); } else { rs.render( getPhylogeny().getFirstExternalNode().getXcoord() + _length_of_longest_text, - node.getYcoord() - ( h / 2 ), + node.getYcoord() - ( h / 2.0f ), g, this, to_pdf );