-
-
Notifications
You must be signed in to change notification settings - Fork 44
/
Copy pathcomplementary-dna.js
74 lines (60 loc) · 1.43 KB
/
complementary-dna.js
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// DNAStrand ("ATTGC") # return "TAACG"
// DNAStrand ("GTAT") # return "CATA"
// A and T
// C and G
function DNAStrand(dna){
// place to store the compliment string
let compliment = '';
// iterate over dna
for (let i = 0; i < dna.length; i++) {
const currentLetter = dna[i];
// if the current letter is an A, append a T
if (currentLetter == 'A') {
compliment += 'T';
}
// else if the current letter is a T, append an A
else if (currentLetter == 'T') {
compliment += 'A';
}
// else if the current letter is a C, append a G
else if (currentLetter == 'C') {
compliment += 'G';
}
// else if the current letter is a G, append a C
else if (currentLetter == 'G') {
compliment += 'C';
}
}
// return compliment string
return compliment;
}
// DNAStrand ("ATTGC") # return "TAACG"
// DNAStrand ("GTAT") # return "CATA"
// A and T
// C and G
function DNAStrand(dna){
// place to store the compliment string
let compliment = '';
let compliments = {
A: 'T',
T: 'A',
G: 'C',
C: 'G'
};
// iterate over dna
for (let i = 0; i < dna.length; i++) {
const currentLetter = dna[i];
compliment += compliments[currentLetter];
}
// return compliment string
return compliment;
}
function DNAStrand(dna){
let compliments = {
A: 'T',
T: 'A',
G: 'C',
C: 'G'
};
return dna.split('').map(letter => compliments[letter]).join('');
}