From c5a4c27da86cdaf3cbc9c7a2bb0ed0265bdb9a0f Mon Sep 17 00:00:00 2001 From: pablocarderam Date: Wed, 17 Jan 2024 15:47:01 -0500 Subject: [PATCH] v1.1.0, check changelog.md . --- README.md | 112 +- changelog.md | 50 + ...sibility_function_reassortment_example.py} | 11 +- .../metapopulations_migration_example.py | 9 +- ...apopulations_population_contact_example.py | 12 +- img/metapopulations_migration_example.png | Bin 187565 -> 189017 bytes ...ction_reassortment_example_composition.png | Bin 0 -> 161726 bytes opqua/internal/data.py | 21 +- opqua/internal/gillespie.py | 667 ---------- opqua/internal/host.py | 134 +- opqua/internal/population.py | 195 ++- opqua/internal/setup.py | 7 + opqua/internal/simulation.py | 1115 +++++++++++++++++ opqua/internal/vector.py | 136 +- opqua/model.py | 142 ++- requirements.txt | 28 +- setup.py | 4 +- 17 files changed, 1781 insertions(+), 862 deletions(-) rename examples/tutorials/evolution/{transmissibility_function_example_reassortment.py => transmissibility_function_reassortment_example.py} (94%) create mode 100644 img/transmissibility_function_reassortment_example_composition.png delete mode 100644 opqua/internal/gillespie.py create mode 100644 opqua/internal/simulation.py diff --git a/README.md b/README.md index b3e7ffe..a2ee65f 100644 --- a/README.md +++ b/README.md @@ -49,11 +49,13 @@ Check out the `changelog` file for information on recent updates. Opqua has been used in-depth to study [pathogen evolution across fitness valleys](https://github.com/pablocarderam/fitness_valleys_opqua). Check out the peer-reviewed preprint on -[biorXiv](https://doi.org/10.1101/2021.12.16.473045), now peer-reviewed. +[biorXiv](https://doi.org/10.1101/2021.12.16.473045), now peer-reviewed +[here](https://doi.org/10.1126/sciadv.abo0173). -Opqua is developed by [Pablo Cárdenas](https://pablo-cardenas.com) in -collaboration with Vladimir Corredor and Mauricio Santos-Vega. -Follow their science antics on Twitter at +Opqua is developed by [Pablo Cárdenas](https://pablo-cardenas.com). The original +publication was created in collaboration with Vladimir Corredor and Mauricio +Santos-Vega. Follow their science antics on BlueSky +[@pcr-guy](https://bsky.app/profile/pcr-guy.bsky.social) or Twitter at [@pcr_guy](https://twitter.com/pcr_guy) and [@msantosvega](https://twitter.com/msantosvega). @@ -70,11 +72,20 @@ yourself! See the [Usage](#Usage) sections for more details. #### Population genetic composition plots for pathogens -An optimal pathogen genome arises and outcompetes all others through intra-host -competition. See `fitness_function_mutation_example.py` in the -`examples/tutorials/evolution` folder. +An optimal pathogen genome arises through de novo mutation and outcompetes all +others through intra-host competition. See +`fitness_function_mutation_example.py` in the `examples/tutorials/evolution` +folder. ![Compartments](img/fitness_function_mutation_example_composition.png "fitness_function_mutation_example composition") +An optimal pathogen genome arises through independent reassortment of +chromosomes or genome segments, outcompeting all others +through increases in transmissibility and intra-host competition. +See `transmissibility_function_reassortment_example.py` in +the `examples/tutorials/evolution` folder. Similar code can be used to achieve +genetic recombination by setting `num_crossover_host` to greater than 0. +![Compartments](img/transmissibility_function_reassortment_example.png "transmissibility_function_reassortment_example composition") + #### Host/vector compartment plots A population with natural birth and death dynamics shows the effects of a pathogen. "Dead" denotes deaths caused by pathogen infection. See @@ -315,7 +326,8 @@ they acquire immune protection, if the model allows it. ### Simulation -Models are simulated using an implementation of the Gillespie algorithm in which +Models are simulated using an implementation of the Gillespie algorithm +(optionally with tau-leaping approximation) in which the rates of different kinds of events across different populations are computed with each population's parameters and current state, and are then stored in a matrix. In addition, each population has host and vector matrices @@ -328,6 +340,22 @@ information. ![Simulation](img/simulation.png "simulation illustration") +Tau-leaping is achieved by setting a time step threshold under which the +step size defaults to a larger fixed step size. The number of events of each type +occurring in every population of the model within this time span is then +calculated as a random value from a Poisson distribution with mean equal to the +corresponding rate. All events for this time span are then executed. The choice +of the time step threshold and the minimum step size determines the accuracy of +the approximation. By default, the minimum step size is set to be the minimum of +all intrahost growth threshold times for hosts and vectors across all model +populations, or the minimum mean time before transmission. This ensures that +the likelihood of multiple events occurring within the same host in the same +tau-leap is low. The threshold time is lower by a factor of the number of event +types across all populations to account for the fact that this tau-leaping +approximation only becomes less intensive if the number of events in the leap is +larger than the number of types of events. This threshold is excessively +stringent but provides a good bound. + The model's state at any given time comprises all populations, their hosts and vectors, and the pathogen genomes infecting each of these. A copy of the model's state is saved at every time point, or at intermittent intervals @@ -595,6 +623,8 @@ contact_rate_host_host = 2e-1 transmission_efficiency_host_host = 1 mean_inoculum_host = 1e1 mean_inoculum_vector = 0 +variance_inoculum_host = 3 +variance_inoculum_vector = 0 recovery_rate_host = 1e-1 recovery_rate_vector = 0 mortality_rate_host = 0 @@ -648,8 +678,10 @@ transmission_efficiency_host_vector = 1 transmission_efficiency_vector_host = 1 contact_rate_host_host = 0 transmission_efficiency_host_host = 0 -mean_inoculum_host = 1e2 -mean_inoculum_vector = 1e0 +mean_inoculum_host = 3 +mean_inoculum_vector = 1 +variance_inoculum_host = 3 +variance_inoculum_vector = 1 recovery_rate_host = 1e-1 recovery_rate_vector = 1e-1 mortality_rate_host = 0 @@ -774,6 +806,10 @@ _Keyword arguments:_ a vector or host into a new host during a contact event (int >= 0) - mean_inoculum_vector -- mean number of pathogens that are transmitted from a host to a vector during a contact event (int >= 0) +- variance_inoculum_host -- variance in number of pathogens that are + transmitted from a host/vector to a host during a contact event (num >=0) +- variance_inoculum_vector -- variance in number of pathogens that are + transmitted from a host to a vector during a contact (num >=0) - recovery_rate_host -- rate at which hosts clear all pathogens; 1/time (number >= 0) - recovery_rate_vector -- rate at which vectors clear all pathogens; @@ -853,7 +889,9 @@ _Arguments:_ #### run ```python -run(t0,tf,time_sampling=0,host_sampling=0,vector_sampling=0) +run( +t0,tf,method='approximated',time_sampling=0,host_sampling=0,vector_sampling=0, +skip_uninfected=False) ``` @@ -868,6 +906,15 @@ model's history attribute. _Arguments:_ - t0 -- initial time point to start simulation at (number) - tf -- initial time point to end simulation at (number) + +_Keyword arguments:_ +- method -- algorithm to be used; default is approximated solver + ('approximated' or 'exact'; default 'approximated') +- dt_leap -- time leap size used to simulate bursts; if None, set to + minimum growth threshold time across all populations (number, + default None) +- dt_thre -- time threshold below which bursts are used; if None, set to + dt_leap (number, default None) - time_sampling -- how many events to skip before saving a snapshot of the system state (saves all by default), if <0, saves only final state (int, default 0) @@ -875,17 +922,23 @@ _Arguments:_ of the system state (saves all by default) (int, default 0) - vector_sampling -- how many vectors to skip before saving one in a snapshot of the system state (saves all by default) (int, default 0) +- skip_uninfected -- whether to save only infected hosts/vectors and + record the number of uninfected host/vectors instead (Boolean, + default False) #### runReplicates ```python -runReplicates(t0,tf,replicates,host_sampling=0,vector_sampling=0,**kwargs) +runReplicates( +t0,tf,replicates,method='approximated',host_sampling=0,vector_sampling=0, +skip_uninfected=False,**kwargs) ``` Simulate replicates of a model, save only end results. -Simulates replicates of a time series using the Gillespie algorithm. +Simulates replicates of a time series using a variation of the exact Gillespie +algorithm (can also use the tau-leaping method). Saves a dictionary containing model end state state, with keys=times and values=Model objects with model snapshot. The time is the final @@ -897,11 +950,21 @@ _Arguments:_ - replicates -- how many replicates to simulate (int >= 1) _Keyword arguments:_ +- method -- algorithm to be used; default is approximated solver + ('approximated' or 'exact'; default 'approximated') +- dt_leap -- time leap size used to simulate bursts; if None, set to + minimum growth threshold time across all populations (number, + default None) +- dt_thre -- time threshold below which bursts are used; if None, set to + dt_leap (number, default None) - host_sampling -- how many hosts to skip before saving one in a snapshot of the system state (saves all by default) (int >= 0, default 0) - vector_sampling -- how many vectors to skip before saving one in a snapshot of the system state (saves all by default) (int >= 0, default 0) +- skip_uninfected -- whether to save only infected hosts/vectors and + record the number of uninfected host/vectors instead (Boolean, + default False) - **kwargs -- additional arguents for joblib multiprocessing Returns: @@ -918,14 +981,16 @@ host_migration_sweep_dic={}, vector_migration_sweep_dic={}, host_host_population_contact_sweep_dic={}, host_vector_population_contact_sweep_dic={}, vector_host_population_contact_sweep_dic={}, -replicates=1,host_sampling=0,vector_sampling=0,n_cores=0, +replicates=1,method='approximated',host_sampling=0,vector_sampling=0, +skip_uninfected=False,n_cores=0, **kwargs) ``` Simulate a parameter sweep with a model, save only end results. -Simulates variations of a time series using the Gillespie algorithm. +Simulates replicates of a time series using a variation of the exact Gillespie +algorithm (can also use the tau-leaping method). Saves a dictionary containing model end state state, with keys=times and values=Model objects with model snapshot. The time is the final @@ -964,11 +1029,21 @@ _Keyword Arguments:_ IDs of origin and destination, separated by a colon ';' (Strings), values=list of values (list of numbers) - replicates -- how many replicates to simulate (int >= 1) +- method -- algorithm to be used; default is approximated solver + (can be either 'approximated' or 'exact') +- dt_leap -- time leap size used to simulate bursts; if None, set to + minimum growth threshold time across all populations (number, + default None) +- dt_thre -- time threshold below which bursts are used; if None, set to + dt_leap (number, default None) - host_sampling -- how many hosts to skip before saving one in a snapshot of the system state (saves all by default) (int >= 0, default 0) - vector_sampling -- how many vectors to skip before saving one in a snapshot of the system state (saves all by default) (int >= 0, default 0) +- skip_uninfected -- whether to save only infected hosts/vectors and + record the number of uninfected host/vectors instead (Boolean, + default False) - n_cores -- number of cores to parallelize file export across, if 0, all cores available are used (default 0; int >= 0) - **kwargs -- additional arguents for joblib multiprocessing @@ -980,7 +1055,7 @@ _Returns:_ #### copyState ```python -copyState(host_sampling=0,vector_sampling=0) +copyState(host_sampling=0,vector_sampling=0,skip_uninfected=False) ``` @@ -992,6 +1067,9 @@ _Keyword arguments:_ - vector_sampling -- how many vectors to skip before saving one in a snapshot of the system state (saves all by default) (int >= 0, default 0) +- skip_uninfected -- whether to save only infected hosts/vectors and + record the number of uninfected host/vectors instead (Boolean, + default False) _Returns:_ Model object with current population host and vector lists. @@ -1743,7 +1821,7 @@ treatVectors(pop_id, frac_vectors, resistance_seqs, group_id="") ``` -Treat random fraction of infected vectors agains some infection. +Treat random fraction of infected vectors against some infection. Removes all infections with genotypes susceptible to given treatment. Pathogens are removed if they are missing at least one of the sequences diff --git a/changelog.md b/changelog.md index 264d5a0..c65bc48 100644 --- a/changelog.md +++ b/changelog.md @@ -1,10 +1,60 @@ # Opqua Changelog +## v1.1.0 +## 17 Jan 2024 +Cleaned up everything for a release. Looking ahead: +1. A big overhaul of mutation mechanisms and intra-host dynamics +2. A big overhaul of host acquired immunity +3. Performance improvements by refactoring simulation engine in C + +## May 2023 +Changes: +- Uses new Numpy Generator class for random numbers, some performance + improvement expected. +- Added function ``zeroTruncatedPoisson`` to return random numbers from a + zero-truncated Poisson distribution, to be used to define the number of + cross-over events +- Added function ``zeroTruncatedNegBinomial`` to return random numbers from a + zero-truncated negative binomial distribution (or at least an approximation), + to be used to define inoculum size during transmission (Sobel et al. 2017 find + negative binomial is superior to Poisson when estimating bottleneck size); + also add model parameters ``variance_inoculum_host`` and + ``variance_inoculum_vector`` to be used by this function +- Renamed Gillespie class as Simulation; added new simulation algorithm that + implements a variation of tau leaping (but left exact Gillespie as default + since estimating adequate tau parameter seems tricky) +- Fixed bug in ``compartmentDf`` which created duplicated rows in dataframe + when hosts or vectors died infected and/or protected + +## 3 Jan 2023 +- Bumped Pillow to satisfy the Github bot +- Fixed a bug that made recombination events depend on mutation coefficients + instead of recombination coefficients (does not affect published results) +- Slightly alter the way Poisson distributions are used to define the number of + cross-over events and pathogens inoculated in transmission, for consistency + (add 1 to the mean of events once they are guaranteed to happen; impact on + existing simulations is negligible) +- Modify ``getWeightedRandom()`` to use numpy arrays (profiling shows it does + increase efficiency) +- Added a new parameter to the ``run()`` function: ``skip_uninfected``. When + ``True``, allows Opqua to store copies of only infected hosts/vectors as + simulation progresses, and stores total number of healthy hosts to then + reconstitute those as generic rows on dataframe after simulation is over. For + simulations with a large number of hosts/vectors and relatively low infection + prevalence, this can greatly increase simulation speed. +- Changed Gillespie algorithm to only recalculate probabilities for events that + may happen in simulation (since many simulations omit certain types of events) +- Added parameters to ``setSetup`` that optionally allow recalculation of all + host and/or vector coefficients, thus overwriting all establishment frequency + effects; the new default is to not recalculate + ## v1.0.2 +## 17 Nov 2022 Previous fix didn't cut it and I jumped the gun on the release. This works. ## v1.0.1 +## 17 Nov 2022 Fixed recombination bug where one of the two progeny genomes was being lost (thanks David Suárez!). Updated joblib version. diff --git a/examples/tutorials/evolution/transmissibility_function_example_reassortment.py b/examples/tutorials/evolution/transmissibility_function_reassortment_example.py similarity index 94% rename from examples/tutorials/evolution/transmissibility_function_example_reassortment.py rename to examples/tutorials/evolution/transmissibility_function_reassortment_example.py index b186a73..c160b03 100644 --- a/examples/tutorials/evolution/transmissibility_function_example_reassortment.py +++ b/examples/tutorials/evolution/transmissibility_function_reassortment_example.py @@ -39,7 +39,10 @@ def myHostFitness(genome): # with a very low minimum fitness. def myHostContact(genome): - return 1 if genome == my_optimal_genome else 0.05 + return Model.peakLandscape( + genome, peak_genome=my_optimal_genome, min_value=0.25 + ) + # return 1 if genome == my_optimal_genome else 0.5 # Stabilizing selection: any deviation from the "optimal genome" # sequence 1/20 of the fitness of the optimal genome. There is no # middle ground between the optimal and the rest, in this case. @@ -54,7 +57,7 @@ def myHostContact(genome): # approach. num_loci=len(my_optimal_genome), # Define length of "genome", or total number of alleles. - contact_rate_host_host = 2e0, + contact_rate_host_host = 4e-1, contactHost=myHostContact, # Assign the contact function we created (could be a lambda function) fitnessHost=myHostFitness, @@ -71,7 +74,7 @@ def myHostContact(genome): # "/"). ) -model.newPopulation('my_population','my_setup',num_hosts=100) +model.newPopulation('my_population','my_setup',num_hosts=200) model.addPathogensToHosts( 'my_population',{'BEST/BADD/BEST/BADD':10} ) # We will start off the simulation with a suboptimal pathogen genome, # Throughout the course of the simulation, we should see this genome @@ -82,7 +85,7 @@ def myHostContact(genome): # Throughout the course of the simulation, we should see this genome # be outcompeted by more optimal pathogen genotypes, culminating in the # optimal genome, which outcompetes all others. -model.run(0,500,time_sampling=100) +model.run(0,500,time_sampling=9,method='exact') data = model.saveToDataFrame('transmissibility_function_reassortment_example.csv') graph_composition = model.compositionPlot( diff --git a/examples/tutorials/metapopulations/metapopulations_migration_example.py b/examples/tutorials/metapopulations/metapopulations_migration_example.py index 9a643d8..d9044f8 100644 --- a/examples/tutorials/metapopulations/metapopulations_migration_example.py +++ b/examples/tutorials/metapopulations/metapopulations_migration_example.py @@ -33,18 +33,19 @@ model.createInterconnectedPopulations( 5,'clustered_population_','setup_cluster', - host_migration_rate=2e-3, vector_migration_rate=0, - host_contact_rate=0, vector_contact_rate=0, + host_migration_rate=5e-3, vector_migration_rate=0, + host_host_contact_rate=0, host_vector_contact_rate=0, + vector_host_contact_rate=0, num_hosts=20, num_vectors=20 ) # Create a cluster of 5 populations connected to each other with a migration # rate of 2e-3 between each of them in both directions. Each population has # an numbered ID with the prefix "clustered_population_", has the parameters # defined in the "setup_cluster" setup, and has 20 hosts and vectors. -model.linkPopulationsHostMigration('population_A','clustered_population_4',2e-3) +model.linkPopulationsHostMigration('population_A','clustered_population_4',5e-3) # We link population_A to one of the clustered populations with a one-way # migration rate of 2e-3. -model.linkPopulationsHostMigration('population_A','population_B',2e-3) +model.linkPopulationsHostMigration('population_A','population_B',5e-3) # We link population_A to population_B with a one-way migration rate of # 2e-3. diff --git a/examples/tutorials/metapopulations/metapopulations_population_contact_example.py b/examples/tutorials/metapopulations/metapopulations_population_contact_example.py index 2625e9f..7711664 100644 --- a/examples/tutorials/metapopulations/metapopulations_population_contact_example.py +++ b/examples/tutorials/metapopulations/metapopulations_population_contact_example.py @@ -36,8 +36,8 @@ model.createInterconnectedPopulations( 5,'clustered_population_','setup_cluster', host_migration_rate=0, vector_migration_rate=0, - vector_host_contact_rate=2e-2, - host_vector_contact_rate=2e-2, + vector_host_contact_rate=5e-2, + host_vector_contact_rate=5e-2, num_hosts=20, num_vectors=20 ) # Create a cluster of 5 populations connected to each other with a @@ -45,15 +45,15 @@ # Each population has an numbered ID with the prefix # "clustered_population_", has the parameters defined in the "setup_cluster" # setup, and has 20 hosts and vectors. -model.linkPopulationsHostVectorContact('population_A','clustered_population_4',2e-2) -model.linkPopulationsVectorHostContact('clustered_population_4','population_A',2e-2) +model.linkPopulationsHostVectorContact('population_A','clustered_population_4',5e-2) +model.linkPopulationsVectorHostContact('clustered_population_4','population_A',5e-2) # We link population_A to one of the clustered populations with a one-way # population contact rate of 1e-2 for population_A hosts and # clustered_population_4 vectors. Note that for population contacts, both # populations need to have contact rates towards each other (migration does # not require this) -model.linkPopulationsHostVectorContact('population_A','population_B',2e-2) -model.linkPopulationsVectorHostContact('population_B','population_A',2e-2) +model.linkPopulationsHostVectorContact('population_A','population_B',5e-2) +model.linkPopulationsVectorHostContact('population_B','population_A',5e-2) # We link population_A to population_B with a one-way # population contact rate of 1e-2 for population_A hosts and # population_B vectors. Note that for population contacts, both diff --git a/img/metapopulations_migration_example.png b/img/metapopulations_migration_example.png index fab7e8f2445d2a9c964d97f27d108a575121ec79..d5821dcabbe8f35a9f3da6851b5441bc5b22077c 100644 GIT binary patch literal 189017 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�pDj;LlTJQlH> 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

h+u)&hZKs887pb<3nU>#K+IS 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�H9a`VZkx+lI-M%wt$2H=F<+HM8^MSh? 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 Lt10BjnLPYoQqcw@ literal 187565 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

9rOie4DGY7Grpd?cEcT6h2jQhEGln>c}G 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%0A0+2u%itI?Y^X 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 YC2P~n2xI<*?8!*oucex%a{S`|0?%d3NdN!< diff --git a/img/transmissibility_function_reassortment_example_composition.png b/img/transmissibility_function_reassortment_example_composition.png new file mode 100644 index 0000000000000000000000000000000000000000..09e453ee8064ecdea773e4f31c4a6ff1b6f8ded6 GIT binary patch literal 161726 zcmdRWX*iZ`7w&CLhKkH&iZaU>Lgt7}d4wc0Ng^ckJYy``C`-{l540c%J*duWMavo$EZ$^*q#2yF@}rONbx{iL#Qs7J}f5 zAPDw%0(|(*xaOM#_&+g61zpFhcP$*9jqjNwSBxF)Z07M>_{`KE6Bu{($%HJxe~Ot=$jsAxG_$^c)a`p$`2A%eKo&3c*4UWqBFx2Z?hd z&JVQB2l1EOEIu7Q>d%6~di3(+W#ko6NHCKEu4W%L`&im-s#r{4;DWxCg0_at+fx*{ zxY|*pq#U1A*qN);C0Dmh1%jTKxiZt-+sh5Teb%AFrSrnsv$nsard=4GXJ>N;|JP5N zcXjqzY5D*BeB;9x`LEa6tO&=T96ApQ5F`Ps*Gn-tG?KjZZ?$bSALu@OCuI zm81RNy^}zsn<7p;}wf(q0;?#w%a{EcnM3RGt?#|%g;!?>;7~3urh2LyO`jB8F@kzAd zbmtX|EZVc}L=M+3UTUq3m4$`yn2P3qE!Y1?i~av_pa1V)I)o{-L96%bVW7W#ad3dh zW#Y)LV$^*OB4Z}HZa?%jaUW*1{XG+eXAk0^MTwpN+A8^B4DoUt95IC`T??Nyc8uiV z`AbtdJY1wN&WGeD@I<}A*2Wh-e3NYB;m5yUF;ca z{d>hiY)mxsbp>{8x4)?&AmrcmXtG~Rld@X;dj;ztL6E*s;w0De;a1X+|Ca+~8~%P` zNELakNld>);^7?c88)R*NtAHkEKAoZ78r1!hebO-}~r&NU}H)X;PYh@kMd?G-*m9t$o}I3I|sr z7ytWVt^MpxVSmG`>o5$Mv$dG>-~an{)Zwo=qJREk`}csdO$U4B&we>TIxtPAW#TaW z(`pabgZXkm7|E8~e|F0Ea7i?$S~4=V+n`M3iW@yvHRVBE~z8PsyI;M*g;a& z6f!xy$na`EK?!;6o37yWqCS?pLj_Td%m)_?(b<21M_OFR|69Y}gw(P*kA z*0b|cG^_is=Cd6k|Q2{|gW&&*Z-vYB{GGYb^>XTslyqDB@IpBz|5neLZ`0HD)+H0)nqxNRiaMi`k|G9*EN{M0hYrP}k5;b8-b-(7N6gT)+Bsmbdy*`OSTzeypMEvU%OBo!Vu zw=8d+Ah1w%-nnpicCCGB8T+mJ^OQJydFzy6|GhIg^2#$2EQG;x!`OX$xoNP}cI2&b zSBi|1y85MCw>TKw=J@Hw9SQjPg?EP(<>fISbgcZvD$BDoHRqqSTd=aR$zV9wdo*Ni z7;*(n4}p=jXj~fMr{Y^ZOv-CoWQ?90sg$4XlrCSc3u5#ns2#mHxwHP&`9j2L(df9i zK<81H%uj1y-ds0rdCY-$Pc}tPHZgh;4_U(TB7FSjBkrp1fy3x6>mB*#co(A2{ z$oiM0gvoK}WHc}oD)GE{Nb&8yV}iFq{YCB!B8bS{QTn#W5Ye({ zp1jug3f3q(#_JTKkY8gLUqG4*flV88^58)B;tE&m)jNOn2!fEIq@kfXM@?+?Ig8YF zZSEmJu8BZ8TRXS5_kKr8`T%^bh*z(y$psxtHE)fRiFEiqqnRk_MtLTt`Sw)@=Z@zW zrk&h$babRANl7)^ClfPBt&@XQo}0v`u!jsOjx$@@eEgRXg|CMnw-G%;g}5<>!it-| z_r)upFC98}cU0oV%a?EGCh1wNzPx_YxBTq<-P|fEw>6uOlUdmz4$~dC*mAe0B#uLA zH3~M@nRm(xU5OXRL@^&t+hU+&HoVZxGT8b4Z%xvcgAAdlr9~D7)Ak*&&(VhS4%G=m z2J3EMiW4)p$tRD!hL%{iG9MC5bZW4`?}EUTM#@&YGQocVm`zL9|FNx2{<*jlXVpcc zT14W{OggoY)d}=euFm$Ees6p7V6LF4*yHsVBK6me4Gk`m>hA9E)&@=N?-bMK+HY&} zUw@JI`Zc%X>=&Lf`-j0<-|ddtC<&N7Bam}{9e>)IS3!pqwIF0U|72x zP4#c74FpBV69hsLB)Y*Zs^$y;r8EU^Zf)Ly45hWO@RUXj=FP)O&i}0G8GMm7{(RRR<7y@m5K*f-mkw=UiYk%%CW@)SZTc??Qd7e=nT&EH9!o3o*Z z6oGW*T;tn2qYm%`KRa6%qwRJpqmU@{=l9npA4Nz**yTt$&wtGQp{?iBD`zD4$Sj^o zlZmw_V2=7PqRV<|VpQ*UHB)UIsu~`G);LJ$uS&0E_84z0jU#hU$cIYrI9zBfy)#s- z8aiGdbgc!s)$=kuu3>q;>}#FP{k`Ac-?^+5_nlS@BUr$JFu;>3B{-fsQwjFP& zsU1^{pg$^;AOGdS#&{6d{K|)u>a|AapgZ^Yt*OhMt8S>zO^F^7#5*B@T4MRbN!!lV zHo;B=AtWMNhJvXx=sEG>==OTe9wb`Zk^Rj1){0y?(5zI3T|g!)%Gl_*bw3UrRrcB9qT zY4%G4bgWB%X7kdEi^*N97CA}l?5EyW7({7l&o%z3SrDC1zaN5*Vt&@itgGTG7rKk z;X5iD+nXyJfFPE~gBV?hEx&zylpyIQGBG(hV(T>-em?5ivrsXI??#UZ8(%3-GxiW3K^JlgHtrM48lElO9ZTH7^?F~Fud&mE50Oa!2ly|G(xc=y9;0MvNt>6qw>FN7dy8w^AFx=2* z7m;HZ2v}z&{l=9)ZdJ;l%E4J7D|qiOU`~6Q1%dx(Z9cTxV=M5^JE)x~P-G4#J$cd( zu4eq{g|hKe3fNyOa+yGrlg3==3QE2pT`itK!4)FW+ z5T+qI7dPg|`YD``+WVuzbfhuNPi>4P)yp}i`ec5S5`S8Y$F8x>Hek*-E=*nO?7@nZ zJ8YNQ54z7XdP$LYk5omn3TeNr=(P1mwcyb9R&@p%6?I;Hbg@H%n8Inp~@wfHOL$GpeA0{tT4R2 zAD8|AoAn;M+o)KsqIrYB?4!=OY@?zupF&26fSKm6k@y#hEO@&vocPY#%7HdV?=})2 z=0B&VeW>&;Zep6nqukAgy^vVpamr;v`IsxMT3P*~m2WlK1{lJY&*zh>HU>Upist0d z`0(@8@58-5q*FffC_LV2X(VuN420Kl-J+z~MQ$cUYE z`lWA^ir%iD{`&!V``zWYxSG((aa)GmmNjBr%wuNqXNljhRuz$H7f6`ach)MVygzc6 zhKnLEyv9T7FKZx-&Pz|U;<+9|;2cS!=kunE0H~M8 z@|ul-S<jVrE*?ywfKt#6$8QwaIIKaFB>Dos$tE@|<6M<5GTc zfFAn9C{+=+`lVkx0c3*Ont^78)?1jZFcRfJ7LKSLo^gt?Y5QZpw8hIb_)Y&&$^Rb4 zpRCB^(P(FYvoj4{M8JKo%PchN({e)k%uj4isPL>!a{E^Oj=tLV;w`?&<;$0ul*ypP zvJ-gMNQz){D`4E&dscLPaR<)GV&# zM-eygIw}VXX4Z6yLX7{LE~|?joI3g&dAS)`zXXd4yuNy7r4e`A1gQ0HIvJ$+(B7n> z`!cLGzt#9}A0DIKFKm03t0pc@DR%nTt!v!p&D*(pDZiNKEVf|{a7qj58wW=^5!w)F zaN&t$TQ=hV;tnqA-}2YJe8rQIa%P%TMe>M%!r&EjHO- z`Fp9sg?$RYLx#<5SVdF|BH6g41bN8g!@_~d;t_YXQHsWWRZIN%XugmDvYAxG$*IM< z2L=5}i5A~UOV|vPn5eQ~*-`XK?Kh|5)fxjG7On`V85sea1s$TG66Gg5$H@_RqFwSE*@&QRqz^Q>%-s#=qRF~D=> z6Cqr6aTN#rcZG)h(U2>@-Mpq19AVF5d4=+H%op41r+!Jp5sgo~cjhgTjc$N7MSqrV zAlKL=8y@>{8{IcLu(ahP>ZPuou8;1JnLYDh9I)A^C1=RY1)dbA1im+tPFD<%N=&5x za@GiCsbn_7S-*Q43W1 z2ZoQGAHR!k!#2wqD{Q~9nGy0nGFylLI-5p^hkP5GIm3Dk-eU6gQo^V^R01NbMPp80 zaI8brGBPp-XBER~nc3I^WKg0a?zgL?mX=mmmgedCszQNIuXTJ0&wfSt<1`i7hLq8nbWazaH&Qwi<0_F9t5>9U&ImlpMaqKm+@z{&bncb%#36y|#^J#12x)E zc-fty6gOXU4MN(&`UI(_cGv8xJ|BD2USxpzaDF&?c;o%Oap=_ah@zW!$x}H81<%2` zHB`}jA{fd`Kl?IMQK1k+ESk<5ElXlkZef!!vT!x==1dVe1v#eDGkO3-fRbId!z2(- zyWf|6RH*gAnP#Aysyc=CD`ZAe*ARszi6r5?&yym~W;rvZ>x!78B`)P=q{U-O4O#}r zzHDpNxLPP#xRr((RP)gVAFwsu83!c)r>tyR?TWKaEN|00{aBi#+C+5ksYqJDg3vEb zRN9=}Zka3Bm2K}o(fV3{llS^VnrwX+iQ9%WHs%X{3=2ws`QdIh-j@f$WN(m$l|QW! z2WM?{aIWA?$*)TxOpu+te^wM@QrPkk>C($5ax{%_nDIp*i>GyCcc)16o|B1Y{m|I> zcFwe&&#ziyW4te6>Iq#c{*A)|oz1oX@Jgo597lhO!p&-p63KEGAyczI83aXq32lOV zIrC9ox7#W}*CN13Sne8&bRi+H4~c>%(|4NGqRU;IVlPim2L9DQ9A6!f$3k&)6Dbi6 z+)J%f8Cf5+LQC7PMv|}vfB#a5@z#FsYV$GG(ni-oh3Wl|KfTrYH;RvTO+CeWUSmvx zOijI(C3$;@q%qeH%Ile#Fp^7=;lGRm9Q^KHy7eMN!u;NY(?h&fVc~Tgsax-u4k|mxn!`JAaHnMlqMK4c^ww zGn7ndw=gp|2ZEPGx7uAyKtLehq=8WA_7~!0_g~5sok_vgga>hOddT;>lCzn4IgyUi z8TE`T?9ToZDs92aAw(PHN=HF{nk~_k?_1WsKGvs1*UFL4tcUx7RVR5CNMCvR-kwA; zhow&{d{_u?<(z=~&T8LGUtaQ%$71>9G1X@xB*5JX@9r#m-Ta_OMp{4){S|5KRaUW? z%V*x|8fdg_J*-Qc=xi zd~+{fmXy`(%}&m*Eg7NXM-WW56k8nR32p7=r`p8sxM_Baw+N=N!he2__eU?4ow+{h zc3dZCXT9R`7pES9`Nj*BH|(N;@xet2Jj=jA;X zPAgnD_TI0+s+)z~R-kaY{n?S{YC+d-dSKi-`Oi*!0S(+=b~kx#b#Hh5V)Du+5C$bX z&U5{mKN2JC?}*T$9KYkjFwLu1uauOP->>%FjHD5?kdE`%YiDW|Kq-A@xxf_Yb%P@# zFIBm&c2zpxeFsmPue-rSuE4k-4g}ImfD)wzT%q;%o?AV_Rh3Ebo@bDYnR_khdKUDR z*&740e_nGMHS^*lO6J>g0qBBBT*XijQSss;pL1`}O*V!T4fWr2U&hlfvkgE0)%|3p z^P-}rCMm8=ZH2@1(ung{l!v6g=qbV4yzZxd^`+|j_VZuErds1qpFMlTmx<~0X&i{s zqvFmBVL%7CNQl5MfU&JR9Vy`p+zcwsb$6s)eQ?Q|Gy z-ej_kfmVgGr4JcY^f=NCT)L$`3aH4eem~*2XJZ&3X*yYFDfq0NIW`R&$&k=(H~`VV zzC*TPXJbe0E#1QE&uAd#j{YkCwax&{Z2$-ulUs{5O%Nbh2+FD? zd93N>nS!Q9w72zj4^K9RtYy+-@z7?r`dF9zT#~F=y?%*NYN|LSh#U_Z<;`Oz~uQz|(?0IL%jpPw~ywL#v;S_(W-%>r6gV|qoLN*H=awT!Hg6+(ogxb|VX zP=f9OZ$Ro&diSf;ywh~Y^LhabprFpEB@$pT%e6Si$6z58RNDeFKEi!Wt_|I7BI0}J zjRq~F`w|v|>kM=8ouM!D53ZNmy!StPa_L8AvTSD0t;O}luZ;Hg_9#sUlx-j^#Ms-} zTnDkW-fK4-Ail5=zUmDYL$4jDJJ(%Z#Zd}uYoYQudMZk727G}IQzbHk^nJwX=Vuv6 z(j}&#)zL;K!yhd+UR9UGi)r?U!;*F>lEHTUnV{t{gh@o?i>VPda(`j?A$ossZ0w(` zoN^xafm3a?`m-06OFVZsEqOG)E%lp5jsw?;0^ucC+;kwid55-EXM-**l;e2(`TZVl zaT%T#$i>kmQL40`{`<8P)|r7$kHOaYk^J^z7=+4`|UVV`@^TaZ#+wksidAIqqc8hwrd8~dFsj6Qs zT(J>-KOEuR_&5&p0_3?uxw@ra%M7-}-Z#Lf9Ba}I@)IfC;L7>D=tUkTz zHed1pBv`I0MxggVZapm`LW!I+Z6uDLhcvqJ{n=fl|Dt+BN?^TH-;GS+aOdCr%pr%) z2JbEb5t{%-f`&7BTcUiqtvdWOTH3&vVs?(R6Zj&}c?3Mf>PAiLe>?>^BWKNU3<aZx z(oC0#=mA9%It3i>xF_TJZtJ$>R8%-fW5g*UXm9R^J$_8i!(_iSCIi*nB{7sQ;+{6( z|BcNa`omN7}H@A^XfaT9U=kcaD(#hbT6aMz%oO-}A3mmf<|LIJZ9cyIPw0QqkiP$EnE&cv)AiQ5KEdv|+99qGD! z$z`hyG%iH?{{7M>{-KiF)2oS)!|}#wUtrDc$kFH4?7HTeir#gW;?;mtBoAsVVqkS* zp>5d^3W*2)Df%iQ345Va=bxzZ$~=d>f|b9%5c=@pvg=L|F-_X3>3KJ4?dJ#f21K?M zs#e;LWtFY-<1{iAo_q=#IenYs-*lmqrDW-mFbLOJv6DH$H2oxnAocw5c#vXH;eq#qevWdnM|rj$8X zZK~L%;mm*^UE$nHWMJ)CvL{;FBI$VSrFGUsZ+?_i# z+-Kkig*i1P1%Y(nKVY-=gn9gmzW&oSeGJCHp~FDZne|ocqeQi%ORl@yo6O-Y)v>+gLJ2cFk`iwNQn229w~pLe0Om zc++{r2|+*zUL9h3`}l8=^C?V)3g?l#T!_H&mdq!W-3tz(p#$1T*TVj&km#SA>^h`{ zSNt)%$>}#BX*sOqcA`y2_7y^FD2M`;od&q7N3}zKw9+EZ4 zNDj>{)Z&g=lwnUq?mWFY%@T6vAR&2ww6sCIh08vB=4!av5P*LRJ0H~n1g%HTi=+L;w_^HCwJ{3z_60+CA}{WWM#sbe%4rO*ho)u9=`{tHj?vd@4ePM%fUaI&p3%rm!ehcmxlV-V+I z`=I-G+&5P`FD?T((ssQW&5BBlzD9hO7jAuGji0|WRN4Sl91Gb1xp8^aZP7)t6Ozyp z0EtcEvuQuQB~dFKf%McbHB!m=D})72fwKmufXRADWB+PRzxL&dLa>TT>G@-2%E2X< z*}1vpW6oSb`mfII?3mV_ypf=yiRG=PMe6)Qh}*Pz3Ic`gm(0G16ygbnC}|6eGlm|k z7}UOk;sU?}!KrdVY0xGssi^pIw|?yCXk_%-_JQ6;he(&27(f2|*Z3RvY0!2;GhLCH zi;L*STgUhP1*Rx$L(30X8HOty;1@?I`3%Ei&Z?UX6q=)LY5i`+?n?6B7`T0EQT)-u zm1hJFWa{&_^bkE^s5%aUZ{1s`Sp<=E{ayRv;YqIWZb)PEt1;?Q52*|vV1YmQOCgJX zv6W9kLW|0q;}S~Z^` zP7<9a=78uxw2x8BM{@_KuJ+rB>yVmf6-w4JJ>h-f-%5!Ux1yk7!(#Rf_jz~VrwKBi zd}AJdtSi1rzB}%hR~K%iK3?zFXc08~U9jC7iN@tSx2f1`U9Ya5l~`#L6m|K<`X%>9 zC|uTc_$F8b#%g^YOh0!n{#tShb%t@@cuNi&qhM^zEVcRVBx;&sXsd7$uxa5}xvj6cEhKxa(V)f69Tvz|kQ42o0NmEi7oaY+cP@g8 zkqqImF(v?G`}2+cnjA7-yx5TBOUrJov4z&10O7T+NQ-(FbRo7N`b}NH`tz1s&6HRW zw^2N4lI6@w`Q(N(Ma)z|UlQmL)>KzZS@2Y_=QVNB-U-f|-MMxV|023l1PJPqgV>ya zV)g;BV1d)D&bRO1)5^=K!MT-nEssI`{#-CPy2jw3$+yPwNJa=lN0SI?78RG#wgmcd zqJV&a;D--ofV;JW=b3DzyZZrPSQqr`!5%LudGt{(Awl>yW%bs=1$t3C1ke_o1QaF) zxh+&2+1qHkn9}E#J6r>8y5o;ec%f8$jgL-W0^Ik#z%r-^LPed(CXDVpZ;DIbo9k3) z;{Z#!1Rd@e1T=Wk=7-9f(CQ0~cm>G^Q6cNk1Za~KLcxWed1KfhICFvQA<)+x%YFNk z6SY3T($)iXTlfC1s2#fz&jm=6d@$C&lxmGm{_ z{H;$K-?L`orFshbiJW`YpiJlKPb7VEFS7>e*&t{98_TzY!ed` zyQWjlRvxsnkD{Y}0kP6T%s5Inl~{GxnNH4y0Ey(ja1v@8+AT*){8Ex$u?r3lZvg8g zzss+0-Vqn<#t_7aPCh7|#$*c_=d)mx=9rvRSX~-398$u&;lq*TR;C$@zLlPG^0okXQ zgjRFyb`9NFuHzUB9*e;5kfDyGp`*kC z-(Z~i%oQ@^lw$?u=W1@65as;%Hv&PF2~pW@9Gqtxf;!W6R$POxs4bO8vb1Qh;RP=n zq{pLC9{lct=eDT4<_B;{EPabn$3_6m`2+O0w%iuXduqQn_G&<}*B_nX9ZdS->*uA{xaUF72w z$%p4Z+Q>d@(Xq<-lF9yHdw&MeX7L;NWD`+!`w9Lw`EXQ}mqpUUS{1)ZQeTm{qc>O7NJRX0O zljINovfA2Je?RCBm8*?tyj=)>$kiCT)DLM@ad<~x3T}37T6w;?>g27R^oH!4WjuGc zQ#-OqLx(yL|C#(XOZH9WX|$J1L-a4=O}`xKu66M-o04(dxKt^@ zAhO+kBG%aBqQOc-_;-FlQ~2-$lt{taNBT$9%|b3ebPLlUme2fHG(IgFRd7aE#B{oR z!ek2c(Yv0<9TKO>)mm*09ILmR*kUt}6 zwhGvEf3#=Xn-WISd&Nkuupdzf09iJhz38vOALF*~6V=9P7U>4p$-6m?VhbD5^*+0I zd~td=TCQ%A%~?j48l4zpHm&EDCN+ooi4>*6`|AHQvEM6Q*lQTl(k&tJ)76H6Ou%bo zy7b%QH(k_Ay6=MlQrotuDpO*Gyr^|N!zlZx`L>@unw=nIetKtQ!2z*my2QcBV|u!! z@VHq{@SIbS2H%Lj%QLooGR^lEh95O4iLr-|n3{#A#IoWb7>mC{S=s0JDfV9J%K=*2 z?=5(=IWP+Eb7Po~pC*cq+ay)G8(~F+kL7JvTH&H@cZ-_$ditUR%50!L{k{sTN#Y3h z5}v)c-+3*#L`cmu?_nVWbjR=<4T|mQ`q{zL;c+KB5%16{bJ&t<<6wRkFw1`h6Gwso z5p$egYBp!cp7?a>@qi26{ibpv*LZu_t}Dcco$A&V+c=!C`1@WzQOf)&!i+5IdyRpc z?xbKe)AE$u=4qt}pQ;3Dncepr*$d;w!|4l*^FeN4iW}BKK;uiitf^qCmyxfjofS>| z>fMj>8X1NLN{=h0Z0EsYp$py~v;Qp3KJ{yTLPd=q*_xz8IH4B8Bv%?d zmA6w#nN97{r%L+baz^PK4ILFW!-DUABH1!O?50VijL&dr_D~g3ECZc7 zXQ{`F3G1j0v^hz7m20=I&lk6(|Fy>(g6_=<2!yP{*Di0flVm>#G2|$2)1$2vkm+Og zZg2EUx?U)sH1OJ4MX{yryJf|)Eps!o6kx%yp1XnH5~#9=Lw8U*5O^jOGNH6)Lqh`! z3{YY`8^dJ)trt3#fKN>A{rR&tA`PPq`Jl0Qf7j>+c#Ec-vZ2A^TYdn@#-aPG2Z(wU zK{;bU#*6p8{N8&5b%TN^9DL$^e$=ATw!?{z2K@~T znYBN9GI5^DDF9J$0p4`&hsU$_K=_w>E1?M#=LeIXMjq^Kq6-TQepj`J+x{fRSv7fm zeSPT_8rYxjpmWsj7Tx>yk+dda<+mU?BV#12INEBS5_d#pmUGZqfUq$zosd-B6p`Ev zucDF*-2co-<#|+KDK8hT`R-P5kh1X$C}>j&$h1q|l?5^}I}h<&*aQo(hVDV!r&)#f zrC(|2%nT;;XNhU;L%E-C&zjBZz*L_PfbKWYx~7d`KHQhqm>+?fmkQn41AvJI2ZJJV z(X8MMFte~Qfi^Kg%0qksWG-|%gYgG$k-O$(n$$#P-pUjD<`1l~yXb;0MXm8mKT)g8<7uHvhax_e{vqPez z$xu0BsO)Z27>yvxC8YyyeDL#CrjfuC_u~^nUw%!sVr_Um$6!z`WB1Q2pZnT?<;-9S z7b?3QS=GZ{{h5|d z{>w;+mK1gY3kQG0DU4MaY_?5};dK1wE#$>_zcPSZc5N%sqKF2d@0V&Rm@WYdoN{US z`GAcG0P+ba^(Yr@=)SD*A~Q1`4^;0XavI!NUjJT?oj>K|u z4DO`%+VigAEOV3lPZJRZ;8=15f-?>vXdd+6!OKaJ?Re6%%78X zZ&tYqKNY$)asQ$^4FxnCIQwHJAQj%PRBy0X(EI@GJ!4-*m(AVvy6>qYr^ z`9VCSzs9SkNzA1s>fUe;Bo4o(uqPptgudP=FECygumOS!YHvpSx{r@eTXm)QG>M6B zgR}|r9mt%X;hC7DM3mgpFuCKwFx$3isia8`1UV`cf?>WsnoR{=$GPE(lW3YmL#|9u znF6!TKo_ovov`4#(r^-_6JeS9f}qZO=;*AUR08hUr5aMhgjs!`()l`iy~Rv+7R6Gjy954o(XO zO=TR^t5p}ZOQntG@izj`COyDL#Z(}3eZiJwaDTwuv$G0{o^1^yj1AP%-F@c+|26J& zgh3iaFsZ$5hZh+c<1k;aCjK&WaTyh1(a*5#NPNGsJh?oZSA(8qY5_9>RO5oY;Ciah z{&}V258uY{k-enR;#*hCrWZh0goGai$wC@~dAHJWK?;X1X~E?t`1DH@R^coe!||{h zeOJ*c1;Y=Ls1ydQA>D=hbJ8+0KBaHKw$IR%i^+*w6HlnvbjW*4R|fM$XnJT2qw&Kd zqD+B=Rb<)O_?Y9Wds2^m-pkC)N#M%Rgow7)MvzRfVjukaUE~7o>)3PW(f44dUj|-| z2yzr8HCoh~knF>u{&f;WknxJ?q-VwLp#_! zj_67~&1Xa-slb@0vw!JqK50gHJyvZrh8UyCq=&1!(mK5MSp$~_&nq$8cK}6;3dzS# ziCd|6#mB~CT(KqTL3xaTu>u5z0N+Hi#$S7EtpOS8*gvfaKaX_cEWxxP6TS>H6;^r9 z3&TGgymET8V*}s9LfS(akjd)ns`xrPTCa{`WH!4Mt{U-%#j`ULk80W=w zat&UM2!dYNTS)iLp1b9U+jCHH^Hz;SAwgdTE|0be{%jLZCx-%A+Ft3rMrf`5`OWq7 zz!tHyIM|~KDOzcym-^sDH4onQTIgMw?nDJ<#2Y0(z$n0nq~zyoaB)!{17|-#4r)d5Rmr88Gv=NQx}mp9X+R5xE5ud)8A8+w*zjYA+VAru-SriIA=<=`#$4 zgeH;2k6q;n44H2lJIvvsY#=nV$LF8QPZ-Vv07(Kz%^gn=emp;#o;h;{O>130=FCIT zA|9N!So4GrA75nn!9vA!O3#mCF9515E^RHbT>K^<2vEXwd3hOz>S)j)jODua$HP!L zda3zra*BGg6y!rJ)LaQ9Av!NnhmOM4p`r;kYmsC=c!P;;v{Qnkb<&z2>&-ZL347Nn zs=nz@nWi}UvP~8S0A9OfM77Cg2xucrak?o4y_4}6w3V{5`}6zOyiY{|N8K4_CUv2*$bCJMTg z_hEV}uYCx7mk?ab<$0!>)c~6Ydsg1t4QD=l_>goqR%2wbR|8wlXE%`#YN5B}^_RdK z!^9IEvIInJ<>N8J_$CH7)mfY(v*zghFc*MZx7)vTCSP2(2!W}}vPaPEw10-~@yYAp1BFyb5ZXBm13{Fvv0WZL*5 zi5zLKZ!mfZP>?t8b&T7WeqJ@?jKSMC*MFjfJxK6K`H2S(o;)Ee)qj5G zq)bmJ1GMkTy>S7l1-M&Gc0cvkx?xoU*xMeau_uVyv#=`50@3*B*|XV|1e9$@Z6?Up zUNdT6D+eXs9wxos?W_&;7g-*+=u8R+KiwE4V8;uA+^y97CjON3Z{byb<2qcZD}SNy zJqL&7F1h2WP_C#l7U)SyZ@ALy;TK*pYgEL`W|u1+P!SNzy*lua{&V%G-Ak{ymCk** zu~EVi^?jT_kOe8JKR<9TiU(U;x%7OrvmAGcwEfjI^gBkfUc!U-QgUEH(SZYR3a1K1 zKE?&QQBR-#Ec&eivQDdLQnAgzrwq+|kTZe%KY?N*$bUOq>zBa%f(jOni=(GNRPJpN zyTJ{ZMc&??ALT(?dCDG)tV8hw6f)Qs%{mT1XJfgEkssPAq!ty?(WYuv6cQ>MYxAyK z_KJx;ud){S2&ynCq@v=^N-c+?d0|CL^4Q*fFMhSbb%UU)1NOBddzu#kOJaL z4iHko?LJ-H|d zP5BK=mGxKb3LSnFXeNa}Dx1WenC(+EuqOLJCir_bI+aWP2gwWaShbcQscK$F@%|#F zY#9w@fq|5dA@N}(f+<<#*)x7lyEr3WrP;WkAb=V_+d^gs-$QpkzMX@F?R` zraEIXQ7;_2-{o)64h^#X5`;b2{zhj-BN`@>B;DTrzJPc`@i_j~eTAg3uy6?g)*pih z$FzZRDDG2G82@o;x-+3>XN``Vk_Z~?t{N||yveGKiO>g7{zq&>BO{v}IwgZ3TM}P+ zDzq$i{_gs_B9P5eVQ6)*4{GvPuRTdPl>U$-VXEi#^)fZC)x4e`cJ0D_Xlj43^!|v) zZkxZ~q+u0w0wso|Nse><-IJvN?Z)gf$ODm=Wny(GtzHI7_ddX6nO1`M*nXSY>ob2dPBEPyX!$lC(0 z>T(Y5w*|v0I29$_@hU$ItNN+?+1FvDwbn|=q%DDeW~eN$a|eUzWtoE%BL`J@WT6jO zA26m-dP{QV>15sVgpvO@k2>HP!Rhnuej=oI>pXN2Bh5&Z^3{OEuw;cqJ{AR>f#`0+ z0h7)NC~WbcRIL$7kraZiAD9m_D=B&4@Qy(-#cSKL3)l=HwfFYFKn7WYTn51u?*(8Q z*o=BmdyIu>(KLmYsdLXpE=ph{z?r-fim3FWC=#YOF*QX?09vq6p&xbx1-B@g;hpjZ zfz2OeS(&)gD=9618IxTeN-#sTOs#-(3|xY*4Jyb0B{#r!pn??4x=JmH2BteJf=B^c zxAjy3IA#|c(r0IvU&{fn6jHsjb{#E5pq}cl`SXGLS_iR&Rcp!gp+Hhl@Fe)t zc!%iOvfRVLA9k9juEJ%-qUJl~t#56l{rTVH@4X*9mHCwoqg-HlOLzYLv1T*BIkJ9& zu|FIlGru{FB(daPFOKYF2;%PDPBf#01lVeM|30&+-}+H#Pad5GP&U(Fa2jIu4g?pD zx5x9QtC78Sw?Dl&imoY|ouMhkDJ&{N`JOx74bR*d}Og2Dt$9lI9omAD2_Ic zao26%1B25AsSmyb0@VvabQjd;YRNos19p0+NzOJ^4d&gfxy+Wjo!U3soo_5R3}+E69w#BGc9Aqg;tBby>RTA^+JAC`Y0H@W|E7q7^HtH9+(FM%cQ~Pqf zqmJKD-AMZIP=!S5GRu=Y`prDf^68Q>a-;{dgdZ7!&`Bxncjl)Gdk!-5IAEy{MV(SP zRqNo9R`_P%V@A4Ra*lfG^Hp`M{3GY+J%kb=soWjJX#~7^60A-`UL7P=BjG0rFVS!# z`c835kw3~ifEERA*#6_R8%)TT)Lz4kWFlSAs<(kv7-*>YHAA7{9H4>|gl>@`Zuowc zV*}tAOpkr>Ov>YJlUwhj8@Tdoh9uXH$0!Z&rDnsTSSEW=4h#&yK>ao8Tk22_&Kced@8s;L$*A?0MaX5>$w9~rr z72eskKSt0YL<({~3~hCbaN@w&_$2E4l#$4@0`pc% zWUXPoW@rAcG0i%V550zvJu5%0*{$;1gQ(y0C#t-%gX;Q=#a{RXlnzC**Q@>jS?R`O zOce~9jdD`R92P;-`UUOkh2HEjDXN!&{pI$jQTPjAh=5u!fLHTmoHe-Cc8&Hbr1RoF z#dLm_$&Cqm17?=Ar^+No{M9c{hRoM!i~q3&Pbs^I<`D0Z!m&Kv)Sgz2*PC5G6#OSE zqBmTZyK*uSp`$+^sOS`Yp&ohWEp-+StR~6yFd`P+9_4ZC)3>_CV4v4co40{2j$%Cu z2?X5|-NxVd=UZA@&_NSK8VofzE>l-r)z=RRVsItM&PLnO2jc-$vPoY7#A<4pbhjt-txO2Kp6IOay4xp^a%k?LD`1E6$`$zWGAbE&@iycMEikjCob1 zy4<8R@Fh~&_AB?>RG}rI{Km0b5S%}KaELj;Pd(VszvUkXejBGN?rb1=! z>`_9Q5m836LP)Yn_P(E&zTe;PzVH7z_qjW#b3UIEulMV9y{_x|e5|K05iRRe1Z_iB z1NSc%Y)N_f&;(VAS7GUeQ+3o`jj?aN`-KdqK=3T(IeXkCiHvsoA*ZXS-%>t* zvv}fVKiN2v@D3 zi)e+G7iCkJSVU7_1CcC{Kd`Th&DLezz$`PeWkzjzEYI1lxhKB*5Shc4Zn?kM$#6Ubw6OvpJzo7PL z1Z?%}H;+@$1j&Ln=*`hGkYKkLcs1#?V*YfG%q*`uduXYnm*O?)<1pd3>UoAx1#f03*0l}1H#c;*IePQI)nu-&TPuw^ob34QDP zMHh+NCCr7x%JV!n~wbu3rHXi*hV?=<5569o)U1H}S&o_j^FScg``ofwY5p0j&r z$jSeFw=4Ce&8x1i{wlZ(NFb@GCupvlKD23nk8I1F1_S|;GuukKZY!Kt<=?NvcI{3$wu(FYzN%7U`)ynuaD z)i|7_z>j)iHi_e)u4?GI4yi5g*S{)b79Wz$5$B(>?^i$4h<6*UdfS)lsv8Hs8Q@1GNPJ(jo8# zlhD7(gEIqR!?PP+03!W_7px8V;5PxieWb_PM9C6@y8k z)s5kN;Oa%mj%jbYetIj>&^Y`C8!t0=e}e=QvgC2g@mqJbKo3~A+y}-F^im16Wy2r+3$#eC(Rrs82-nHPo8A)lM00jiC|}GH?q%jNEI80zPlo&C&np-6ljW zO$=M76$`ND(-sWcbCWA51+o}qTm4o!cPH|wmga*0yMqU&O3U+r%&~|XYumS z7!V*Liva4+Aob7*_@3RA9r8%P?kzxAi`1`Z!$K7g65fJG7&8T2m}1CPx~*Mt zSzX{INyGkMqJW+iZRk`Wd=4oOkUAMjI05on;obvD0NP?P0dQ`6eI~ts3A{$&TWoC( zAwoa^Y$Kd-@k@E3N==1N?9syuzQ-vC>yS_(T zF3*d-#g_o+G9)ay@U8qmYTfh#c2r^jMT5fg1YKui+bodE0HEnCfLaB;H;X#`vk@8x zy(u>4aHrefD>D9$wRM*B)JIGJXaQ&dyu72nw)G3jLVbZxV3K-HCM`>mqhd`IyZYgj z;ep5W_euq;;*eD>N6OFaUajB46$<^=n|t-_djEu;vJs!q|FzWJ_`I}gM@+uBV#ds7 zi0J3)6|xaO(HqJ#%H?W~*zF=K@+zHVY-i-dt|nX|@qR6}mXQ+Iuz)*nI7Z9+xPR@O zK4K%tJI2Q$Z5lk&=qv_7BIT>gn(QTFuW0Mh0c%x|Q*^rZqKX5`%f_!wrfS6JcJOSnB2 zBLZ7Qw7_cg@o_=Cpz-Cuqq(XyToF_7c7}lUM9})A37HkdD%9A^UBqv-qF5HmsYDf}V*a1L+; zV^~B`spS;pNt09d9bI%)#q z5v(#+C}e5EmY5cw1mk;K^xX zDOGX(=I#FkaP>Q7DJWDCvkwD|M*`b);rw0MH*i~ZHYjG9CI~$r{qUF~L6s7~edx-U z!RdKpPjq`C2&6p)ZM?*II0>A3fxsyvkQ7<-R$+5^w|E95G%@14_(6EuCC|ZT^NZnm zN9UQ#ww~%)#Ne~jtq3o4HSYbalR9VqW>`JhB>&pC&9JVC7qo?ht&-+8YrU5@i8Zu2 zBRouH%EMz-Hb0X-KF<6?OX{L-IJ+!t9EhSpCS|bcAYl;Nx556w=Xg zB-Vm(ZK&c75$a%m)Olw?{R6r)$wHlCp8p_qfEYI@rU9{%`Ha~D2LmEfI2!C>f0%CU zxYT5@6Ffb3FgeDObX5VXY`jmJ7-w^CXROQHzN$SK{uv1O?b%-;P43%cXJP$WkmT;rL}?l$@7aROo#Ism z(&x?$uY@ou#yUX0=l?z%dfVj=T;z#WJfzjXY|&p~?Ez+>kRHyMO}xaqsz#^qf+xaKO2mmYzm ze!XZ)p6C;cZ{{cPo6+&V0GgQMasWMz*PE~2yQK6Syyp!Y+Ju8ng$B2a=P@Nf zcH=|K|MxAzpW)LA@MZkodx4SDRajB)CF6|4>G32DdBWFip(Xd-!@AUkh9*jx^T z@$$8|TzjT=K9KdOvmEhjqYe^&F&*EqOl4W{!hd3tB$+aIwZG5FKp}HkFd#|a*^K7; z3$}|`@#iH!!Z#$9$vb`Mo%tl(uwJ00Lvq+eD&`#i|D<}&9|vk@DhJy;e}RV9_f%pM zZr-4h8J)20Ea&~4g+(`iqiNFs<8#t74_>uQcb=EweHtjik#-$hwRQNv(dq?6$12#& zWF|$hjWWtHlx4(RvneHUKKF6(-5j09t=Z35xECQ=)Rhs^MQfV3zTL;w>}8ak`5rq; zdf~91hW&p<+sDa68c+GHDVvh@aEE_>zbV668G5xud;sG+8qyd_4*@>v9hduAgsX}0 zf@8}wl8hQYk6}{mNC)8IXty>ZC0Td~U zJd!i(F9X%O8vcA&y@*|NOXyKX(3dZMe&j|tM4HQLm;mvvjoZS$+h+vQ9}(U-m3I25 z@!vO-#X5E}v4wxqAsZMa*R4=y-|)lFJ{K&qt4p`e3#A)1=kxCnZM>i5l9-YaN;(v) zS~69*8E?8fL^yLT_-HTd1|Mh(*u+xlHp@{j0Kc&ReQFB+lrLeH6-_U0>kGw_nbQ#a zMiTlKg%4To71U_DkKQfB_r={6G`z1>{?|MF+U)Ni1?s;yeSIN2-FW5qdqz#*C_aT& zb{^sH4gKe0A0Ed(v4x{RG(IB8JdG{NxMQQ0eZ9Sh#JU}C98Sxx7EdW zdrwIAoxbW~gZUhKS`}2zZ!9?KR!(d4)%u#;bNWKuJJ$?S7IR2SV1X&Q$u#r1~Ce#AJ+-hi!59mc82Llks zKz(EV^@uC=jS`2eryHW}z+RWL4hMWB6+*d?0S%64CNVLw^qnG;2735pef2-Ui3ai5b8CV(B_!~Iq~6^IooY0a zEJNr7l;d)ShRNN|V!kl|c!nT-@xRtU8Z{+ghC@ZOcw5md)Hevh40`?gDjfOEraT_| z!!8g^fs_%wKxvNx1B((g-lu+mlp8gu#{bNu`PYu=sH+En zw&}(8-y0e40V5+a*OAbCKN=AN`8fElCDMho)=_~4>S}_!k?Mc0Xu`(Nmd(C-!rso0 z3JSKoZHJKMPKp!Vgmj!emrp!WbuYHd;in7KypO?Tld2^ zpn0Y`6MR%BR$rC#u(V*j=v-|*f($X~?T{TQMtiGVLkxk+s+N4ukysh^>;Qcu;+LWG za6{Oj%=95-vir~xYHMo%QUMLVDUvWl`oc2ko37sdiVIVAC{!*!S&l#`w||2f*Mug2x@`w znih)~u~3eZYHVn2ML;QmP2K5SdJ3$RctK627N4#7k$M6Iy+~{i^f2-63^ysFVNibx zun!W-wSW5bkO9AJ*dE;$XuFV#YXZu_HfTSY#M2`FnTs^qb!?=i557b4YJTQH%%!%z z-O0>bUwWkQ?4R?nuQJXk#Croe#@3S;d;+#Tj`&+R4)@{a{eO#& zuiEr9E+kPlv}Lj(8Ghc)w2$zXph%>Q>}*^B1epQE41#ubhmtg&g#Ze4?1>%Y;%!K+ zW@Tj^s`I`M7(*y>O2bCjgi?3lYdyu%-tGNJ0jT!IiUXjMU~LU#3;&N&kr%{$Ac7*t z3&MgI4&7G-$wT6D>+}#L9^rJ0u0@Wxd;umH-gR6Ipm{Jrqbu$}L;E<{C|nvenJoiq z0Zj7T`RPxh0@$T5kCGS}4X)+?rfsjl$S~u$)=s46*JOXXc%FPc;3X!A{i(FI_+tp` z6Q*ORU4dk8`Pp@=^FPfQ+GfW#H}OwuSDozU6lztpNg|JPL8Z600?_3xkO6UP?f}p+ zbD*DL%0yVdZ7V?eDBrBjPALVlvnGJ~!vrAU^JsrY0wPB0w|^4F5JfG+BW+tscC6pA zLhUoks6?3;NGl0atJYXXnKFkFff%BhQ_CN5kF~78By)>zPvE@&(@aE)iv0-N3M+h=jtraiFAQBI;m6`)Yh0xSfd|A#52i&aa-wtX*{k z(yq7EM1uG{52m2tCn%U#Im%YyQP~b6AvqFDscUHkgLd1Kc%pi0ZpIpkc>s1sNa!eV zN2n`BF;-}-3efe&{?YG!W7?uM{mACcLR+G&B(g zjy0`I;;DX{=xjxBCIGpzFpZ&p|F1FgmpjeWDn4LCz2D+i-yNq^1M$`~e!_y5$wN>03~&S)%!J1OPyplCTTVoddD0^Rh6L4P}uP>8#|a(?$G+0!tb|W^D0$kTs9;=9U%! zVZ;*+l>qbuOxlMj^pGr?D?c;8UQM2h9+?$$~SWOv|{jT7bM)OSt^FZbJ( z)}2MbDIiToKTanCglh^lPBowhn4vungmo}RJx@-KJlbnG`hX(cFq?~K`~!ue7e*nN z4X{EypC6DILk!PQ0^@C!=pxCHj0QJEi2>62R*J;>wxRP0dRQEfKIar1XM<3LK=43c zO-DrMB9i+ z2iWLj!BwMfS8xDGxip1Lx2!(^gU(PY<6w}-1~8G~g~NxNyv{S`qlF+9={3Hc=e=S6 zuje7WEI^Q3=~#i)%uu4^*?lU5w19PRpl zrmBN=OQqilGoCEoG@Nrg%a(iVp{k%{!s5>xE06E!B;qBZKIPgcaKgPAgl)N|?Ev{< zGMV;dn4;x=!aJD`SrVA$BNkE9Zer);&VOQQg3f9X9cFKOfp(dG3nUXCK)iqzT&26X za_v-z%Ul+!S%1+sIdN8j*g~b#7C&@~8sz1>i)Nq(G?4^{Iglt*7mhHdR}^yl<{17f z^PT(zRdp2DF)(G;EWynD3VD5#fN>AjZ@QP#3*E;Bq!p*p`x^ECEE)X1;hwbD_uJC1 zgm$HeY5I_c3w18k+YXxrJdElH=F1-*m*EyOy8Fbo>!F%9&MEs@Vqp}*EG zAPTT#FXEq+{cXJQK&8#i5z7A_JyJv!zqtz@6`ezlQ3Rs{cYtYx_=8|@{xdPnyy`k0 z!Nx{-8G?UW$m7c0!l_p8Ze%3y5Ix%Zp{w3CPT)I6!^{_BlS`Nr+f}q#8^c|8L+erD zowf7Qnw&K~M4Ok6T+QjVTu!Ygwn~yQ4GxXHFbEIs)FgXi)~!{jy1Z$buUt8essmI1zhlE-KZSO18ygOIUASR* zr|D@2c0{g}Ko$mszRYiUxz2wh09ZD#*G3j<9WcTf-<4=HKQ{af4e7>AJy*GyXh)1e z3O@+`0}%&eUm@oXd4uFZo%+5@m7?{AMa@*n@D_m41=pNGl0UNw<*g|k)=0VzT+nY# zt66jC36P}_GyX6N)Fg@B#cYJADg&McrGbWL9w)&8YC7nQ^1)E)-5BzjDGbiAb7%+$ zEEmW+YfAUZ^*Hm``wiH2kTU`{R%DX&9_=2-Xo5jDXRi<>!v6cKC($AP>(?&^FsULw zdeEER$$$J^ALN)oO`xzR4BRjL!!`iZakaIP30U&^s#>u2DT1O5@YD05$^Sw)-BC|HyGo%O5mJC@`-0o}#=w9_VnQkw>@edf4({ z=>^19gV$4bfq?At|0<1N%de#(KJ@?48GoJ$e9Jt=0Jo7@A=-6V0Fq;nJPv9mq&j%v z5~j?u(hpS+WDY}l!NkhiddFKsgA5`Lu^YGQYJmg>7xK5MO;l0$m~R^i3s6_IKqvWT33d4BGzInb1!(NoJfm$s90zS_Gz%qV3^AQoQCCr4 z^IP-xzxMZGRIt}7nS?_1Y~9rz_uRgdNne+X?}gd~YTAyMyjWEIwN7@*9w?k4LQwHT zXa;*ZCl%BS{i5NS6VNw)MBKFip*!c<2Y~z|vt*|LSc4FE8BkZG0{SZ5nWW_8qB?F4 zj(0Xwjw4kha0Ed#HRDM;zoUZ(sG9+z&0cY8I}>!|paq&jWjWW|(ZHnhgEP$#KXz3=dl-{K`~08arEFSWmO_a)fQ&+#9=sA0KgAR-aD|* z2iIwVg0B!(Kro9EXx3y(jq9X^2f@UMdZi4+Dmwcpsi?G|{1{l=h)91HXpaPv&^bGU zB_8QF2)sXR6�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 literal 0 HcmV?d00001 diff --git a/opqua/internal/data.py b/opqua/internal/data.py index 4ad9089..2a7efef 100644 --- a/opqua/internal/data.py +++ b/opqua/internal/data.py @@ -71,6 +71,16 @@ def saveToDf(history,save_to_file,n_cores=0,verbose=10, **kwargs): + ';'.join( vector.pathogens.keys() ) + '"', '"' + ';'.join( vector.protection_sequences ) + '"', 'False' ] ) for vector in pop.dead_vectors ] ) + + '\n'.join( np.repeat( + str(time)+','+pop.id+',Host,' + +pop.id+'_unspecified_healthy,"","",True', + pop.num_healthy_hosts + ) ) + + '\n'.join( np.repeat( + str(time)+','+pop.id+',Vector,' + +pop.id+'_unspecified_healthy,"","",True', + pop.num_healthy_vectors + ) ) for id,pop in model.populations.items() ] ) ) for time,model in history.items() @@ -256,6 +266,11 @@ def compartmentDf( & ( grouped['Protected'] == True ), 'Compartment' ] = compartment_names[2] + grouped['Number'] = grouped.groupby( + ['Time', 'Compartment'] + )['Number'].transform('sum') + grouped = grouped.drop_duplicates( subset=['Time', 'Compartment'] ) + grouped = grouped.drop( columns=['Alive','Infected','Protected'] ) grouped = grouped.pivot( columns='Compartment', values='Number', index='Time' @@ -556,9 +571,9 @@ def pathogenDistanceDf( if num_top_sequences > 0: sequences = sequences[0:num_top_sequences] - sequences = sequences.append( - pd.Series(track_specific_sequences) - ).unique() + sequences = pd.concat([ + sequences, pd.Series(track_specific_sequences) + ]).unique() # Fix — non parallelized dis_mat = np.array([[td.hamming(s1, s2) / max(len(s1),1) diff --git a/opqua/internal/gillespie.py b/opqua/internal/gillespie.py deleted file mode 100644 index 8be57ed..0000000 --- a/opqua/internal/gillespie.py +++ /dev/null @@ -1,667 +0,0 @@ - -"""Contains class Population.""" - -import copy as cp -import pandas as pd -import numpy as np -import joblib as jl - -from opqua.model import * - -class Gillespie(object): - """Class contains methods for simulating model with Gillespie algorithm. - - Class defines a model's events and methods for changing system state - according to the possible events and simulating a timecourse using the - Gillespie algorithm. - - Methods: - getRates -- returns array containing rates for each event for a given system - state - doAction -- carries out an event, modifying system state - run -- simulates model for a specified length of time - """ - - # Event ID constants: - - MIGRATE_HOST = 0 - MIGRATE_VECTOR = 1 - POPULATION_CONTACT_HOST_HOST = 2 - POPULATION_CONTACT_HOST_VECTOR = 3 - POPULATION_CONTACT_VECTOR_HOST = 4 - CONTACT_HOST_HOST = 5 - CONTACT_HOST_VECTOR = 6 - CONTACT_VECTOR_HOST = 7 - RECOVER_HOST = 8 - RECOVER_VECTOR = 9 - MUTATE_HOST = 10 - MUTATE_VECTOR = 11 - RECOMBINE_HOST = 12 - RECOMBINE_VECTOR = 13 - KILL_HOST = 14 - KILL_VECTOR = 15 - DIE_HOST = 16 - DIE_VECTOR = 17 - BIRTH_HOST = 18 - BIRTH_VECTOR = 19 - - EVENT_IDS = { # must match above - 0:'MIGRATE_HOST', - 1:'MIGRATE_VECTOR', - 2:'POPULATION_CONTACT_HOST_HOST', - 3:'POPULATION_CONTACT_HOST_VECTOR', - 4:'POPULATION_CONTACT_VECTOR_HOST', - 5:'CONTACT_HOST_HOST', - 6:'CONTACT_HOST_VECTOR', - 7:'CONTACT_VECTOR_HOST', - 8:'RECOVER_HOST', - 9:'RECOVER_VECTOR', - 10:'MUTATE_HOST', - 11:'MUTATE_VECTOR', - 12:'RECOMBINE_HOST', - 13:'RECOMBINE_VECTOR', - 14:'KILL_HOST', - 15:'KILL_VECTOR', - 16:'DIE_HOST', - 17:'DIE_VECTOR', - 18:'BIRTH_HOST', - 19:'BIRTH_VECTOR' - } - - def __init__(self, model): - """Create a new Gillespie simulation object. - - Arguments: - model -- the model this simulation belongs to (Model) - """ - - super(Gillespie, self).__init__() # initialize as parent class object - - # Event IDs - self.evt_IDs = [ - self.MIGRATE_HOST, self.MIGRATE_VECTOR, - self.POPULATION_CONTACT_HOST_HOST, - self.POPULATION_CONTACT_HOST_VECTOR, - self.POPULATION_CONTACT_VECTOR_HOST, - self.CONTACT_HOST_HOST, self.CONTACT_HOST_VECTOR, - self.CONTACT_VECTOR_HOST, - self.RECOVER_HOST, self.RECOVER_VECTOR, - self.MUTATE_HOST, self.MUTATE_VECTOR, - self.RECOMBINE_HOST, self.RECOMBINE_VECTOR, - self.KILL_HOST, self.KILL_VECTOR, - self.DIE_HOST, self.DIE_VECTOR, - self.BIRTH_HOST, self.BIRTH_VECTOR - ] - # event IDs in specific order to be used - - self.total_population_contact_rate_host = 0 - self.total_population_contact_rate_vector = 0 - - self.model = model - - def getRates(self,population_ids): - """Wrapper for calculating event rates as per current system state. - - Arguments: - population_ids -- list with ids for every population in the model - (list of Strings) - - Returns: - Matrix with rates as values for events (rows) and populations (columns). - Populations in order given in argument. - """ - - rates = np.zeros( [ len(self.evt_IDs), len(population_ids) ] ) - # rate array size of event space - - # Contact rates assume scaling area: large populations are equally - # dense as small ones, so contact is constant with both host and - # vector populations. If you don't want this to happen, modify each - # population's base contact rate accordingly. - - # Now for each population... - for i,id in enumerate(population_ids): - # Calculate the rates: - rates[self.MIGRATE_HOST,i] = ( - self.model.populations[id].total_migration_rate_hosts - * self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].MIGRATION - ].sum() - ) - - rates[self.MIGRATE_VECTOR,i] = ( - self.model.populations[id].total_migration_rate_vectors - * self.model.populations[id].coefficients_vectors[ - :, self.model.populations[id].MIGRATION - ].sum() - ) - - rates[self.POPULATION_CONTACT_HOST_HOST,i] = ( - np.sum([ list( - self.model.populations[id].neighbors_contact_hosts_hosts.values() - ) ]) - * np.multiply( - self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].POPULATION_CONTACT - ], - self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].INFECTED - ] - ).sum() / max( len( self.model.populations[id].hosts ), 1) - * np.sum([ - neighbor.neighbors_contact_hosts_hosts[self.model.populations[id]] - * neighbor.coefficients_hosts[ - :, neighbor.RECEIVE_POPULATION_CONTACT - ].sum() - for neighbor in self.model.populations[id].neighbors_contact_hosts_hosts - ]) - ) - - rates[self.POPULATION_CONTACT_HOST_VECTOR,i] = ( - np.sum([ list( - self.model.populations[id].neighbors_contact_hosts_vectors.values() - ) ]) - * np.multiply( - self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].POPULATION_CONTACT - ], - self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].INFECTED - ] - ).sum() / max( len( self.model.populations[id].hosts ), 1) - * np.sum([ - neighbor.neighbors_contact_vectors_hosts[self.model.populations[id]] - * neighbor.coefficients_vectors[ - :, neighbor.RECEIVE_POPULATION_CONTACT - ].sum() - for neighbor in self.model.populations[id].neighbors_contact_hosts_vectors - ]) - ) - - rates[self.POPULATION_CONTACT_VECTOR_HOST,i] = ( - np.sum([ list( - self.model.populations[id].neighbors_contact_vectors_hosts.values() - ) ]) - * np.multiply( - self.model.populations[id].coefficients_vectors[ - :, self.model.populations[id].POPULATION_CONTACT - ], - self.model.populations[id].coefficients_vectors[ - :, self.model.populations[id].INFECTED - ] - ).sum() - * np.sum([ - neighbor.neighbors_contact_hosts_vectors[self.model.populations[id]] - * neighbor.coefficients_hosts[ - :, neighbor.RECEIVE_POPULATION_CONTACT - ].sum() / max( len( neighbor.hosts ), 1) - for neighbor in self.model.populations[id].neighbors_contact_vectors_hosts - ]) - ) - - rates[self.CONTACT_HOST_HOST,i] = ( - self.model.populations[id].contact_rate_host_host - * np.multiply( - self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].CONTACT - ], - self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].INFECTED - ] - ).sum() - * self.model.populations[id].transmission_efficiency_host_host - * np.sum( self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].RECEIVE_CONTACT - ] ) - / max( len( self.model.populations[id].hosts ), 1) - ) - - rates[self.CONTACT_HOST_VECTOR,i] = ( - self.model.populations[id].contact_rate_host_vector - * np.multiply( - self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].CONTACT - ], - self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].INFECTED - ] - ).sum() - * self.model.populations[id].transmission_efficiency_host_vector - * np.sum( self.model.populations[id].coefficients_vectors[ - :, self.model.populations[id].RECEIVE_CONTACT - ] ) - / max( len( self.model.populations[id].hosts ), 1) - ) - - rates[self.CONTACT_VECTOR_HOST,i] = ( - self.model.populations[id].contact_rate_host_vector - * np.multiply( - self.model.populations[id].coefficients_vectors[ - :, self.model.populations[id].CONTACT - ], - self.model.populations[id].coefficients_vectors[ - :, self.model.populations[id].INFECTED - ] - ).sum() - * self.model.populations[id].transmission_efficiency_vector_host - * np.sum( self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].RECEIVE_CONTACT - ]) - / max( len( self.model.populations[id].hosts ), 1) - ) - - rates[self.RECOVER_HOST,i] = ( - self.model.populations[id].recovery_rate_host - * self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].RECOVERY - ].sum() - ) - - rates[self.RECOVER_VECTOR,i] = ( - self.model.populations[id].recovery_rate_vector - * self.model.populations[id].coefficients_vectors[ - :, self.model.populations[id].RECOVERY - ].sum() - ) - - rates[self.MUTATE_HOST,i] = ( - self.model.populations[id].mutate_in_host - * self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].MUTATION - ].sum() - ) - - rates[self.MUTATE_VECTOR,i] = ( - self.model.populations[id].mutate_in_vector - * self.model.populations[id].coefficients_vectors[ - :, self.model.populations[id].MUTATION - ].sum() - ) - - rates[self.RECOMBINE_HOST,i] = ( - self.model.populations[id].recombine_in_host - * self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].RECOMBINATION - ].sum() - ) - - rates[self.RECOMBINE_VECTOR,i] = ( - self.model.populations[id].recombine_in_vector - * self.model.populations[id].coefficients_vectors[ - :, self.model.populations[id].RECOMBINATION - ].sum() - ) - - rates[self.KILL_HOST,i] = ( - self.model.populations[id].mortality_rate_host - * self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].LETHALITY - ].sum() - ) - - rates[self.KILL_VECTOR,i] = ( - self.model.populations[id].mortality_rate_vector - * self.model.populations[id].coefficients_vectors[ - :, self.model.populations[id].LETHALITY - ].sum() - ) - - rates[self.DIE_HOST,i] = ( - self.model.populations[id].death_rate_host - * len(self.model.populations[id].hosts) - ) - - rates[self.DIE_VECTOR,i] = ( - self.model.populations[id].death_rate_vector - * len(self.model.populations[id].vectors) - ) - - rates[self.BIRTH_HOST,i] = ( - self.model.populations[id].birth_rate_host - * self.model.populations[id].coefficients_hosts[ - :, self.model.populations[id].NATALITY - ].sum() - ) - - rates[self.BIRTH_VECTOR,i] = ( - self.model.populations[id].birth_rate_vector - * self.model.populations[id].coefficients_vectors[ - :, self.model.populations[id].NATALITY - ].sum() - ) - - return rates - - def doAction(self,act,pop,rand): - """Change system state according to act argument passed - - Arguments: - act -- defines action to be taken, one of the event ID constants (int) - pop -- population action will happen in (Population) - rand -- random number used to define event (number 0-1) - - Returns: - whether or not the model has changed state (Boolean) - """ - - changed = False - - if act == self.MIGRATE_HOST: - rand = rand * pop.total_migration_rate_hosts - r_cum = 0 - for neighbor in pop.neighbors_hosts: - r_cum += pop.neighbors_hosts[neighbor] - if r_cum > rand: - pop.migrate(neighbor,1,0, rand=( - ( rand - r_cum + pop.neighbors_hosts[neighbor] ) - / pop.neighbors_hosts[neighbor] ) ) - changed = True - break - - elif act == self.MIGRATE_VECTOR: - rand = rand * pop.total_migration_rate_vectors - r_cum = 0 - for neighbor in pop.neighbors_vectors: - r_cum += pop.neighbors_vectors[neighbor] - if r_cum > rand: - pop.migrate(neighbor,0,1, rand=( - ( rand - r_cum + pop.neighbors_vectors[neighbor] ) - / pop.neighbors_vectors[neighbor] ) ) - changed = True - break - - elif act == self.POPULATION_CONTACT_HOST_HOST: - neighbors = list( pop.neighbors_contact_hosts_hosts.keys() ) - neighbor_rates = [ - pop.neighbors_contact_hosts_hosts[neighbor] - * neighbor.neighbors_contact_hosts_hosts[pop] - * neighbor.coefficients_hosts[ - :, neighbor.RECEIVE_POPULATION_CONTACT - ].sum() - / max( len( pop.hosts ), 1) # technically unnecessary - for neighbor in neighbors - ] - rand = rand * np.sum(neighbor_rates) - r_cum = 0 - for neighbor_i,neighbor_r in enumerate(neighbor_rates): - r_cum += neighbor_r - if r_cum > rand: - changed = pop.populationContact( - neighbors[neighbor_i], - ( rand - r_cum + neighbor_r ) / neighbor_r, - host_origin=True, host_target=True - ) - break - - elif act == self.POPULATION_CONTACT_HOST_VECTOR: - neighbors = list( pop.neighbors_contact_hosts_vectors.keys() ) - neighbor_rates = [ - pop.neighbors_contact_hosts_vectors[neighbor] - * neighbor.neighbors_contact_vectors_hosts[pop] - * neighbor.coefficients_vectors[ - :, neighbor.RECEIVE_POPULATION_CONTACT - ].sum() - / max( len( pop.hosts ), 1) # technically unnecessary - for neighbor in neighbors - ] - rand = rand * np.sum(neighbor_rates) - r_cum = 0 - for neighbor_i,neighbor_r in enumerate(neighbor_rates): - r_cum += neighbor_r - if r_cum > rand: - changed = pop.populationContact( - neighbors[neighbor_i], - ( rand - r_cum + neighbor_r ) / neighbor_r, - host_origin=True, host_target=False - ) - break - - elif act == self.POPULATION_CONTACT_VECTOR_HOST: - neighbors = list( pop.neighbors_contact_vectors_hosts.keys() ) - neighbor_rates = [ - pop.neighbors_contact_vectors_hosts[neighbor] - * neighbor.neighbors_contact_hosts_vectors[pop] - * neighbor.coefficients_hosts[ - :, neighbor.RECEIVE_POPULATION_CONTACT - ].sum() - / max( len( neighbor.hosts ), 1) # necessary! - for neighbor in neighbors - ] - rand = rand * np.sum(neighbor_rates) - r_cum = 0 - for neighbor_i,neighbor_r in enumerate(neighbor_rates): - r_cum += neighbor_r - if r_cum > rand: - changed = pop.populationContact( - neighbors[neighbor_i], - ( rand - r_cum + neighbor_r ) / neighbor_r, - host_origin=False, host_target=True - ) - break - - elif act == self.CONTACT_HOST_HOST: - changed = pop.contactHostHost(rand) - - elif act == self.CONTACT_HOST_VECTOR: - changed = pop.contactHostVector(rand) - - elif act == self.CONTACT_VECTOR_HOST: - changed = pop.contactVectorHost(rand) - - elif act == self.RECOVER_HOST: - pop.recoverHost(rand) - changed = True - - elif act == self.RECOVER_VECTOR: - pop.recoverVector(rand) - changed = True - - elif act == self.MUTATE_HOST: - pop.mutateHost(rand) - changed = True - - elif act == self.MUTATE_VECTOR: - pop.mutateVector(rand) - changed = True - - elif act == self.RECOMBINE_HOST: - pop.recombineHost(rand) - changed = True - - elif act == self.RECOMBINE_VECTOR: - pop.recombineVector(rand) - changed = True - - elif act == self.KILL_HOST: - pop.killHost(rand) - changed = True - - elif act == self.KILL_VECTOR: - pop.killVector(rand) - changed = True - - elif act == self.DIE_HOST: - pop.dieHost(rand) - changed = True - - elif act == self.DIE_VECTOR: - pop.dieVector(rand) - changed = True - - elif act == self.BIRTH_HOST: - pop.birthHost(rand) - changed = True - - elif act == self.BIRTH_VECTOR: - pop.birthVector(rand) - changed = True - - self.model.global_trackers['num_events'][self.EVENT_IDS[act]] += 1 - - return changed - - def run(self,t0,tf,time_sampling=0,host_sampling=0,vector_sampling=0, - print_every_n_events=1000): - """Simulate model for a specified time between two time points. - - Simulates a time series using the Gillespie algorithm. - - Arguments: - t0 -- initial time point to start simulation at (number) - tf -- initial time point to end simulation at (number) - time_sampling -- how many events to skip before saving a snapshot of the - system state (saves all by default), if <0, saves only final state - (int, default 0) - host_sampling -- how many hosts to skip before saving one in a snapshot - of the system state (saves all by default) (int, default 0) - vector_sampling -- how many vectors to skip before saving one in a - snapshot of the system state (saves all by default) (int, default 0) - print_every_n_events -- number of events a message is printed to console - (int>0, default 1000) - - Returns: - dictionary containing model state history, with keys=times and - values=Model objects with model snapshot at that time point - """ - - # Simulation variables - self.model.t_var = t0 # keeps track of time - history = { 0: self.model.copyState( - host_sampling=host_sampling, - vector_sampling=vector_sampling - ) } - intervention_tracker = 0 - # keeps track of what the next intervention should be - self.model.interventions = sorted( - self.model.interventions, key=lambda i: i.time - ) - - print_counter = 0 # only used to track when to print - sampling_counter = 0 # used to track when to save a snapshot - - while self.model.t_var < tf: # repeat until t reaches end of timecourse - population_ids = list( self.model.populations.keys() ) - r = self.getRates(population_ids) # get event rates in this state - r_tot = np.sum(r) # sum of all rates - - # Time handling - if r_tot > 0: - dt = np.random.exponential( 1/r_tot ) # time until next event - - if (intervention_tracker < len(self.model.interventions) - and self.model.t_var + dt - >= self.model.interventions[intervention_tracker].time): - # if there are any interventions left and if it is time - # to make one, - while ( intervention_tracker < len(self.model.interventions) - and (self.model.t_var + dt - >= self.model.interventions[intervention_tracker].time - or r_tot == 0) and self.model.t_var < tf ): - # carry out all interventions at this time point, - # and additional timepoints if no events will happen - self.model.t_var = self.model.interventions[ - intervention_tracker - ].time - self.model.interventions[ - intervention_tracker - ].doIntervention() - intervention_tracker += 1 # advance the tracker - - # save snapshot at this timepoint - sampling_counter = 0 - history[self.model.t_var] = self.model.copyState() - - # now recalculate rates - population_ids = list( self.model.populations.keys() ) - r = self.getRates(population_ids) - # get event rates in this state - r_tot = np.sum(r) # sum of all rates - - if r_tot > 0: # if no more events happening, - dt = np.random.exponential( 1/r_tot ) - # time until next event - else: - self.model.t_var = tf # go to end - - self.model.t_var += dt # add time step to main timer - - # Event handling - if self.model.t_var < tf: # if still within max time - u = np.random.random() * r_tot - # random uniform number between 0 and total rate - r_cum = 0 # cumulative rate - for e in range(r.shape[0]): # for every possible event, - for p in range(r.shape[1]): - # for every possible population, - r_cum += r[e,p] - # add this event's rate to cumulative rate - if u < r_cum: - # if random number is under cumulative rate - - # print every n events - print_counter += 1 - if print_counter == print_every_n_events: - print_counter = 0 - print( - 'Simulating time: ' - + str(self.model.t_var) + ', event: ' - + self.EVENT_IDS[e] - ) - - changed = self.doAction( - e, self.model.populations[ - population_ids[p] - ], ( u - r_cum + r[e,p] ) / r[e,p] - ) # do corresponding action, - # feed in renormalized random number - - if changed: # if model state changed - # update custom condition trackers - for condition in self.model.custom_condition_trackers: - if self.model.custom_condition_trackers[condition](self.model): - self.model.global_trackers['custom_conditions'][condition].append(self.model.t_var) - - if time_sampling >= 0: - # if state changed and saving history, - # saves history at correct intervals - sampling_counter += 1 - if sampling_counter > time_sampling: - sampling_counter = 0 - history[self.model.t_var] = self.model.copyState( - host_sampling=host_sampling, - vector_sampling=vector_sampling - ) - - break # exit event loop - - else: # if the inner loop wasn't broken, - continue # continue outer loop - - break # otherwise, break outer loop - else: # if no events happening, - if intervention_tracker < len(self.model.interventions): - # if still not done with interventions, - while (intervention_tracker < len(self.model.interventions) - and self.model.t_var - <= self.model.interventions[intervention_tracker].time - and self.model.t_var < tf): - # carry out all interventions at this time point - self.model.t_var = self.model.interventions[ - intervention_tracker - ].time - self.model.interventions[ - intervention_tracker - ].doIntervention() - intervention_tracker += 1 # advance the tracker - else: - self.model.t_var = tf - - print( 'Simulating time: ' + str(self.model.t_var), 'END') - history[tf] = self.model.copyState( - host_sampling=host_sampling, - vector_sampling=vector_sampling - ) - history[tf].history = None - history[tf].global_trackers = cp.deepcopy( self.model.global_trackers ) - - return history diff --git a/opqua/internal/host.py b/opqua/internal/host.py index 915387d..641c32d 100644 --- a/opqua/internal/host.py +++ b/opqua/internal/host.py @@ -3,6 +3,7 @@ import numpy as np import copy as cp +# import scipy.stats as sp_stats class Host(object): """Class defines main entities to be infected by pathogens in model. @@ -21,6 +22,8 @@ class Host(object): recombine -- recombine two random pathogen genomes at random locus getWeightedRandomGenome -- returns index of element chosen from weights and given random number + zeroTruncatedPoisson -- return random number from zero-truncated Poisson + zeroTruncatedNegBinomial -- random number from 0-truncated negative binomial """ def __init__(self, population, id, slim=False): @@ -44,6 +47,7 @@ def __init__(self, population, id, slim=False): # immune to. If a pathogen's genome contains one of these # values, it cannot infect this host. self.population = population + self.random = population.model.random # random number generator self.sum_fitness = 0 # sum of all pathogen fitnesses within this host self.coefficient_index = population.coefficients_hosts.shape[0] @@ -75,6 +79,7 @@ def acquirePathogen(self, genome): Arguments: genome -- the genome to be added (String) """ + self.pathogens[genome] = self.population.fitnessHost(genome) old_sum_fitness = self.sum_fitness self.sum_fitness += self.pathogens[genome] @@ -116,17 +121,18 @@ def infectHost(self, host): """Infect given host with a sample of this host's pathogens. Each pathogen in the infector is sampled as present or absent in the - inoculum by drawing from a Poisson distribution with a mean equal to the - mean inoculum size of the organism being infected weighted by each - genome's fitness as a fraction of the total in the infector as the - probability of each trial (minimum 1 pathogen transfered). Each pathogen - present in the inoculum will be added to the infected organism, if it - does not have protection from the pathogen's genome. Fitnesses are - computed for the pathogens' genomes in the infected organism, and the - organism is included in the poplation's infected list if appropriate. + inoculum by drawing from a negative binomial distribution with + a mean equal to the mean inoculum size of the organism being infected + weighted by each genome's fitness as a fraction of the total in the + infector as the probability of each trial (minimum 1 pathogen + transferred). Each pathogen present in the inoculum will be added to the + infected organism, if it does not have protection from the pathogen's + genome. Fitnesses are computed for the pathogens' genomes in the + infected organism, and the organism is included in the poplation's + infected list if appropriate. Arguments: - vector -- the vector to be infected (Vector) + host -- the host to be infected (Host) Returns: whether or not the model has changed state (Boolean) @@ -139,11 +145,8 @@ def infectHost(self, host): self.pathogens[g] / self.sum_fitness for g in genomes ] - genomes_inoculated = np.unique( np.random.choice( - genomes, p=fitness_weights, - size=max( - np.random.poisson( self.population.mean_inoculum_host ), 1 - ) + genomes_inoculated = np.unique( self.random.choice( + genomes, p=fitness_weights, size=self.zeroTruncatedNegBinomial() ) ) for genome in genomes_inoculated: if genome not in host.pathogens.keys() and not any( @@ -158,14 +161,15 @@ def infectVector(self, vector): """Infect given host with a sample of this host's pathogens. Each pathogen in the infector is sampled as present or absent in the - inoculum by drawing from a Poisson distribution with a mean equal to the - mean inoculum size of the organism being infected weighted by each - genome's fitness as a fraction of the total in the infector as the - probability of each trial (minimum 1 pathogen transfered). Each pathogen - present in the inoculum will be added to the infected organism, if it - does not have protection from the pathogen's genome. Fitnesses are - computed for the pathogens' genomes in the infected organism, and the - organism is included in the poplation's infected list if appropriate. + inoculum by drawing from a negative binomial distribution with + a mean equal to the mean inoculum size of the organism being infected + weighted by each genome's fitness as a fraction of the total in the + infector as the probability of each trial (minimum 1 pathogen + transferred). Each pathogen present in the inoculum will be added to the + infected organism, if it does not have protection from the pathogen's + genome. Fitnesses are computed for the pathogens' genomes in the + infected organism, and the organism is included in the poplation's + infected list if appropriate. Arguments: vector -- the vector to be infected (Vector) @@ -181,11 +185,8 @@ def infectVector(self, vector): self.pathogens[g] / self.sum_fitness for g in genomes ] - genomes_inoculated = np.unique( np.random.choice( - genomes, p=fitness_weights, - size=max( - np.random.poisson( self.population.mean_inoculum_vector ), 1 - ) + genomes_inoculated = np.unique( self.random.choice( + genomes, p=fitness_weights, size=self.zeroTruncatedNegBinomial() ) ) for genome in genomes_inoculated: if genome not in vector.pathogens.keys() and not any( @@ -245,10 +246,11 @@ def birth(self, rand): host_list = self.population.addHosts(1) host = host_list[0] - if self.population.vertical_transmission_host > rand: + if ( self.population.vertical_transmission_host > rand + and len( self.pathogens.keys() ) > 0 ): self.infectHost(host) - if self.population.inherit_protection_host > np.random.random(): + if self.population.inherit_protection_host > self.random.random(): host.protection_sequences = self.protection_sequences.copy() def applyTreatment(self, resistance_seqs): @@ -321,8 +323,10 @@ def recombine(self,rand): index_other_genome,rand = self.getWeightedRandomGenome( rand,weights ) if index_genome != index_other_genome: - num_evts = np.random.poisson( self.population.num_crossover_host ) - loci = np.random.randint( 0, self.population.num_loci, num_evts ) + num_evts = self.zeroTruncatedPoisson( + self.population.num_crossover_host + ) if self.population.num_crossover_host > 1 else 0 + loci = self.random.integers( 0, self.population.num_loci, num_evts ) children = [ genomes[index_genome], genomes[index_other_genome] ] @@ -335,7 +339,7 @@ def recombine(self,rand): genome.split(self.population.CHROMOSOME_SEPARATOR) for genome in children ] - parent = np.random.randint( 0, 2, len( children[0] ) ) + parent = self.random.integers( 0, 2, len( children[0] ) ) children = [ self.population.CHROMOSOME_SEPARATOR.join([ @@ -349,7 +353,9 @@ def recombine(self,rand): ] for new_genome in children: - if new_genome not in self.pathogens: + if new_genome not in self.pathogens.keys() and not any( + [ p in new_genome for p in self.protection_sequences ] + ): self.acquirePathogen(new_genome) if new_genome not in self.population.model.global_trackers['genomes_seen']: @@ -366,10 +372,58 @@ def getWeightedRandomGenome(self, rand, r): new 0-1 random number (number) """ - r_tot = np.sum( r ) - u = rand * r_tot # random uniform number between 0 and total rate - r_cum = 0 - for i,e in enumerate(r): # for every possible event, - r_cum += e # add this event's rate to cumulative rate - if u < r_cum: # if random number is under cumulative rate - return i, ( ( u - r_cum + e ) / e ) + # r_tot = np.sum( r ) + # u = rand * r_tot # random uniform number between 0 and total rate + # r_cum = 0 + # for i,e in enumerate(r): # for every possible event, + # r_cum += e # add this event's rate to cumulative rate + # if u < r_cum: # if random number is under cumulative rate + # return i, ( ( u - r_cum + e ) / e ) + + # sum_arr = np.cumsum( r ) + # rand = rand * sum_arr[-1] + # idx = int( np.abs( np.floor(rand - sum_arr)+1 ).argmin() ) + # return idx, 1+rand-sum_arr[idx] + + return self.random.choice( range( len(r) ), p=r/np.sum(r) ), rand + + def zeroTruncatedPoisson(self, rate): + """Returns random number from a zero-truncated Poisson distribution. + + Lifted from the wonderful folks at + https://en.wikipedia.org/wiki/Zero-truncated_Poisson_distribution + + Arguments: + rate -- Poisson rate parameter (number) + + Returns: + random number from a zero-truncated Poisson distribution (number) + """ + + return int( 1 + self.random.poisson(rate - 1) ) + + # u = self.random.uniform(np.exp(-rate), 1) + # t = -np.log(u) + # return 1 + self.random.poisson(rate - t) + + def zeroTruncatedNegBinomial(self): + """Random number from a zero-truncated negative binomial distribution. + + Approximates true value by adding 1 to output. Uses parameters + stored in population. + + Returns: + random number from a zero-truncated negative binomial distribution (number) + """ + + return int( 1 + np.random.negative_binomial( + n=self.population.neg_binomial_n_host, + p=self.population.neg_binomial_p_host + ) ) + + # return int( sp_stats.nbinom( + # p=self.population.neg_binomial_p_host, + # n=self.population.neg_binomial_n_host + # ).ppf( np.random.uniform( + # self.population.neg_binomial_lower_limit_host, 1 + # ) ) ) diff --git a/opqua/internal/population.py b/opqua/internal/population.py index ae46e6a..6863371 100644 --- a/opqua/internal/population.py +++ b/opqua/internal/population.py @@ -2,6 +2,7 @@ """Contains class Population.""" import numpy as np +# import scipy.stats as sp_stats import copy as cp import random @@ -131,8 +132,12 @@ def __init__(self, model, id, setup, num_hosts, num_vectors, slim=False): self.model = model self.id = id + self.random = model.random # random number generator - if not slim: + if slim: + self.num_healthy_hosts = 0 + self.num_healthy_vectors = 0 + else: # if not slimmed down for data storage, save other attributes # Each element in these following arrays contains the sum of all @@ -205,7 +210,7 @@ def __init__(self, model, id, setup, num_hosts, num_vectors, slim=False): self.setHostVectorPopulationContactNeighbor(self,0) self.setVectorHostPopulationContactNeighbor(self,0) - def copyState(self,host_sampling=0,vector_sampling=0): + def copyState(self,host_sampling=0,vector_sampling=0,skip_uninfected=False): """Returns a slimmed-down version of the current population state. Arguments: @@ -218,10 +223,23 @@ def copyState(self,host_sampling=0,vector_sampling=0): Population object with current host and vector lists. """ + host_list = self.infected_hosts if skip_uninfected else self.hosts + vector_list = self.infected_vectors if skip_uninfected else self.vectors + copy = Population(self.model, self.id, None, 0, 0, slim=True) + + if skip_uninfected: + copy.num_healthy_hosts = int( + len(self.healthy_hosts) / (host_sampling+1) + ) + copy.num_healthy_vectors = int( + len(self.vectors) - len(self.infected_vectors) + / (vector_sampling+1) + ) + if host_sampling > 0: host_sample = random.sample( - self.hosts, int( len(self.hosts) / (host_sampling+1) ) + host_list, int( len(host_list) / (host_sampling+1) ) ) dead_host_sample = random.sample( self.dead_hosts, int( len(self.dead_hosts) / (host_sampling+1) ) @@ -229,12 +247,12 @@ def copyState(self,host_sampling=0,vector_sampling=0): copy.hosts = [ h.copyState() for h in host_sample ] copy.dead_hosts = [ h.copyState() for h in dead_host_sample ] else: - copy.hosts = [ h.copyState() for h in self.hosts ] + copy.hosts = [ h.copyState() for h in host_list ] copy.dead_hosts = [ h.copyState() for h in self.dead_hosts ] if vector_sampling > 0: vector_sample = random.sample( - self.vectors, int( len(self.vectors) / (vector_sampling+1) ) + vector_list, int( len(vector_list) / (vector_sampling+1) ) ) dead_vector_sample = random.sample( self.dead_vectors,int(len(self.dead_vectors)/(vector_sampling+1)) @@ -242,16 +260,22 @@ def copyState(self,host_sampling=0,vector_sampling=0): copy.vectors = [ v.copyState() for v in vector_sample ] copy.dead_vectors = [ v.copyState() for v in dead_vector_sample ] else: - copy.vectors = [ v.copyState() for v in self.vectors ] + copy.vectors = [ v.copyState() for v in vector_list ] copy.dead_vectors = [ v.copyState() for v in self.dead_vectors ] return copy - def setSetup(self, setup): + def setSetup( + self, setup, + update_coefficients_hosts=False, update_coefficients_vectors=False): """Assign parameters stored in Setup object to this population. Arguments: setup -- the setup to be assigned (Setup) + update_coefficients_hosts -- whether to recalculate all host + coefficients (Boolean) + update_coefficients_vectors -- whether to recalculate all vector + coefficients (Boolean) """ self.setup = setup @@ -296,6 +320,8 @@ def setSetup(self, setup): self.transmission_efficiency_host_host = setup.transmission_efficiency_host_host self.mean_inoculum_host = setup.mean_inoculum_host self.mean_inoculum_vector = setup.mean_inoculum_vector + self.variance_inoculum_host = setup.variance_inoculum_host + self.variance_inoculum_vector = setup.variance_inoculum_vector self.recovery_rate_host = setup.recovery_rate_host self.recovery_rate_vector = setup.recovery_rate_vector self.mortality_rate_host = setup.mortality_rate_host @@ -319,6 +345,50 @@ def setSetup(self, setup): self.protection_upon_recovery_vector \ = setup.protection_upon_recovery_vector + if self.mean_inoculum_host > 0: + self.mean_inoculum_host = max( + self.mean_inoculum_host, 1.001 + ) # corrects mean to avoid undefined parameters + self.variance_inoculum_host = max( + self.variance_inoculum_host, (self.mean_inoculum_host-1) * 1.001 + ) # corrects variance to avoid undefined parameters + self.neg_binomial_n_host = ( + np.power( ( self.mean_inoculum_host - 1 ), 2 ) + / ( self.variance_inoculum_host - ( self.mean_inoculum_host - 1 ) ) + ) + # subtracting 1 from the mean here is a bit of a hack but needed + # due to zero-truncation + self.neg_binomial_p_host = ( + ( self.mean_inoculum_host - 1 ) / self.variance_inoculum_host + ) + # subtracting 1 from the mean here is a bit of a hack but needed + # due to zero-truncation + # self.neg_binomial_lower_limit_host = sp_stats.nbinom( + # p=self.neg_binomial_p_host, n=self.neg_binomial_n_host + # ).cdf(1) + + if self.mean_inoculum_vector > 0: + self.mean_inoculum_vector = max( + self.mean_inoculum_vector, 1.001 + ) # corrects mean to avoid undefined parameters + self.variance_inoculum_vector = max( + self.variance_inoculum_vector, (self.mean_inoculum_vector-1) * 1.001 + ) # corrects variance to avoid undefined parameters + self.neg_binomial_n_vector = ( + np.power( ( self.mean_inoculum_vector - 1 ), 2 ) + / (self.variance_inoculum_vector - (self.mean_inoculum_vector - 1)) + # subtracting 1 from the mean here is a bit of a hack but needed + # due to zero-truncation + ) + self.neg_binomial_p_vector = ( + ( self.mean_inoculum_vector - 1 ) / self.variance_inoculum_vector + ) + # subtracting 1 from the mean here is a bit of a hack but needed + # due to zero-truncation + # self.neg_binomial_lower_limit_vector = sp_stats.nbinom( + # p=self.neg_binomial_p_vector, n=self.neg_binomial_n_vector + # ).cdf(1) + def addHosts(self, num_hosts): """Add a number of healthy hosts to population, return list with them. @@ -397,7 +467,7 @@ def newHostGroup(self, hosts=-1, type='any'): num_hosts = hosts if len(possible_hosts) >= num_hosts: - return np.random.choice(possible_hosts, num_hosts, replace=False) + return self.random.choice(possible_hosts, num_hosts, replace=False) else: raise ValueError( "You're asking for " + str(num_hosts) @@ -446,7 +516,7 @@ def newVectorGroup(self, vectors=-1, type='any'): num_vectors = vectors if len(possible_vectors) >= num_vectors: - return np.random.choice(possible_vectors, num_vectors, replace=False) + return self.random.choice(possible_vectors, num_vectors, replace=False) else: raise ValueError( "You're asking for " + str(num_vectors) @@ -484,7 +554,7 @@ def removeHosts(self, num_hosts_or_list): ) else: for _ in range(num_hosts_or_list): - host_removed = np.random.choice(self.hosts) + host_removed = self.random.choice(self.hosts) if host_removed in self.infected_hosts: self.infected_hosts.remove( host_removed ) else: @@ -526,7 +596,7 @@ def removeVectors(self, num_vectors_or_list): ) else: for _ in range(num_vectors): - vector_removed = np.random.choice(self.vectors) + vector_removed = self.random.choice(self.vectors) if vector_removed in self.infected_vectors: self.infected_vectors.remove( vector_removed ) @@ -561,7 +631,7 @@ def addPathogensToHosts(self, genomes_numbers, hosts=[]): allele in self.possible_alleles[i] + self.CHROMOSOME_SEPARATOR for i,allele in enumerate(genome) ] ): - rand_hosts = np.random.choice( + rand_hosts = self.random.choice( hosts, int(genomes_numbers[genome]), replace=False ) @@ -600,7 +670,7 @@ def addPathogensToVectors(self, genomes_numbers, vectors=[]): allele in self.possible_alleles[i] + self.CHROMOSOME_SEPARATOR for i,allele in enumerate(genome) ] ): - rand_vectors = np.random.choice( + rand_vectors = self.random.choice( vectors, int(genomes_numbers[genome]), replace=False ) @@ -645,7 +715,7 @@ def treatHosts(self, frac_hosts, resistance_seqs, hosts=[]): if len( host.pathogens ): possible_infected_hosts.append( host ) - treat_hosts = np.random.choice( + treat_hosts = self.random.choice( possible_infected_hosts, int( frac_hosts * len( possible_infected_hosts ) ), replace=False ) @@ -680,7 +750,7 @@ def treatVectors(self, frac_vectors, resistance_seqs, vectors=[]): if len( vector.pathogens ): possible_infected_vectors.append( vector ) - treat_vectors = np.random.choice( + treat_vectors = self.random.choice( possible_infected_vectors, int( frac_vectors * len( possible_infected_vectors ) ), replace=False @@ -708,7 +778,7 @@ def protectHosts(self, frac_hosts, protection_sequence, hosts=[]): if len(hosts) > 0: hosts_to_consider = hosts - protect_hosts = np.random.choice( + protect_hosts = self.random.choice( self.hosts, int( frac_hosts * len( hosts_to_consider ) ), replace=False ) @@ -735,7 +805,7 @@ def protectVectors(self, frac_vectors, protection_sequence, vectors=[]): if len(vectors) > 0: vectors_to_consider = vectors - protect_vectors = np.random.choice( + protect_vectors = self.random.choice( self.vectors, int( frac_vectors * len( vectors_to_consider ) ), replace=False ) @@ -814,16 +884,16 @@ def migrate(self, target_pop, num_hosts, num_vectors, rand=None): rand -- uniform random number from 0 to 1 to use when choosing individuals to migrate; if None, generates new random number to choose (through numpy), otherwise, assumes event is happening - through Gillespie class call and migrates a single host or vector + through Simulation class call and migrates a single host or vector (default None; 0-1 number) """ if rand is None: - migrating_hosts = np.random.choice( + migrating_hosts = self.random.choice( self.hosts, num_hosts, replace=False, p=self.coefficients_hosts[:,self.MIGRATION] ) - migrating_vectors = np.random.choice( + migrating_vectors = self.random.choice( self.vectors, num_vectors, replace=False, p=self.coefficients_vectors[:,self.MIGRATION] ) @@ -1198,7 +1268,7 @@ def recombineHost(self, rand): """ index_host,rand = self.getWeightedRandom( - rand,self.coefficients_hosts[:,self.MUTATION] + rand,self.coefficients_hosts[:,self.RECOMBINATION] ) host = self.hosts[index_host] @@ -1216,7 +1286,7 @@ def recombineVector(self, rand): """ index_vector,rand = self.getWeightedRandom( - rand,self.coefficients_vectors[:,self.MUTATION] + rand,self.coefficients_vectors[:,self.RECOMBINATION] ) vector = self.vectors[index_vector] @@ -1264,23 +1334,64 @@ def healthyCoefficientRow(self): return v def getWeightedRandom(self, rand, r): - """Returns index of element chosen from weights and given random number. - - Since sampling from coefficient arrays which contain a dummy first row, - index is decreased by 1. - - Arguments: - rand -- 0-1 random number (number) - r -- array with weights (numpy vector) - - Returns: - new 0-1 random number (number) - """ - - r_tot = np.sum( r ) - u = rand * r_tot # random uniform number between 0 and total rate - r_cum = 0 - for i,e in enumerate(r): # for every possible event, - r_cum += e # add this event's rate to cumulative rate - if u < r_cum: # if random number is under cumulative rate - return i-1, ( ( u - r_cum + e ) / e ) + # return getWeightedRandomJAX(rand, r) + + # sum_arr = jnp.cumsum( r ) + # rand = rand * sum_arr[-1] + # idx = jnp.abs( jnp.floor(rand - sum_arr)+1 ).argmin() + # return idx-1, 1+rand-sum_arr[idx] + # # i-1 is used here because we are adding 1 extra element to + # # Host and Vector coefficient arrays inside of Population + + # r_tot = np.sum( r ) + # u = rand * r_tot # random uniform number between 0 and total rate + # r_cum = 0 + # for i,e in enumerate(r): # for every possible event, + # r_cum += e # add this event's rate to cumulative rate + # if u < r_cum: # if random number is under cumulative rate + # return i-1, ( ( u - r_cum + e ) / e ) + # # i-1 is used here because we are adding 1 extra element to + # # Host and Vector coefficient arrays inside of Population + + return self.random.choice( range( len(r) ), p=r/np.sum(r) )-1, rand + # i-1 is used here because we are adding 1 extra element to + # Host and Vector coefficient arrays inside of Population + + # sum_arr = np.cumsum( r ) + # rand = rand * sum_arr[-1] + # idx = int( np.abs( np.floor(rand - sum_arr)+1 ).argmin() ) + # return idx-1, 1+rand-sum_arr[idx] + # # i-1 is used here because we are adding 1 extra element to + # # Host and Vector coefficient arrays inside of Population + +# @jax.jit +# def getWeightedRandomJAX(rand, r): +# """Returns index of element chosen from weights and given random number. +# +# Since sampling from coefficient arrays which contain a dummy first row, +# index is decreased by 1. +# +# Arguments: +# rand -- 0-1 random number (number) +# r -- array with weights (numpy vector) +# +# Returns: +# new 0-1 random number (number) +# """ +# +# # r_tot = np.sum( r ) +# # u = rand * r_tot # random uniform number between 0 and total rate +# # r_cum = 0 +# # for i,e in enumerate(r): # for every possible event, +# # r_cum += e # add this event's rate to cumulative rate +# # if u < r_cum: # if random number is under cumulative rate +# # return i-1, ( ( u - r_cum + e ) / e ) +# # # i-1 is used here because we are adding 1 extra element to +# # # Host and Vector coefficient arrays inside of Population +# +# sum_arr = jnp.cumsum( r ) +# rand = rand * sum_arr[-1] +# idx = jnp.abs( jnp.floor(rand - sum_arr)+1 ).argmin() +# return idx-1, 1+rand-sum_arr[idx] +# # i-1 is used here because we are adding 1 extra element to +# # Host and Vector coefficient arrays inside of Population diff --git a/opqua/internal/setup.py b/opqua/internal/setup.py index 8c3f220..2337ce7 100644 --- a/opqua/internal/setup.py +++ b/opqua/internal/setup.py @@ -22,6 +22,7 @@ def __init__( contact_rate_host_host, transmission_efficiency_host_host, mean_inoculum_host, mean_inoculum_vector, + variance_inoculum_host, variance_inoculum_vector, recovery_rate_host, recovery_rate_vector, mortality_rate_host,mortality_rate_vector, recombine_in_host, recombine_in_vector, @@ -123,6 +124,10 @@ def __init__( a vector or host into a new host during a contact event (int >= 0) mean_inoculum_vector -- mean number of pathogens that are transmitted from a host to a vector during a contact event (int >= 0) + variance_inoculum_host -- variance in number of pathogens that are + transmitted from a vector/host to a host during a contact (num >=0) + variance_inoculum_vector -- variance in number of pathogens that are + transmitted from a host to a vector during a contact (num >=0) recovery_rate_host -- rate at which hosts clear all pathogens; 1/time (number >= 0) recovery_rate_vector -- rate at which vectors clear all pathogens @@ -214,6 +219,8 @@ def __init__( self.transmission_efficiency_host_host = transmission_efficiency_host_host self.mean_inoculum_host = mean_inoculum_host self.mean_inoculum_vector = mean_inoculum_vector + self.variance_inoculum_host = variance_inoculum_host + self.variance_inoculum_vector = variance_inoculum_vector self.recovery_rate_host = recovery_rate_host self.recovery_rate_vector = recovery_rate_vector self.mortality_rate_host = mortality_rate_host diff --git a/opqua/internal/simulation.py b/opqua/internal/simulation.py new file mode 100644 index 0000000..eec695b --- /dev/null +++ b/opqua/internal/simulation.py @@ -0,0 +1,1115 @@ + +"""Contains class Population.""" + +import copy as cp +import pandas as pd +import numpy as np +import joblib as jl + +from opqua.model import * + +class Simulation(object): + """Class contains methods for simulating model. + + Class defines a model's events and methods for changing system state + according to the possible events and simulating a timecourse using the + exact Gillespie algorithm or an approximated, mixed Euler-Gillespie model + (a variation of tau-leaping). + + Methods: + getRates -- returns array containing rates for each event for a given system + state + doAction -- carries out an event, modifying system state + run -- simulates model for a specified length of time + """ + + # Event ID constants: + + MIGRATE_HOST = 0 + MIGRATE_VECTOR = 1 + POPULATION_CONTACT_HOST_HOST = 2 + POPULATION_CONTACT_HOST_VECTOR = 3 + POPULATION_CONTACT_VECTOR_HOST = 4 + CONTACT_HOST_HOST = 5 + CONTACT_HOST_VECTOR = 6 + CONTACT_VECTOR_HOST = 7 + RECOVER_HOST = 8 + RECOVER_VECTOR = 9 + MUTATE_HOST = 10 + MUTATE_VECTOR = 11 + RECOMBINE_HOST = 12 + RECOMBINE_VECTOR = 13 + KILL_HOST = 14 + KILL_VECTOR = 15 + DIE_HOST = 16 + DIE_VECTOR = 17 + BIRTH_HOST = 18 + BIRTH_VECTOR = 19 + + EVENT_IDS = { # must match above + MIGRATE_HOST:'MIGRATE_HOST', + MIGRATE_VECTOR:'MIGRATE_VECTOR', + POPULATION_CONTACT_HOST_HOST:'POPULATION_CONTACT_HOST_HOST', + POPULATION_CONTACT_HOST_VECTOR:'POPULATION_CONTACT_HOST_VECTOR', + POPULATION_CONTACT_VECTOR_HOST:'POPULATION_CONTACT_VECTOR_HOST', + CONTACT_HOST_HOST:'CONTACT_HOST_HOST', + CONTACT_HOST_VECTOR:'CONTACT_HOST_VECTOR', + CONTACT_VECTOR_HOST:'CONTACT_VECTOR_HOST', + RECOVER_HOST:'RECOVER_HOST', + RECOVER_VECTOR:'RECOVER_VECTOR', + MUTATE_HOST:'MUTATE_HOST', + MUTATE_VECTOR:'MUTATE_VECTOR', + RECOMBINE_HOST:'RECOMBINE_HOST', + RECOMBINE_VECTOR:'RECOMBINE_VECTOR', + KILL_HOST:'KILL_HOST', + KILL_VECTOR:'KILL_VECTOR', + DIE_HOST:'DIE_HOST', + DIE_VECTOR:'DIE_VECTOR', + BIRTH_HOST:'BIRTH_HOST', + BIRTH_VECTOR:'BIRTH_VECTOR' + } + + def __init__(self, model): + """Create a new simulation object. + + Arguments: + model -- the model this simulation belongs to (Model) + """ + + super(Simulation, self).__init__() # initialize as parent class object + + # Event IDs + self.evt_IDs = [ + self.MIGRATE_HOST, self.MIGRATE_VECTOR, + self.POPULATION_CONTACT_HOST_HOST, + self.POPULATION_CONTACT_HOST_VECTOR, + self.POPULATION_CONTACT_VECTOR_HOST, + self.CONTACT_HOST_HOST, self.CONTACT_HOST_VECTOR, + self.CONTACT_VECTOR_HOST, + self.RECOVER_HOST, self.RECOVER_VECTOR, + self.MUTATE_HOST, self.MUTATE_VECTOR, + self.RECOMBINE_HOST, self.RECOMBINE_VECTOR, + self.KILL_HOST, self.KILL_VECTOR, + self.DIE_HOST, self.DIE_VECTOR, + self.BIRTH_HOST, self.BIRTH_VECTOR + ] + # event IDs in specific order to be used + + self.evt_possible = np.repeat( 1, len(self.evt_IDs) ) + # True/False whether or not each event might possibly happen in this + # simulation: we will fill it out in the next lines + + interventions = [ i.intervention for i in model.interventions ] + + if ( np.sum([ + len(pop.vectors) for i,pop in model.populations.items() + ]) == 0 and 'addVectors' not in interventions ): + self.evt_possible[self.MIGRATE_VECTOR] = 0 + self.evt_possible[self.POPULATION_CONTACT_HOST_VECTOR] = 0 + self.evt_possible[self.POPULATION_CONTACT_VECTOR_HOST] = 0 + self.evt_possible[self.CONTACT_HOST_VECTOR] = 0 + self.evt_possible[self.RECOVER_VECTOR] = 0 + self.evt_possible[self.MUTATE_VECTOR] = 0 + self.evt_possible[self.RECOMBINE_VECTOR] = 0 + self.evt_possible[self.KILL_VECTOR] = 0 + self.evt_possible[self.DIE_VECTOR] = 0 + self.evt_possible[self.BIRTH_VECTOR] = 0 + if ( len(model.populations) < 2 ): + self.evt_possible[self.MIGRATE_HOST] = 0 + self.evt_possible[self.MIGRATE_VECTOR] = 0 + self.evt_possible[self.POPULATION_CONTACT_HOST_HOST] = 0 + self.evt_possible[self.POPULATION_CONTACT_HOST_VECTOR] = 0 + self.evt_possible[self.POPULATION_CONTACT_VECTOR_HOST] = 0 + if ( np.sum([ + s.contact_rate_host_host for i,s in model.setups.items() + ]) == 0 ): + self.evt_possible[self.CONTACT_HOST_HOST] = 0 + if ( np.sum([ + s.contact_rate_host_vector for i,s in model.setups.items() + ]) == 0 ): + self.evt_possible[self.CONTACT_HOST_VECTOR] = 0 + self.evt_possible[self.CONTACT_VECTOR_HOST] = 0 + if ( np.sum([ + s.recovery_rate_host for i,s in model.setups.items() ]) == 0 ): + self.evt_possible[self.RECOVER_HOST] = 0 + if ( np.sum([ + s.recovery_rate_vector for i,s in model.setups.items() + ]) == 0 ): + self.evt_possible[self.RECOVER_VECTOR] = 0 + if ( np.sum([ + s.mutate_in_host for i,s in model.setups.items() ]) == 0 ): + self.evt_possible[self.MUTATE_HOST] = 0 + if ( np.sum([ + s.mutate_in_vector for i,s in model.setups.items() ]) == 0 ): + self.evt_possible[self.MUTATE_VECTOR] = 0 + if ( np.sum([ + s.recombine_in_host for i,s in model.setups.items() ]) == 0 ): + self.evt_possible[self.RECOMBINE_HOST] = 0 + if ( np.sum([ + s.recombine_in_vector for i,s in model.setups.items() ]) == 0 ): + self.evt_possible[self.RECOMBINE_VECTOR] = 0 + if ( np.sum([ + s.mortality_rate_host for i,s in model.setups.items() ]) == 0 ): + self.evt_possible[self.KILL_HOST] = 0 + if ( np.sum([ + s.mortality_rate_vector for i,s in model.setups.items() + ]) == 0 ): + self.evt_possible[self.KILL_VECTOR] = 0 + if ( np.sum([ + s.death_rate_host for i,s in model.setups.items() ]) == 0 ): + self.evt_possible[self.DIE_HOST] = 0 + if ( np.sum([ + s.death_rate_vector for i,s in model.setups.items() ]) == 0 ): + self.evt_possible[self.DIE_VECTOR] = 0 + if ( np.sum([ + s.birth_rate_host for i,s in model.setups.items() ]) == 0 ): + self.evt_possible[self.BIRTH_HOST] = 0 + if ( np.sum([ + s.birth_rate_vector for i,s in model.setups.items() ]) == 0 ): + self.evt_possible[self.BIRTH_VECTOR] = 0 + + self.total_population_contact_rate_host = 0 + self.total_population_contact_rate_vector = 0 + + self.model = model + self.random = model.random # random number generator + + def getRates(self,population_ids): + """Wrapper for calculating event rates as per current system state. + + Arguments: + population_ids -- list with ids for every population in the model + (list of Strings) + + Returns: + Matrix with rates as values for events (rows) and populations (columns). + Populations in order given in argument. + """ + + rates = np.zeros( [ len(self.evt_IDs), len(population_ids) ] ) + # rate array size of event space + + # Contact rates assume scaling area: large populations are equally + # dense as small ones, so contact is constant with both host and + # vector populations. If you don't want this to happen, modify each + # population's base contact rate accordingly. + + # Now for each population... + for i,id in enumerate(population_ids): + # Calculate the rates: + if self.evt_possible[self.MIGRATE_HOST]: + rates[self.MIGRATE_HOST,i] = ( + self.model.populations[id].total_migration_rate_hosts + * self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].MIGRATION + ].sum() + ) + + if self.evt_possible[self.MIGRATE_VECTOR]: + rates[self.MIGRATE_VECTOR,i] = ( + self.model.populations[id].total_migration_rate_vectors + * self.model.populations[id].coefficients_vectors[ + :, self.model.populations[id].MIGRATION + ].sum() + ) + + if self.evt_possible[self.POPULATION_CONTACT_HOST_HOST]: + rates[self.POPULATION_CONTACT_HOST_HOST,i] = ( + np.sum([ list( + self.model.populations[id].neighbors_contact_hosts_hosts.values() + ) ]) + * np.multiply( + self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].POPULATION_CONTACT + ], + self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].INFECTED + ] + ).sum() / max( len( self.model.populations[id].hosts ), 1) + * np.sum([ + neighbor.neighbors_contact_hosts_hosts[self.model.populations[id]] + * neighbor.coefficients_hosts[ + :, neighbor.RECEIVE_POPULATION_CONTACT + ].sum() + for neighbor in self.model.populations[id].neighbors_contact_hosts_hosts + ]) + ) + + if self.evt_possible[self.POPULATION_CONTACT_HOST_VECTOR]: + rates[self.POPULATION_CONTACT_HOST_VECTOR,i] = ( + np.sum([ list( + self.model.populations[id].neighbors_contact_hosts_vectors.values() + ) ]) + * np.multiply( + self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].POPULATION_CONTACT + ], + self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].INFECTED + ] + ).sum() / max( len( self.model.populations[id].hosts ), 1) + * np.sum([ + neighbor.neighbors_contact_vectors_hosts[self.model.populations[id]] + * neighbor.coefficients_vectors[ + :, neighbor.RECEIVE_POPULATION_CONTACT + ].sum() + for neighbor in self.model.populations[id].neighbors_contact_hosts_vectors + ]) + ) + + if self.evt_possible[self.POPULATION_CONTACT_VECTOR_HOST]: + rates[self.POPULATION_CONTACT_VECTOR_HOST,i] = ( + np.sum([ list( + self.model.populations[id].neighbors_contact_vectors_hosts.values() + ) ]) + * np.multiply( + self.model.populations[id].coefficients_vectors[ + :, self.model.populations[id].POPULATION_CONTACT + ], + self.model.populations[id].coefficients_vectors[ + :, self.model.populations[id].INFECTED + ] + ).sum() + * np.sum([ + neighbor.neighbors_contact_hosts_vectors[self.model.populations[id]] + * neighbor.coefficients_hosts[ + :, neighbor.RECEIVE_POPULATION_CONTACT + ].sum() / max( len( neighbor.hosts ), 1) + for neighbor in self.model.populations[id].neighbors_contact_vectors_hosts + ]) + ) + + if self.evt_possible[self.CONTACT_HOST_HOST]: + rates[self.CONTACT_HOST_HOST,i] = ( + self.model.populations[id].contact_rate_host_host + * np.multiply( + self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].CONTACT + ], + self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].INFECTED + ] + ).sum() + * self.model.populations[id].transmission_efficiency_host_host + * np.sum( self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].RECEIVE_CONTACT + ] ) + / max( len( self.model.populations[id].hosts ), 1) + ) + + if self.evt_possible[self.CONTACT_HOST_VECTOR]: + rates[self.CONTACT_HOST_VECTOR,i] = ( + self.model.populations[id].contact_rate_host_vector + * np.multiply( + self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].CONTACT + ], + self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].INFECTED + ] + ).sum() + * self.model.populations[id].transmission_efficiency_host_vector + * np.sum( self.model.populations[id].coefficients_vectors[ + :, self.model.populations[id].RECEIVE_CONTACT + ] ) + / max( len( self.model.populations[id].hosts ), 1) + ) + + if self.evt_possible[self.CONTACT_VECTOR_HOST]: + rates[self.CONTACT_VECTOR_HOST,i] = ( + self.model.populations[id].contact_rate_host_vector + * np.multiply( + self.model.populations[id].coefficients_vectors[ + :, self.model.populations[id].CONTACT + ], + self.model.populations[id].coefficients_vectors[ + :, self.model.populations[id].INFECTED + ] + ).sum() + * self.model.populations[id].transmission_efficiency_vector_host + * np.sum( self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].RECEIVE_CONTACT + ]) + / max( len( self.model.populations[id].hosts ), 1) + ) + + if self.evt_possible[self.RECOVER_HOST]: + rates[self.RECOVER_HOST,i] = ( + self.model.populations[id].recovery_rate_host + * self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].RECOVERY + ].sum() + ) + + if self.evt_possible[self.RECOVER_VECTOR]: + rates[self.RECOVER_VECTOR,i] = ( + self.model.populations[id].recovery_rate_vector + * self.model.populations[id].coefficients_vectors[ + :, self.model.populations[id].RECOVERY + ].sum() + ) + + if self.evt_possible[self.MUTATE_HOST]: + rates[self.MUTATE_HOST,i] = ( + self.model.populations[id].mutate_in_host + * self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].MUTATION + ].sum() + ) + + if self.evt_possible[self.MUTATE_VECTOR]: + rates[self.MUTATE_VECTOR,i] = ( + self.model.populations[id].mutate_in_vector + * self.model.populations[id].coefficients_vectors[ + :, self.model.populations[id].MUTATION + ].sum() + ) + + if self.evt_possible[self.RECOMBINE_HOST]: + rates[self.RECOMBINE_HOST,i] = ( + self.model.populations[id].recombine_in_host + * self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].RECOMBINATION + ].sum() + ) + + if self.evt_possible[self.RECOMBINE_VECTOR]: + rates[self.RECOMBINE_VECTOR,i] = ( + self.model.populations[id].recombine_in_vector + * self.model.populations[id].coefficients_vectors[ + :, self.model.populations[id].RECOMBINATION + ].sum() + ) + + if self.evt_possible[self.KILL_HOST]: + rates[self.KILL_HOST,i] = ( + self.model.populations[id].mortality_rate_host + * self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].LETHALITY + ].sum() + ) + + if self.evt_possible[self.KILL_VECTOR]: + rates[self.KILL_VECTOR,i] = ( + self.model.populations[id].mortality_rate_vector + * self.model.populations[id].coefficients_vectors[ + :, self.model.populations[id].LETHALITY + ].sum() + ) + + if self.evt_possible[self.DIE_HOST]: + rates[self.DIE_HOST,i] = ( + self.model.populations[id].death_rate_host + * len(self.model.populations[id].hosts) + ) + + if self.evt_possible[self.DIE_VECTOR]: + rates[self.DIE_VECTOR,i] = ( + self.model.populations[id].death_rate_vector + * len(self.model.populations[id].vectors) + ) + + if self.evt_possible[self.BIRTH_HOST]: + rates[self.BIRTH_HOST,i] = ( + self.model.populations[id].birth_rate_host + * self.model.populations[id].coefficients_hosts[ + :, self.model.populations[id].NATALITY + ].sum() + ) + + if self.evt_possible[self.BIRTH_VECTOR]: + rates[self.BIRTH_VECTOR,i] = ( + self.model.populations[id].birth_rate_vector + * self.model.populations[id].coefficients_vectors[ + :, self.model.populations[id].NATALITY + ].sum() + ) + + return rates + + def doAction(self,act,pop,rand): + """Change system state according to act argument passed + + Arguments: + act -- defines action to be taken, one of the event ID constants (int) + pop -- population action will happen in (Population) + rand -- random number used to define event (number 0-1) + + Returns: + whether or not the model has changed state (Boolean) + """ + + changed = False + + if act == self.MIGRATE_HOST: + rand = rand * pop.total_migration_rate_hosts + r_cum = 0 + for neighbor in pop.neighbors_hosts: + r_cum += pop.neighbors_hosts[neighbor] + if r_cum > rand: + pop.migrate(neighbor,1,0, rand=( + ( rand - r_cum + pop.neighbors_hosts[neighbor] ) + / pop.neighbors_hosts[neighbor] ) ) + changed = True + break + + elif act == self.MIGRATE_VECTOR: + rand = rand * pop.total_migration_rate_vectors + r_cum = 0 + for neighbor in pop.neighbors_vectors: + r_cum += pop.neighbors_vectors[neighbor] + if r_cum > rand: + pop.migrate(neighbor,0,1, rand=( + ( rand - r_cum + pop.neighbors_vectors[neighbor] ) + / pop.neighbors_vectors[neighbor] ) ) + changed = True + break + + elif act == self.POPULATION_CONTACT_HOST_HOST: + neighbors = list( pop.neighbors_contact_hosts_hosts.keys() ) + neighbor_rates = [ + pop.neighbors_contact_hosts_hosts[neighbor] + * neighbor.neighbors_contact_hosts_hosts[pop] + * neighbor.coefficients_hosts[ + :, neighbor.RECEIVE_POPULATION_CONTACT + ].sum() + / max( len( pop.hosts ), 1) # technically unnecessary + for neighbor in neighbors + ] + rand = rand * np.sum(neighbor_rates) + r_cum = 0 + for neighbor_i,neighbor_r in enumerate(neighbor_rates): + r_cum += neighbor_r + if r_cum > rand: + changed = pop.populationContact( + neighbors[neighbor_i], + ( rand - r_cum + neighbor_r ) / neighbor_r, + host_origin=True, host_target=True + ) + break + + elif act == self.POPULATION_CONTACT_HOST_VECTOR: + neighbors = list( pop.neighbors_contact_hosts_vectors.keys() ) + neighbor_rates = [ + pop.neighbors_contact_hosts_vectors[neighbor] + * neighbor.neighbors_contact_vectors_hosts[pop] + * neighbor.coefficients_vectors[ + :, neighbor.RECEIVE_POPULATION_CONTACT + ].sum() + / max( len( pop.hosts ), 1) # technically unnecessary + for neighbor in neighbors + ] + rand = rand * np.sum(neighbor_rates) + r_cum = 0 + for neighbor_i,neighbor_r in enumerate(neighbor_rates): + r_cum += neighbor_r + if r_cum > rand: + changed = pop.populationContact( + neighbors[neighbor_i], + ( rand - r_cum + neighbor_r ) / neighbor_r, + host_origin=True, host_target=False + ) + break + + elif act == self.POPULATION_CONTACT_VECTOR_HOST: + neighbors = list( pop.neighbors_contact_vectors_hosts.keys() ) + neighbor_rates = [ + pop.neighbors_contact_vectors_hosts[neighbor] + * neighbor.neighbors_contact_hosts_vectors[pop] + * neighbor.coefficients_hosts[ + :, neighbor.RECEIVE_POPULATION_CONTACT + ].sum() + / max( len( neighbor.hosts ), 1) # necessary! + for neighbor in neighbors + ] + rand = rand * np.sum(neighbor_rates) + r_cum = 0 + for neighbor_i,neighbor_r in enumerate(neighbor_rates): + r_cum += neighbor_r + if r_cum > rand: + changed = pop.populationContact( + neighbors[neighbor_i], + ( rand - r_cum + neighbor_r ) / neighbor_r, + host_origin=False, host_target=True + ) + break + + elif act == self.CONTACT_HOST_HOST: + changed = pop.contactHostHost(rand) + + elif act == self.CONTACT_HOST_VECTOR: + changed = pop.contactHostVector(rand) + + elif act == self.CONTACT_VECTOR_HOST: + changed = pop.contactVectorHost(rand) + + elif act == self.RECOVER_HOST: + pop.recoverHost(rand) + changed = True + + elif act == self.RECOVER_VECTOR: + pop.recoverVector(rand) + changed = True + + elif act == self.MUTATE_HOST: + pop.mutateHost(rand) + changed = True + + elif act == self.MUTATE_VECTOR: + pop.mutateVector(rand) + changed = True + + elif act == self.RECOMBINE_HOST: + pop.recombineHost(rand) + changed = True + + elif act == self.RECOMBINE_VECTOR: + pop.recombineVector(rand) + changed = True + + elif act == self.KILL_HOST: + pop.killHost(rand) + changed = True + + elif act == self.KILL_VECTOR: + pop.killVector(rand) + changed = True + + elif act == self.DIE_HOST: + pop.dieHost(rand) + changed = True + + elif act == self.DIE_VECTOR: + pop.dieVector(rand) + changed = True + + elif act == self.BIRTH_HOST: + pop.birthHost(rand) + changed = True + + elif act == self.BIRTH_VECTOR: + pop.birthVector(rand) + changed = True + + self.model.global_trackers['num_events'][self.EVENT_IDS[act]] += 1 + + return changed + + def run(self,t0,tf,method='exact',dt_leap=None,dt_thre=None, + time_sampling=0,host_sampling=0,vector_sampling=0, + skip_uninfected=False,print_every_n_events=1000): + """Simulate model for a specified time between two time points. + + Wrapper for different simulation algorithms. + + Arguments: + t0 -- initial time point to start simulation at (number) + tf -- initial time point to end simulation at (number) + method -- algorithm to be used; default is approximated solver + ('approximated' or 'exact'; default 'exact') + dt_leap -- time leap size used to simulate bursts; if None, set to + minimum growth threshold time across all populations (number, + default None) + dt_thre -- time threshold below which bursts are used; if None, set to + dt_leap (number, default None) + time_sampling -- how many events to skip before saving a snapshot of the + system state (saves all by default), if <0, saves only final state + (int, default 0) + host_sampling -- how many hosts to skip before saving one in a snapshot + of the system state (saves all by default) (int, default 0) + vector_sampling -- how many vectors to skip before saving one in a + snapshot of the system state (saves all by default) (int, default 0) + skip_uninfected -- whether to save only infected hosts/vectors and + record the number of uninfected host/vectors instead (Boolean, + default False) + print_every_n_events -- number of events a message is printed to console + (int>0, default 1000) + + Returns: + dictionary containing model state history, with keys=times and + values=Model objects with model snapshot at that time point + """ + + if method=='approximated': + return self.runApproximated(t0,tf,dt_leap,dt_thre,time_sampling, + host_sampling,vector_sampling,skip_uninfected, + print_every_n_events) + elif method=='exact': + return self.runExactGillespie(t0,tf,time_sampling,host_sampling, + vector_sampling,skip_uninfected,print_every_n_events) + + + def runExactGillespie(self,t0,tf,time_sampling=0,host_sampling=0, + vector_sampling=0,skip_uninfected=False,print_every_n_events=1000): + """Simulate model using exact Gillespie algorithm. + + Simulates a time series using the Gillespie algorithm. + + Arguments: + t0 -- initial time point to start simulation at (number) + tf -- initial time point to end simulation at (number) + time_sampling -- how many events to skip before saving a snapshot of the + system state (saves all by default), if <0, saves only final state + (int, default 0) + host_sampling -- how many hosts to skip before saving one in a snapshot + of the system state (saves all by default) (int, default 0) + vector_sampling -- how many vectors to skip before saving one in a + snapshot of the system state (saves all by default) (int, default 0) + skip_uninfected -- whether to save only infected hosts/vectors and + record the number of uninfected host/vectors instead (Boolean, + default False) + print_every_n_events -- number of events a message is printed to console + (int>0, default 1000) + + Returns: + dictionary containing model state history, with keys=times and + values=Model objects with model snapshot at that time point + """ + + # Simulation variables + self.model.t_var = t0 # keeps track of time + history = { 0: self.model.copyState( + host_sampling=host_sampling, + vector_sampling=vector_sampling, + skip_uninfected=skip_uninfected + ) } + intervention_tracker = 0 + # keeps track of what the next intervention should be + self.model.interventions = sorted( + self.model.interventions, key=lambda i: i.time + ) + + print_counter = 0 # only used to track when to print + sampling_counter = 0 # used to track when to save a snapshot + + while self.model.t_var < tf: # repeat until t reaches end of timecourse + population_ids = list( self.model.populations.keys() ) + r = self.getRates(population_ids) # get event rates in this state + r_tot = np.sum(r) # sum of all rates + + # Time handling + if r_tot > 0: + dt = self.random.exponential( 1/r_tot ) # time until next event + + if (intervention_tracker < len(self.model.interventions) + and self.model.t_var + dt + >= self.model.interventions[intervention_tracker].time): + # if there are any interventions left and if it is time + # to make one, + while ( intervention_tracker < len(self.model.interventions) + and (self.model.t_var + dt + >= self.model.interventions[intervention_tracker].time + or r_tot == 0) and self.model.t_var < tf ): + # carry out all interventions at this time point, + # and additional timepoints if no events will happen + self.model.t_var = self.model.interventions[ + intervention_tracker + ].time + self.model.interventions[ + intervention_tracker + ].doIntervention() + intervention_tracker += 1 # advance the tracker + + # save snapshot at this timepoint + sampling_counter = 0 + history[self.model.t_var] = self.model.copyState() + + # now recalculate rates + population_ids = list( self.model.populations.keys() ) + r = self.getRates(population_ids) + # get event rates in this state + r_tot = np.sum(r) # sum of all rates + + if r_tot > 0: # if no more events happening, + dt = self.random.exponential( 1/r_tot ) + # time until next event + else: + self.model.t_var = tf # go to end + + self.model.t_var += dt # add time step to main timer + + # Event handling + if self.model.t_var < tf: # if still within max time + u = self.random.random() * r_tot + # random uniform number between 0 and total rate + r_cum = 0 # cumulative rate + for e in range(r.shape[0]): # for every possible event, + for p in range(r.shape[1]): + # for every possible population, + r_cum += r[e,p] + # add this event's rate to cumulative rate + if u < r_cum: + # if random number is under cumulative rate + + # print every n events + print_counter += 1 + if print_counter == print_every_n_events: + print_counter = 0 + print( + 'Simulating time: ' + + str(self.model.t_var) + ', event: ' + + self.EVENT_IDS[e] + ) + + changed = self.doAction( + e, self.model.populations[ + population_ids[p] + ], ( u - r_cum + r[e,p] ) / r[e,p] + ) # do corresponding action, + # feed in renormalized random number + + if changed: # if model state changed + # update custom condition trackers + for condition in self.model.custom_condition_trackers: + if self.model.custom_condition_trackers[condition](self.model): + self.model.global_trackers['custom_conditions'][condition].append(self.model.t_var) + + if time_sampling >= 0: + # if state changed and saving history, + # saves history at correct intervals + sampling_counter += 1 + if sampling_counter > time_sampling: + sampling_counter = 0 + history[self.model.t_var] = self.model.copyState( + host_sampling=host_sampling, + vector_sampling=vector_sampling, + skip_uninfected=skip_uninfected + ) + for evt,num in self.model.global_trackers['num_events'].items(): + self.model.global_trackers['num_events_over_time'][evt].append( + self.model.global_trackers['num_events'][evt] + ) + + break # exit event loop + + else: # if the inner loop wasn't broken, + continue # continue outer loop + + break # otherwise, break outer loop + else: # if no events happening, + if intervention_tracker < len(self.model.interventions): + # if still not done with interventions, + while (intervention_tracker < len(self.model.interventions) + and self.model.t_var + <= self.model.interventions[intervention_tracker].time + and self.model.t_var < tf): + # carry out all interventions at this time point + self.model.t_var = self.model.interventions[ + intervention_tracker + ].time + self.model.interventions[ + intervention_tracker + ].doIntervention() + intervention_tracker += 1 # advance the tracker + else: + self.model.t_var = tf + + print( 'Simulating time: ' + str(self.model.t_var), 'END') + history[tf] = self.model.copyState( + host_sampling=host_sampling, + vector_sampling=vector_sampling, + skip_uninfected=skip_uninfected + ) + history[tf].history = None + history[tf].global_trackers = cp.deepcopy( self.model.global_trackers ) + + return history + + + def runApproximated(self,t0,tf,dt_leap=None,dt_thre=None,time_sampling=0, + host_sampling=0,vector_sampling=0,skip_uninfected=False, + print_every_n_events=1000): + """Simulate model for a specified time using an approximating algorithm. + + Simulates a time series using a mixed Euler-Gillespie algorithm, + a variation of tau-leaping. + + Arguments: + t0 -- initial time point to start simulation at (number) + tf -- initial time point to end simulation at (number) + dt_leap -- time leap size used to simulate bursts; if None, set to + minimum growth threshold time across all populations (number, + default None) + dt_thre -- time threshold below which bursts are used; if None, set to + dt_leap (number, default None) + time_sampling -- how many events to skip before saving a snapshot of the + system state (saves all by default), if <0, saves only final state + (int, default 0) + host_sampling -- how many hosts to skip before saving one in a snapshot + of the system state (saves all by default) (int, default 0) + vector_sampling -- how many vectors to skip before saving one in a + snapshot of the system state (saves all by default) (int, default 0) + skip_uninfected -- whether to save only infected hosts/vectors and + record the number of uninfected host/vectors instead (Boolean, + default False) + print_every_n_events -- number of events a message is printed to console + (int>0, default 1000) + + Returns: + dictionary containing model state history, with keys=times and + values=Model objects with model snapshot at that time point + """ + + # Simulation variables + self.model.t_var = t0 # keeps track of time + history = { 0: self.model.copyState( + host_sampling=host_sampling, + vector_sampling=vector_sampling, + skip_uninfected=skip_uninfected + ) } + intervention_tracker = 0 + # keeps track of what the next intervention should be + self.model.interventions = sorted( + self.model.interventions, key=lambda i: i.time + ) + + print_counter = 0 # only used to track when to print + sampling_counter = 0 # used to track when to save a snapshot + + dt_contact_rate_division = 5 + if dt_leap is None: + dt_leap = min( [ + # min( + # p.t_threshold_host, p.t_threshold_vector, + 1 / max( + ( p.contact_rate_host_host +p.contact_rate_host_vector ) + * dt_contact_rate_division, # arbitrary tolerance + 1e-6 # arbitrary tolerance + ) + # ) + for p in self.model.populations.values() + ] ) + # if leap time step is not specified, set to minimum + # intrahost growth threshold time or minimum time before + # infection + + dt_leap = dt_leap * 1.0 # make into float + + if dt_thre is None: + dt_thre = ( + dt_leap / ( + self.evt_possible.sum() * len( self.model.populations ) *1.0 + # make into float + ) + ) if dt_leap > 0 else 0 + # if leap threshold is not specified, set to leap length + # divided by total number of event types to evaluate + # dt_thre = dt_leap if dt_thre is None else dt_thre + # print([ [ #p.t_threshold_host, p.t_threshold_vector, + # 1 / max( + # ( p.contact_rate_host_host +p.contact_rate_host_vector ) + # * 10, # arbitrary tolerance + # 1e-6 # arbitrary tolerance + # ) ] for p in self.model.populations.values() ]) + # print(dt_leap,dt_thre) + # if dt_leap == 0: + # dt_thre = 0 + + while self.model.t_var < tf: # repeat until t reaches end of timecourse + population_ids = list( self.model.populations.keys() ) + r = self.getRates(population_ids) # get event rates in this state + r_tot = np.sum(r) # sum of all rates + + # Time handling + if r_tot > 0: + dt = self.random.exponential( 1/r_tot ) # time until next event + if dt < dt_thre: # if time step is smaller than threshold + dt = dt_leap # set time step to tau leap size + + if (intervention_tracker < len(self.model.interventions) + and self.model.t_var + dt + >= self.model.interventions[intervention_tracker].time): + # if there are any interventions left and if it is time + # to make one, + while ( intervention_tracker < len(self.model.interventions) + and (self.model.t_var + dt + >= self.model.interventions[intervention_tracker].time + or r_tot == 0) and self.model.t_var < tf ): + # carry out all interventions at this time point, + # and additional timepoints if no events will happen + self.model.t_var = self.model.interventions[ + intervention_tracker + ].time + self.model.interventions[ + intervention_tracker + ].doIntervention() + intervention_tracker += 1 # advance the tracker + + # save snapshot at this timepoint + sampling_counter = 0 + history[self.model.t_var] = self.model.copyState() + + dt_leap = min( [ + # min( + # p.t_threshold_host, p.t_threshold_vector, + 1 / max( + ( p.contact_rate_host_host +p.contact_rate_host_vector ) + * dt_contact_rate_division, # arbitrary tolerance + 1e-12 # arbitrary tolerance + ) + # ) + for p in self.model.populations.values() + ] ) + # if leap time step is not specified, set to minimum + # intrahost growth threshold time or minimum time before + # infection + + dt_leap = dt_leap * 1.0 # make into float + + dt_thre = ( + dt_leap / ( + self.evt_possible.sum() * len( self.model.populations ) *1.0 + # make into float + ) + ) if dt_leap > 0 else 0 + + # now recalculate rates + population_ids = list( self.model.populations.keys() ) + r = self.getRates(population_ids) + # get event rates in this state + r_tot = np.sum(r) # sum of all rates + + if r_tot > 0: # if no more events happening, + dt = self.random.exponential( 1/r_tot ) + # time until next event + else: + self.model.t_var = tf # go to end + + self.model.t_var += dt # add time step to main timer + + # Event handling + if self.model.t_var < tf: # if still within max time + if dt == dt_leap: # if we are tau leaping, + changed = False + + # print every n events + print_counter += 1 + if print_counter == print_every_n_events: + print_counter = 0 + print( + 'Simulating time: ' + + str(self.model.t_var) + ', event: tau leap burst' + ) + for e in range(r.shape[0]): # for every possible event, + for p in range(r.shape[1]): + # for every possible population, + num_evts_burst = int(self.random.poisson( r[e,p] )) + # compute number of events of this type in + # this population + + for _ in range(num_evts_burst): + changed_tmp = self.doAction( + e, self.model.populations[ + population_ids[p] + ], self.random.random() + ) # do corresponding action, + # feed in random number + changed = True if changed else changed_tmp + + if changed: # if model state changed + # update custom condition trackers + for condition in self.model.custom_condition_trackers: + if self.model.custom_condition_trackers[condition](self.model): + self.model.global_trackers['custom_conditions'][condition].append(self.model.t_var) + + if time_sampling >= 0: + # if state changed and saving history, + # saves history at correct intervals + sampling_counter += 1 + if sampling_counter > time_sampling: + sampling_counter = 0 + history[self.model.t_var] = self.model.copyState( + host_sampling=host_sampling, + vector_sampling=vector_sampling, + skip_uninfected=skip_uninfected + ) + for evt,num in self.model.global_trackers['num_events'].items(): + self.model.global_trackers['num_events_over_time'][evt].append( + self.model.global_trackers['num_events'][evt] + ) + + else: + u = self.random.random() * r_tot + # random uniform number between 0 and total rate + r_cum = 0 # cumulative rate + for e in range(r.shape[0]): # for every possible event, + for p in range(r.shape[1]): + # for every possible population, + r_cum += r[e,p] + # add this event's rate to cumulative rate + if u < r_cum: + # if random number is under cumulative rate + + # print every n events + print_counter += 1 + if print_counter == print_every_n_events: + print_counter = 0 + print( + 'Simulating time: ' + + str(self.model.t_var) + ', event: ' + + self.EVENT_IDS[e] + ) + + changed = self.doAction( + e, self.model.populations[ + population_ids[p] + ], ( u - r_cum + r[e,p] ) / r[e,p] + ) # do corresponding action, + # feed in renormalized random number + + if changed: # if model state changed + # update custom condition trackers + for condition in self.model.custom_condition_trackers: + if self.model.custom_condition_trackers[condition](self.model): + self.model.global_trackers['custom_conditions'][condition].append(self.model.t_var) + + if time_sampling >= 0: + # if state changed and saving history, + # saves history at correct intervals + sampling_counter += 1 + if sampling_counter > time_sampling: + sampling_counter = 0 + history[self.model.t_var] = self.model.copyState( + host_sampling=host_sampling, + vector_sampling=vector_sampling, + skip_uninfected=skip_uninfected + ) + for evt,num in self.model.global_trackers['num_events'].items(): + self.model.global_trackers['num_events_over_time'][evt].append( + self.model.global_trackers['num_events'][evt] + ) + + break # exit event loop + + else: # if the inner loop wasn't broken, + continue # continue outer loop + + break # otherwise, break outer loop + else: # if no events happening, + if intervention_tracker < len(self.model.interventions): + # if still not done with interventions, + while (intervention_tracker < len(self.model.interventions) + and self.model.t_var + <= self.model.interventions[intervention_tracker].time + and self.model.t_var < tf): + # carry out all interventions at this time point + self.model.t_var = self.model.interventions[ + intervention_tracker + ].time + self.model.interventions[ + intervention_tracker + ].doIntervention() + intervention_tracker += 1 # advance the tracker + else: + self.model.t_var = tf + + print( 'Simulating time: ' + str(self.model.t_var), 'END') + history[tf] = self.model.copyState( + host_sampling=host_sampling, + vector_sampling=vector_sampling, + skip_uninfected=skip_uninfected + ) + history[tf].history = None + history[tf].global_trackers = cp.deepcopy( self.model.global_trackers ) + + return history diff --git a/opqua/internal/vector.py b/opqua/internal/vector.py index d98ed72..1c44483 100644 --- a/opqua/internal/vector.py +++ b/opqua/internal/vector.py @@ -3,6 +3,7 @@ import numpy as np import copy as cp +# import scipy.stats as sp_stats class Vector(object): """Class defines vector entities to be infected by pathogens in model. @@ -23,6 +24,8 @@ class Vector(object): recombine -- recombine two random pathogen genomes at random locus getWeightedRandomGenome -- returns index of element chosen from weights and given random number + zeroTruncatedPoisson -- return random number from zero-truncated Poisson + zeroTruncatedNegBinomial -- random number from 0-truncated negative binomial """ def __init__(self, population, id, slim=False): @@ -46,6 +49,7 @@ def __init__(self, population, id, slim=False): # immune to. If a pathogen's genome contains one of these # values, it cannot infect this vector. self.population = population + self.random = population.model.random # random number generator self.sum_fitness = 0 # sum of all pathogen fitnesses within this vector self.coefficient_index = population.coefficients_vectors.shape[0] @@ -75,9 +79,6 @@ def acquirePathogen(self, genome): Arguments: genome -- the genome to be added (String) - - Returns: - whether or not the model has changed state (Boolean) """ self.pathogens[genome] = self.population.fitnessVector(genome) @@ -120,17 +121,18 @@ def infectHost(self, host): """Infect given host with a sample of this vector's pathogens. Each pathogen in the infector is sampled as present or absent in the - inoculum by drawing from a Poisson distribution with a mean equal to the - mean inoculum size of the organism being infected weighted by each - genome's fitness as a fraction of the total in the infector as the - probability of each trial (minimum 1 pathogen transfered). Each pathogen - present in the inoculum will be added to the infected organism, if it - does not have protection from the pathogen's genome. Fitnesses are - computed for the pathogens' genomes in the infected organism, and the - organism is included in the poplation's infected list if appropriate. + inoculum by drawing from a negative binomial distribution with + a mean equal to the mean inoculum size of the organism being infected + weighted by each genome's fitness as a fraction of the total in the + infector as the probability of each trial (minimum 1 pathogen + transferred). Each pathogen present in the inoculum will be added to the + infected organism, if it does not have protection from the pathogen's + genome. Fitnesses are computed for the pathogens' genomes in the + infected organism, and the organism is included in the poplation's + infected list if appropriate. Arguments: - vector -- the vector to be infected (Vector) + host -- the host to be infected (Host) Returns: whether or not the model has changed state (Boolean) @@ -143,11 +145,8 @@ def infectHost(self, host): self.pathogens[g] / self.sum_fitness for g in genomes ] - genomes_inoculated = np.unique( np.random.choice( - genomes, p=fitness_weights, - size=max( - np.random.poisson( self.population.mean_inoculum_host ), 1 - ) + genomes_inoculated = np.unique( self.random.choice( + genomes, p=fitness_weights, size=self.zeroTruncatedNegBinomial() ) ) for genome in genomes_inoculated: if genome not in host.pathogens.keys() and not any( @@ -162,14 +161,15 @@ def infectVector(self, vector): """Infect given host with a sample of this vector's pathogens. Each pathogen in the infector is sampled as present or absent in the - inoculum by drawing from a Poisson distribution with a mean equal to the - mean inoculum size of the organism being infected weighted by each - genome's fitness as a fraction of the total in the infector as the - probability of each trial (minimum 1 pathogen transfered). Each pathogen - present in the inoculum will be added to the infected organism, if it - does not have protection from the pathogen's genome. Fitnesses are - computed for the pathogens' genomes in the infected organism, and the - organism is included in the poplation's infected list if appropriate. + inoculum by drawing from a negative binomial distribution with + a mean equal to the mean inoculum size of the organism being infected + weighted by each genome's fitness as a fraction of the total in the + infector as the probability of each trial (minimum 1 pathogen + transferred). Each pathogen present in the inoculum will be added to the + infected organism, if it does not have protection from the pathogen's + genome. Fitnesses are computed for the pathogens' genomes in the + infected organism, and the organism is included in the poplation's + infected list if appropriate. Arguments: vector -- the vector to be infected (Vector) @@ -185,11 +185,8 @@ def infectVector(self, vector): self.pathogens[g] / self.sum_fitness for g in genomes ] - genomes_inoculated = np.unique( np.random.choice( - genomes, p=fitness_weights, - size=max( - np.random.poisson( self.population.mean_inoculum_vector ), 1 - ) + genomes_inoculated = np.unique( self.random.choice( + genomes, p=fitness_weights, size=self.zeroTruncatedNegBinomial() ) ) for genome in genomes_inoculated: if genome not in vector.pathogens.keys() and not any( @@ -246,10 +243,11 @@ def birth(self, rand): vector_list = self.population.addVectors(1) vector = vector_list[0] - if self.population.vertical_transmission_vector > rand: + if ( self.population.vertical_transmission_vector > rand + and len( self.pathogens.keys() ) > 0 ): self.infectVector(vector) - if self.population.inherit_protection_vector > np.random.random(): + if self.population.inherit_protection_vector > self.random.random(): vector.protection_sequences = self.protection_sequences.copy() def applyTreatment(self, resistance_seqs): @@ -322,8 +320,10 @@ def recombine(self,rand): index_other_genome,rand = self.getWeightedRandomGenome( rand,weights ) if index_genome != index_other_genome: - num_evts = np.random.poisson( self.population.num_crossover_vector ) - loci = np.random.randint( 0, self.population.num_loci, num_evts ) + num_evts = self.zeroTruncatedPoisson( + self.population.num_crossover_vector + ) if self.population.num_crossover_vector > 1 else 0 + loci = self.random.integers( 0, self.population.num_loci, num_evts ) children = [ genomes[index_genome], genomes[index_other_genome] ] @@ -336,7 +336,7 @@ def recombine(self,rand): genome.split(self.population.CHROMOSOME_SEPARATOR) for genome in children ] - parent = np.random.randint( 0, 2, len( children[0] ) ) + parent = self.random.integers( 0, 2, len( children[0] ) ) children = [ self.population.CHROMOSOME_SEPARATOR.join([ @@ -350,7 +350,9 @@ def recombine(self,rand): ] for new_genome in children: - if new_genome not in self.pathogens: + if new_genome not in self.pathogens.keys() and not any( + [ p in new_genome for p in self.protection_sequences ] + ): self.acquirePathogen(new_genome) if new_genome not in self.population.model.global_trackers['genomes_seen']: @@ -367,10 +369,58 @@ def getWeightedRandomGenome(self, rand, r): new 0-1 random number (number) """ - r_tot = np.sum( r ) - u = rand * r_tot # random uniform number between 0 and total rate - r_cum = 0 - for i,e in enumerate(r): # for every possible event, - r_cum += e # add this event's rate to cumulative rate - if u < r_cum: # if random number is under cumulative rate - return i, ( ( u - r_cum + e ) / e ) + # r_tot = np.sum( r ) + # u = rand * r_tot # random uniform number between 0 and total rate + # r_cum = 0 + # for i,e in enumerate(r): # for every possible event, + # r_cum += e # add this event's rate to cumulative rate + # if u < r_cum: # if random number is under cumulative rate + # return i, ( ( u - r_cum + e ) / e ) + + # sum_arr = np.cumsum( r ) + # rand = rand * sum_arr[-1] + # idx = int( np.abs( np.floor(rand - sum_arr)+1 ).argmin() ) + # return idx, 1+rand-sum_arr[idx] + + return self.random.choice( range( len(r) ), p=r/np.sum(r) ), rand + + def zeroTruncatedPoisson(self, rate): + """Returns random number from a zero-truncated Poisson distribution. + + Lifted from the wonderful folks at + https://en.wikipedia.org/wiki/Zero-truncated_Poisson_distribution + + Arguments: + rate -- Poisson rate parameter (number) + + Returns: + random number from a zero-truncated Poisson distribution (number) + """ + + return int( 1 + self.random.poisson(rate - 1) ) + + # u = self.random.uniform(np.exp(-rate), 1) + # t = -np.log(u) + # return 1 + self.random.poisson(rate - t) + + def zeroTruncatedNegBinomial(self): + """Random number from a zero-truncated negative binomial distribution. + + Approximates true value by adding 1 to output. Uses parameters + stored in population. + + Returns: + random number from a zero-truncated negative binomial distribution (number) + """ + + return int( 1 + np.random.negative_binomial( + n=self.population.neg_binomial_n_host, + p=self.population.neg_binomial_p_host + ) ) + + # return int( sp_stats.nbinom( + # p=self.population.neg_binomial_p_vector, + # n=self.population.neg_binomial_n_vector + # ).ppf( np.random.uniform( + # self.population.neg_binomial_lower_limit_vector, 1 + # ) ) ) diff --git a/opqua/model.py b/opqua/model.py index 22ab230..917451c 100644 --- a/opqua/model.py +++ b/opqua/model.py @@ -14,7 +14,7 @@ from opqua.internal.population import Population from opqua.internal.setup import Setup from opqua.internal.intervention import Intervention -from opqua.internal.gillespie import Gillespie +from opqua.internal.simulation import Simulation from opqua.internal.data import saveToDf, getPathogens, getProtections, \ getPathogenDistanceHistoryDf from opqua.internal.plot import populationsPlot, compartmentPlot, \ @@ -35,6 +35,7 @@ class Model(object): DEF_CMAP -- a colormap object for Seaborn plots *** --- ATTRIBUTES: --- *** + random -- Numpy Generator instance for random numbers populations -- dictionary with keys=population IDs, values=Population objects setups -- dictionary with keys=setup IDs, values=Setup objects @@ -136,6 +137,7 @@ class Model(object): def __init__(self): """Create a new Model object.""" super(Model, self).__init__() + self.random = np.random.default_rng() # random number generator self.populations = {} # dictionary with keys=population IDs, values=Population objects self.setups = {} @@ -150,7 +152,9 @@ def __init__(self): self.global_trackers = { # dictionary keeping track of some global indicators over all # the course of the simulation - 'num_events' : { id:0 for id in Gillespie.EVENT_IDS.values() }, + 'num_events' : { id:0 for id in Simulation.EVENT_IDS.values() }, + # tracks the number of each kind of event in the simulation + 'num_events_over_time' : { id:[0] for id in Simulation.EVENT_IDS.values() }, # tracks the number of each kind of event in the simulation 'last_event_time' : 0, # time point at which the last event in the simulation happened @@ -184,7 +188,7 @@ def setRandomSeed(self, seed): seed -- int for the random seed to be passed to numpy (int) """ - np.random.seed(seed) + self.random = np.random.default_rng(seed) # random number generator def newSetup( self, name, preset=None, @@ -206,6 +210,7 @@ def newSetup( contact_rate_host_host=None, transmission_efficiency_host_host=None, mean_inoculum_host=None, mean_inoculum_vector=None, + variance_inoculum_host=None, variance_inoculum_vector=None, recovery_rate_host=None, recovery_rate_vector=None, mortality_rate_host=None, mortality_rate_vector=None, recombine_in_host=None, recombine_in_vector=None, @@ -245,6 +250,7 @@ def newSetup( receiveContactHost -- function that returns coefficient modifying probability of a given host being chosen to be the infected in a contact event, based on genome sequence of pathogen + (function object, takes a String argument and returns a number 0-1) mortalityHost -- function that returns coefficient modifying death rate for a given host, based on genome sequence of pathogen (function object, takes a String argument and returns a number 0-1) @@ -318,6 +324,10 @@ def newSetup( a vector or host into a new host during a contact event (int >= 0) mean_inoculum_vector -- mean number of pathogens that are transmitted from a host to a vector during a contact event (int >= 0) + variance_inoculum_host -- variance in number of pathogens that are + transmitted from a host/vector to a host during a contact (num >=0) + variance_inoculum_vector -- variance in number of pathogens that are + transmitted from a host to a vector during a contact (num >=0) recovery_rate_host -- rate at which hosts clear all pathogens; 1/time (number >= 0) recovery_rate_vector -- rate at which vectors clear all pathogens @@ -422,9 +432,13 @@ def newSetup( 0 if transmission_efficiency_host_host is None \ else transmission_efficiency_host_host mean_inoculum_host = \ - 1e2 if mean_inoculum_host is None else mean_inoculum_host + 3 if mean_inoculum_host is None else mean_inoculum_host mean_inoculum_vector = \ 1 if mean_inoculum_vector is None else mean_inoculum_vector + variance_inoculum_host = \ + 3 if variance_inoculum_host is None else variance_inoculum_host + variance_inoculum_vector = \ + 1 if variance_inoculum_vector is None else variance_inoculum_vector recovery_rate_host = \ 1e-1 if recovery_rate_host is None else recovery_rate_host recovery_rate_vector = \ @@ -534,6 +548,10 @@ def newSetup( 1e1 if mean_inoculum_host is None else mean_inoculum_host mean_inoculum_vector = \ 0 if mean_inoculum_vector is None else mean_inoculum_vector + variance_inoculum_host = \ + 3 if variance_inoculum_host is None else variance_inoculum_host + variance_inoculum_vector = \ + 0 if variance_inoculum_vector is None else variance_inoculum_vector recovery_rate_host = \ 1e-1 if recovery_rate_host is None else recovery_rate_host recovery_rate_vector = \ @@ -589,6 +607,7 @@ def newSetup( contact_rate_host_host, transmission_efficiency_host_host, mean_inoculum_host, mean_inoculum_vector, + variance_inoculum_host, variance_inoculum_vector, recovery_rate_host, recovery_rate_vector, mortality_rate_host,mortality_rate_vector, recombine_in_host, recombine_in_vector, @@ -630,10 +649,14 @@ def addCustomConditionTracker(self, condition_id, trackerFunction): self.custom_condition_trackers['condition_id'] = trackerFunction self.global_trackers['custom_conditions']['condition_id'] = [] - def run(self,t0,tf,time_sampling=0,host_sampling=0,vector_sampling=0): + def run( + self,t0,tf,method='exact',dt_leap=None,dt_thre=None, + time_sampling=0,host_sampling=0,vector_sampling=0, + skip_uninfected=False,print_every_n_events=1000): """Simulate model for a specified time between two time points. - Simulates a time series using the Gillespie algorithm. + Simulates a time series using a variation of Gillespie tau-leaping + algorithm. Saves a dictionary containing model state history, with keys=times and values=Model objects with model snapshot at that time point under this @@ -644,6 +667,13 @@ def run(self,t0,tf,time_sampling=0,host_sampling=0,vector_sampling=0): tf -- initial time point to end simulation at (number >= 0) Keyword arguments: + method -- algorithm to be used; default is approximated solver + (can be either 'approximated' or 'exact') + dt_leap -- time leap size used to simulate bursts; if None, set to + minimum growth threshold time across all populations (number, + default None) + dt_thre -- time threshold below which bursts are used; if None, set to + dt_leap (number, default None) time_sampling -- how many events to skip before saving a snapshot of the system state (saves all by default), if <0, saves only final state (int, default 0) @@ -652,19 +682,26 @@ def run(self,t0,tf,time_sampling=0,host_sampling=0,vector_sampling=0): vector_sampling -- how many vectors to skip before saving one in a snapshot of the system state (saves all by default) (int >= 0, default 0) + skip_uninfected -- whether to save only infected hosts/vectors and + record the number of uninfected host/vectors instead (Boolean, + default False) """ - sim = Gillespie(self) + sim = Simulation(self) self.history = sim.run( - t0, tf, time_sampling, host_sampling, vector_sampling + t0, tf, method, dt_leap, dt_thre, time_sampling, host_sampling, + vector_sampling, skip_uninfected, print_every_n_events ) def runReplicates( - self,t0,tf,replicates,host_sampling=0,vector_sampling=0,n_cores=0, + self,t0,tf,replicates,method='exact',dt_leap=None, + dt_thre=None,host_sampling=0,vector_sampling=0, + skip_uninfected=False,n_cores=0, **kwargs): """Simulate replicates of a model, save only end results. - Simulates replicates of a time series using the Gillespie algorithm. + Simulates replicates of a time series using a variation of the Gillespie + tau-leaping algorithm. Saves a dictionary containing model end state state, with keys=times and values=Model objects with model snapshot. The time is the final @@ -676,11 +713,21 @@ def runReplicates( replicates -- how many replicates to simulate (int >= 1) Keyword arguments: + method -- algorithm to be used; default is approximated solver + (can be either 'approximated' or 'exact') + dt_leap -- time leap size used to simulate bursts; if None, set to + minimum growth threshold time across all populations (number, + default None) + dt_thre -- time threshold below which bursts are used; if None, set to + dt_leap (number, default None) host_sampling -- how many hosts to skip before saving one in a snapshot of the system state (saves all by default) (int >= 0, default 0) vector_sampling -- how many vectors to skip before saving one in a snapshot of the system state (saves all by default) (int >= 0, default 0) + skip_uninfected -- whether to save only infected hosts/vectors and + record the number of uninfected host/vectors instead (Boolean, + default False) n_cores -- number of cores to parallelize file export across, if 0, all cores available are used (default 0; int >= 0) **kwargs -- additional arguents for joblib multiprocessing @@ -696,10 +743,11 @@ def runReplicates( def run(sim_num): model = self.deepCopy() - sim = Gillespie(model) + sim = Simulation(model) mod = sim.run( - t0,tf,time_sampling=-1, - host_sampling=host_sampling,vector_sampling=vector_sampling + t0,tf,method=method,time_sampling=-1, + host_sampling=host_sampling,vector_sampling=vector_sampling, + skip_uninfected=skip_uninfected )[tf] mod.history = { tf:mod } return mod @@ -716,11 +764,13 @@ def runParamSweep( host_host_population_contact_sweep_dic={}, host_vector_population_contact_sweep_dic={}, vector_host_population_contact_sweep_dic={}, - replicates=1,host_sampling=0,vector_sampling=0,n_cores=0, + replicates=1,method='exact',dt_leap=None,dt_thre=None, + host_sampling=0,vector_sampling=0,skip_uninfected=False,n_cores=0, **kwargs): """Simulate a parameter sweep with a model, save only end results. - Simulates variations of a time series using the Gillespie algorithm. + Simulates variations of a time series using a variation of the Gillespie + tau-leaping algorithm. Saves a dictionary containing model end state state, with keys=times and values=Model objects with model snapshot. The time is the final @@ -759,11 +809,21 @@ def runParamSweep( keys=population IDs of origin and destination, separated by a colon ';' (Strings), values=list of values (list of numbers) replicates -- how many replicates to simulate (int >= 1) + method -- algorithm to be used; default is approximated solver + (can be either 'approximated' or 'exact') + dt_leap -- time leap size used to simulate bursts; if None, set to + minimum growth threshold time across all populations (number, + default None) + dt_thre -- time threshold below which bursts are used; if None, set to + dt_leap (number, default None) host_sampling -- how many hosts to skip before saving one in a snapshot of the system state (saves all by default) (int >= 0, default 0) vector_sampling -- how many vectors to skip before saving one in a snapshot of the system state (saves all by default) (int >= 0, default 0) + skip_uninfected -- whether to save only infected hosts/vectors and + record the number of uninfected host/vectors instead (Boolean, + default False) n_cores -- number of cores to parallelize file export across, if 0, all cores available are used (default 0; int >= 0) **kwargs -- additional arguents for joblib multiprocessing @@ -919,10 +979,11 @@ def run(param_values): for name,pop in model.populations.items(): pop.setSetup( model.setups[pop.setup.id] ) - sim = Gillespie(model) + sim = Simulation(model) mod = sim.run( - t0,tf,time_sampling=-1, - host_sampling=host_sampling,vector_sampling=vector_sampling + t0,tf,time_sampling=-1,method=method, + host_sampling=host_sampling,vector_sampling=vector_sampling, + skip_uninfected=skip_uninfected )[tf] mod.history = { tf:mod } return mod @@ -935,7 +996,7 @@ def run(param_values): ) ) - def copyState(self,host_sampling=0,vector_sampling=0): + def copyState(self,host_sampling=0,vector_sampling=0,skip_uninfected=False): """Returns a slimmed-down representation of the current model state. Keyword arguments: @@ -944,6 +1005,9 @@ def copyState(self,host_sampling=0,vector_sampling=0): vector_sampling -- how many vectors to skip before saving one in a snapshot of the system state (saves all by default) (int >= 0, default 0) + skip_uninfected -- whether to save only infected hosts/vectors and + record the number of uninfected host/vectors instead (Boolean, + default False) Returns: Model object with current population host and vector lists. @@ -952,7 +1016,7 @@ def copyState(self,host_sampling=0,vector_sampling=0): copy = Model() copy.populations = { - id: p.copyState(host_sampling,vector_sampling) + id: p.copyState(host_sampling,vector_sampling,skip_uninfected) for id,p in self.populations.items() } @@ -1926,15 +1990,25 @@ def wipeProtectionVectors(self, pop_id, group_id=""): ### Modify population parameters: ### - def setSetup(self, pop_id, setup_id): + def setSetup( + self, pop_id, setup_id, + update_coefficients_hosts=True, update_coefficients_vectors=True): """Assign parameters stored in Setup object to this population. Arguments: pop_id -- ID of population to be modified (String) setup_id -- ID of setup to be assigned (String) + update_coefficients_hosts -- whether to recalculate all host + coefficients (Boolean) + update_coefficients_vectors -- whether to recalculate all vector + coefficients (Boolean) """ - self.populations[pop_id].setSetup( self.setups[setup_id] ) + self.populations[pop_id].setSetup( + self.setups[setup_id], + update_coefficients_hosts=update_coefficients_hosts, + update_coefficients_vectors=update_coefficients_vectors + ) ### Utility: ### @@ -1977,6 +2051,30 @@ def peakLandscape(genome, peak_genome, min_value): return value + @staticmethod + def roundPeakLandscape(genome, peak_genome, max_value, floor=1e-6): + """Return genome phenotype by decreasing with distance from optimal seq. + + A purifying selection fitness function based on exponential decay of + fitness as genomes move away from the optimal sequence. Distance is + measured as percent Hamming distance from an optimal genome sequence. + + Arguments: + genome -- the genome to be evaluated (String) + peak_genome -- the genome sequence to measure distance against, has + value of 1 (String) + min_value -- minimum value at maximum distance from optimal + genome (number 0-1) + + Return: + value of genome (number) + """ + + distance = td.hamming(genome, peak_genome) / len(genome) + value = max( 1 - np.exp( np.log( 1-max_value ) * ( 1-distance ) ),floor) + + return value + @staticmethod def valleyLandscape(genome, valley_genome, min_value): """Return genome phenotype by increasing with distance from worst seq. diff --git a/requirements.txt b/requirements.txt index 5992f7d..5b5a682 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,14 +1,18 @@ -cycler==0.10.0 -joblib==1.2.0 -kiwisolver==1.3.2 -matplotlib==3.4.3 -numpy==1.22.0 -pandas==1.3.3 -Pillow==9.0.1 -pyparsing==2.4.7 +contourpy==1.2.0 +cycler==0.12.1 +fonttools==4.47.2 +joblib==1.3.2 +kiwisolver==1.4.5 +matplotlib==3.8.2 +numpy==1.26.3 +packaging==23.2 +pandas==2.1.4 +pillow==10.2.0 +pyparsing==3.1.1 python-dateutil==2.8.2 -pytz==2021.3 -scipy==1.7.1 -seaborn==0.11.2 +pytz==2023.3.post1 +scipy==1.11.4 +seaborn==0.13.1 six==1.16.0 -textdistance==4.2.1 +textdistance==4.6.1 +tzdata==2023.4 diff --git a/setup.py b/setup.py index 725ab99..7b5c67f 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ setup( name='opqua', - version='v1.0.2', + version='v1.1.0', description='An epidemiological modeling framework for population ' \ + 'genetics and evolution.', long_description='Opqua is an epidemiological modeling framework for ' \ @@ -21,7 +21,7 @@ + 'evolution and epidemiology. \n\n Visit ' \ + 'github.com/pablocarderam/opqua for more information.', url='https://github.com/pablocarderam/opqua', - download_url='https://github.com/pablocarderam/opqua/archive/v1.0.2.tar.gz', + download_url='https://github.com/pablocarderam/opqua/archive/v1.1.0.tar.gz', author='Pablo Cardenas', author_email='pablocarderam@gmail.com', keywords=['epidemiology','evolution','biology'],