#ifndef __GCODE_H__
#define __GCODE_H__

typedef struct {
	int		id;
	char	*name;
	char	*code;
	char	*inits;
	} GeneticCode, *GeneticCodePtr;

#define CODON_LEN	3	/* No. of nucleotides per codon */

EXTERN GeneticCode gcodes[12]
#ifdef INIT
= {
1,
"Standard",
"FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG",
"0000000000000000000000000000000000010000000000000000000000000000",
2,
"Vertebrate Mitochondrial",
"FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSS**VVVVAAAADDEEGGGG",
"0000000000000000000000000000000011110000000000000001000000000000",
3,
"Yeast Mitochondrial",
"FFLLSSSSYY**CCWWTTTTPPPPHHQQRRRRIIMMTTTTNNKKSSRRVVVVAAAADDEEGGGG",
"0000000000000000000000000000000000010000000000000000000000000000",
4,
"Mold, Protozoan, Coelenterate Mitochondrial and Mycoplasma/Spiroplasma",
"FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG",
"0011000000000000000100000000000011110000000000000001000000000000",
5,
"Invertebrate Mitochondrial",
"FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSSSSVVVVAAAADDEEGGGG",
"0001000000000000000000000000000010110000000000000000000000000000",
6,
"Ciliate Macronuclear and Daycladacean",
"FFLLSSSSYYQQCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG",
"0000000000000000000000000000000000010000000000000000000000000000",
9,
"Echinodermate Mitochondrial",
"FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNNKSSSSVVVVAAAADDEEGGGG",
"0000000000000000000000000000000000010000000000000000000000000000",
10,
"Alternative Ciliate Macronuclear",
"FFLLSSSSYY*QCCCWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG",
"0000000000000000000000000000000000010000000000000000000000000000",
11,
"Eubacterial",
"FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG",
"0001000000000000000100000000000010010000000000000001000000000000",
12,
"Alternative Yeast",
"FFLLSSSSYY**CC*WLLLSPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG",
"0000000000000000000100000000000000010000000000000000000000000000",
13,
"Ascidian Mitochondrial",
"FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSSGGVVVVAAAADDEEGGGG",
"0000000000000000000000000000000000010000000000000000000000000000",
14,
"Flatworm Mitochondrial",
"FFLLSSSSYYY*CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNNKSSSSVVVVAAAADDEEGGGG",
"0000000000000000000000000000000000010000000000000000000000000000"
}
#endif
	;

GeneticCodePtr find_gcode PROTO((int id));
void init_gcode PROTO((GeneticCodePtr, unsigned char [64], unsigned char [64]));
unsigned char codon2aa PROTO((unsigned char *, unsigned, unsigned, unsigned));

#endif /* !__GCODE_H__ */
