Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/Schraiber/continuity
Browse files Browse the repository at this point in the history
  • Loading branch information
Schraiber committed Oct 27, 2017
2 parents 6b9313e + be0a3a0 commit ca5b7f0
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 53 deletions.
13 changes: 11 additions & 2 deletions ancient_genotypes_simulation.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import scipy.stats as st
import numpy as np

def ancient_sample_mix_multiple(num_modern=1000,anc_pop = 0, anc_num = 1, anc_time=200,mix_time=300,split_time=400,f=0.0,Ne0=10000,Ne1=10000,mu=1.25e-8,length=1000,num_rep=1000, error = None, coverage=False, seed = None):
def ancient_sample_mix_multiple(num_modern=1000,anc_pop = 0, anc_num = 1, anc_time=200,mix_time=300,split_time=400,f=0.0,Ne0=10000,Ne1=10000,mu=1.25e-8,length=1000,num_rep=1000, error = None, contamination = None, coverage=False, seed = None):
if mix_time > split_time:
print "mixture occurs more anciently than population split!"
return None
Expand All @@ -11,6 +11,14 @@ def ancient_sample_mix_multiple(num_modern=1000,anc_pop = 0, anc_num = 1, anc_ti
return None
if error is None:
error = np.zeros(anc_num)
if contamination is None:
contamination = np.zeros(anc_num)
if len(error) != anc_num:
print "Incorrect number of error parameters"
return None
if len(contamination) != anc_num:
print "Incorrect number of contamination parameters"
return None
samples = [msp.Sample(population=0,time=0)]*num_modern
samples.extend([msp.Sample(population=anc_pop,time=anc_time)]*(2*anc_num))
pop_config = [msp.PopulationConfiguration(initial_size=Ne0),msp.PopulationConfiguration(initial_size=Ne1)]
Expand All @@ -37,7 +45,8 @@ def ancient_sample_mix_multiple(num_modern=1000,anc_pop = 0, anc_num = 1, anc_ti
reads[-1].append([None,None])
if coverage:
num_reads = st.poisson.rvs(coverage)
p_der = cur_GT/2.*(1-error[i])+(1-cur_GT/2.)*error[i]
p_der = (1-contamination[i])*(cur_GT/2.*(1-error[i])+(1-cur_GT/2.)*error[i])
p_der += contamination[i]*(cur_freq*(1-error[i])+(1-cur_freq)*error[i])
derived_reads = st.binom.rvs(num_reads, p_der)
reads[-1][-1] = (num_reads-derived_reads,derived_reads)
return np.array(freq), GT, reads
Expand Down
51 changes: 0 additions & 51 deletions ancient_relationships/coverage_table.txt

This file was deleted.

0 comments on commit ca5b7f0

Please sign in to comment.