epi-sim-0.2.2.0: ChangeLog.md
# Changelog for epi-sim
## 0.2.2.0
- Clean up for a release candidate.
## 0.2.1.0
- Update the stack resolver to `lts-16.17` and add bounds on the package
versions to use.
- Remove dependency upon `epi-types` by moving its modules into this package and
include the tests from that package.
- Remove unsed `Setup.hs` file.
## 0.2.0.1
- Improve documentation in `Epidemic.BDSCOD`.
- Upgrade to `epi-types-0.2.1.2` for the bug fix.
## 0.2.0.0
- Predicates such as `isSampling` and `isOccurrence` have been replaced with
clearer named alternatives: `isNonReconTreeObservation` and `isReconTreeLeaf`
to avoid uncertainty about whether scheduled events are included.
- Upgrade to `epi-types-0.2.1.0` which adds substantial amounts of Newick
functionality meaning this can be removed.
## 0.1.9.0
- Upgrade to `epi-types-0.2.0.0` which makes a lot of functions redundant so
they have been removed.
## 0.1.8.8
- Upgrade to `epi-types-0.1.1.1` and remove `joinTimed` since it is no longer
needed.
## 0.1.8.7
- Upgrade to `epi-types-0.1.1.0` and start using the `Timed *` class.
## 0.1.8.6
- Use `-j2` to slightly improve compilation time.
- Include a `observedEvents` function which was missing from the
`InhomogeneousBDS` module.
## 0.1.8.5
- Start using cabal directly without hpack.
- Move time dependent parameters into a `epi-sim` package so they are easier to
share, and import them here.
## 0.1.8.4
- Improve documentation of construction of `inhomBDSRates` and include a test to
check this conforms to expectations.
- Implement a birth-death-sampling model with time-dependent birth rates and
include an example of what this returns in the README.
## 0.1.8.3
- Improve error handling in `birth-death-lines.R`.
- Refactor some of the plotting code in `birth-death-lines.R` to make it easier
to maintain.
- Use the `future` and `furrr` packages in R to generate the visualisation of a
simulation in parallel since the serial version is frustratingly slow. Both
packages are on CRAN so it does not seem unreasonable.
## 0.1.8.2
- Include an additional parameter in the `simulation` and
`simulationWithSystemRandom` to determine whether the simulation should be
conditioned on having at least two sampled leaves in the reconstructed tree.
It does this by repeatedly simulating until such a tree is acheved.
## 0.1.8.1
- Implement an example of the inhomogeneous birth-death process and include it
in the `README`.
- Fix broken example using the BDSCOD model and organise examples in `examples/`
rather than just the single one in `app/`.
## 0.1.8.0
- Define an inhomogeneous birth-death process in `InhomogeneousBD`.
- Define an inhomogeneous exponential random sampler using `Timed Rate`s.
- Extend the `ModelParameters` class to have a `birthProb` function.
- Include a `Timed` type for time varying values.
- Include a test that the final size of a birth-death simulation is
approximately correct.
- Format the changelog to make it easier to read outside of a browser.
- Fix naming convention and exports in the `BirthDeath`, `BirthDeathSampling`
and `BirthDeathSamplingOccurrence`modules to conform to the pattern used in
the `BDSCOD` module and move `simulation` into the `Utility` module since it
is common between all models
- Adjust the type of the `ModelParameters` interface to include potential time
dependence.
## 0.1.7.2
- Make `Event` an instance of `FromRecord` to match with `ToRecord`.
## 0.1.7.1
- Provide `vis/birth-death-lines.R` which visualises a simulation.
## 0.1.7.0
- Provide `vis/ott.R` to visualise observations through time and make
`vis/ltt.R` ignore disasters.
- Replace some Catastrophe specific functions with equivalents for handling
scheduled events more generally
+ `noCatastrophe` becomes `noScheduledEvent`
+ `firstCatastrophe` becomes `firstScheduled`
- Change the naming of the BDSCO model to be consistent with the new BDSCOD
model.
- Implement a birth-death-sampling-catastrophe-occurrence-disaster model in
`Epidemic.BDSCOD`.
## 0.1.6.2
- Update the visualisation code in `vis/ltt.R` such that it parses the
catastrophe events to draw the LTT.
- BUG FIX: In the observed events catastrophes are replicated when they should
not be.
## 0.1.6.1
- Include a visualisation script for the LTT of reconstructed trees: `vis/ltt.R`
which is described in the README.
## 0.1.6.0
- Move the `ToField` declarations into the `Epidemic` module to avoid orphaned
instance and select a representation for multiple people in the CSV output.
- Implement a birth-death-sampling-catastrophe-occurrence model in
`Epidemic.BirthDeathSamplingCatastropheOccurrence`; it's a shame about the
length of the name.
- Include a contructor for catastrophe events in which multiple people can be
sampled simultaneously.
## 0.1.5.1
- Include a `.gitignore`.
- Improved documentation with `haddock`.
## 0.1.5.0
- Include some testing with `hspec`.
- The `Epidemic.BirthDeathSamplingOccurrence` module now has a function to
extract the observable events.
- Change the simulation functions to return events in the order they occurred.
- Change the configuration functions to take tuples of model parameters.
## 0.1.4.0
- Make `Event` an instance of the `Ord` typeclass.
- Implement types and conversion functions for a `TransmissionTree` and a
`SampleTree`.
- Implement a parser and printer for Newick in `Epidemic.Utility`.
## 0.1.3.0
- Implement a birth-death-sampling-occurrence model in
`Epidemic.BirthDeathSamplingOccurrence`.
- Implement a visualisation of the birth-death-sampling LTT in
`vis/birthDeathSamplingVisualisation.R`.
- Implement a birth-death-sampling model in `Epidemic.BirthDeathSampling`.
## 0.1.2.0
- Implement a visualisation of the infection network in
`vis/infection-tree.vg.json`.
- Implement `Epidemic.Utility.eventsAsJsonTree`.
- Move the `Epidemic.Simulation` module to `Epidemic.Utility`.
## 0.1.1.0
- Write the output to CSV using `cassava`
## 0.1.0.0
- Basic prototype to simulate a constant rate birth-death process.