From: Mark G. <mg...@us...> - 2004-11-16 20:45:36
|
Update of /cvsroot/gmod/apollo/src/java/apollo/gui/genomemap In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28652/src/java/apollo/gui/genomemap Modified Files: SiteView.java Log Message: translation start/stop changes are now checked for and events fired for - firing as TRANSLATION_RANGE subpart - need to change trans stop and start to range in other places - i think a range makes more sense. i added new TranslationI interface that has translation methods - seqfeature can return this (if hasTranslation is true) - FeatureSetI implements TranslationI and returns itslef - in the future i can see moving these methods to a separate translation object - but thats implementation detail. Index: SiteView.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/gui/genomemap/SiteView.java,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** SiteView.java 22 Jun 2004 05:30:41 -0000 1.29 --- SiteView.java 16 Nov 2004 20:45:23 -0000 1.30 *************** *** 64,69 **** public SiteView(JComponent ap, String name, ! Controller controller, ! SelectionManager selectionManager) { // final boolean sets visible to false super(ap, name, selectionManager); --- 64,69 ---- public SiteView(JComponent ap, String name, ! Controller controller, ! SelectionManager selectionManager) { // final boolean sets visible to false super(ap, name, selectionManager); *************** *** 94,106 **** FeatureProperty fp; if (i < 3) { ! int frame = i+1; ! /* ! Note that if you were to change the names of the start/stop codon types in the tiers file, this wouldn't work. */ ! fp = Config.getPropertyScheme().getFeatureProperty("startcodon_frame" + frame); } else { ! int frame = i-3+1; ! fp = Config.getPropertyScheme().getFeatureProperty("stopcodon_frame" + frame); } --- 94,106 ---- FeatureProperty fp; if (i < 3) { ! int frame = i+1; ! /* ! Note that if you were to change the names of the start/stop codon types in the tiers file, this wouldn't work. */ ! fp = Config.getPropertyScheme().getFeatureProperty("startcodon_frame" + frame); } else { ! int frame = i-3+1; ! fp = Config.getPropertyScheme().getFeatureProperty("stopcodon_frame" + frame); } *************** *** 279,288 **** sitesArray = new Sites[6]; for (int i = 0; i < 6; i++) ! sitesArray[i] = new Sites(); } else { // clear out positions but not selection state for (int i = 0; i < 6; i++) ! sitesArray[i].clearPositions(); } --- 279,288 ---- sitesArray = new Sites[6]; for (int i = 0; i < 6; i++) ! sitesArray[i] = new Sites(); } else { // clear out positions but not selection state for (int i = 0; i < 6; i++) ! sitesArray[i].clearPositions(); } *************** *** 302,329 **** // NOTE: Optimisation - no start/stop starts with a G or C as first base if (seqi != 'G' && seqi != 'C') { ! // look for start codons ! // sitesArray[0,1,2] for starts if (hashCode3 == startCodonHashCode && startCodon[0] == seqi && startCodon[1] == seqip1) { ! // positions in Sites are ascending on forward strand, ! // descending on reverse strand int pos = (getStrand() == 1) ? i + min : max - i; sitesArray[frame].addSite(pos); } ! // look for stop codons ! // sitesArray[3,4,5] for stop codons ! else if ((hashCode3 == stopCodon1HashCode && ! stopCodon1[0] == seqi && ! stopCodon1[1] == seqip1) || ! (hashCode3 == stopCodon2HashCode && ! stopCodon2[0] == seqi && ! stopCodon2[1] == seqip1) || ! (hashCode3 == stopCodon3HashCode && ! stopCodon3[0] == seqi && ! stopCodon3[1] == seqip1)) { int pos = (getStrand() == 1) ? i + min : max - i; --- 302,329 ---- // NOTE: Optimisation - no start/stop starts with a G or C as first base if (seqi != 'G' && seqi != 'C') { ! // look for start codons ! // sitesArray[0,1,2] for starts if (hashCode3 == startCodonHashCode && startCodon[0] == seqi && startCodon[1] == seqip1) { ! // positions in Sites are ascending on forward strand, ! // descending on reverse strand int pos = (getStrand() == 1) ? i + min : max - i; sitesArray[frame].addSite(pos); } ! // look for stop codons ! // sitesArray[3,4,5] for stop codons ! else if ((hashCode3 == stopCodon1HashCode && ! stopCodon1[0] == seqi && ! stopCodon1[1] == seqip1) || ! (hashCode3 == stopCodon2HashCode && ! stopCodon2[0] == seqi && ! stopCodon2[1] == seqip1) || ! (hashCode3 == stopCodon3HashCode && ! stopCodon3[0] == seqi && ! stopCodon3[1] == seqip1)) { int pos = (getStrand() == 1) ? i + min : max - i; *************** *** 394,421 **** for (int i=0; i<sitesArray.length; i++) { if (i >= 3) { ! frame = i-2; ! type = "stopcodon_frame" + frame; ! namePrefix = "stop codon"; } else { ! frame = i+1; ! type = "startcodon_frame" + frame; } SiteTier tier = (SiteTier)(manager.getTier(i)); for (int j=0; j<sitesArray[i].size(); j++) { ! int pos = sitesArray[i].elementAt(j); ! Rectangle box = getDrawRectangle(tier,pos); ! if (rect.intersects(box)) { ! if ((selected_only && sitesArray[i].isSelected(pos)) || ! (!selected_only)) { ! int low = (getStrand()==1) ? pos : pos-2; ! int high = low + 2; ! SiteCodon site = sitesArray[i].getSiteCodon(low, high, ! type, ! getStrand(), ! namePrefix); ! matches.addElement(site); ! } ! } } } --- 394,421 ---- for (int i=0; i<sitesArray.length; i++) { if (i >= 3) { ! frame = i-2; ! type = "stopcodon_frame" + frame; ! namePrefix = "stop codon"; } else { ! frame = i+1; ! type = "startcodon_frame" + frame; } SiteTier tier = (SiteTier)(manager.getTier(i)); for (int j=0; j<sitesArray[i].size(); j++) { ! int pos = sitesArray[i].elementAt(j); ! Rectangle box = getDrawRectangle(tier,pos); ! if (rect.intersects(box)) { ! if ((selected_only && sitesArray[i].isSelected(pos)) || ! (!selected_only)) { ! int low = (getStrand()==1) ? pos : pos-2; ! int high = low + 2; ! SiteCodon site = sitesArray[i].getSiteCodon(low, high, ! type, ! getStrand(), ! namePrefix); ! matches.addElement(site); ! } ! } } } *************** *** 476,493 **** Selection codonSelection = new Selection(); for (Iterator i = transSet.iterator(); i.hasNext(); ) { ! Transcript t = (Transcript)i.next(); ! // look for starts ! SelectionItem startSelectionItem = getStartSelectionItem(t); ! if (startSelectionItem != null) codonSelection.add(startSelectionItem); ! SelectionItem stopSelectionItem = getStopSelectionItem(t); ! if (stopSelectionItem != null) codonSelection.add(stopSelectionItem); } if (codonSelection.size() > 0) { ! // This adds to selection without firing a selection event i believe ! // If the selection of codons becomes relevant we'll need to rethink this ! selectionManager.addToCurrentSelection(codonSelection); } return true; --- 476,493 ---- Selection codonSelection = new Selection(); for (Iterator i = transSet.iterator(); i.hasNext(); ) { ! Transcript t = (Transcript)i.next(); ! // look for starts ! SelectionItem startSelectionItem = getStartSelectionItem(t); ! if (startSelectionItem != null) codonSelection.add(startSelectionItem); ! SelectionItem stopSelectionItem = getStopSelectionItem(t); ! if (stopSelectionItem != null) codonSelection.add(stopSelectionItem); } if (codonSelection.size() > 0) { ! // This adds to selection without firing a selection event i believe ! // If the selection of codons becomes relevant we'll need to rethink this ! selectionManager.addToCurrentSelection(codonSelection); } return true; *************** *** 506,510 **** /** @return null if codon doesnt exist for trans start/stop ! @param getStart - if true get start codon, false stop */ private SelectionItem getSelectionItem(int basepair, boolean getStart) { --- 506,510 ---- /** @return null if codon doesnt exist for trans start/stop ! @param getStart - if true get start codon, false stop */ private SelectionItem getSelectionItem(int basepair, boolean getStart) { *************** *** 519,525 **** int high = low + 2; SiteCodon siteCodon = ! sites.getSiteCodon(low,high,type,getStrand(),prefix); SelectionItem selItem = ! new SelectionItem(SiteView.this,siteCodon.getFeature()); selItem.addSelectionListener(siteCodon); // gets selects and deselects return selItem; --- 519,525 ---- int high = low + 2; SiteCodon siteCodon = ! sites.getSiteCodon(low,high,type,getStrand(),prefix); SelectionItem selItem = ! new SelectionItem(SiteView.this,siteCodon.getFeature()); selItem.addSelectionListener(siteCodon); // gets selects and deselects return selItem; *************** *** 534,543 **** int sitesIndex = getFrame(basepair); if (!getStart) ! sitesIndex += 3; if (sitesIndex >= sitesArray.length) ! sitesIndex = sitesArray.length-1; if (sitesIndex < 0) { ! System.err.println("getSitesForBasepair: can't find sites for requested basepair " + basepair); ! return null; } return sitesArray[sitesIndex]; --- 534,543 ---- int sitesIndex = getFrame(basepair); if (!getStart) ! sitesIndex += 3; if (sitesIndex >= sitesArray.length) ! sitesIndex = sitesArray.length-1; if (sitesIndex < 0) { ! System.err.println("getSitesForBasepair: can't find sites for requested basepair " + basepair); ! return null; } return sitesArray[sitesIndex]; *************** *** 545,550 **** /** This is the String that is used to match up with the tier in the tiers file, ! important to get it the same. A bit dangerous as the string in the tiers ! can be easily modified. */ private String getTypeString(int basepair,boolean start) { --- 545,550 ---- /** This is the String that is used to match up with the tier in the tiers file, ! important to get it the same. A bit dangerous as the string in the tiers ! can be easily modified. */ private String getTypeString(int basepair,boolean start) { *************** *** 555,559 **** /** Return unique set of transcripts of all exons, trans and genes in ! annots vector */ private HashSet getTranscripts(Selection sel) { //Vector annots) { // look for a single transcript --- 555,559 ---- /** Return unique set of transcripts of all exons, trans and genes in ! annots vector */ private HashSet getTranscripts(Selection sel) { //Vector annots) { // look for a single transcript *************** *** 570,585 **** boolean checkForRedundantDescendants = true; Selection annotSel = ! sel.getSelectionDescendedFromModel(top,checkForRedundantDescendants); // If all exons of a transcript selected -> transcript FeatureList annots = annotSel.getConsolidatedFeatures(); HashSet trans = new HashSet(annots.size()); // set -> no dups on add for (int i=0; i<annots.size(); i++) { ! SeqFeatureI ann = annots.getFeature(i); ! // ann.isTranscript()? ! if (ann instanceof Transcript) trans.add(ann); ! // Dont deal with exons as it messes up zoom to selection ! //if (ann instanceof Exon) trans.add(ann.getParent()); ! else if (ann instanceof AnnotatedFeature) trans.addAll(ann.getFeatures()); } --- 570,585 ---- boolean checkForRedundantDescendants = true; Selection annotSel = ! sel.getSelectionDescendedFromModel(top,checkForRedundantDescendants); // If all exons of a transcript selected -> transcript FeatureList annots = annotSel.getConsolidatedFeatures(); HashSet trans = new HashSet(annots.size()); // set -> no dups on add for (int i=0; i<annots.size(); i++) { ! SeqFeatureI ann = annots.getFeature(i); ! // ann.isTranscript()? ! if (ann instanceof Transcript) trans.add(ann); ! // Dont deal with exons as it messes up zoom to selection ! //if (ann instanceof Exon) trans.add(ann.getParent()); ! else if (ann instanceof AnnotatedFeature) trans.addAll(ann.getFeatures()); } |