/******************************************* * * Table.java 12/26/96 * * Atsuko Kubota and Nobuyuki Miyajima * Kazusa DNA Research Inst. * e-mail: miyajima@kazusa.or.jp * ***************************************/ import java.applet.Applet; import java.awt.*; import java.awt.Graphics; import java.lang.*; import java.util.StringTokenizer; public class Table extends Applet { CodonTable ct; Fractions fr; Results rs; int mark, x, y, w, h; Image offscreen; Graphics goff; String check, chk, org; /** paint() method */ public void paint(Graphics g) { offscreen = createImage(440, 360); goff = offscreen.getGraphics(); chk = ct.chk; org = ct.org; check = ct.check; framepaint(g); charapaint(g); textpaint(g); fractions(goff); if ("update".equals(check)) { areapaint(goff); scharapaint1(goff); scharapaint2(goff); fractions(goff); } if ("change".equals(check)) { scharapaint1(goff); scharapaint2(goff); } g.drawImage(offscreen, 50, 100, this); } /** framepaint() method */ public void framepaint(Graphics g) { outpaint(g); inpaint(goff); } /** outpaint() method */ public void outpaint(Graphics g) { g.setColor(Color.green); g.fillRect(0, 100, 50, 360); g.fillRect(50, 50, 440, 50); g.setColor(Color.black); g.drawString("1st", 5, 95); g.drawString("2nd", 55, 45); } /** fracpaint() method */ public void fracpaint(Graphics g) { g.setColor(Color.blue); g.drawString(org, 165, 28); } /** inpaint() method */ public void inpaint(Graphics goff) { goff.setColor(Color.white); goff.fillRect(0, 0, 440, 360); goff.setColor(Color.orange); goff.drawLine(110, 0, 110, 360); goff.drawLine(220, 0, 220, 360); goff.drawLine(330, 0, 330, 360); goff.drawLine(0, 90, 440, 90); goff.drawLine(0, 180, 440, 180); goff.drawLine(0, 270, 440, 270); } /** charapaint() method */ public void charapaint(Graphics g) { bcharapaint(g); scharapaint1(goff); scharapaint2(goff); } /** bcharapaint() method */ public void bcharapaint(Graphics g) { g.setColor(Color.black); g.setFont(new Font("Helvetica", Font.BOLD, 30)); g.drawString("T", 15, 160); g.drawString("C", 15, 250); g.drawString("A", 15, 340); g.drawString("G", 15, 430); g.drawString("T", 100, 88); g.drawString("C", 205, 88); g.drawString("A", 310, 88); g.drawString("G", 415, 88); } /** scharapaint1() method **/ public void scharapaint1(Graphics goff) { chk = ct.chk; org = ct.org; goff.setColor(Color.black); goff.setFont(new Font("Helvetica", Font.BOLD, 13)); goff.drawString("TTT", 10, 23); goff.drawString("TTC", 10, 43); goff.drawString("TTA", 10, 63); goff.drawString("TTG", 10, 83); goff.drawString("CTT", 10, 113); goff.drawString("CTC", 10, 133); goff.drawString("CTA", 10, 153); goff.drawString("CTG", 10, 173); goff.drawString("ATT", 10, 203); goff.drawString("ATC", 10, 223); goff.drawString("ATA", 10, 243); goff.drawString("ATG", 10, 263); goff.drawString("GTT", 10, 293); goff.drawString("GTC", 10, 313); goff.drawString("GTA", 10, 333); goff.drawString("GTG", 10, 353); goff.drawString("TCT", 120, 23); goff.drawString("TCC", 120, 43); goff.drawString("TCA", 120, 63); goff.drawString("TCG", 120, 83); goff.drawString("CCT", 120, 113); goff.drawString("CCC", 120, 133); goff.drawString("CCA", 120, 153); goff.drawString("CCG", 120, 173); goff.drawString("ACT", 120, 203); goff.drawString("ACC", 120, 223); goff.drawString("ACA", 120, 243); goff.drawString("ACG", 120, 263); goff.drawString("GCT", 120, 293); goff.drawString("GCC", 120, 313); goff.drawString("GCA", 120, 333); goff.drawString("GCG", 120, 353); goff.drawString("TAT", 230, 23); goff.drawString("TAC", 230, 43); goff.drawString("TAA", 230, 63); goff.drawString("TAG", 230, 83); goff.drawString("CAT", 230, 113); goff.drawString("CAC", 230, 133); goff.drawString("CAA", 230, 153); goff.drawString("CAG", 230, 173); goff.drawString("AAT", 230, 203); goff.drawString("AAC", 230, 223); goff.drawString("AAA", 230, 243); goff.drawString("AAG", 230, 263); goff.drawString("GAT", 230, 293); goff.drawString("GAC", 230, 313); goff.drawString("GAA", 230, 333); goff.drawString("GAG", 230, 353); goff.drawString("TGT", 340, 23); goff.drawString("TGC", 340, 43); goff.drawString("TGA", 340, 63); goff.drawString("TGG", 340, 83); goff.drawString("CGT", 340, 113); goff.drawString("CGC", 340, 133); goff.drawString("CGA", 340, 153); goff.drawString("CGG", 340, 173); goff.drawString("AGT", 340, 203); goff.drawString("AGC", 340, 223); goff.drawString("AGA", 340, 243); goff.drawString("AGG", 340, 263); goff.drawString("GGT", 340, 293); goff.drawString("GGC", 340, 313); goff.drawString("GGA", 340, 333); goff.drawString("GGG", 340, 353); goff.drawString("Phe", 70, 35); goff.drawString("Leu", 70, 73); goff.drawString("Val", 70, 320); goff.drawString("Ser", 180, 50); goff.drawString("Pro", 180, 140); goff.drawString("Thr", 180, 230); goff.drawString("Ala", 180, 320); goff.drawString("Tyr", 290, 35); goff.drawString("TERM", 285, 73); goff.drawString("His", 290, 125); goff.drawString("Gln", 290, 163); goff.drawString("Asn", 290, 215); goff.drawString("Lys", 290, 253); goff.drawString("Asp", 290, 305); goff.drawString("Glu", 290, 343); goff.drawString("Cys", 400, 35); goff.drawString("Arg", 400, 140); goff.drawString("Gly", 400, 320); } /** scharapaint2() method */ public void scharapaint2(Graphics goff) { // for Universal if("Universal".equals(chk)) { goff.drawString("Leu", 70, 140); goff.drawString("Ile", 70, 223); goff.drawString("Met", 70, 263); goff.drawString("TERM", 395, 63); goff.drawString("Trp", 400, 83); goff.drawString("Ser", 400, 215); goff.drawString("Arg", 400, 253); } // for Mammals if("Mammals".equals(org)) { goff.drawString("Leu", 70, 140); goff.drawString("Ile", 70, 215); goff.drawString("Met", 70, 253); goff.drawString("Trp", 400, 73); goff.drawString("Ser", 400, 215); goff.drawString("TERM", 395, 253); } // for Drosophila if("Drosophila".equals(org)) { goff.drawString("Leu", 70, 140); goff.drawString("Ile", 70, 215); goff.drawString("Met", 70, 253); goff.drawString("Trp", 400, 73); goff.drawString("Ser", 400, 230); } // for Yeasts ¤Î¾ì¹ç if("Yeasts".equals(org)) { goff.drawString("Leu", 70, 125); goff.drawString("Thr", 70, 153); goff.drawString("Leu", 70, 173); goff.drawString("Ile", 70, 215); goff.drawString("Met", 70, 253); goff.drawString("Trp", 400, 73); goff.drawString("Ser", 400, 215); goff.drawString("Arg", 400, 253); } } /** fraction() method */ public void fractions(Graphics goff) { goff.setColor(Color.red); goff.setFont(new Font("Helvetica", Font.BOLD, 11)); for (int i = 0; i < 64; i++) { StringTokenizer fa = new StringTokenizer(fr.fracs[i], ":"); String frac = fa.nextToken(); int fx = Integer.parseInt(fa.nextToken()); int fy = Integer.parseInt(fa.nextToken()); goff.drawString(frac, fx, fy); } } /** textpaint() method */ public void textpaint(Graphics g) { g.setFont(new Font("Helvetica", Font.BOLD, 13)); g.setColor(Color.black); g.drawString("AA :", 20, 500); g.setColor(Color.white); g.fillRect(60, 480, 440, 30); } /** checkpaint() method */ public void checkpaint(Graphics g) { String s = ct.put; if (s.equals("rst")) { s = ""; } g.setColor(Color.black); g.drawString(s, 65, 500); } /** areapaint() method */ public void areapaint(Graphics goff) { goff.setColor(Color.orange); int i = ct.mark; StringTokenizer st = new StringTokenizer(rs.colors[i], ","); while (st.hasMoreTokens()) { x = Integer.parseInt(st.nextToken()); y = Integer.parseInt(st.nextToken()); w = Integer.parseInt(st.nextToken()); h = Integer.parseInt(st.nextToken()); goff.fillRect(x, y, w, h); } } /** update() method */ public void update(Graphics g) { g.clipRect(50, 100, 440, 405); check = ct.check; if ("update".equals(check)) { paint(g); checkpaint(g); } if ("change".equals(check)) { paint(g); } } }