Skip to content

Commit

Permalink
final script that simulates DNA sequnces for a given tree under Jukes…
Browse files Browse the repository at this point in the history
… Cantor model
  • Loading branch information
sun13005 committed Apr 22, 2017
1 parent 36ffbc9 commit 3b6e02f
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions simSequences.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,17 +34,17 @@ def simulateSequences(self, num_sites):

ran_nm = random.random()
if ran_nm < freq[0]:
self.state = 'A'
# self.state = 'A'
self.states[i] = 'A'
elif ran_nm <= freq[0]+freq[1]:
self.state = 'C'
# self.state = 'C'
self.states[i] = 'C'
elif ran_nm <= freq[0]+freq[1]+freq[2]:
self.state = 'G'
# self.state = 'G'
self.states[i] = 'G'

else:
self.state = 'T'
# self.state = 'T'
self.states[i] = 'T'

else:
Expand All @@ -62,19 +62,19 @@ def simulateSequences(self, num_sites):
for i in prob:

if ran_nm <= prob[0]:
self.state = 'A'
# self.state = 'A'
self.states[m] = 'A'

elif ran_nm <= prob[0]+ prob[1]:
self.state = 'C'
# self.state = 'C'
self.states[m] = 'C'

elif ran_nm <= prob[0]+ prob[1]+ prob[2]:
self.state = 'G'
# self.state = 'G'
self.states[m] = 'G'

else:
self.state = 'T'
# self.state = 'T'
self.states[m] = 'T'

return self.states
Expand All @@ -98,7 +98,7 @@ def __str__(self):
return 'node: number=%d edgelen=%g lchild=%s rsib=%s parent=%s descendants=[%s]' % (self.number, self.edgelen, lchildstr, rsibstr, parstr, descendants_as_string)


def simulate2(preorder, ntax, num_sites, out):
def simulate(preorder, ntax, num_sites, out):
newf = open(out, 'w')
newf.write('#nexus\n\n')
newf.write('begin data;\n')
Expand Down Expand Up @@ -182,5 +182,5 @@ def readnewick(tree):
ntax = 10
num_sites = 10000

result = simulate2(preorder, ntax, num_sites, output_filename)
result = simulate(preorder, ntax, num_sites, output_filename)

0 comments on commit 3b6e02f

Please sign in to comment.