+++ /dev/null
-package jalview.gui;\r
-\r
-import jalview.datamodel.*;\r
-import jalview.schemes.*;\r
-import jalview.analysis.*;\r
-import jalview.util.*;\r
-import java.awt.*;\r
-import java.util.*;\r
-\r
-public class BlockRenderer implements RendererI {\r
- protected Color color = Color.black;\r
- protected Color maroon = new Color(200,0,50);\r
- protected Color purple = new Color(255,100,255);\r
-\r
- public Color getResidueBoxColour(ColourSchemeI cs, SequenceI seq, int i) {\r
- Color c = cs.findColour(seq,seq.getSequence(i,i+1),i,null);\r
- return c;\r
- }\r
-\r
- public void drawSequence(Graphics g,ColourSchemeI cs,SequenceI seq,int start, int end, int x1, int y1, double width, int height,boolean showScores, boolean displayBoxes, boolean displayText,Vector pid, int seqnum,AlignViewport av) {\r
-\r
-/* int i = start;\r
- int length = seq.getLength();\r
-\r
- Color currentColor = Color.white;\r
- Vector kmers = av.getKmers();\r
-\r
- g.setColor(Color.black);\r
-\r
- int prev = -1;\r
-\r
- int seqno = -1;\r
-\r
- for (int ii = 0; ii < av.getAlignment().getHeight(); ii++) {\r
- if (av.getSelection().contains(av.getAlignment().getSequenceAt(ii))) {\r
- seqno = ii;\r
- }\r
- }\r
-\r
- int blstart = start - 20;\r
- int blend = end + 20;\r
-\r
- if (blstart < 0) {\r
- blstart = 0;\r
- }\r
-\r
- if (blend > av.getAlignment().getWidth()) {\r
- blend = av.getAlignment().getWidth();\r
- }\r
-\r
- Hashtable blocks = AAFrequency.findBlocks(av.getAlignment().getSequences(),\r
- blstart,\r
- blend,\r
- av.getSelection().asVector());\r
-\r
- Hashtable hkmer = AlignmentUtil.findKmers(seq,blstart,blend,kmers);\r
-\r
- boolean inblock = false;\r
-\r
- int bstart = -1;\r
- int blen = -1;\r
- int klen = -1;\r
- int block_end = -1;\r
- Color bc;\r
-\r
- // System.out.println("Rendering " + start + " " + end);\r
-\r
- while (i <= blend && i < length) {\r
- boolean foundblock = false;\r
-\r
- if (blocks.get(new Integer(i-blstart)) != null) {\r
-\r
- blen = ((Integer)blocks.get(new Integer(i-blstart))).intValue();\r
-\r
- foundblock = true;\r
-\r
- block_end = i + blen-1;\r
-\r
- g.setColor(getColor(blen));\r
- g.fillRect(x1+(int)(width*(i-start)),y1,\r
- (int)width+1, height/2);\r
- }\r
-\r
- boolean foundKmer = false;\r
-\r
- if (hkmer.get(new Integer(i-blstart)) != null) {\r
-\r
-\r
- klen = ((Integer)hkmer.get(new Integer(i-blstart))).intValue();\r
-\r
- // System.out.println("Got kmer " + i + " " + start + " kength " + klen);\r
-\r
- foundKmer = true;\r
-\r
- g.setColor(Color.lightGray);\r
-\r
- if ((int)width> 5) {\r
- g.fillRect(x1+(int)(width*(i-start)),y1+height/2,\r
- (int)(width*klen)+1, height/2);\r
- } else {\r
- g.fillRect(x1+(int)(width*(i-start)),y1+height/2,\r
- (int)(width*klen)+1, height/2);\r
-\r
- }\r
-\r
- }\r
-\r
- if (width > 5) {\r
- g.setColor(Color.black);\r
- g.drawString(seq.getSequence().substring(i,i+1),x1+(int)(width*(i-start)),y1+height);\r
- }\r
- i++;\r
- }*/\r
- }\r
-\r
- public Color getColor(int blen) {\r
-\r
- Color bc;\r
-\r
- if (blen > 20 ) {\r
- bc = Color.yellow;\r
- }else if (blen > 10) {\r
- bc = Color.red;\r
- } else if (blen > 5) {\r
- bc = Color.blue;\r
- } else if (blen > 2) {\r
- bc = purple;\r
- } else if (blen == 2) {\r
- bc = Color.orange;\r
-\r
- } else {\r
- bc = Color.lightGray;\r
- }\r
- return bc;\r
- }\r
-}\r
+++ /dev/null
-package jalview.gui;\r
-import jalview.datamodel.*;\r
-import jalview.schemes.*;\r
-import jalview.util.*;\r
-import jalview.analysis.*;\r
-import java.awt.*;\r
-import java.awt.geom.*;\r
-import java.util.*;\r
-\r
-public class CpGRenderer implements RendererI {\r
- protected Color color = Color.black;\r
-\r
- public Color getResidueBoxColour(ColourSchemeI cs, SequenceI seq, int i) {\r
- Color c = cs.findColour(seq,seq.getSequence(i,i+1),i,null);\r
- return c;\r
- }\r
-\r
- public void drawSequence(Graphics g,ColourSchemeI cs,SequenceI seq,int start, int end, int x1, int y1, double width, int height,boolean showScores, boolean displayBoxes, boolean displayText,Vector pid, int seqnum,AlignViewport av) {\r
-\r
- int i = start;\r
- int length = seq.getLength();\r
-\r
- Color currentColor = Color.white;\r
-\r
- g.setColor(Color.black);\r
-\r
- int window = 1000;\r
- int max = window/5;\r
-\r
- int step = window/10;\r
-\r
- if (step > window) {\r
- step = window;\r
- }\r
-\r
- if (window < 2) {\r
- window = 2;\r
- step = 1;\r
- }\r
-\r
- int cpgstart = start;\r
- int cpgend = end;\r
-\r
- if (cpgstart <= window/2 ) {\r
- cpgstart = window/2;\r
- }\r
- if (cpgend+window/2 >= length) {\r
- cpgend = length-window/2;\r
- }\r
-\r
- Hashtable vals = AAFrequency.findKmerCount(seq,cpgstart,cpgend,window,step,av.getKmers());\r
-\r
- Enumeration en = vals.keys();\r
-\r
- Vector valset = new Vector();\r
-\r
- while (en.hasMoreElements()) {\r
- valset.add((Integer)en.nextElement());\r
- }\r
- Collections.sort(valset);\r
-\r
- g.setColor(Color.black);\r
-\r
- int j = 0;\r
-\r
- while (j < valset.size()) {\r
-\r
- Integer posInt = (Integer)valset.elementAt(j);\r
- int count = ((Integer)vals.get(posInt)).intValue();\r
- int pos = posInt.intValue();\r
-\r
- if (count > 40) {\r
- g.setColor(Color.red);\r
- } else {\r
- g.setColor(Color.black);\r
- }\r
-\r
- g.fillRect(x1 + (int)(width*(pos-start-width/2)),\r
- y1+height - (int)(count*height/max),\r
- (int)(step*width),\r
- (int)(count*height/max));\r
-\r
- j++;\r
- }\r
- }\r
-\r
-}\r
+++ /dev/null
-package jalview.gui;\r
-\r
-import jalview.datamodel.*;\r
-import jalview.schemes.*;\r
-import java.awt.*;\r
-import java.util.*;\r
-\r
-public class FeatureRenderer implements RendererI {\r
-\r
-\r
- public Color getResidueBoxColour(ColourSchemeI cs, SequenceI seq, int i) {\r
- Color c = cs.findColour(seq,seq.getSequence(i,i+1),i,null);\r
- return c;\r
- }\r
-\r
- public void drawSequence(Graphics g,ColourSchemeI cs,SequenceI seq,int start, int end, int x1, int y1, double width, int height,boolean showScores, boolean displayBoxes, boolean displayText,Vector pid, int seqnum,AlignViewport av) {\r
-\r
- int i = start;\r
- int length = seq.getLength();\r
-\r
- Color currentColor = Color.black;\r
-\r
-\r
- int prev = -1;\r
- int fstart = 0;\r
- char prevc = '-';\r
-\r
- g.setColor(Color.magenta);\r
-\r
- while (i <= end && i < length) {\r
- char c = seq.getCharAt(i);\r
- if (c != '-') {\r
-\r
- if (prevc != c) {\r
-\r
- if (prevc == 'F') {\r
- g.setColor(Color.green);\r
- } else if (prevc == 'R') {\r
- g.setColor(Color.cyan);\r
- } else if (prevc == 'M') {\r
- g.setColor(Color.magenta);\r
- } else if (prevc == 'P') {\r
- g.setColor(Color.yellow);\r
- }\r
- g.fillRect(x1+(int)(width*(i-fstart)),y1+height/4,(int)((prev-fstart+1)*width),height/2);\r
-\r
- prevc = c;\r
- fstart = i;\r
- }\r
- } else if (prevc != '-') {\r
- if (prevc == 'F') {\r
- g.setColor(Color.green);\r
- } else if (prevc == 'R') {\r
- g.setColor(Color.cyan);\r
- } else if (prevc == 'M') {\r
- g.setColor(Color.magenta);\r
- } else if (prevc == 'P') {\r
- g.setColor(Color.yellow);\r
- }\r
- g.fillRect(x1+(int)(width*(fstart-start)),y1+height/4,(int)((i-fstart+1)*width),height/2);\r
-\r
- prevc = c;\r
- } else {\r
- fstart = -1;\r
- }\r
- i++;\r
- }\r
-\r
- if (fstart != -1) {\r
- if (prevc == 'F') {\r
- g.setColor(Color.green);\r
- } else if (prevc == 'R') {\r
- g.setColor(Color.cyan);\r
- } else if (prevc == 'M') {\r
- g.setColor(Color.magenta);\r
- } else if (prevc == 'P') {\r
- g.setColor(Color.yellow);\r
- }\r
-\r
- //g.fillRect(x1+(int)(width*(fstart-start)),y1+height/4,(int)((end-fstart+1)*width),height/2);\r
-\r
- }\r
- }\r
-\r
-}\r
+++ /dev/null
-package jalview.gui;\r
-\r
-import jalview.datamodel.*;\r
-import jalview.schemes.*;\r
-import jalview.util.*;\r
-\r
-import java.awt.*;\r
-import java.awt.geom.*;\r
-import java.util.*;\r
-\r
-public class GraphRenderer implements RendererI {\r
- protected Color color = Color.black;\r
- protected Color maroon = new Color(200,0,50);\r
-\r
- public Color getResidueBoxColour(ColourSchemeI cs, SequenceI seq, int i) {\r
- Color c = cs.findColour(seq,seq.getSequence(i,i+1),i,null);\r
- return c;\r
- }\r
-\r
- public void drawSequence(Graphics g,ColourSchemeI cs,SequenceI seq,int start, int end, int x1, int y1, double width, int height,boolean showScores, boolean displayBoxes, boolean displayText,Vector pid, int seqnum,AlignViewport av) {\r
-\r
- int i = start;\r
- int length = seq.getLength();\r
-\r
- Color currentColor = Color.white;\r
-\r
- g.setColor(Color.black);\r
-\r
- int prev = -1;\r
-\r
- while (i <= end && i < length) {\r
- char c = seq.getCharAt(i);\r
-\r
- if (c != '-') {\r
- Vector values = (Vector)pid.elementAt(i-start);\r
- int val = ((Integer)values.elementAt(seqnum)).intValue();\r
-\r
- int frac = (int)(100*val/(av.getPIDWindow()+1));\r
-\r
-// if (frac > 95) {\r
- // g.setColor(maroon);\r
- // } else if (frac > 90) {\r
-// g.setColor(Color.red);\r
-// } else if (frac > 80) {\r
-// g.setColor(Color.orange);\r
-// } else if (frac > 70) {\r
-// g.setColor(Color.pink);\r
-// } else if (frac > 50) {\r
-// g.setColor(Color.yellow);\r
-// } else if (frac > 30) {\r
-// g.setColor(Color.lightGray);\r
-// }\r
-\r
- int baseline = av.getPIDBaseline();\r
-\r
- frac -= baseline;\r
-\r
- if (frac < 0) {\r
- frac = 0;\r
- }\r
- if (baseline == 100) {\r
- baseline = 99;\r
- }\r
-\r
- Graphics2D g2d = (Graphics2D)g;\r
-\r
- g2d.setColor(new Color(255*frac/(100-baseline),50*frac/(100-baseline),50*frac/(100-baseline)));\r
-\r
- //g.setColor(new Color(255*frac/(100-baseline),50*frac/(100-baseline),255-50*frac/(100-baseline)));\r
- //g.fillRect(x1+(int)(width*(i-start)),y1+height - (int)(frac*height/(100-baseline)),\r
- //width, (int)(frac*height/(100-baseline)));\r
-\r
- int[] xpoints = new int[4];\r
- int[] ypoints = new int[4];\r
-\r
- if (prev == -1) {\r
- prev = y1 + height - (int)(frac*height/(100-baseline));\r
- }\r
-\r
- // 1----2\r
- // | |\r
- // 4----3\r
-\r
- xpoints[0] = (x1+ (int)(width*(i-start)));\r
- ypoints[0] = prev;\r
-\r
- xpoints[1] = (x1 + (int)(width*(i-start+1)));\r
- ypoints[1] = y1 + height - (int)(frac*height/(100-baseline));\r
-\r
- xpoints[3] = (x1 + (int)(width*(i-start)));;\r
- ypoints[3] = y1 + height;\r
-\r
- xpoints[2] = (x1 + (int)(width*(i-start+1)));\r
- ypoints[2] = y1 + height;\r
-\r
- Polygon poly = new Polygon();\r
-\r
- poly.xpoints = xpoints;\r
- poly.ypoints = ypoints;\r
- poly.npoints = 4;\r
-\r
- g2d.fill(poly);\r
-\r
- if (width > 5) {\r
- g.setColor(Color.black);\r
- g.drawString(seq.getSequence().substring(i,i+1),x1+(int)(width*(i-start)),y1+height);\r
- } else {\r
- g.setColor(Color.black);\r
-\r
- if (prev != -1) {\r
-\r
- g.drawLine(x1+(int)(width*(i-start)-width/2), prev,\r
- x1+(int)(width*(i-start+1)-width/2),y1+height - (int)(frac*height/(100-baseline)));\r
- } else {\r
- g.drawLine(x1+(int)(width*(i-start)), y1+height - (int)(frac*height/(100-baseline)),\r
- x1+(int)(width*(i-start+1)),y1+height - (int)(frac*height/(100-baseline)));\r
- }\r
-\r
- }\r
- prev = ypoints[1];\r
- } else {\r
- prev = -1;\r
- }\r
- i++;\r
- }\r
- }\r
-\r
-}\r