ssdtools v2

ssdtools v2: An R package to fit Species Sensitivity Distributions - Published in JOSS (2025)

https://github.com/bcgov/ssdtools

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    1 of 17 committers (5.9%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

ecotoxicology env rstats species-sensitivity-distribution

Keywords from Contributors

ssd water-quality-guideline assertion checkr

Scientific Fields

Earth and Environmental Sciences Physical Sciences - 40% confidence
Last synced: 4 months ago · JSON representation ·

Repository

An R package to fit and plot Species Sensitivity Distributions (SSDs)

Basic Info
Statistics
  • Stars: 33
  • Watchers: 9
  • Forks: 18
  • Open Issues: 25
  • Releases: 12
Topics
ecotoxicology env rstats species-sensitivity-distribution
Created about 8 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codeowners Support

README.Rmd

---
output: github_document
---



```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
```

# ssdtools ssdtools logo of cumulative species sensitivity distribution with outlines of commonly used species as data


[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html#stable)
[![R-CMD-check](https://github.com/bcgov/ssdtools/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/bcgov/ssdtools/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/bcgov/ssdtools/graph/badge.svg)](https://app.codecov.io/gh/bcgov/ssdtools)
[![CRAN status](https://www.r-pkg.org/badges/version/ssdtools)](https://cran.r-project.org/package=ssdtools)
[![DOI](https://joss.theoj.org/papers/10.21105/joss.07492/status.svg)](https://doi.org/10.21105/joss.07492)


`ssdtools` is an R package to fit and plot Species Sensitivity Distributions (SSD). 

SSDs are cumulative probability distributions which are fitted to toxicity concentrations for different species as described by Posthuma et al. (2001).
The ssdtools package uses Maximum Likelihood to fit distributions such as the log-normal, log-logistic, log-Gumbel (also known as the inverse Weibull), gamma, Weibull and log-normal log-normal mixture.
Multiple distributions can be averaged using Akaike Information Criteria.
Confidence intervals on hazard concentrations and proportions are produced by bootstrapping.

`ssdtools` can handle censored data with two limitations.
It is currently only possible to model average when the distributions have the same number of parameters and confidence intervals can only be estimated using non-parametric (as opposed to parametric) bootstrapping.

## Introduction

The dependency [`ssddata`](https://github.com/open-AIMS/ssddata) provides example data sets for several chemicals including Boron.
The [ECOTOX](https://cfpub.epa.gov/ecotox/) Knowledgebase is another source of toxicity concentrations for over 12,000 chemicals.

```{r, message=FALSE}
library(ssdtools)
ssddata::ccme_boron
```

The six default distributions are fit using `ssd_fit_dists()`

```{r}
fits <- ssd_fit_dists(ssddata::ccme_boron)
```

and can be quickly plotted using `autoplot`

```{r, warning = FALSE, message = FALSE, fig.alt="A plot of the data and fitted distributions"}
autoplot(fits)
```

The goodness of fit can be assessed using `ssd_gof`

```{r}
ssd_gof(fits)
```

and the model-averaged 5% hazard concentration estimated (with bootstrapping to get confidence intervals) using `ssd_hc`.

```{r}
set.seed(99)
hc5 <- ssd_hc(fits, ci = TRUE)
print(hc5)
```

Model-averaged predictions complete with confidence intervals can also be estimated by parametric bootstrapping using the `stats` generic `predict`.

```{r, eval=FALSE}
boron_pred <- predict(fits, ci = TRUE)
```

The predictions can be plotted together with the original data using `ssd_plot`.

```{r, fig.alt="A plot of the data and model-averaged prediction with confidence intervals"}
library(ggplot2)

theme_set(theme_bw())

ssd_plot(ssddata::ccme_boron, boron_pred,
  shape = "Group", color = "Group", label = "Species",
  xlab = "Concentration (mg/L)", ribbon = TRUE
) +
  expand_limits(x = 3000) +
  scale_colour_ssd()
```

## Information

Get started with ssdtools at .

A shiny app to allow non-R users to interface with ssdtools is available at .

For the latest changes to the development version see the [NEWS](https://bcgov.github.io/ssdtools/news/) file.

For recent developments in SSD modeling including a review of existing software see:

*Fox, D.R., et al. 2021. Recent Developments in Species Sensitivity Distribution Modeling. Environ Toxicol Chem 40(2): 293–308. .*

## Citation

```{r, comment = "", echo = FALSE}
citation("ssdtools")
```

## Installation

### Release

To install the latest release version from [CRAN](https://CRAN.R-project.org/package=ssdtools).
```r
install.packages("ssdtools")
```

The website for the release version is at .

### Development

To install the development version from [GitHub](https://github.com/bcgov/ssdtools)
```r
# install.packages("remotes")
remotes::install_github("bcgov/ssdtools")
```

or from [r-universe](https://bcgov.r-universe.dev/ssdtools).
```r
install.packages("ssdtools", repos = c("https://bcgov.r-universe.dev", "https://cloud.r-project.org"))
```

The website for the development version is at .

### Getting Help or Reporting an Issue

To report bugs/issues/feature requests, please file an [issue](https://github.com/bcgov/ssdtools/issues/).

### Contribution

If you would like to contribute to the package, please see our 
[CONTRIBUTING](https://github.com/bcgov/ssdtools/blob/master/.github/CONTRIBUTING.md) guidelines.

### Code of Conduct

Please note that the ssdtools project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/1/CODE_OF_CONDUCT.html). 
By contributing to this project, you agree to abide by its terms.

## References

Posthuma, L., Suter II, G.W., and Traas, T.P. 2001. Species Sensitivity Distributions in Ecotoxicology. CRC Press.

```{r, results = "asis", echo = FALSE} cat(ssdtools::ssd_licensing_md()) ```

Owner

  • Name: bcgov
  • Login: bcgov
  • Kind: organization
  • Email: Developer.Experience@gov.bc.ca
  • Location: Canada

This is the home for code that is open

JOSS Publication

ssdtools: An R package to fit Species Sensitivity Distributions
Published
November 29, 2018
Volume 3, Issue 31, Page 1082
Authors
Joe Thorley ORCID
Poisson Consulting Ltd., Nelson, Canada
Carl Schwarz
Simon Fraser University, Vancouver, Canada
Editor
Arfon Smith ORCID
Tags
ssd maximum likelihood hazard concentration

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Thorley
  given-names: Joe
  orcid: "https://orcid.org/0000-0002-7683-4592"
- family-names: Fisher
  given-names: Rebecca
  orcid: "https://orcid.org/0000-0001-5148-6731"
- family-names: Fox
  given-names: David
  orcid: "https://orcid.org/0000-0002-3178-7243"
- family-names: Schwarz
  given-names: Carl
  orcid: "https://orcid.org/0000-0002-8525-862X"
contact:
- family-names: Thorley
  given-names: Joe
  orcid: "https://orcid.org/0000-0002-7683-4592"
doi: 10.5281/zenodo.14609128
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Thorley
    given-names: Joe
    orcid: "https://orcid.org/0000-0002-7683-4592"
  - family-names: Fisher
    given-names: Rebecca
    orcid: "https://orcid.org/0000-0001-5148-6731"
  - family-names: Fox
    given-names: David
    orcid: "https://orcid.org/0000-0002-3178-7243"
  - family-names: Schwarz
    given-names: Carl
    orcid: "https://orcid.org/0000-0002-8525-862X"
  date-published: 2025-01-28
  doi: 10.21105/joss.07492
  issn: 2475-9066
  issue: 105
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 7492
  title: "ssdtools v2: An R package to fit Species Sensitivity
    Distributions"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.07492"
  volume: 10
title: "ssdtools v2: An R package to fit Species Sensitivity
  Distributions"

GitHub Events

Total
  • Create event: 12
  • Issues event: 53
  • Release event: 4
  • Watch event: 3
  • Delete event: 9
  • Issue comment event: 72
  • Push event: 96
  • Pull request review comment event: 2
  • Pull request review event: 19
  • Pull request event: 54
  • Fork event: 3
Last Year
  • Create event: 12
  • Issues event: 53
  • Release event: 4
  • Watch event: 3
  • Delete event: 9
  • Issue comment event: 72
  • Push event: 96
  • Pull request review comment event: 2
  • Pull request review event: 19
  • Pull request event: 54
  • Fork event: 3

Committers

Last synced: 4 months ago

All Time
  • Total Commits: 1,899
  • Total Committers: 17
  • Avg Commits per committer: 111.706
  • Development Distribution Score (DDS): 0.052
Past Year
  • Commits: 287
  • Committers: 8
  • Avg Commits per committer: 35.875
  • Development Distribution Score (DDS): 0.174
Top Committers
Name Email Commits
Joe Thorley j****e@p****a 1,801
Seb Dalgarno s****b@p****a 18
Duncan Kennedy d****n@p****a 14
Nadine Hussein n****3@g****m 13
Rebecca Fisher R****r@a****u 10
Eduard Szöcs e****s@b****m 8
atillmanns a****s@g****a 8
Sarah Lyons s****h@p****a 7
stephhazlitt s****t@g****a 6
Nan-Hung Hsieh n****h@c****u 4
cschwarz-stat-sfu-ca c****z@s****a 3
Nan-Hung Hsieh n****3@h****m 2
Ali a****i@g****a 1
Hadley Wickham h****m@g****m 1
Sergio Ibarra Espinosa z****a@g****m 1
Rebecca Fisher r****r@A****u 1
repo-mountie[bot] 4****] 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 126
  • Total pull requests: 175
  • Average time to close issues: 8 months
  • Average time to close pull requests: 1 day
  • Total issue authors: 17
  • Total pull request authors: 10
  • Average comments per issue: 1.55
  • Average comments per pull request: 0.1
  • Merged pull requests: 135
  • Bot issues: 3
  • Bot pull requests: 0
Past Year
  • Issues: 42
  • Pull requests: 61
  • Average time to close issues: 6 days
  • Average time to close pull requests: 3 days
  • Issue authors: 5
  • Pull request authors: 7
  • Average comments per issue: 0.64
  • Average comments per pull request: 0.26
  • Merged pull requests: 29
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • joethorley (97)
  • beckyfisher (9)
  • sebdalgarno (3)
  • repo-mountie[bot] (3)
  • jenni-gnz (2)
  • atillmanns (1)
  • kateECmill (1)
  • SantoClau (1)
  • d-morrison (1)
  • aylapear (1)
  • Enchufa2 (1)
  • SMARKICH (1)
  • ScottCoffin (1)
  • yuichiwsk (1)
  • HenrikBengtsson (1)
Pull Request Authors
  • joethorley (159)
  • dunkenwg (4)
  • aylapear (4)
  • eduardszoecs (3)
  • beckyfisher (2)
  • nanhung (2)
  • d-morrison (2)
  • sarahLy9 (1)
  • hadley (1)
  • sebdalgarno (1)
Top Labels
Issue Labels
Priority: 2 High (31) Effort: 2 Medium (29) Difficulty: 3 Advanced (25) Type: Enhancement (25) Effort: 1 Low (24) Difficulty: 2 Intermediate (23) Priority: 3 Medium (19) Type: Refactor (17) Difficulty: 1 Simple (15) Priority: 1 Critical (11) Type: Docs (10) Effort: 3 High (9) Type: Bug (7) Priority: 4 Low (3) Technical Committee :busts_in_silhouette: (3) Type: Testing (2)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • cran 751 last-month
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 4
    (may contain duplicates)
  • Total versions: 44
  • Total maintainers: 1
proxy.golang.org: github.com/bcgov/ssdtools
  • Versions: 20
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 4 months ago
cran.r-project.org: ssdtools

Species Sensitivity Distributions

  • Versions: 24
  • Dependent Packages: 1
  • Dependent Repositories: 4
  • Downloads: 751 Last month
Rankings
Forks count: 4.6%
Stargazers count: 9.9%
Average: 13.6%
Dependent repos count: 14.5%
Dependent packages count: 18.1%
Downloads: 20.6%
Maintainers (1)
Last synced: 4 months ago

Dependencies

DESCRIPTION cran
  • R >= 4.1 depends
  • Rcpp * imports
  • TMB >= 1.7.20 imports
  • VGAM * imports
  • abind * imports
  • chk >= 0.7.0 imports
  • doFuture * imports
  • foreach * imports
  • furrr * imports
  • generics * imports
  • ggplot2 * imports
  • goftest * imports
  • graphics * imports
  • grid * imports
  • lifecycle * imports
  • parallel * imports
  • plyr * imports
  • purrr * imports
  • scales * imports
  • ssddata * imports
  • stats * imports
  • stringr * imports
  • tibble * imports
  • universals * imports
  • utils * imports
  • R.rsp * suggests
  • covr * suggests
  • dplyr * suggests
  • fitdistrplus * suggests
  • future * suggests
  • glue * suggests
  • grDevices * suggests
  • knitr * suggests
  • magrittr * suggests
  • mle.tools * suggests
  • readr * suggests
  • reshape2 * suggests
  • rlang * suggests
  • rmarkdown * suggests
  • testthat * suggests
  • tidyr * suggests
  • tidyverse * suggests
  • withr * suggests