annotate generate_data.py @ 7:d10ac6a3f293 draft

Uploaded
author nitrozyna
date Thu, 29 Mar 2018 12:05:33 -0400
parents d3dbf9e8a0e2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
1 from __future__ import print_function
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
2 import math
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
3 import random
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
4 # that's our x data, i.e. reference
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
5 x = range(1, 101)
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
6
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
7 # generate a gaussian
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
8 def gaussian(x, amp, cen, wid):
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
9 return amp * math.exp(-(x - cen) ** 2 / wid)
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
10
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
11 read1 = 18
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
12 read2 = 66
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
13
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
14 # that's our y data, i.e. reads
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
15 y = [int(round(gaussian(i, 20000, read1, 0.5) + gaussian(i, 20000, read2, 0.5) + random.gauss(200, 90))) for i in x]
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
16
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
17 # that's our data printed in pairs (x_i, y_i)
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
18 with open("input.txt", "w") as f:
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
19 for pair in zip(x, y):
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
20 for p in pair:
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
21 print(p, end="\t", file=f)
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
22 print(file=f)
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
23
d3dbf9e8a0e2 Uploaded
nitrozyna
parents:
diff changeset
24 # you have to set this manually to weed out all the noise. Every bit of noise should be below it.