-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript_6.js
More file actions
31 lines (27 loc) · 1.04 KB
/
script_6.js
File metadata and controls
31 lines (27 loc) · 1.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const codonMap = {
// Serine
UCU: 'Serine', UCC: 'Serine', UCA: 'Serine', UCG: 'Serine', AGU: 'Serine', AGC: 'Serine',
// Proline
CCU: 'Proline', CCC: 'Proline', CCA: 'Proline', CCG: 'Proline',
// Leucine
UUA: 'Leucine', UUG: 'Leucine',
// Phenylalanine
UUU: 'Phenylalanine', UUC: 'Phenylalanine',
// Arginine
CGU: 'Arginine', CGC: 'Arginine', CGA: 'Arginine', CGG: 'Arginine', AGA: 'Arginine', AGG: 'Arginine',
// Tyrosine
UAU: 'Tyrosine', UAC: 'Tyrosine'
};
function translateRNA(rna) {
const codons = rna.match(/.{1,3}/g) || [];
const aminoAcids = codons.map(cd => codonMap[cd] || 'Unknown');
return aminoAcids.join('-') + '.';
}
// Example from the prompt: UUACGCAGUAGA -> UUA-CGC-AGU-AGA -> Leucine-Arginine-Serine-Arginine.
const example = "UUACGCAGUAGA";
console.log(`${example} -> ${translateRNA(example)}`);
// RNAs to translate:
const rna1 = "CCGUCGUUGCGCUACAGC";
const rna2 = "CCUCGCCGGUACUUCUCG";
console.log(`${rna1} -> ${translateRNA(rna1)}`);
console.log(`${rna2} -> ${translateRNA(rna2)}`);