-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrcomplement.js
More file actions
32 lines (27 loc) · 907 Bytes
/
Copy pathrcomplement.js
File metadata and controls
32 lines (27 loc) · 907 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
29
30
31
32
var fs = require('fs');
if (process.argv.length < 3){
console.log("Please specify file to be read");
process.exit(1);
}
var fn = process.argv[2];
function program(filename) {
fs.readFile(filename, 'utf8', function (err, data) {
if (err) throw err;
rcomplement(data);
});
}
function rcomplement(dna) {
var revdna = dna.split("").reverse().join("");
var revcomplement = "";
for (var i = 0; i < revdna.length; i++){
if (revdna[i] === 'A') revcomplement = revcomplement + 'T';
else if (revdna[i] === 'T') revcomplement = revcomplement + 'A';
else if (revdna[i] === 'C') revcomplement = revcomplement + 'G';
else if (revdna[i] === 'G') revcomplement = revcomplement + 'C';
else {
console.log("Check sequence for nucleotide error at position " + i);
}
}
console.log(revcomplement);
}
program(fn);