From 3ce13fed094f2f10da69eb4f22ee6136af51c133 Mon Sep 17 00:00:00 2001 From: "cmzmasek@gmail.com" Date: Mon, 15 Dec 2014 23:19:02 +0000 Subject: [PATCH] domain + go output work begins --- .../org/forester/archaeopteryx/Configuration.java | 18 ++++++ .../org/forester/archaeopteryx/ControlPanel.java | 6 +- .../src/org/forester/archaeopteryx/Options.java | 2 +- .../src/org/forester/archaeopteryx/TreePanel.java | 62 ++++++++++---------- .../src/org/forester/phylogeny/data/NodeData.java | 6 +- 5 files changed, 58 insertions(+), 36 deletions(-) diff --git a/forester/java/src/org/forester/archaeopteryx/Configuration.java b/forester/java/src/org/forester/archaeopteryx/Configuration.java index 2d09a77..a704125 100644 --- a/forester/java/src/org/forester/archaeopteryx/Configuration.java +++ b/forester/java/src/org/forester/archaeopteryx/Configuration.java @@ -1466,6 +1466,24 @@ public final class Configuration { else if ( s.equalsIgnoreCase( "user_selected" ) ) { setExtDescNodeDataToReturn( NODE_DATA.UNKNOWN ); } + // + else if ( s.equalsIgnoreCase( "horseshit" ) ) { + setExtDescNodeDataToReturn( NODE_DATA.CRAP ); + } + else if ( s.equalsIgnoreCase( "horseshit" ) ) { + setExtDescNodeDataToReturn( NODE_DATA.CRAP ); + } + else if ( s.equalsIgnoreCase( "horseshit" ) ) { + setExtDescNodeDataToReturn( NODE_DATA.CRAP ); + } + else if ( s.equalsIgnoreCase( "horseshit" ) ) { + setExtDescNodeDataToReturn( NODE_DATA.CRAP ); + } + // + + + + else { ForesterUtil.printWarningMessage( Constants.PRG_NAME, "unknown value [" + s + "] for [ext_descendents_data_to_return]" ); diff --git a/forester/java/src/org/forester/archaeopteryx/ControlPanel.java b/forester/java/src/org/forester/archaeopteryx/ControlPanel.java index 26d5c6b..9002ece 100644 --- a/forester/java/src/org/forester/archaeopteryx/ControlPanel.java +++ b/forester/java/src/org/forester/archaeopteryx/ControlPanel.java @@ -290,11 +290,11 @@ final class ControlPanel extends JPanel implements ActionListener { displayedPhylogenyMightHaveChanged( true ); } else if ( e.getSource() == _decr_domain_structure_evalue_thr ) { - _mainpanel.getCurrentTreePanel().decreaseDomainStructureEvalueThreshold(); + _mainpanel.getCurrentTreePanel().decreaseDomainStructureEvalueThresholdExp(); displayedPhylogenyMightHaveChanged( true ); } else if ( e.getSource() == _incr_domain_structure_evalue_thr ) { - _mainpanel.getCurrentTreePanel().increaseDomainStructureEvalueThreshold(); + _mainpanel.getCurrentTreePanel().increaseDomainStructureEvalueThresholdExp(); displayedPhylogenyMightHaveChanged( true ); } else if ( e.getSource() == _search_tf_0 ) { @@ -1616,7 +1616,7 @@ final class ControlPanel extends JPanel implements ActionListener { void updateDomainStructureEvaluethresholdDisplay() { if ( _domain_structure_evalue_thr_tf != null ) { _domain_structure_evalue_thr_tf.setText( "10^" - + getMainPanel().getCurrentTreePanel().getDomainStructureEvalueThreshold() ); + + getMainPanel().getCurrentTreePanel().getDomainStructureEvalueThresholdExp() ); } } diff --git a/forester/java/src/org/forester/archaeopteryx/Options.java b/forester/java/src/org/forester/archaeopteryx/Options.java index 8130013..dd3a6bc 100644 --- a/forester/java/src/org/forester/archaeopteryx/Options.java +++ b/forester/java/src/org/forester/archaeopteryx/Options.java @@ -94,7 +94,7 @@ final public class Options { } public NodeData.NODE_DATA getExtDescNodeDataToReturn() { - return NodeData.NODE_DATA.DOMAINS; + return NodeData.NODE_DATA.DOMAINS_ALL; // TODO fix me // FIXME remove me // ~~~~~~ diff --git a/forester/java/src/org/forester/archaeopteryx/TreePanel.java b/forester/java/src/org/forester/archaeopteryx/TreePanel.java index c100ec5..a32284e 100644 --- a/forester/java/src/org/forester/archaeopteryx/TreePanel.java +++ b/forester/java/src/org/forester/archaeopteryx/TreePanel.java @@ -944,7 +944,7 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee repaint(); } - final void decreaseDomainStructureEvalueThreshold() { + final void decreaseDomainStructureEvalueThresholdExp() { if ( _domain_structure_e_value_thr_exp > -20 ) { _domain_structure_e_value_thr_exp -= 1; } @@ -991,7 +991,7 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee return _current_external_nodes_data_buffer_change_counter; } - final int getDomainStructureEvalueThreshold() { + final int getDomainStructureEvalueThresholdExp() { return _domain_structure_e_value_thr_exp; } @@ -1079,7 +1079,7 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee return _y_distance; } - final void increaseDomainStructureEvalueThreshold() { + final void increaseDomainStructureEvalueThresholdExp() { if ( _domain_structure_e_value_thr_exp < 3 ) { _domain_structure_e_value_thr_exp += 1; } @@ -3599,6 +3599,14 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee return "Taxonomy Codes"; case TAXONOMY_COMM0N_NAME: return "Taxonomy Common Names"; + case DOMAINS_ALL: + return "Domains [E-value threshold: " + Math.pow( 10, getDomainStructureEvalueThresholdExp() ) + "]"; + case DOMAINS_COLLAPSED_PER_PROTEIN: + return "Domains [collapsed per protein, E-value threshold: " + Math.pow( 10, getDomainStructureEvalueThresholdExp() ) + "]"; + case GO_ANNOTATIONS: + return "Go Annotations"; + case GO_ANNOTATIONS_WITH_COUNTS: + return "Go Annotations [with counts]"; case UNKNOWN: return "User Selected Data"; default: @@ -5495,9 +5503,6 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee private void showExtDescNodeData( final PhylogenyNode node ) { final List data = new ArrayList(); - final SortedMap string_int_map = new TreeMap(); - - final List nodes = node.getAllExternalDescendants(); if ( ( getFoundNodes0() != null ) || ( getFoundNodes1() != null ) ) { for( final PhylogenyNode n : getFoundNodesAsListOfPhylogenyNodes() ) { @@ -5614,32 +5619,37 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee data.add( n.getNodeData().getTaxonomy().getTaxonomyCode() ); } break; - case DOMAINS: + case DOMAINS_ALL: + case DOMAINS_COLLAPSED_PER_PROTEIN: if ( n.getNodeData().isHasSequence() && n.getNodeData().getSequence().getDomainArchitecture() != null ) { final DomainArchitecture da = n.getNodeData().getSequence().getDomainArchitecture(); + final Set s = new HashSet(); for( int i = 0; i < da.getDomains().size(); ++i ) { final ProteinDomain d = da.getDomain( i ); - if ( d.getConfidence() < 1 ) { - String dn = d.getName(); - if ( !string_int_map.containsKey( dn ) ) { - string_int_map.put( dn, 1 ); + if ( d.getConfidence() <= Math.pow( 10, getDomainStructureEvalueThresholdExp() ) ) { + final String name = d.getName(); + if ( !( s.contains( name ) ) ) { + data.add( name ); + if ( getOptions().getExtDescNodeDataToReturn() == NODE_DATA.DOMAINS_COLLAPSED_PER_PROTEIN ) { + s.add( name ); + } } - else { - string_int_map.put( dn, string_int_map.get( dn ) + 1 ); - } - } - } } break; case GO_ANNOTATIONS: if ( n.getNodeData().isHasSequence() ) { - //TODO do something clever + if ( n.getNodeData().isHasSequence() + && n.getNodeData().getSequence().getAnnotations() != null ) { + final SortedSet a = n.getNodeData().getSequence().getAnnotations(); + for( int i = 0; i < a.size(); ++i ) { + data.add( n.getNodeData().getSequence().getAnnotation( i ).toString() ); + } + } } - break; - + break; case UNKNOWN: TreePanelUtil.showExtDescNodeDataUserSelectedHelper( getControlPanel(), n, data ); break; @@ -5648,18 +5658,10 @@ public final class TreePanel extends JPanel implements ActionListener, MouseWhee + getOptions().getExtDescNodeDataToReturn() ); } } // for loop - /////////////////////////////////////////////////////// - //TODO remove me - if ( string_int_map != null ) { - for( final Object key : string_int_map.keySet() ) { - System.out.print( key.toString() ); - System.out.print( ": " ); - System.out.print( string_int_map.get( key ).toString() ); - System.out.println(); - } - } - /////////////////////////////////////////////////////// + final StringBuilder sb = new StringBuilder(); + + final int size = TreePanelUtil.makeSB( data, getOptions(), sb ); if ( ( getConfiguration().getExtNodeDataReturnOn() == EXT_NODE_DATA_RETURN_ON.CONSOLE ) || ( getConfiguration().getExtNodeDataReturnOn() == EXT_NODE_DATA_RETURN_ON.BUFFER_ONLY ) ) { diff --git a/forester/java/src/org/forester/phylogeny/data/NodeData.java b/forester/java/src/org/forester/phylogeny/data/NodeData.java index 4cdf9b3..9dd14e7 100644 --- a/forester/java/src/org/forester/phylogeny/data/NodeData.java +++ b/forester/java/src/org/forester/phylogeny/data/NodeData.java @@ -51,8 +51,10 @@ public class NodeData implements PhylogenyData { TAXONOMY_COMM0N_NAME, TAXONOMY_CODE, UNKNOWN, - DOMAINS, - GO_ANNOTATIONS; + GO_ANNOTATIONS, + GO_ANNOTATIONS_WITH_COUNTS, + DOMAINS_ALL, + DOMAINS_COLLAPSED_PER_PROTEIN; } private String _node_name; private Event _event; -- 1.7.10.2