From: Mark G. <mg...@us...> - 2003-07-30 15:57:31
|
Update of /cvsroot/gmod/apollo/src/java/apollo/gui/genomemap In directory sc8-pr-cvs1:/tmp/cvs-serv5173/src/java/apollo/gui/genomemap Modified Files: CollapsedFeatureTierManager.java DragFeatureView.java ScrollableTierView.java Log Message: Fixed this bug: AE41) Sima wrote: Now I see a repeatable bug with clicking and dragging an exon on Linux, with the gene CG4432. If I pull down the sixth genscan exon, which is not a part of the annotation yet, and try to add it to a transcript of CG4432, apollo won't let me add it, it only allows me to make it a new non-overlapping gene. I am dragging and holding down the shift key, and it works with other genscan exons. [This is due to that exon having a very negative score that's out of the range for genscan listed in game.tiers. There's another genscan (lavender) exon with a negative score that won't drag properly either. If I change their scores to be positive, they drag fine.] [Temporary fix: enlarged genscan range in game.tiers. Mark suggests a more general fix: DraggableFeatureView can somehow tell its CFTM not to bother testing for score. The fact that the user could drag the thing means that the feature was being displayed and therefore it somehow managed to pass a threshold test. Therefore theres no need to subject it to another threshold test. This may be the way to go.] The more general fix was employed. DFV tells its tier manager to not filter with score thresholds with the call: stacker.setIgnoreScoreThresholds(true). Index: CollapsedFeatureTierManager.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/gui/genomemap/CollapsedFeatureTierManager.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** CollapsedFeatureTierManager.java 13 May 2003 18:41:18 -0000 1.5 --- CollapsedFeatureTierManager.java 30 Jul 2003 15:57:28 -0000 1.6 *************** *** 107,111 **** tp = fp.getTier(); // Score thresholding here ! if (dsf.getScore() > fp.getThreshold()) { String label = tp.getLabel(); if (tierhash.containsKey(label)) { --- 107,114 ---- tp = fp.getTier(); // Score thresholding here ! // DragFeatureView sets ignoreScoreThresholds to true as it may be ! // dragging feats under threshold that qualified due to siblings ! // in same feature set being over threshold ! if (ignoreScoreThresholds() || dsf.getScore() > fp.getThreshold()) { String label = tp.getLabel(); if (tierhash.containsKey(label)) { Index: DragFeatureView.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/gui/genomemap/DragFeatureView.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** DragFeatureView.java 20 Feb 2003 21:27:48 -0000 1.3 --- DragFeatureView.java 30 Jul 2003 15:57:28 -0000 1.4 *************** *** 10,13 **** --- 10,14 ---- import apollo.datamodel.*; import apollo.gui.Selection; + import apollo.gui.TierManager; import apollo.gui.Transformer; import apollo.gui.drawable.DrawableSeqFeature; *************** *** 39,42 **** --- 40,55 ---- setTransparent (true); this.selection = selection; + } + + /** Sets ignoreScoreThresholds to true. Makes stacker not consider score thresholds + in populating the tier. + This is needed for when ya drag a feature that has + a score under threshold, but since it has siblings(in feat set) above threshold + it gets displayed. Since only items that have somehow gotten through the + threshold (either by self score or siblings) can be displayed and thus dragged, + theres no need to do the score threshold again. */ + public void setTierManager(TierManager stacker) { + stacker.setIgnoreScoreThresholds(true); + super.setTierManager(stacker); } Index: ScrollableTierView.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/gui/genomemap/ScrollableTierView.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ScrollableTierView.java 20 Feb 2003 21:27:50 -0000 1.5 --- ScrollableTierView.java 30 Jul 2003 15:57:28 -0000 1.6 *************** *** 54,57 **** --- 54,58 ---- protected boolean paintFlag = true; // protected boolean reverseFlag = false; // not used anywhere + // Should this just be a FeatureTierManager - is it ever not? protected TierManager stacker; protected JScrollBar vScroll; |