MyNixOS website logo
Description

Ecotoxicological Information from the Standartox Database.

The <http://standartox.uni-landau.de> database offers cleaned, harmonized and aggregated ecotoxicological test data, which can be used for assessing effects and risks of chemical concentrations found in the environment.

Standartox

CRAN Downloads

Standartox is a database and tool facilitating the retrieval of ecotoxicological test data. It is based on the EPA ECOTOX database as well as on data from several other chemical databases and allows users to filter and aggregate ecotoxicological test data in an easy way. It can either be accessed via http://standartox.uni-landau.de or this R-package standartox. Ecotoxicological test data is used in environmental risk assessment to calculate effect measures such as TU - Toxic Units or SSD - Species Sensitivity Distributions to asses environmental toxicity of chemicals.

The project lives in two repositories:

Installation

install.packages('standartox')
# remotes::install_github('andschar/standartox') # development version

Functions

Standartox consists of the two functions stx_catalog() and stx_query(). The former allows you to retrieve a catalog of possible parameters that can be used as an input for stx_query(). The latter fetches toxicity values from the database.

stx_catalog()

The function returns a list of all possible arguments that can bes use in stx_query().

require(standartox)
catal = stx_catalog()
names(catal)
##  [1] "casnr"              "cname"              "concentration_unit"
##  [4] "concentration_type" "chemical_role"      "chemical_class"    
##  [7] "taxa"               "trophic_lvl"        "habitat"           
## [10] "region"             "ecotox_grp"         "duration"          
## [13] "effect"             "endpoint"           "exposure"
catal$endpoint # access the parameter endpoint
variablenn_totalperc
NOEX23761660943539
LOEX19271860943532
XX5017910160943530

stx_query()

The function allows you to retrieve filtered and aggregated toxicity data according to the parameters below.

parameterexample
casnr50000, 94520, 94531
cname2718, 4, 3
concentration_unitug/l, mg/kg, ppb
concentration_typeactive ingredient, formulation, total
chemical_rolepesticide, herbicide, drug
chemical_classamide, aromatic, organochlorine
taxaspecies, Fusarium oxysporum, Apis mellifera
trophic_lvlheterotroph, autotroph
habitatfreshwater, terrestrial, marine
regioneurope, america_north, america_south
ecotox_grpinvertebrate, plant, fish
duration24, 96
effectmortality, population, biochemistry
endpointNOEX, LOEX, XX50
exposureaquatic, environmental, diet

You can type in parameters manually or subset the object returned by stx_catalog():

require(standartox)
cas = c(Copper2Sulfate = '7758-98-7',
        Permethrin = '52645-53-1',
        Imidacloprid = '138261-41-3')
# query
l = stx_query(cas = cas,
              endpoint = 'XX50',
              taxa = grep('Oncorhynchus', catal$taxa$variable, value = TRUE), # fish genus
              exposure = 'aquatic',
              duration = c(24, 120))
## Standartox query running..
## Parameters:
## casnr: 7758-98-7, 52645-53-1, 138261-41-3
## duration: 24, 120
## endpoint: XX50
## exposure: aquatic
## taxa: Oncorhynchus clarkii, Oncorhynchus mykiss, Oncorhynchus nerka, Oncorhy...[truncated]

Important parameter settings

  • CAS (cas =) Can be input in the form of 7758-98-7 or 7758987
  • Endpoints (endpoint =) Only one endpoint per query is allowed:
  • If you leave a parameter empty Standartox will not filter for it

Query result

Standartox returns a list object with five entries.

  • l$filtred and l$filtered_all contain the filtered Standartox data set (the former only is a shorter and more concise version of the latter):
cascnameconcentrationconcentration_uniteffectendpoint
7758-98-7cupric sulfate1100.0ug/lmortalityXX50
7758-98-7cupric sulfate18.9ug/lmortalityXX50
7758-98-7cupric sulfate46.4ug/lmortalityXX50
  • l$aggregated contains the several aggregates of the Standartox data:

    • cname, cas - chemical identifiers
    • min - Minimum
    • tax_min - Most sensitive taxon
    • gmn - Geometric mean
    • amn - Arithmetic mean
    • sd - Standard Deviation of the arithmetic mean
    • max - Maximum
    • tax_max - Most insensitive taxon
    • n - Number of distinct taxa used for the aggregation
    • tax_all - Concatenated string of all taxa used for the aggregation
cnamecasmintax_mingmnmax
cupric sulfate7758-98-76.813740e+01Oncorhynchus clarkii1.330055e+02263.6153
imidacloprid138261-41-32.291000e+05Oncorhynchus mykiss2.291000e+05229100.0000
permethrin52645-53-11.896481e+00Oncorhynchus gilae4.505877e+0017.0000
  • l$meta contains meta information on the request:
variablevalue
accessed2022-08-06 20:59:07
standartox_version20210315

Example: Oncorhynchus

Let’s say, we want to retrieve the 20 most tested chemicals on the genus Oncorhynchus. We allow for test durations between 48 and 120 hours and want the tests restricted to active ingredients only. Since we are only interested in the half maximal effective concentration, we choose XX50 as our endpoint. As an aggregation method we choose the geometric mean.

require(standartox)
l2 = stx_query(concentration_type = 'active ingredient',
               endpoint = 'XX50',
               taxa = grep('Oncorhynchus', catal$taxa$variable, value = TRUE), # fish genus
               duration = c(48, 120))
## Standartox query running..
## Parameters:
## concentration_type: active ingredient
## duration: 48, 120
## endpoint: XX50
## taxa: Oncorhynchus clarkii, Oncorhynchus mykiss, Oncorhynchus nerka, Oncorhy...[truncated]

We subset the retrieved data to the 20 most tested chemicals and plot the result.

require(data.table)
dat = merge(l2$filtered, l2$aggregated, by = c('cas', 'cname'))
cas20 = l2$aggregated[ order(-n), cas ][1:20]
dat = dat[ cas %in% cas20 ]
require(ggplot2)
ggplot(dat, aes(y = reorder(cname, -gmn))) +
  geom_point(aes(x = concentration, col = 'All values'),
             pch = 1, alpha = 0.3) +
  geom_point(aes(x = gmn, col = 'Standartox value\n(Geometric mean)'),
             size = 3) +
  scale_x_log10(breaks = c(0.01, 0.1, 1, 10, 100, 1000, 10000),
                labels = c(0.01, 0.1, 1, 10, 100, 1000, 10000)) +
  scale_color_viridis_d(name = '') +
  labs(title = 'Oncorhynchus EC50 values',
       subtitle = '20 most tested chemicals',
       x = 'Concentration (ppb)') +
  theme_minimal() +
  theme(axis.title.y = element_blank())

Usage

We ask you to use the API service thoughtfully, which means to run the stx_query() only once and to re-run it only when parameters change or you want to query new versions. Here is an example of how to easily store the queried data locally from within R.

run = FALSE # set to TRUE for the first run
if (run) {
  l2 = stx_query(concentration_type = 'active ingredient',
                 endpoint = 'XX50',
                 taxa = grep('Oncorhynchus', catal$taxa$variable, value = TRUE), # fish genus
                 duration = c(48, 120))
  saveRDS(l2, file.path('path/to/directory', 'data.rds'))
  
} else {
  l2 = readRDS(file.path('path/to/directory', 'data.rds'))
}

# put rest of the script here
# ...

Article

The article on Standartox is published here.

Information

Contributors

Want to contribute?

Check out our contribution guide here.

Meta

Metadata

Version

0.0.2

License

Unknown

Platforms (75)

    Darwin
    FreeBSD 13
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd13
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd13
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows