summaryrefslogtreecommitdiffstats
path: root/amino-acid.mjs
diff options
context:
space:
mode:
authorBrian Cully <bjc@kublai.com>2021-02-17 21:40:03 -0500
committerBrian Cully <bjc@kublai.com>2021-02-17 21:40:28 -0500
commit4bb133a3515fa54be34b8ec50b80d6dcbe3a0b3d (patch)
tree35c929036f31e9e1c641ea1b007432aedf373166 /amino-acid.mjs
downloadmolsim2-4bb133a3515fa54be34b8ec50b80d6dcbe3a0b3d.tar.gz
molsim2-4bb133a3515fa54be34b8ec50b80d6dcbe3a0b3d.zip
Initial commit.
Diffstat (limited to 'amino-acid.mjs')
-rw-r--r--amino-acid.mjs76
1 files changed, 76 insertions, 0 deletions
diff --git a/amino-acid.mjs b/amino-acid.mjs
new file mode 100644
index 0000000..7df50d4
--- /dev/null
+++ b/amino-acid.mjs
@@ -0,0 +1,76 @@
+class AminoAcid {
+ // Create a protein from three nucleotides.
+ constructor(n1, n2, n3) {
+ this.codon = n1+n2+n3
+ this.value = AminoAcid.codonMap[this.codon]
+ }
+}
+
+AminoAcid.codonMap = {
+ 'TAA': 'STOP',
+ 'TGA': 'STOP',
+ 'TAG': 'STOP',
+ 'GTT': 'Val',
+ 'GTC': 'Val',
+ 'GTA': 'Val',
+ 'GTG': 'Val',
+ 'TAT': 'Tyr',
+ 'TAC': 'Tyr',
+ 'TGG': 'Trp',
+ 'ACT': 'Thr',
+ 'ACC': 'Thr',
+ 'ACA': 'Thr',
+ 'ACG': 'Thr',
+ 'TCT': 'Ser',
+ 'TCC': 'Ser',
+ 'TCA': 'Ser',
+ 'TCG': 'Ser',
+ 'AGT': 'Ser',
+ 'AGC': 'Ser',
+ 'CCT': 'Pro',
+ 'CCC': 'Pro',
+ 'CCA': 'Pro',
+ 'CCG': 'Pro',
+ 'TTT': 'Phe',
+ 'TTC': 'Phe',
+ 'ATG': 'Met',
+ 'AAA': 'Lys',
+ 'AAG': 'Lys',
+ 'CTT': 'Leu',
+ 'CTC': 'Leu',
+ 'CTA': 'Leu',
+ 'CTG': 'Leu',
+ 'TTA': 'Leu',
+ 'TTG': 'Leu',
+ 'ATT': 'Ile',
+ 'ATC': 'Ile',
+ 'ATA': 'Ile',
+ 'CAT': 'His',
+ 'CAC': 'His',
+ 'GGT': 'Gly',
+ 'GGC': 'Gly',
+ 'GGA': 'Gly',
+ 'GGG': 'Gly',
+ 'GAA': 'Glu',
+ 'GAG': 'Glu',
+ 'CAA': 'Gln',
+ 'CAG': 'Gln',
+ 'TGT': 'Cys',
+ 'TGC': 'Cys',
+ 'GAT': 'Asp',
+ 'GAC': 'Asp',
+ 'AAT': 'Asn',
+ 'AAC': 'Asn',
+ 'CGT': 'Arg',
+ 'CGC': 'Arg',
+ 'CGA': 'Arg',
+ 'CGG': 'Arg',
+ 'AGA': 'Arg',
+ 'AGG': 'Arg',
+ 'GCT': 'Ala',
+ 'GCC': 'Ala',
+ 'GCA': 'Ala',
+ 'GCG': 'Ala',
+}
+
+export default AminoAcid