Bioinformatics/Sequence mutation: Difference between revisions

m
Added weighted mutations
m (Added weighted mutations)
Line 1,334:
const pad = leftPadN(4);
const print = (v, s) => console.log(`${pad(v)}:\t${s}`)
const rem = seq.reduce((p, c) => {
const s = p + c;
if (s.length === 50) {
Line 1,383:
}
 
// Bias the operations
const operations = [swap, del, insert];
const weightMap = new Map();
weightMap.set(swap, 1);
weightMap.set(del, 2);
weightMap.set(insert, 3);
const weightedOps = weightMap => {
return [...weightMap.entries()].reduce((p, [op, weight]) =>
[...p, ...(Array(weight).fill(op))], []);
};
const operations = [swap, del, insert]weightedOps(weightMap);
 
// Create the starting sequence
Line 1,394 ⟶ 1,403:
 
// Mutate the sequence
const [hist, mut] = mutations.reduce((p, c, i) => c(p), [[], seq]);
 
console.log('ORIGINAL SEQUENCE:')
Line 1,403 ⟶ 1,412:
 
console.log('\nMUTATION LOG:')
hist.forEach((e, i) => console.log(`${i}:\t${e}`));
 
console.log('\nMUTATED SEQUENCE:')
Line 1,415 ⟶ 1,424:
<pre>
ORIGINAL SEQUENCE:
0: GTGATCGTAGCGTATCACACGTGCGGGCAGATTGCGGGGCTTCCGTAAGT
0: CATTGTGAACCGGAATTATAGTTATACCGAAGATGCCAGAGTCCGGGGGA
50: CTCTCGATTGGCTAAACCTAACGTATGGAGTCGGGCCTGTTCAGAACTGC
50: GCGGATGCAGGGTATGTTCCTCAGAACCCCGTCATGCACGGCCTATACGG
100: GCCATAACCACAAACGTCGACAGATAAAGTTCGTGAAGGGACAGGATGAG
100: AAAGGAAGGGCCTGCGCAGACTTAAGACAAGGAGGACTGTATGAAAGGGA
150: ATTTTTTTCCCGGTCTGTGCTCAGGGCTTAAATTAGTGCCTTTCCCGAAT
150: TGGCTTGTGTGGGAAGAGCACCGCGCGCGAAGCCTGTAATCGACTACAGC
200: GGATACCAACGATTCTGACTGGTTATTTTAATCACCTAATGCCAGTAGTC
200: AAATAATTATGTTGATACGGCAAATGGTCATAATCGCCCCCACCCGCGGT
 
BASE COUNTS:
A: 7061
C: 57
G: 7564
T: 4868
Σ: 250
 
MUTATION LOG:
0: SwappedInserted G for TA at 53231
1: SwappedInserted G for AC at 17467
2: InsertedDeleted AT at 105192
3: Inserted GA at 136106
4: Swapped G forInserted C at 183226
5: Swapped TC for AG at 18834
6: DeletedSwapped CT for A at 240165
7: Inserted G at 6211
8: DeletedInserted AG at 16675
9: DeletedInserted GC at 215219
10: InsertedSwapped A for A at 130205
11: Inserted GC at 17467
12: DeletedInserted GC at 16234
13: Swapped A forDeleted A at 131
14: SwappedInserted G for GA at 117171
15: Deleted CG at 1400
16: InsertedDeleted CA at 217170
17: InsertedDeleted C at 22067
18: InsertedDeleted AT at 150173
19: Swapped T forInserted T at 206109
20: Inserted GC at 153232
21: DeletedInserted TG at 33137
22: DeletedInserted AT at 190151
23: Deleted AC at 12093
24: Deleted A at 14195
25: DeletedInserted TC at 206229
26: Inserted C at 21665
27: DeletedInserted G at 11084
28: Inserted G at 230212
29: DeletedInserted G at 43161
 
MUTATED SEQUENCE:
0: TGATCGTAGCGGTATCACACGTGCGGGCAGTTCGGGGGGCTTCCGTAAGT
0: CATTGTGAACCGGAATTATAGTTATACCGAAGAGCCAGAGTCCGGGGAGC
50: CTCTCGATTGGCTAACACCCTAACGGTATGGAGTGCGGGCCTGTTAGACT
50: GTATGCAGGGGTATGTTCCTCAGAACCCCGTCATGCACGGCCTATACGGA
100: GCGCCATAATACCACAAACGTCGACAGATAAAGTTCGGTGAAGGGACAGG
100: AAGGAAAGGCCTGCGCAGCTTAAGACAAAGGAGGGATGTTGAAAGAGGGA
150: ATTGAGATTTTGTTTCCCGGACTGTGCCAGGGCTTAAATTAGTGCCTTCC
150: TGGCTTGTTGGGAGAGCACGCGCACGCGAACCCTGAATCGACTACAGCAA
200: CGAATGGATACCAGACGATTCTCGACTGGTTACCTTTCTAAATCACCTAA
200: ATAATATGTTATCACCCGGCAAATGGTCAGTAATCGCCCCACCCGCGGT
250: TGCCAGTAGTC
 
MUTATED BASE COUNTS:
A: 7162
C: 5962
G: 7370
T: 4667
Σ: 249261
</pre>
 
Anonymous user