isotracer 1.1.8 (2025-03-07)
Minor fix
- Remove an unexpected dependency on the lubridatepackage when loading the isotracer datasetaquarium_run.
isotracer 1.1.7 (2024-11-05)
Minor fix
- Relax some thresholds used when performing numerical comparisons in
the test suite to avoid spurious test failures.
isotracer 1.1.6 (2024-05-14)
Bug fixes
- Fix bug with how split compartments were handled when calculating
steady state sizes. The issue was in the (internal) function
calculate_steady_state_one_row()and affected the
(exported) functionstidy_steady_states(),tidy_flows(), andcalculate_steady_state().
- Fix bug in tidy_flows()which was present when usingsteady_state = TRUEand pulses were present in the network
model. Now runningtidy_flows(..., steady_state = TRUE)automatically ignores any pulse that might be present in the network
model.
Improvements
- Add function prop2delta().
- Check arguments to delta2prop()more thoroughly and
provide helpful error messages.
- Remove dependency on the tidyverse package in the “Suggests” field
of DESCRIPTION.
- Add tests for tidy_steady_states()andtidy_flows().
isotracer 1.1.5 (2023-09-21)
Ensure
package compatibility with future versions of rstan
- The array syntax used until now in the Stan models shipped with
isotracer has been deprecated with the release of rstan 2.26 on CRAN.
The Stan code included in isotracer now uses the new array syntax for
compatibility with future versions of rstan, thanks to a merge request
from Andrew Johnson.
isotracer 1.1.4 (2023-03-20)
Improved
package compatibility with future versions of rstan
- The package installation/configuration is now delegated to
rstantools, thanks to a merge request from Andrew Johnson. This should
make the package compatible with future versions of rstan.
Bug fixes
In the code:
- Fix bug in sample_from()(whenerror.drawswas > 1, a mistake in the way sampled sizes and proportions were
joined together resulted in too many rows in the returned table).
- Fix bug in stanfit_to_named_mcmclist()which was
causing problems when running MCMC sampling with thinning.
- Fix bug in quick_sankey().
- Fix minor bug in the handling of colors by
traceplot().
In the documentation:
- Fix the vignette “How to simulate experiments” (priors for two
models were missing, which prevented the vignette code from
running).
isotracer 1.1.3 (2022-03-25)
Minor change for
resubmission to CRAN
- We were warned that one of the isotracer calls to a tidygraph
function was triggering a fatal error when checking the isotracer
package with the environmental variable
“R_CHECK_LENGTH_1_LOGIC2” set to “abort,verbose”. We modified
one of isotracer’s functions to avoid using the tidygraph code path that
was triggering this error.
(This error message was related to the NEWS for R-devel: “Calling
&& or || with either argument of length greater than one now
gives a warning (which it is intended will become an error)”.)
isotracer 1.1.2 (2022-02-16)
Minor changes for
resubmission to CRAN
- Add a random seed before some stochastic tests to ensure that the
tests do not fail randomly from time to time.
- Drop dependency on rstantools for package users.
isotracer 1.1.0 (2021-12-19)
Major changes
- Implement a Stan model using matrix exponentials instead of the
forward Euler method to solve the ODEs involved in a network model.
- Add a methodargument torun_mcmc()to
choose betweenmatrix_exp(the default) andeulersolvers.
- Drop the use of default priors (users must now explicitly set the
priors). The documentation was also updated to provide more guidance
about prior choice.
- Implement exponential and gamma priors.
- Change all names for prior functions from *()to*_p()to avoid collision with other R functions.
- Change the default output of params()to a tibble, for
consistency withpriors().
Other improvements
- Add a euler_controlargument torun_mcmc()to be able to tune the fixed time step parameter of the Euler
solver.
- Add a function stanfit_to_named_mcmclist()for easier
manipulation of the output ofrun_mcmc()when a stanfit
object is returned withstanfit = TRUE.
- Add set_priors()as a synonym forset_prior().
- set_priors()now also accepts a tibble an as input to
make copying priors across models easier.
- Add an available_priors()function to list all the
priors implemented in the package.
- Improve prop_family()and addsize_family()(to easily check the meaning ofetaandzetaparameters).
- Add a lalajadataset to the package so that the
Trinidadian case study based on Collins et al. (2016) can be reproduced
more easily.
Bug fixes
- Fix a bug occurring when non-default dtorgrid_sizearguments were used for the Euler method.
isotracer 1.0.4 (2021-09-24)
Modifications for
resubmission to CRAN
- Make re-export of functions from other packages cleaner.
- Improve documentation by adding some missing \valuetags and removing examples using:::.
isotracer 1.0.3 (2021-09-14)
Modifications for
resubmission to CRAN
- Fix issues about examples in the documentation (commented lines,
dontrun{}vsdonttest{}, examples for
unexported functions).
- Add @returnroxygen tags for all exported
functions.
- Plotting functions don’t manipulate .Random.seeddirectly anymore.
Change
in the handling of multiple cores for parallel runs
- The number of cores to use for parallel computation can now be set
globally for the package by calling
e.g. options(mc.cores = 4).
- The code checking the number of cores to use also checks for the
_R_CHECK_LIMIT_CORES_environmental variable to limit the
number of cores to 2 when running on CRAN servers.
isotracer 1.0.2 (2021-08-25)
Modifications for
resubmission to CRAN
- Fix issue about invalid file URIs in documentation.
- Reduce the size of the package tarball to 5 MB by:
- making some plots in the vignettes smaller
- ignoring rds files from vignettes/when building the
tarball
- not including the case studies based on McRoy (1970) and Li (2017)
datasets in the CRAN package (but those case studies are still available
on the pkgdown website).
 
