From: Suzanna L. <su...@us...> - 2003-04-23 22:15:58
|
Update of /cvsroot/gmod/apollo/src/java/apollo/dataadapter/analysis In directory sc8-pr-cvs1:/tmp/cvs-serv6176/apollo/dataadapter/analysis Modified Files: AnalysisAdapter.java AnalysisInput.java AnalysisPanel.java BlastAnalysisPanel.java BlastParser.java Log Message: filtering of BLAST results now working on expect, score, percent_identity, and separating of HSPs into individual hits if so desired (for genome to genome analysis). few small changes to the gui (still needs history to be added). also moved PropertyScheme out of Config and into Style. This way it persists between opens. Before it was creating a new PropertyScheme and reparsing the tiers.dat file every single time something new was loaded. Needed to do this in preparation for layering of BLAST results which does not want to replaced the current set of tiers and types, but merely extend them. Now that the PropertyScheme is retained this is possible. Index: AnalysisAdapter.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/dataadapter/analysis/AnalysisAdapter.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AnalysisAdapter.java 23 Apr 2003 00:18:34 -0000 1.1 --- AnalysisAdapter.java 23 Apr 2003 22:15:13 -0000 1.2 *************** *** 151,161 **** String tier = analysis_input.getTier(); String type = analysis_input.getType(); ! TierProperty tp = scheme.getTierProperty(tier); if (tp == null) { // visible, expanded, sorted, // maximum rows, not labeled ! tp = new TierProperty(tier, true, true, true, ! analysis_input.getMaxCover(), ! false); scheme.addTierType(tp, scheme); Vector types = new Vector(); --- 151,164 ---- String tier = analysis_input.getTier(); String type = analysis_input.getType(); ! TierProperty tp = scheme.getTierProperty(tier, false); if (tp == null) { + System.out.println ("Creating new tier " + tier + + " and type " + type); // visible, expanded, sorted, // maximum rows, not labeled ! int max_rows = analysis_input.getMaxCover(); ! if (max_rows < 0) ! max_rows = 10; ! tp = new TierProperty(tier, true, true, true, max_rows, false); scheme.addTierType(tp, scheme); Vector types = new Vector(); *************** *** 163,166 **** --- 166,174 ---- FeatureProperty fp = new FeatureProperty(tp, type, types); + fp = scheme.getFeatureProperty(analysis_type); + tp = scheme.getTierProperty(tier); + System.out.println ("tier is " + tp.getLabel() + + " type is " + fp.getDisplayType() + + " for " + fp.getAnalysisTypes().elementAt(0)); } else { *************** *** 168,171 **** --- 176,181 ---- FeatureProperty fp = tp.getFeatureProperty (type); if (fp == null) { + System.out.println ("In tier " + tier + + " creating new type " + type); Vector types = new Vector(); types.addElement (analysis_type); *************** *** 174,179 **** // now check and make sure that analysis is // included ! else if (tp.featureForAnalysisType(analysis_type) == null) tp.addAnalysisType(fp, analysis_type); } if (filter != null) { --- 184,196 ---- // now check and make sure that analysis is // included ! else if (tp.featureForAnalysisType(analysis_type) == null) { tp.addAnalysisType(fp, analysis_type); + System.out.println ("Using existing tier " + tier + + " and type " + type + + " added analysis type " + analysis_type); + } + else + System.out.println ("Using existing tier " + tier + + " and type " + type); } if (filter != null) { Index: AnalysisInput.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/dataadapter/analysis/AnalysisInput.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AnalysisInput.java 23 Apr 2003 00:18:34 -0000 1.1 --- AnalysisInput.java 23 Apr 2003 22:15:13 -0000 1.2 *************** *** 16,23 **** protected String display_type; protected int min_score; protected int min_length; protected int wordsize = 0; protected int max_bits = 15; ! protected double min_expect = 1; protected int max_cover = -1; protected int coincidence = 0; --- 16,24 ---- protected String display_type; protected int min_score; + protected int min_identity; protected int min_length; protected int wordsize = 0; protected int max_bits = 15; ! protected double max_expect = 1; protected int max_cover = -1; protected int coincidence = 0; *************** *** 98,107 **** } ! public void setMinExpect (String min_expectStr) { try { ! setMinExpect (Double.valueOf(min_expectStr).doubleValue()); } catch (Exception e) { ! System.out.println ("Unable to parse min_expect from " + min_expectStr + " " + e.getMessage()); e.printStackTrace(); --- 99,108 ---- } ! public void setMaxExpect (String max_expectStr) { try { ! setMaxExpect (Double.valueOf(max_expectStr).doubleValue()); } catch (Exception e) { ! System.out.println ("Unable to parse max_expect from " + max_expectStr + " " + e.getMessage()); e.printStackTrace(); *************** *** 109,125 **** } ! public void setMinExpect (double min_expect) { ! if (min_expect >= 0 && min_expect <= 1) ! this.min_expect = min_expect; else ! this.min_expect = NO_LIMIT; } ! public double getMinExpect () { ! return min_expect; } public boolean useExpect() { ! return min_expect != NO_LIMIT; } --- 110,126 ---- } ! public void setMaxExpect (double max_expect) { ! if (max_expect >= 0 && max_expect <= 1) ! this.max_expect = max_expect; else ! this.max_expect = NO_LIMIT; } ! public double getMaxExpect () { ! return max_expect; } public boolean useExpect() { ! return max_expect != NO_LIMIT; } *************** *** 220,223 **** --- 221,250 ---- public boolean useScore() { return min_score != NO_LIMIT; + } + + public void setMinIdentity (String identityStr) { + try { + setMinIdentity (Integer.parseInt (identityStr)); + } + catch (Exception e) { + System.out.println ("Unable to parse identity from " + identityStr + + " " + e.getMessage()); + e.printStackTrace(); + } + } + + public void setMinIdentity (int identity) { + if (identity > 0) + this.min_identity = identity; + else + this.min_identity = NO_LIMIT; + } + + public int getMinIdentity () { + return min_identity; + } + + public boolean useIdentity() { + return min_identity != NO_LIMIT; } Index: AnalysisPanel.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/dataadapter/analysis/AnalysisPanel.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AnalysisPanel.java 23 Apr 2003 18:00:21 -0000 1.2 --- AnalysisPanel.java 23 Apr 2003 22:15:15 -0000 1.3 *************** *** 237,241 **** String tier_name = (String) event.getItem(); if (tier_name != null) { ! TierProperty tp = (TierProperty) properties.getTierProperty(tier_name); if (tp != null) { Vector fp_vect = tp.getFeatureProperties(); --- 237,241 ---- String tier_name = (String) event.getItem(); if (tier_name != null) { ! TierProperty tp = (TierProperty) properties.getTierProperty(tier_name,false); if (tp != null) { Vector fp_vect = tp.getFeatureProperties(); Index: BlastAnalysisPanel.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/dataadapter/analysis/BlastAnalysisPanel.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** BlastAnalysisPanel.java 23 Apr 2003 00:18:34 -0000 1.1 --- BlastAnalysisPanel.java 23 Apr 2003 22:15:16 -0000 1.2 *************** *** 17,24 **** class BlastAnalysisPanel extends AnalysisPanel { private BlastFilterPanel filterPanel; - private JButton showFilterConfiguration; - - private static String show_filter = "Show BLAST filter configuration"; - private static String hide_filter = "Hide BLAST filter configuration"; BlastAnalysisPanel(JComponent parentComponent) { --- 17,20 ---- *************** *** 43,75 **** protected void buildGUI() { super.buildGUI(); - showFilterConfiguration = new JButton(show_filter); - showFilterConfiguration.addActionListener( - new BlastAnalysisPanel.ShowFilterConfigurationActionListener() - ); - addToPanel(showFilterConfiguration); - filterPanel = new BlastFilterPanel(); ! filterPanel.setVisible(false); addToPanel(filterPanel); - } - - /** - * Space saver - - * Toggles the filter chooser to be visible/not. Repacks the parent dialog every time. - **/ - public class ShowFilterConfigurationActionListener implements ActionListener{ - public void actionPerformed(ActionEvent event){ - JDialog top = (JDialog) parentComponent.getTopLevelAncestor(); - if(filterPanel.isVisible()) { - filterPanel.setVisible(false); - showFilterConfiguration.setLabel(show_filter); - top.pack(); - } - else { - filterPanel.setVisible(true); - showFilterConfiguration.setLabel(hide_filter); - top.pack(); - } - } } } --- 39,45 ---- protected void buildGUI() { super.buildGUI(); filterPanel = new BlastFilterPanel(); ! filterPanel.setVisible(true); addToPanel(filterPanel); } } Index: BlastParser.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/dataadapter/analysis/BlastParser.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BlastParser.java 23 Apr 2003 18:00:22 -0000 1.2 --- BlastParser.java 23 Apr 2003 22:15:16 -0000 1.3 *************** *** 274,278 **** flip = subj_strand.equals ("Minus"); } - else if (span != null && found_hit --- 274,277 ---- *************** *** 280,284 **** grabQueryMatch (line, span, flip); } - else if (span != null && found_hit --- 279,282 ---- *************** *** 711,733 **** private void setHitScore (FeatureSetI hit) { FeaturePairI span; ! double hit_score = hit.getScore(); ! double hit_expect = hit.getScore ("expect"); ! double hit_prob = hit.getScore ("probability"); ! int span_count = hit.size(); for (int i = 0; i < span_count; i++) { span = (FeaturePairI) hit.getFeatureAt(i); - double span_score = span.getScore (); double span_expect = span.getScore ("expect"); ! if (span_score > hit_score ! || hit_score == -1 ! || (span_score == hit_score ! && span_expect < hit_expect)) { hit_expect = span_expect; - hit_score = span_score; hit_prob = span.getScore("probability"); } } - hit.setScore (hit_score); hit.addScore ("expect", hit_expect); hit.addScore ("probability", hit_prob); --- 709,729 ---- private void setHitScore (FeatureSetI hit) { FeaturePairI span; ! /* this is a bit of magic, because the method in FeatureSet ! actually loops through the HSPs looking for the best score ! Not really needed because of this, but in case the method ! changes or for old times sake... ! */ ! hit.setScore(hit.getScore()); ! double hit_expect = 1; ! double hit_prob = 1; int span_count = hit.size(); for (int i = 0; i < span_count; i++) { span = (FeaturePairI) hit.getFeatureAt(i); double span_expect = span.getScore ("expect"); ! if (span_expect < hit_expect) { hit_expect = span_expect; hit_prob = span.getScore("probability"); } } hit.addScore ("expect", hit_expect); hit.addScore ("probability", hit_prob); *************** *** 767,772 **** hit.setDatabase (database); hit.setType (getAnalysisType()); - hit.setScore (-1); - hit.addScore ("expect", -1.0); value = (String) hit_hash.get ("name"); --- 763,766 ---- |