MyNixOS website logo
Description

Inference and Prediction of Generic Physiologically-Based Kinetic Models.

Fit and simulate any kind of physiologically-based kinetic ('PBK') models whatever the number of compartments. Moreover, it allows to account for any link between pairs of compartments, as well as any link of each of the compartments with the external medium. Such generic PBK models have today applications in pharmacology (PBPK models) to describe drug effects, in toxicology and ecotoxicology (PBTK models) to describe chemical substance effects. In case of exposure to a parent compound (drug or chemical) the 'rPBK' package allows to consider metabolites, whatever their number and their phase (I, II, ...). Last but not least, package 'rPBK' can also be used for dynamic flux balance analysis (dFBA) to deal with metabolic networks. See also Charles et al. (2022) <doi:10.1101/2022.04.29.490045>.

rPBK

An R package for the inference of physiologically-based toxicokinetics model

Dev R

Package skeleton

library("rstantools")
rstan_create_package(path = 'rPBK')

See further information here rstantools

Dev info

Use this to add a new dependency

usethis::use_package("ggplot2")
usethis::use_package("testthat")

Additional dependencies used in the Vignette

usethis::use_package("loo", "Suggests")

Use this to add a data to be used in the package

usethis::use_data(dataCompartment4)
usethis::use_data(dataMaleGammarusSingle)

Use this to add a test function. ADD A TEST FILE TO EVERY NEW R FILE!

usethis::use_test("data.R")
usethis::use_test("dataPBK.R")
usethis::use_test("fitPBK.R")
usethis::use_test("plotFIT.R")
usethis::use_test("plotPPC.R")
usethis::use_test("predictPBK.R")

Add vignette

usethis::use_vignette("Examples")

remove files from building

usethis::use_build_ignore("[.]so", escape = FALSE)
usethis::use_build_ignore("[.]o", escape = FALSE)

Rstudio

Before 'Documentation' and 'Clear and Rebuild' and within 'Configure Build Tools...' untick 'use devtools package function if available'. Keep 'Generate Configuration with Roxygen'

little hack

  • to load all internal function of a package during dev: devtools::load_all()

A lighter package build

To make the package lighter, we have to remove the vignettes: see file .Rbuildignore

Error to recompile during package dev

Sometimes, there is an Error to recompile during development after change of .stan files. A solution is to remove the rPBK folder in R repository of the win-library (see the path written in the error message).

An other solution is to build the package from the terminal using R CMD -preclean INSTALL rPBK from parent directory of rPBK.

Dev tools

  • S3 Object System: http://adv-r.had.co.nz/S3.html
  • Google's R Style Guide: https://google.github.io/styleguide/Rguide.html
  • testthat: https://github.com/r-lib/testthat
  • covr: https://github.com/r-lib/covr
  • to add a package xxr: usethis::use_package("xxr")
  • to add data set datar: usethis::use_data(datar)

Dev In Docker

Roxygen for the documentation

example(source) # defines the sourceDir() function
try(roxygen2::roxygenize(load_code = sourceDir), silent = TRUE)
roxygen2::roxygenize()

Build

pkgbuild::compile_dll() # to preform a fake R CMD install
roxygen2::roxygenize() # to update the documentation
devtools::install() 

Test and Check the package

devtools::test() 
devtools::check() 

then to build the package:

 devtools::build()

If the archive produce (rPBK_X.Y.Z.tar.gz) is in the workspace of the container (outside RPBK), then move the archive:

mv rPBK_X.Y.Z.tar.gz rPBK

Check as CRAN

R CMD check --as-cran

or from command line, but not working very well to be send to CRAN:

R CMD INSTALL --preclean --no-configure --build .
R CMD INSTALL --preclean --build .
Metadata

Version

0.2.4

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    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-freebsd
  • 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-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows