The semantic versioning is kind of random.
- 10x speed up by removing the call to
the_only_one_subclone_present
from the fixed-population phase.
- When switching from exp. to Moran, do not try to add background mutations to cell if they have their last division time greater than
TIME_AT_BIRTH
. This is a problem whentau-exp
is not correctly set.
- The previous version didn't match the number of expanded clones from the SDE mode. So, we remove factor 2 and restore solution from
v4.3.4
, even though we initiate fit variants at size 2 instead of 1 (but has small prob. of p squared).
- reintroduce the factor 2 for the fit variants to avoid "initiating fit variants at size 2, instead of 1"
- first sample fit variant (clone) for the parental cell, then assigned both cells to that sampled clone, this justifies removing the factor 2
- create a new type for the probabilities
- saving timepoints when the simulations run for only 1 year
- remove the factor 2 for the fit variants introduced by
v4.2.0
(not clear why we shouldn't divide by 2)
- Do not multiply by tau when converting the rate per year into rate per division
- relax the assumption on the interdivision time: an intervidision time can be 0
- decouple the arrival of fit mutants from the division by implementing an interdivision time
- fix the number of cells used to convert the arrival rate of fit mutatants per year to per division (was off by 1)
is_asymmetric
was actually symmetric
- Add two mus: one for the exp. phase and the other for the Moran phase.
- Add missing factor 2 for the fit variants
- Fix the neutral background mutations
- Split the exp. growing phase into two: 1. in phase
t_N
we have the growth phase, andTheta*t_N
mutations from the bg 2. in phaset_birth - t_N
cells stop dividing, and we only have(t_birth-t_N)*Theta
mutations from the bg. - update dependencies: rayon, uuid and others
- introduce asymmetric divisions and refactor the neutral mutations
- Add new clap app cmds and organisation
- tune verbosity
- Fix exponential phase background lambda
- specfify the neutral background mutation rate for the exponential phase
- When cloning a cell upon division, do not set
last_division_t
of the daughter cell to 0
- Fix bug with times and background mutations
- When cloning a cell upon division, set
last_division_t
of the daughter cell to 0 - Fix when restarting, set timer to 0 and set all
last_division_t
to 0
- Fix bug for background mutations, when the interdivision time is small (<0.01) returns
None
- forgot to commit new module
src/proliferation.rs
- implement the background mutations for the exponential growing phase, by default it's on now.
- remove all the remaining symmetric stuff
- update all the background mutations while saving (even without taking a snapshot)
- increase the range of sigma up to 1
- in the first exponential phase, start with one cell with one neutral mutation
- increase fitness range up to 4
- when subsampling save the whole population as well with new flag
--save-population
- fix some default parameters in cli
- increase range std to 0.5
- increase the max number of subclones from 1000 to 1200
- increase range fitness and std up to 2 and 0.2
- increase the max number of subclones from 800 to 1000
- increase the max number of subclones from 750 to 800
- decrease the min possible range for
std
to 0.001
- decrease the max number of subclones from 1000 to 750 such that jobs with smaller tau can hopefully finish in 1h.
-
increase the max number of subclones from 400 to 1000.
-
increase the max number of subclones from 400 to 1000.
- update dep with dependabot
- update dep with dependabot
- remove all the asymmetric stuff
- remove factor 2 in the neutral mutation rate
- fix subsampling after the exponential phase and also better subsampling when we subsample with different number of cells but at the same time. Note that subsampling after the exponential phase occurs after one extra division from the Moran phase.
- fix skipping the first timepoint to subsample
- allow subsampling at specific timepoints with different number of cells.
- at the end of the simulation, update the background mutations for all cells.
- increase the number of clones from 200 to 400
- change the behaviour of leaving empty arguments: empty parameters were sampled from intervals before (for ABC), but now instead they are constant and not sampled from any interval.
- remove parameter
r
and replace it by--tau
, being1/r
- fix the rate for the mutational burden for
r
different than one
- rename the proliferation rate of the wild type from
mu0
tor
. - generate random
r
when not provided between range of 0.1 and 5.
- change random ranges of parameters mean: [0.01, 0.4], std: [0.005, 0.1] and mu: [0.1, 20].
- increase the number of clones to 200
- ensure the mean and the std are not too high (< 1 and smaller than 0.1 respectively)
- increase the max number of iterations
- fix bug in the variant fraction
- increase the number of clones to 160
- decrease the range of mu
- fix saving the variants with subsampling (issue #58)
- save timepoints using the
time
from the process instead of the lenght of the timepoints
clap_app
argumentsnb_snapshots
andsnapshots
clippy
- Increase the number of clones to 130
- fix filename for the std
- Generate random parameters for
u
,mean
andstd
if not provided.
- Save files using the filename with the rate of fit mutants per cell division (divide by two since we are in symmetric case), mean and std of the fitness distribution.
- Remove the clever implementation and just simulate every cell and every mutations (with uuid).
- simulations start at year 0 and end at year
year
notyear+1
-fix the two mutational rates: the two parameters of the Moran and Exponential growing phases were mixed up
- the first timepoint is saved at year 0 not at year 1
- clap app has two neutral rates, one for the Moran process and the other optional one for the exponential growing phase
- the neutral rate for the exponential growth was used also for the Moran process
- reduce the neutral mutation rate during the growing phase by setting it to
neutral_rate / 4
- neutral scenario in clap app
- initial exponential growing phase
- sample the fitness coefficients from the gamma distribution
- simulations start at year zero and end at year
cli.years + 1
- the first timepoint is saved at year 1 not at year 0
- rename clap app arg
cells2subsample
tosubsample
and allow for more than one entry for this arg - move stats folder to the timepoint
- save the birth-rates of the subclones
- remove dbg print
- subsamples and change the dir for output
- SFS entropy by considering all cells at the timepoint of interest but counting only the variants that were present at a certain time in the past
- Replace the SFS for the proliferation events with the one with the variants
- Fix the single-cell mutational burden for the last timepoint by computing it
from_cells
and notfrom_stats
- Add the SFS for the proliferative events (not the variants).
- The SFS is actually the single cell mutational burden, so rename and refactor everything accordingly
- Fix the computation of the SFS
- do not raise an error when the genotype for the run cannot be found
- type changes:
nb_variants
is nowu64
and notu8
; neutral mutations upon cell division are nowu16
notu8
- save
StatisticsMutations
into json
- fix the mutation rates by not dividing by 2 in the symmetric case. With v0.11.0 the proliferation scheme has changed, now in the symmetric case only one cell divides
- fix the neutral mutation rate by not dividing by the number of cells
- remove the neutral sfs
- fix the neutral rate
- fix the computation of the SFS for timepoints
- fix the acquisition of neutral mutations: we first cloned the proliferating cell and then mutated both cells. Now we just mutate one of the two cells, not both of them.
Start simulations at year 0 instead of 1.
- correct the Poisson rate for the neutral mutations.
Increase the number of clones from 40 to 60.
- now upon occurence of a fit mutation, assign cells to empty clones only (without overwriting older clones).
- Option
snapshots
to specify how many linespaced timepoints to save.
sosa
version: 3.0.1
- Now save all timepoints
- When saving the timepoints, save also the sfs and the sfs neutral
- Benchmark sfs computation
- Swap the default hasher for sets and maps from the
std
with craterustc-hash
Cell can have no neutral mutations upon cell-division: remove that nonzeroU.
Remove dependency uuid
and thiserror
, and change backend of the sfs computation.
Forgot to commit new files...
Rename files and fix bug in the SFS, still not sure whether it's correct or not.
- Simplify and disantangle the addition of neutral mutations and the positive selection clonal assignment.
- More doc
- New struct
NeutralMutationPoisson
Fix bug in the neutral sfs (Fix #19).
Snapshots taken based on the time (not iterations). Many bugs fixed.
Tweek cli arguments.
Cli with clap
.
Upload code.