Change in the
vignettes building approach
- Vignettes are now pre-compiled locally into dummy Rmdfiles to avoid issues with long run times and with the usage of multiple
cores when performing R CMD checks.
isotracer 1.0.1 (2021-08-15)
First version submitted to CRAN.
Improvements
- Improve documentation of trini_moddataset.
- Remove internal functions from documentation index.
isotracer 1.0.0 (2021-08-15)
Improvements
- Fix export of selectgeneric so that it can be used
without having to loaddplyrfirst.
- Various minor fixes to address issues raised by R CMD check.
Documentation
- Update Reference section.
- Remove vignettes containing development notes.
- Add citation information.
isotracer 0.7.6 (2021-08-01)
Improvements
- Add a subset method for networkModelStanfitobjects.
- Minor changes in prep-data/scripts.
Documentation
- Polish case studies vignettes and fix some typos.
- Create an hex sticker.
isotracer 0.7.5 (2020-10-21)
New features
- Add functions to draw Sankey plots.
- Add a ggtopo()function to plot topologies.
- Add a ggflows()function to visualize flows.
- Implement radioactive tracers.
- Implement more distributions to model observed proportions of marked
material (gamma, normal parameterized by cv, normal parameterized by sd
and beta).
- Implement compartment-specific values for zeta(the
parameter for variation in predicted compartment sizes).
Improvements
- Add a c()method formcmc.listobjects.
- Simplify the interface to define topologies.
- Speed up tidy_trajectories(),tidy_flows()andpredict.networkModel().
- Improve handling of constant parameters.
Documentation
- Complete vignettes for the three selected case studies (nitrogen in
Trinidadian streams from Collins 2016, phosphate uptake by eelgrass from
McRoy 1970 and protein turnover in Arabidopsis from Li
2017).
- Polish all vignettes.
Fixes/other changes
- Various bug fixes.
- Remove all uses of furrr::future_map().
isotracer 0.7.4 (2020-05-21)
Improvements
- Include a simple aquarium model as a package dataset.
- Add functions tidy_data(),tidy_posterior_predict()andtidy_dpp()for
easier posterior predictions.
- Improve colors in mcmc_heatmap().
Documentation
- All vignettes are now complete.
- New vignettes include “Units and priors”, “MCMC output format”,
“Posterior predictive checks”, “Calculating derived parameters”, “How to
simulate experiments”, “Parameter identifiability”.
Fixes
- Fix issue so that filter()methods for isotracer S3
classes are correctly exported and do not depend ondplyrbeing attached first.
- Fix R CMD check issues so that check now passes on Linux, Windows
and Mac (as tested with the rhub package).
- Use seeds for random number generation (including for Stan runs) to
make vignette cached runs reproducible.
isotracer 0.7.3 (2020-05-13)
Features
- Improve plotting function (plot single trajectories and Greek
letters in labels).
Others
- Add (quite strict) version requirements for dependencies.
- Fix bug in set_topo()related to dependencies
update.
- Improve test coverage.
- Use caching for long calculations in vignettes.
isotracer 0.7.2 (2020-03-13)
Interface changes
- Implement split compartments in the new interface.
- Add new prior: constant parameter (i.e. fixed parameter value).
- Add a select()method formcmc.listobjects.
- Improve plotting for predicted trajectories.
- Improve printing of topology.
- Polish the function names in the user interface.
Documentation
- All tutorials have been updated to work with the latest
interface.
- Vignette for Trinidad case study almost complete.
Source improvements
- Major clean-up of the source files (remove old code, export only
user-facing functions).
- Clean-up tests/folder and re-write tests from
scratch.
- Address most issues reported by R CMD check.
isotracer 0.7.1 (2019-12-12)
Major changes
- The interface was entirely redesigned from scratch for better
usability.
- This was done in parallel with a lot of code clean-up, with the aim
of having simpler and more easily extensible code that would carry less
constraints from its history of being originally developed for the
Trinidadian streams case study.
- The code is moving away from using R6 classes, which makes things
simpler from a developer perspective (no need for careful deep-cloning
to avoid unwanted references pointing to the same object in
memory).
- The tutorials describing the basic use of the package have been
updated.
Missing features
- Some features from the old implementation are still missing, such as
split compartments.
- Some tutorials still need to be updated to work with the new
interface.
- Tests and coverage have not been updated at all to work with the new
interface.
isotracer 0.6.2 (2019-09-06)
Major improvements
- Implement the network model in Stan. Model fitting is faster and
more efficient compared to the home-made MCMC sampler we used
before.
- Implement adaptive dt selection (time step size) in the numerical
solver used to project trajectories in the Stan model.
- Allow the user to specify customized parameter priors. Currently
available priors are Uniform, half-Cauchy and (scaled) Beta.
Minor improvements
- Add an option to use histograms instead of kernel density estimates
when plotting MCMC traces.
- Improve the color palette and variable labels in
mcmc_heatmap().
- Add a derived.mcmc.listclass to objects returned by
Math generics for MCMC output (to automatically useisotracerplot method for derived parameters).
- Remove some unnecessary dependencies from DESCRIPTION.
- Reduce the output verbosity of the Makefile rules.
- Improve handling of time steps during numerical projection of the
trajectories to make it more robust.
Documentation and
installation
- Update the vignettes to work with the Stan implementation.
- Improve vignettes aesthetics.
- Fix installation issues when using
devtools::install_gitlab().
- Fix the documentation for cloning the repository locally.
- (Fix/improve Rcpp code export for use with home-made sampler, but
then made irrelevant by using Stan.)
For developers
- Also implement trajectories calculation using matrix exponential (in
the Stan model), but inefficient.
- Also implement trajectories calculation using built-in ODE solver
(in the Stan model), but inefficient.
Things to improve/fix for
next version
- To fix: plotting the Sankey plot for estimated fluxes does not work
yet with the new Stan implementation.
- To fix: R CMD Check was deactivated on the Gitlab repository to make
the CI pipeline faster.
- To fix: profiling the model fitting does not make sense any more now
that we are using Stan. Is there any other critical code to profile, or
can we abandon profiling when running the CI pipeline?
isotracer 0.6.1 (2019-02-25)
Interface
- Add a tidyOutput()function to the core interface.
Documentation
- Simplify installation instructions.
- Prune old vignettes.
- Add a profiling output (for developers).
- Use Runner serialization for caching of intermediate results during
vignette building.
Implementation
- Remove source code for previous implementation.
- Prune corresponding tests.
- Add serialization to Runner class to be able to save a Runner’s
parameter state and sampler state in a small file and restore them in
another session.
isotracer 0.6.0 (2019-02-22)
New user interface
- Major change to the user interface to design a network model.
- Implements different types of inputs (drip, pulse, flow)
(run()method only working for flow input for now).
- Implement run()method in pure R first for use as a
reference when optimizing speed with C++.
- Implement half-life for tracers which can decay with time
(radioactive isotopes).
- Implement split compartments.
Tidifying the package
- Tidify datasets shipped with the package by adding functions
datasetTopo(),datasetAddition()anddatasetObs().
- Tidify the way the experimental units (replicates) are stored in a
network model.
- Add a tidyChain()function to get the MCMC run of a
network model in a tidy format, including columns with parameter values
and network trajectories.
- Similarly, add a tidyFluxes()function to get
run-averaged fluxes and compartment sizes for each iteration.
Visualization
- Add $renderMovie()method toSingleNetworkobject to make an animation of tracer enrichment in a network.
- Improve plot.topology()method output.
- Create functions plotEstimatedProp(),plotEstimatedSize()andplotSankey()compatible with the new implementation.
Documentation
- Update some tutorial vignettes to take into account the new
interface (Quick start, Modelling a small foodweb, new vignette Post-run
diagnostics and analyses, Handling replication, Model Selection and
Derived Parameters).
- Remove tutorial about simulating datasets.
Miscellaneous
- Improve test coverage.
- Make installation easier for new users by tracking package .rda
files.
isotracer 0.5.0 (2018-11-26)
No major changes to the package, but a lot of small fixes, minor
improvements and documentation additions.
Documentation:
choosing candidate datasets for case studies
- Select candidate datasets to be used for case studies.
- Prepare the dataset modified from McRoy & Barsdate 1970
(eelgrass).
Preparing CRAN
submission: R CMD check
- Fix/polish a lot of small things to avoid errors/warnings/notes from
R CMD check.
Other changes
- Add a formal R6 class Proposalto be used as a parent
for all proposal classes.
- Implement colored text-mode plots, inspired by the
txtplotpackage and using thecrayonpackage
for colored output in the terminal.
isotracer 0.4.0 (2018-09-11)
License change
- Change license from MIT to GPL-3
User interface and
documentation
- Improve the user interface to the core MCMC engine to better
separate interface and implementation (the user does not have to access
any R6 method or attribute directly).
- Create a new vignette to present the user interface to the core MCMC
engine.
Other changes
- Refactor slightly the Runner class for cleaner presentation of
methods.
- Improve test coverage (by adding test cases and dropping some unused
code).
isotracer 0.3.0 (2018-09-04)
- The package, formerly known as mcmcssm, is renamedisotracer.
- An older, separate package containing the first implementation of
the method was already called isotracer(this older package
was not submitted to CRAN though - it was living on the maintainer
computer and on GitLab). To distinguish between them, this other package
has been renamedisotracerPrototype. This older package
never reached above version 0.0.2 under theisotracername,
so there is no possible confusion between the two packages when version
number is taken into account.
mcmcssm 0.2.0 (2018-09-03)
- Basic encapsulation is now available to use the core MCMC
engine.
- Speed was improved for FoodwebModelMCMC run, in
particular for models with split compartments.
mcmcssm 0.1.0 (2018-08-22)
- This is the first version tagged in the repository.