R/rapidPBPK_inits.R

Defines functions rapidPBPK_initStates rapidPBPK_initParms

rapidPBPK_initParms <- function(newParms = NULL) {
  parms <- c(
    mw = 0,
    bdose = 0,
    blen = 0,
    breps = 0,
    totbreps = 0,
    drdose = 0,
    vdw = 0,
    dreps = 0,
    inhdose = 0,
    inhtlen = 0,
    inhdays = 0,
    ivdose = 0,
    ivlen = 0,
    dermrate = 0,
    KPtot = 0,
    Kevap = 0,
    maxcap = 0,
    wsol = 0,
    skarea = 0,
    bdosev = 0,
    blenv = 0,
    brepsv = 0,
    totbrepsv = 0,
    kfec = 0,
    kVtoL = 0,
    kent = 0,
    bw = 0,
    qcc = 0,
    hct = 0,
    vbldc = 0,
    perfc = 0,
    kbld = 0,
    respr = 0,
    tv = 0,
    ds = 0,
    uflw = 0,
    gfr = 0,
    frwsol = 0,
    fatvtbc = 0,
    vfatc = 0,
    qfatc = 0,
    pfat = 0,
    skinvtbc = 0,
    vskinc = 0,
    qskinc = 0,
    pskin = 0,
    muscvtbc = 0,
    vmuscc = 0,
    qmuscc = 0,
    pmusc = 0,
    bonevtbc = 0,
    vbonec = 0,
    qbonec = 0,
    pbone = 0,
    brnvtbc = 0,
    vbrnc = 0,
    qbrnc = 0,
    pbrn = 0,
    lngvtbc = 0,
    vlngc = 0,
    qlngc = 0,
    plng = 0,
    hrtvtbc = 0,
    vhrtc = 0,
    qhrtc = 0,
    phrt = 0,
    givtbc = 0,
    vgic = 0,
    qgic = 0,
    pgi = 0,
    fa = 0,
    ka = 0,
    livvtbc = 0,
    vlivc = 0,
    qalivc = 0,
    qvlivc = 0,
    pliv = 0,
    kdnvtbc = 0,
    vkdnc = 0,
    qkdnc = 0,
    pkdn = 0,
    rpfvtbc = 0,
    vrpfc = 0,
    qrpfc = 0,
    prpf = 0,
    spfvtbc = 0,
    vspfc = 0,
    qspfc = 0,
    pspf = 0,
    res = 0,
    fupls = 0,
    vbld = 0,
    vpls = 0,
    vfat = 0,
    vskin = 0,
    vmusc = 0,
    vbone = 0,
    vbrn = 0,
    vlng = 0,
    vhrt = 0,
    vkdn = 0,
    vgi = 0,
    vliv = 0,
    vrpf = 0,
    vspf = 0,
    total_perf = 0,
    qcp = 0,
    qfat = 0,
    qskin = 0,
    qmusc = 0,
    qbone = 0,
    qbrn = 0,
    qlng = 0,
    qhrt = 0,
    qkdn = 0,
    qvliv = 0,
    qgi = 0,
    qaliv = 0,
    qrpf = 0,
    qspf = 0,
    pafat = 0,
    paskin = 0,
    pamusc = 0,
    pabone = 0,
    pabrn = 0,
    palng = 0,
    pahrt = 0,
    pakdn = 0,
    pagi = 0,
    paliv = 0,
    parpf = 0,
    paspf = 0,
    vkm1 = 0,
    vmaxliv = 0,
    km = 0,
    cinh = 0,
    qalv = 0,
    pair = 1e10,
    fuplsmet = 1,
    vdmet = 42
  )

  if (!is.null(newParms)) {
    if (!all(names(newParms) %in% c(names(parms)))) {
      print(names(newParms)[!(names(newParms))%in% c(names(parms))])
      stop("illegal parameter name")
    }
    parms[names(newParms)] <- newParms
  }

  parms <- within(as.list(parms), {
  })
  out <- .C("getParms",  as.double(parms),
            out=double(length(parms)),
            as.integer(length(parms)))$out
  names(out) <- names(parms)
  out
}

rapidPBPK_Outputs <- c(
    "abone",
    "abrn",
    "alng",
    "ahrt",
    "akdn",
    "agi",
    "aliv",
    "arpf",
    "aspf",
    "afat",
    "askin",
    "amusc",
    "cpls",
    "cv",
    "cfat_um",
    "ctfat",
    "cbfat",
    "cskin_um",
    "ctskin",
    "cbskin",
    "cmusc_um",
    "ctmusc",
    "cbmusc",
    "cbone_um",
    "ctbone",
    "cbbone",
    "cbrn_um",
    "ctbrn",
    "cbbrn",
    "clng_um",
    "ctlng",
    "cblng",
    "chrt_um",
    "cthrt",
    "cbhrt",
    "ckdn_um",
    "ctkdn",
    "cbkdn",
    "cgi_um",
    "ctgi",
    "cbgi",
    "cliv_um",
    "ctliv",
    "cbliv",
    "crpf_um",
    "ctrpf",
    "cbrpf",
    "cspf_um",
    "ctspf",
    "cbspf",
    "InstInhDose",
    "InstDermDose",
    "mbal",
    "curine",
    "curinemet"
)

rapidPBPK_initStates <- function(parms, newStates = NULL) {
  Y <- c(
    inhswch = 0.0,
    ainh = 0.0,
    aexh = 0.0,
    totodose = 0.0,
    odose = 0.0,
    totddose = 0.0,
    ddose = 0.0,
    odosev = 0.0,
    totodosev = 0.0,
    alas = 0.0,
    akent = 0.0,
    afec = 0.0,
    aabsgut = 0.0,
    ivswch = 0.0,
    aiv = 0.0,
    dermswch = 0.0,
    aderm = 0.0,
    adermabs = 0.0,
    adermevap = 0.0,
    abld = 0.0,
    abfat = 0.0,
    atfat = 0.0,
    abskin = 0.0,
    asc = 0.0,
    ascMgcm2 = 0.0,
    atskin = 0.0,
    abmusc = 0.0,
    atmusc = 0.0,
    abbone = 0.0,
    atbone = 0.0,
    abbrn = 0.0,
    atbrn = 0.0,
    ablng = 0.0,
    atlng = 0.0,
    abhrt = 0.0,
    athrt = 0.0,
    abgi = 0.0,
    atgi = 0.0,
    abliv = 0.0,
    atliv = 0.0,
    abkdn = 0.0,
    atkdn = 0.0,
    abrpf = 0.0,
    atrpf = 0.0,
    abspf = 0.0,
    atspf = 0.0,
    ametliv1 = 0.0,
    ametliv2 = 0.0,
    aclbld = 0.0,
    auexc = 0.0,
    anabsgut = 0.0,
    auexcmet = 0.0,
    amet = 0.0,
    vurine = 1e-10
  )

  if (!is.null(newStates)) {
    if (!all(names(newStates) %in% c(names(Y)))) {
      stop("illegal state variable name in newStates")
    }
    Y[names(newStates)] <- newStates
  }

.C("initState", as.double(Y));
Y
}

Try the plethem package in your browser

Any scripts or data that you put into this service are public.

plethem documentation built on Nov. 8, 2020, 4:35 p.m.