package aliview; public final class GeneticCode { private final static int CODE_STATES = 64; public final AminoAcid[] acidTranslation = new AminoAcid[CODE_STATES]; public int transTable; public String name; public String codeString; private String startCodon; // Genetic code information: http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi // public static final GeneticCode GC1 = new GeneticCode(1,"Standard code","FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG", "AUG"); public static final GeneticCode GC2 = new GeneticCode(2,"Vertebrate Mitochondrial", "FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSS**VVVVAAAADDEEGGGG","AUG"); public static final GeneticCode GC3 = new GeneticCode(3,"Yeast Mitochondrial","FFLLSSSSYY**CCWWTTTTPPPPHHQQRRRRIIMMTTTTNNKKSSRRVVVVAAAADDEEGGGG","AUG"); public static final GeneticCode GC4 = new GeneticCode(4,"Mold, Protozoan, and Coelenterate Mitochondrial and Mycoplasma/Spiroplasma", "FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG","AUG"); public static final GeneticCode GC5 = new GeneticCode(5,"Invertebrate Mitochondrial","FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSSSSVVVVAAAADDEEGGGG","AUG"); public static final GeneticCode GC6 = new GeneticCode(6,"The Ciliate, Dasycladacean and Hexamita Nuclear Code", "FFLLSSSSYYQQCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG"); public static final GeneticCode GC9 = new GeneticCode(9,"The Echinoderm and Flatworm Mitochondrial", "FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNNKSSSSVVVVAAAADDEEGGGG"); public static final GeneticCode GC10 = new GeneticCode(10,"The Euplotid Nuclear Code", "FFLLSSSSYY**CCCWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG"); public static final GeneticCode GC11 = new GeneticCode(11,"The Bacterial, Archaeal and Plant Plastid Code", "FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG"); public static final GeneticCode GC12 = new GeneticCode(12,"The Alternative Yeast Nuclear Code", "FFLLSSSSYY**CC*WLLLSPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG"); public static final GeneticCode GC13 = new GeneticCode(13,"The Ascidian Mitochondrial Code","FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSSGGVVVVAAAADDEEGGGG"); public static final GeneticCode GC14 = new GeneticCode(14,"The Alternative Flatworm Mitochondrial Code","FFLLSSSSYYY*CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNNKSSSSVVVVAAAADDEEGGGG"); public static final GeneticCode GC15 = new GeneticCode(15,"Blepharisma Nuclear Code","FFLLSSSSYY*QCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG"); public static final GeneticCode GC16 = new GeneticCode(16,"Chlorophycean Mitochondrial Code","FFLLSSSSYY*LCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG"); public static final GeneticCode GC21 = new GeneticCode(21,"Trematode Mitochondrial Code", "FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNNKSSSSVVVVAAAADDEEGGGG"); public static final GeneticCode GC22 = new GeneticCode(22,"Scenedesmus obliquus mitochondrial Code","FFLLSS*SYY*LCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG"); public static final GeneticCode GC23 = new GeneticCode(23,"Thraustochytrium Mitochondrial Code", "FF*LSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG"); public static final GeneticCode GC24 = new GeneticCode(24,"Pterobranchia mitochondrial code", "FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSSKVVVVAAAADDEEGGGG"); public static final GeneticCode GC25 = new GeneticCode(25,"Candidate Division SR1 and Gracilibacteria Code", "FFLLSSSSYY**CCGWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG"); public static final GeneticCode DEFAULT = GC1; public static final GeneticCode[] allCodesArray = new GeneticCode[]{GC1,GC2,GC3,GC4,GC5,GC6,GC9,GC10,GC11,GC12,GC13,GC14,GC15,GC16,GC21,GC22,GC23,GC24,GC25}; public GeneticCode(int transTable, String name, String codeString){ this(transTable,name,codeString,"AUG"); } public GeneticCode(int transTable, String name, String codeString, String startCodon){ this.transTable = transTable; this.name = name; this.codeString = codeString; this.startCodon = startCodon; for(int n = 0; n < CODE_STATES; n++){ acidTranslation[n] = AminoAcid.getAminoAcidFromChar(codeString.charAt(n)); } } @Override public String toString() { return "" + transTable + ". " + name; } }