From 2c53f8875bdf77a4b46b8ee7b6ebecbc55c68802 Mon Sep 17 00:00:00 2001 From: twhmitchell Date: Thu, 9 Nov 2017 17:49:53 -0500 Subject: [PATCH 1/5] Add files via upload --- Ex10P1 | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 Ex10P1 diff --git a/Ex10P1 b/Ex10P1 new file mode 100644 index 0000000..b89b99e --- /dev/null +++ b/Ex10P1 @@ -0,0 +1,76 @@ +# Import packages: + +import numpy +import os +import pandas +import scipy +import sklearn +import scipy.integrate as si +from plotnine import * + +# Define custom function: + +def ddSim(y,t0,r,K): + + # Unpack lists containing state variables (y) + N=y[0] + + dNdt=r*(1-N/K)*N + + return [dNdt] + +# Define paramaters, initial values for state variables and time steps: + +N0=[10] +times=range(0,600) +K=100 + +# Part 1a: +# Define initial parameters: + +rs=[-0.1,0.1,0.4,0.8,1] +store_rs=pandas.DataFrame({"time":times,"r1":0,"r2":0,"r3":0,"r4":0,"r5":0}) + +for i in range(0,len(rs)): + pars=(rs[i],K) + sim=si.odeint(func=ddSim,y0=N0,t=times,args=pars) + store_rs.iloc[:,i]=sim[:,0] + +ggplot(store_rs,aes(x="times",y="r1",color="-0.1"))+geom_line()+geom_line(aes(y="r2",color="0.1"))+geom_line(aes(y="r3",color="0.4"))+geom_line(aes(y="r4",color="0.8"))+geom_line(aes(y="r5",color="1.0")) + +# Part 1b: +# Define initial parameters: + +r2=0.2 +N2=1.0 +times2=range(0,600) + +Ks=[10,50,100] +store_Ks=pandas.DataFrame({"time":times,"K1":0,"K2":0,"K3":0}) + +for j in range(0,len(Ks)): + pars2=(r2,Ks[j]) + sim=si.odeint(func=ddSim,y0=N2,t=times2,args=pars2) + store_Ks.iloc[:,j]=sim[:,0] + +ggplot(store_Ks,aes(x="times2",y="K1",color="10"))+geom_line()+geom_line(aes(y="K2",color="50"))+geom_line(aes(y="K3",color="100")) + +# Part 1c: +# Define initial parameters: + +r3=0.1 +K3=50.0 +times3=range(0,600) + +Ns=[1,50,100] +store_Ns=pandas.DataFrame({"time":times,"N1":0,"N2":0,"N3":0}) + +for k in range(0,len(Ns)): + pars3=(r3,K3) + sim=si.odeint(func=ddSim,y0=Ns[k],t=times3,args=pars3) + store_Ns.iloc[:,k]=sim[:,0] + +ggplot(store_Ns,aes(x="times3",y="N1",color="1"))+geom_line()+geom_line(aes(y="N2",color="50"))+geom_line(aes(y="N3",color="100")) + + + From 8fbb698bbc11c09ca8ecff48077d712303843f18 Mon Sep 17 00:00:00 2001 From: Balaji Sampathkumar Date: Fri, 10 Nov 2017 02:12:01 -0500 Subject: [PATCH 2/5] Plot generated for Q2 - Balaji --- EX10_P2_Plot.png | Bin 0 -> 21769 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 EX10_P2_Plot.png diff --git a/EX10_P2_Plot.png b/EX10_P2_Plot.png new file mode 100644 index 0000000000000000000000000000000000000000..060088532ae04b6d2f30550c0c51e4e2852fd3d3 GIT binary patch literal 21769 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 Date: Fri, 10 Nov 2017 02:13:02 -0500 Subject: [PATCH 3/5] Script for Q2 - Balaji --- EX_10_Script_Q2 | 63 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 EX_10_Script_Q2 diff --git a/EX_10_Script_Q2 b/EX_10_Script_Q2 new file mode 100644 index 0000000..2c6e53f --- /dev/null +++ b/EX_10_Script_Q2 @@ -0,0 +1,63 @@ +import pandas +import numpy as np +import scipy +import scipy.integrate as spint +from plotnine import * + +beta = [0.0005,0.005,0.0001,0.00005,0.0001,0.0002,0.0001] +gamma = [0.05,0.5,0.1,0.1,0.05,0.05,0.06] +beta_gamma_dict = {} +prev_I = 1 +incidence_arr = [] +prevalence_arr = [] +for i in range(0,len(beta)): + beta_gamma_dict[beta[i]] = gamma[i] +#beta_gamma_dict_2 = {0.0005: 0.05, 0.005: 0.5, 0.0001: 0.1, 0.00005: 0.1, 0.0001: 0.05, 0.0002: 0.05, 0.0001: 0.06} + basic_repr_num = (beta[i]*1000)/(gamma[i]) + print (basic_repr_num) + +def ddSim(y,t0,beta,gamma): +# "unpack" lists containing state variables (y) +# y = np.zeros(3) +# [S,I,R] = y + S = y[0] + I = y[1] + R = y[2] + N = S + I + R + dSdt = (-1)*beta*I*S + dIdt = beta*I*S - gamma*I + dRdt = gamma*I + + return dSdt,dIdt,dRdt + +for key, value in beta_gamma_dict.items(): +### Define parameters, initial values for state variables, and time steps + params=(key,value) + N = S + I + R + S0=999 + I0=1 + R0=0 + N=1000 + times=range(0,500) + y0 = [S0, I0, R0] + modelSim0=spint.odeint(func=ddSim, y0=y0, t=times, args=params) + + +### put model output in a dataframe for plotting purposes + modelOutput=pandas.DataFrame({"t":times,"S":modelSim0[:,0],"I":modelSim0[:,1],"R":modelSim0[:,2]}) + #print (modelOutput) + for i in modelSim0[:,1]: + incidence = i - prev_I + prevalence = i / N + prev_I = i + incidence_arr.append(incidence) + prevalence_arr.append(prevalence) + print(max(incidence_arr)) + print(max(prevalence_arr)) + incidence_arr = [] + prevalence_arr = [] + #print(modelOutput) + percent_affected = ((modelSim0[:,1][-1]) + (modelSim0[:,2][-1]))/ N + print (percent_affected) +ggplot(modelOutput,aes(x="t",y="y0"))+geom_line(aes(x="t",y="S"),color='red')+geom_line(aes(x="t",y="I"),color='black')+geom_line(aes(x="t",y="R"),color='green') + From 5264c3f03abbb30761abc1ea7c25997acaa90a43 Mon Sep 17 00:00:00 2001 From: Balaji Sampathkumar Date: Fri, 10 Nov 2017 02:13:49 -0500 Subject: [PATCH 4/5] Results obtained for Q2 - Balaji --- EX10_P2_results.txt | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 EX10_P2_results.txt diff --git a/EX10_P2_results.txt b/EX10_P2_results.txt new file mode 100644 index 0000000..3d49e4e --- /dev/null +++ b/EX10_P2_results.txt @@ -0,0 +1,29 @@ +Maximum daily incidence: +87.3691177314 +586.170819125 +1.35394595053 +0.979180304854 +19.390316567 + +Maximum daily prevalence: +0.669182090042 +0.667294350986 +0.0941045383845 +0.001 +0.403596344712 + +Percent affected: +0.999954624904 +0.999954624904 +0.676436543943 +0.0019970073129 +0.980194131568 + +Basic reproduction number: +10.0 +10.0 +1.0 +0.5 +2.0 +4.0 +1.6666666666666667 From 7499dc8b34a3d371873038c983c69b5f09666936 Mon Sep 17 00:00:00 2001 From: Balaji Sampathkumar Date: Fri, 10 Nov 2017 02:15:03 -0500 Subject: [PATCH 5/5] Explanation for patterns obsrved in the results for Q2 - Balaji --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 897565a..0793ebc 100644 --- a/README.md +++ b/README.md @@ -1 +1,10 @@ -# Intro_Biocom_ND_319_Tutorial10 \ No newline at end of file +# Intro_Biocom_ND_319_Tutorial10 +All the 4 types of results observed max. incidence, max. prevalence, % affected +and basic reproduction no. stays constant in the beginning, then drops +and then increases towards the end again. +This can be interpreted in this way: since the model focuses on the host of +the disease, the no. of people susceptible to the diseases will be high during +the initial stage of the disease spread, the more people get infected; +later as the host develops resistance to the diseases and +would become almost immune to it. +