-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDNA_Pairing.js
More file actions
28 lines (25 loc) · 850 Bytes
/
DNA_Pairing.js
File metadata and controls
28 lines (25 loc) · 850 Bytes
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
function pairElement(str){
var pairs = {A:'T', T: 'A', C: 'G', G: 'C'};
return str.split("").map(x => [x,pairs[x]]);
}
/*
function pairElement(str) {
var result = [];
for (var i = 0; i < str.length; i += 1) {
if (str[i] === "A") {
result.push(["A", "T"]);
} else if (str[i] === "T") {
result.push(["T", "A"]);
} else if (str[i] === "C") {
result.push(["C", "G"]);
} else if (str[i] === "G") {
result.push(["G", "C"]);
}
}
return result;
}
*/
pairElement("GCG"); // should return [["G", "C"], ["C","G"],["G", "C"]]
pairElement("ATCGA"); // should return [["A","T"],["T","A"],["C","G"],["G","C"],["A","T"]].
pairElement("TTGAG"); // should return [["T","A"],["T","A"],["G","C"],["A","T"],["G","C"]].
pairElement("CTCTA"); // should return [["C","G"],["T","A"],["C","G"],["T","A"],["A","T"]].