diff options
Diffstat (limited to 'docs/dev/reference/mkinmod.html')
-rw-r--r-- | docs/dev/reference/mkinmod.html | 426 |
1 files changed, 0 insertions, 426 deletions
diff --git a/docs/dev/reference/mkinmod.html b/docs/dev/reference/mkinmod.html deleted file mode 100644 index 50ec64fa..00000000 --- a/docs/dev/reference/mkinmod.html +++ /dev/null @@ -1,426 +0,0 @@ -<!DOCTYPE html> -<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Function to set up a kinetic model with one or more state variables — mkinmod • mkin</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><meta property="og:title" content="Function to set up a kinetic model with one or more state variables — mkinmod"><meta property="og:description" content="This function is usually called using a call to mkinsub() for each observed -variable, specifying the corresponding submodel as well as outgoing pathways -(see examples). -Print mkinmod objects in a way that the user finds his way to get to its -components."><meta name="robots" content="noindex"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> -<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> -<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> -<![endif]--></head><body data-spy="scroll" data-target="#toc"> - - - <div class="container template-reference-topic"> - <header><div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <span class="navbar-brand"> - <a class="navbar-link" href="../index.html">mkin</a> - <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.2.3</span> - </span> - </div> - - <div id="navbar" class="navbar-collapse collapse"> - <ul class="nav navbar-nav"><li> - <a href="../reference/index.html">Reference</a> -</li> -<li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"> - Articles - - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"><li> - <a href="../articles/mkin.html">Introduction to mkin</a> - </li> - <li class="divider"> - <li class="dropdown-header">Example evaluations with (generalised) nonlinear least squares</li> - <li> - <a href="../articles/FOCUS_D.html">Example evaluation of FOCUS Example Dataset D</a> - </li> - <li> - <a href="../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a> - </li> - <li> - <a href="../articles/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a> - </li> - <li class="divider"> - <li class="dropdown-header">Example evaluations with hierarchical models (nonlinear mixed-effects models)</li> - <li> - <a href="../articles/prebuilt/2022_dmta_parent.html">Testing hierarchical parent degradation kinetics with residue data on dimethenamid and dimethenamid-P</a> - </li> - <li> - <a href="../articles/prebuilt/2022_dmta_pathway.html">Testing hierarchical pathway kinetics with residue data on dimethenamid and dimethenamid-P</a> - </li> - <li> - <a href="../articles/prebuilt/2022_cyan_pathway.html">Testing hierarchical pathway kinetics with residue data on cyantraniliprole</a> - </li> - <li> - <a href="../articles/web_only/dimethenamid_2018.html">Comparison of saemix and nlme evaluations of dimethenamid data from 2018</a> - </li> - <li> - <a href="../articles/web_only/multistart.html">Short demo of the multistart method</a> - </li> - <li class="divider"> - <li class="dropdown-header">Performance</li> - <li> - <a href="../articles/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a> - </li> - <li> - <a href="../articles/web_only/benchmarks.html">Benchmark timings for mkin</a> - </li> - <li> - <a href="../articles/web_only/saem_benchmarks.html">Benchmark timings for saem.mmkin</a> - </li> - <li class="divider"> - <li class="dropdown-header">Miscellaneous</li> - <li> - <a href="../articles/twa.html">Calculation of time weighted average concentrations with mkin</a> - </li> - <li> - <a href="../articles/web_only/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a> - </li> - </ul></li> -<li> - <a href="../news/index.html">News</a> -</li> - </ul><ul class="nav navbar-nav navbar-right"><li> - <a href="https://github.com/jranke/mkin/" class="external-link"> - <span class="fab fa-github fa-lg"></span> - - </a> -</li> - </ul></div><!--/.nav-collapse --> - </div><!--/.container --> -</div><!--/.navbar --> - - - - </header><div class="row"> - <div class="col-md-9 contents"> - <div class="page-header"> - <h1>Function to set up a kinetic model with one or more state variables</h1> - <small class="dont-index">Source: <a href="https://github.com/jranke/mkin/blob/HEAD/R/mkinmod.R" class="external-link"><code>R/mkinmod.R</code></a>, <a href="https://github.com/jranke/mkin/blob/HEAD/R/mkinsub.R" class="external-link"><code>R/mkinsub.R</code></a></small> - <div class="hidden name"><code>mkinmod.Rd</code></div> - </div> - - <div class="ref-description"> - <p>This function is usually called using a call to <code>mkinsub()</code> for each observed -variable, specifying the corresponding submodel as well as outgoing pathways -(see examples).</p> -<p>Print mkinmod objects in a way that the user finds his way to get to its -components.</p> - </div> - - <div id="ref-usage"> - <div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">mkinmod</span><span class="op">(</span></span> -<span> <span class="va">...</span>,</span> -<span> use_of_ff <span class="op">=</span> <span class="st">"max"</span>,</span> -<span> name <span class="op">=</span> <span class="cn">NULL</span>,</span> -<span> speclist <span class="op">=</span> <span class="cn">NULL</span>,</span> -<span> quiet <span class="op">=</span> <span class="cn">FALSE</span>,</span> -<span> verbose <span class="op">=</span> <span class="cn">FALSE</span>,</span> -<span> dll_dir <span class="op">=</span> <span class="cn">NULL</span>,</span> -<span> unload <span class="op">=</span> <span class="cn">FALSE</span>,</span> -<span> overwrite <span class="op">=</span> <span class="cn">FALSE</span></span> -<span><span class="op">)</span></span> -<span></span> -<span><span class="co"># S3 method for mkinmod</span></span> -<span><span class="fu"><a href="https://rdrr.io/r/base/print.html" class="external-link">print</a></span><span class="op">(</span><span class="va">x</span>, <span class="va">...</span><span class="op">)</span></span> -<span></span> -<span><span class="fu">mkinsub</span><span class="op">(</span><span class="va">submodel</span>, to <span class="op">=</span> <span class="cn">NULL</span>, sink <span class="op">=</span> <span class="cn">TRUE</span>, full_name <span class="op">=</span> <span class="cn">NA</span><span class="op">)</span></span></code></pre></div> - </div> - - <div id="arguments"> - <h2>Arguments</h2> - <dl><dt>...</dt> -<dd><p>For each observed variable, a list as obtained by <code>mkinsub()</code> -has to be specified as an argument (see examples). Currently, single -first order kinetics "SFO", indeterminate order rate equation kinetics -"IORE", or single first order with reversible binding "SFORB" are -implemented for all variables, while "FOMC", "DFOP", "HS" and "logistic" -can additionally be chosen for the first variable which is assumed to be -the source compartment. -Additionally, <code>mkinsub()</code> has an argument <code>to</code>, specifying names of -variables to which a transfer is to be assumed in the model. -If the argument <code>use_of_ff</code> is set to "min" -and the model for the compartment is "SFO" or "SFORB", an -additional <code>mkinsub()</code> argument can be <code>sink = FALSE</code>, effectively -fixing the flux to sink to zero. -In print.mkinmod, this argument is currently not used.</p></dd> - - -<dt>use_of_ff</dt> -<dd><p>Specification of the use of formation fractions in the -model equations and, if applicable, the coefficient matrix. If "max", -formation fractions are always used (default). If "min", a minimum use of -formation fractions is made, i.e. each first-order pathway to a metabolite -has its own rate constant.</p></dd> - - -<dt>name</dt> -<dd><p>A name for the model. Should be a valid R object name.</p></dd> - - -<dt>speclist</dt> -<dd><p>The specification of the observed variables and their -submodel types and pathways can be given as a single list using this -argument. Default is NULL.</p></dd> - - -<dt>quiet</dt> -<dd><p>Should messages be suppressed?</p></dd> - - -<dt>verbose</dt> -<dd><p>If <code>TRUE</code>, passed to <code><a href="https://rdrr.io/pkg/inline/man/cfunction.html" class="external-link">inline::cfunction()</a></code> if -applicable to give detailed information about the C function being built.</p></dd> - - -<dt>dll_dir</dt> -<dd><p>Directory where an DLL object, if generated internally by -<code><a href="https://rdrr.io/pkg/inline/man/cfunction.html" class="external-link">inline::cfunction()</a></code>, should be saved. The DLL will only be stored in a -permanent location for use in future sessions, if 'dll_dir' and 'name' -are specified. This is helpful if fit objects are cached e.g. by knitr, -as the cache remains functional across sessions if the DLL is stored in -a user defined location.</p></dd> - - -<dt>unload</dt> -<dd><p>If a DLL from the target location in 'dll_dir' is already -loaded, should that be unloaded first?</p></dd> - - -<dt>overwrite</dt> -<dd><p>If a file exists at the target DLL location in 'dll_dir', -should this be overwritten?</p></dd> - - -<dt>x</dt> -<dd><p>An <code>mkinmod</code> object.</p></dd> - - -<dt>submodel</dt> -<dd><p>Character vector of length one to specify the submodel type. -See <code>mkinmod</code> for the list of allowed submodel names.</p></dd> - - -<dt>to</dt> -<dd><p>Vector of the names of the state variable to which a -transformation shall be included in the model.</p></dd> - - -<dt>sink</dt> -<dd><p>Should a pathway to sink be included in the model in addition to -the pathways to other state variables?</p></dd> - - -<dt>full_name</dt> -<dd><p>An optional name to be used e.g. for plotting fits -performed with the model. You can use non-ASCII characters here, but then -your R code will not be portable, <em>i.e.</em> may produce unintended plot -results on other operating systems or system configurations.</p></dd> - -</dl></div> - <div id="value"> - <h2>Value</h2> - - -<p>A list of class <code>mkinmod</code> for use with <code><a href="mkinfit.html">mkinfit()</a></code>, -containing, among others,</p> -<dl><dt>diffs</dt> -<dd><p>A vector of string representations of differential equations, one for -each modelling variable.</p></dd> - -<dt>map</dt> -<dd><p>A list containing named character vectors for each observed variable, -specifying the modelling variables by which it is represented.</p></dd> - -<dt>use_of_ff</dt> -<dd><p>The content of <code>use_of_ff</code> is passed on in this list component.</p></dd> - -<dt>deg_func</dt> -<dd><p>If generated, a function containing the solution of the degradation -model.</p></dd> - -<dt>coefmat</dt> -<dd><p>The coefficient matrix, if the system of differential equations can be -represented by one.</p></dd> - -<dt>cf</dt> -<dd><p>If generated, a compiled function calculating the derivatives as -returned by cfunction.</p></dd> - - -</dl><p>A list for use with <code>mkinmod</code>.</p> - </div> - <div id="details"> - <h2>Details</h2> - <p>For the definition of model types and their parameters, the equations given -in the FOCUS and NAFTA guidance documents are used.</p> -<p>For kinetic models with more than one observed variable, a symbolic solution -of the system of differential equations is included in the resulting -mkinmod object in some cases, speeding up the solution.</p> -<p>If a C compiler is found by <code><a href="https://r-lib.github.io/pkgbuild/reference/has_compiler.html" class="external-link">pkgbuild::has_compiler()</a></code> and there -is more than one observed variable in the specification, C code is generated -for evaluating the differential equations, compiled using -<code><a href="https://rdrr.io/pkg/inline/man/cfunction.html" class="external-link">inline::cfunction()</a></code> and added to the resulting mkinmod object.</p> - </div> - <div id="note"> - <h2>Note</h2> - <p>The IORE submodel is not well tested for metabolites. When using this -model for metabolites, you may want to read the note in the help -page to <a href="mkinfit.html">mkinfit</a>.</p> - </div> - <div id="references"> - <h2>References</h2> - <p>FOCUS (2006) “Guidance Document on Estimating Persistence -and Degradation Kinetics from Environmental Fate Studies on Pesticides in -EU Registration” Report of the FOCUS Work Group on Degradation Kinetics, -EC Document Reference Sanco/10058/2005 version 2.0, 434 pp, -<a href="http://esdac.jrc.ec.europa.eu/projects/degradation-kinetics" class="external-link">http://esdac.jrc.ec.europa.eu/projects/degradation-kinetics</a></p> -<p>NAFTA Technical Working Group on Pesticides (not dated) Guidance for -Evaluating and Calculating Degradation Kinetics in Environmental Media</p> - </div> - <div id="author"> - <h2>Author</h2> - <p>Johannes Ranke</p> - </div> - - <div id="ref-examples"> - <h2>Examples</h2> - <div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span></span></span> -<span class="r-in"><span><span class="co"># Specify the SFO model (this is not needed any more, as we can now mkinfit("SFO", ...)</span></span></span> -<span class="r-in"><span><span class="va">SFO</span> <span class="op"><-</span> <span class="fu">mkinmod</span><span class="op">(</span>parent <span class="op">=</span> <span class="fu">mkinsub</span><span class="op">(</span><span class="st">"SFO"</span><span class="op">)</span><span class="op">)</span></span></span> -<span class="r-in"><span></span></span> -<span class="r-in"><span><span class="co"># One parent compound, one metabolite, both single first order</span></span></span> -<span class="r-in"><span><span class="va">SFO_SFO</span> <span class="op"><-</span> <span class="fu">mkinmod</span><span class="op">(</span></span></span> -<span class="r-in"><span> parent <span class="op">=</span> <span class="fu">mkinsub</span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"m1"</span><span class="op">)</span>,</span></span> -<span class="r-in"><span> m1 <span class="op">=</span> <span class="fu">mkinsub</span><span class="op">(</span><span class="st">"SFO"</span><span class="op">)</span><span class="op">)</span></span></span> -<span class="r-msg co"><span class="r-pr">#></span> Temporary DLL for differentials generated and loaded</span> -<span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/base/print.html" class="external-link">print</a></span><span class="op">(</span><span class="va">SFO_SFO</span><span class="op">)</span></span></span> -<span class="r-out co"><span class="r-pr">#></span> <mkinmod> model generated with</span> -<span class="r-out co"><span class="r-pr">#></span> Use of formation fractions $use_of_ff: max </span> -<span class="r-out co"><span class="r-pr">#></span> Specification $spec:</span> -<span class="r-out co"><span class="r-pr">#></span> $parent</span> -<span class="r-out co"><span class="r-pr">#></span> $type: SFO; $to: m1; $sink: TRUE</span> -<span class="r-out co"><span class="r-pr">#></span> $m1</span> -<span class="r-out co"><span class="r-pr">#></span> $type: SFO; $sink: TRUE</span> -<span class="r-out co"><span class="r-pr">#></span> Coefficient matrix $coefmat available</span> -<span class="r-out co"><span class="r-pr">#></span> Compiled model $cf available</span> -<span class="r-out co"><span class="r-pr">#></span> Differential equations:</span> -<span class="r-out co"><span class="r-pr">#></span> d_parent/dt = - k_parent * parent</span> -<span class="r-out co"><span class="r-pr">#></span> d_m1/dt = + f_parent_to_m1 * k_parent * parent - k_m1 * m1</span> -<span class="r-in"><span></span></span> -<span class="r-in"><span><span class="co"># \dontrun{</span></span></span> -<span class="r-in"><span> <span class="va">fit_sfo_sfo</span> <span class="op"><-</span> <span class="fu"><a href="mkinfit.html">mkinfit</a></span><span class="op">(</span><span class="va">SFO_SFO</span>, <span class="va">FOCUS_2006_D</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span>, solution_type <span class="op">=</span> <span class="st">"deSolve"</span><span class="op">)</span></span></span> -<span class="r-wrn co"><span class="r-pr">#></span> <span class="warning">Warning: </span>Observations with value of zero were removed from the data</span> -<span class="r-in"><span></span></span> -<span class="r-in"><span> <span class="co"># Now supplying compound names used for plotting, and write to user defined location</span></span></span> -<span class="r-in"><span> <span class="co"># We need to choose a path outside the session tempdir because this gets removed</span></span></span> -<span class="r-in"><span> <span class="va">DLL_dir</span> <span class="op"><-</span> <span class="st">"~/.local/share/mkin"</span></span></span> -<span class="r-in"><span> <span class="kw">if</span> <span class="op">(</span><span class="op">!</span><span class="fu"><a href="https://rdrr.io/r/base/files2.html" class="external-link">dir.exists</a></span><span class="op">(</span><span class="va">DLL_dir</span><span class="op">)</span><span class="op">)</span> <span class="fu"><a href="https://rdrr.io/r/base/files2.html" class="external-link">dir.create</a></span><span class="op">(</span><span class="va">DLL_dir</span><span class="op">)</span></span></span> -<span class="r-in"><span> <span class="va">SFO_SFO.2</span> <span class="op"><-</span> <span class="fu">mkinmod</span><span class="op">(</span></span></span> -<span class="r-in"><span> parent <span class="op">=</span> <span class="fu">mkinsub</span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"m1"</span>, full_name <span class="op">=</span> <span class="st">"Test compound"</span><span class="op">)</span>,</span></span> -<span class="r-in"><span> m1 <span class="op">=</span> <span class="fu">mkinsub</span><span class="op">(</span><span class="st">"SFO"</span>, full_name <span class="op">=</span> <span class="st">"Metabolite M1"</span><span class="op">)</span>,</span></span> -<span class="r-in"><span> name <span class="op">=</span> <span class="st">"SFO_SFO"</span>, dll_dir <span class="op">=</span> <span class="va">DLL_dir</span>, unload <span class="op">=</span> <span class="cn">TRUE</span>, overwrite <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></span> -<span class="r-msg co"><span class="r-pr">#></span> Temporary DLL for differentials generated and loaded</span> -<span class="r-msg co"><span class="r-pr">#></span> Copied DLL from /tmp/RtmpiGRJ6t/file5c7f7365e02a0.so to /home/jranke/.local/share/mkin/SFO_SFO.so</span> -<span class="r-in"><span><span class="co"># Now we can save the model and restore it in a new session</span></span></span> -<span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/base/readRDS.html" class="external-link">saveRDS</a></span><span class="op">(</span><span class="va">SFO_SFO.2</span>, file <span class="op">=</span> <span class="st">"~/SFO_SFO.rds"</span><span class="op">)</span></span></span> -<span class="r-in"><span><span class="co"># Terminate the R session here if you would like to check, and then do</span></span></span> -<span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://pkgdown.jrwb.de/mkin/">mkin</a></span><span class="op">)</span></span></span> -<span class="r-in"><span><span class="va">SFO_SFO.3</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/readRDS.html" class="external-link">readRDS</a></span><span class="op">(</span><span class="st">"~/SFO_SFO.rds"</span><span class="op">)</span></span></span> -<span class="r-in"><span><span class="va">fit_sfo_sfo</span> <span class="op"><-</span> <span class="fu"><a href="mkinfit.html">mkinfit</a></span><span class="op">(</span><span class="va">SFO_SFO.3</span>, <span class="va">FOCUS_2006_D</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span>, solution_type <span class="op">=</span> <span class="st">"deSolve"</span><span class="op">)</span></span></span> -<span class="r-wrn co"><span class="r-pr">#></span> <span class="warning">Warning: </span>Observations with value of zero were removed from the data</span> -<span class="r-in"><span></span></span> -<span class="r-in"><span><span class="co"># Show details of creating the C function</span></span></span> -<span class="r-in"><span><span class="va">SFO_SFO</span> <span class="op"><-</span> <span class="fu">mkinmod</span><span class="op">(</span></span></span> -<span class="r-in"><span> parent <span class="op">=</span> <span class="fu">mkinsub</span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"m1"</span><span class="op">)</span>,</span></span> -<span class="r-in"><span> m1 <span class="op">=</span> <span class="fu">mkinsub</span><span class="op">(</span><span class="st">"SFO"</span><span class="op">)</span>, verbose <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></span> -<span class="r-out co"><span class="r-pr">#></span> Program source:</span> -<span class="r-out co"><span class="r-pr">#></span> 1: #include <R.h></span> -<span class="r-out co"><span class="r-pr">#></span> 2: </span> -<span class="r-out co"><span class="r-pr">#></span> 3: </span> -<span class="r-out co"><span class="r-pr">#></span> 4: static double parms [3];</span> -<span class="r-out co"><span class="r-pr">#></span> 5: #define k_parent parms[0]</span> -<span class="r-out co"><span class="r-pr">#></span> 6: #define f_parent_to_m1 parms[1]</span> -<span class="r-out co"><span class="r-pr">#></span> 7: #define k_m1 parms[2]</span> -<span class="r-out co"><span class="r-pr">#></span> 8: </span> -<span class="r-out co"><span class="r-pr">#></span> 9: void initpar(void (* odeparms)(int *, double *)) {</span> -<span class="r-out co"><span class="r-pr">#></span> 10: int N = 3;</span> -<span class="r-out co"><span class="r-pr">#></span> 11: odeparms(&N, parms);</span> -<span class="r-out co"><span class="r-pr">#></span> 12: }</span> -<span class="r-out co"><span class="r-pr">#></span> 13: </span> -<span class="r-out co"><span class="r-pr">#></span> 14: </span> -<span class="r-out co"><span class="r-pr">#></span> 15: void diffs ( int * n, double * t, double * y, double * f, double * rpar, int * ipar ) {</span> -<span class="r-out co"><span class="r-pr">#></span> 16: </span> -<span class="r-out co"><span class="r-pr">#></span> 17: f[0] = - k_parent * y[0];</span> -<span class="r-out co"><span class="r-pr">#></span> 18: f[1] = + f_parent_to_m1 * k_parent * y[0] - k_m1 * y[1];</span> -<span class="r-out co"><span class="r-pr">#></span> 19: }</span> -<span class="r-msg co"><span class="r-pr">#></span> Temporary DLL for differentials generated and loaded</span> -<span class="r-in"><span></span></span> -<span class="r-in"><span><span class="co"># The symbolic solution which is available in this case is not</span></span></span> -<span class="r-in"><span><span class="co"># made for human reading but for speed of computation</span></span></span> -<span class="r-in"><span><span class="va">SFO_SFO</span><span class="op">$</span><span class="va">deg_func</span></span></span> -<span class="r-out co"><span class="r-pr">#></span> function (observed, odeini, odeparms) </span> -<span class="r-out co"><span class="r-pr">#></span> {</span> -<span class="r-out co"><span class="r-pr">#></span> predicted <- numeric(0)</span> -<span class="r-out co"><span class="r-pr">#></span> with(as.list(odeparms), {</span> -<span class="r-out co"><span class="r-pr">#></span> t <- observed[observed$name == "parent", "time"]</span> -<span class="r-out co"><span class="r-pr">#></span> predicted <<- c(predicted, SFO.solution(t, odeini["parent"], </span> -<span class="r-out co"><span class="r-pr">#></span> k_parent))</span> -<span class="r-out co"><span class="r-pr">#></span> t <- observed[observed$name == "m1", "time"]</span> -<span class="r-out co"><span class="r-pr">#></span> predicted <<- c(predicted, (((k_m1 - k_parent) * odeini["m1"] - </span> -<span class="r-out co"><span class="r-pr">#></span> f_parent_to_m1 * k_parent * odeini["parent"]) * exp(-k_m1 * </span> -<span class="r-out co"><span class="r-pr">#></span> t) + f_parent_to_m1 * k_parent * odeini["parent"] * </span> -<span class="r-out co"><span class="r-pr">#></span> exp(-k_parent * t))/(k_m1 - k_parent))</span> -<span class="r-out co"><span class="r-pr">#></span> })</span> -<span class="r-out co"><span class="r-pr">#></span> return(predicted)</span> -<span class="r-out co"><span class="r-pr">#></span> }</span> -<span class="r-out co"><span class="r-pr">#></span> <environment: 0x555558bd6708></span> -<span class="r-in"><span></span></span> -<span class="r-in"><span><span class="co"># If we have several parallel metabolites</span></span></span> -<span class="r-in"><span><span class="co"># (compare tests/testthat/test_synthetic_data_for_UBA_2014.R)</span></span></span> -<span class="r-in"><span><span class="va">m_synth_DFOP_par</span> <span class="op"><-</span> <span class="fu">mkinmod</span><span class="op">(</span></span></span> -<span class="r-in"><span> parent <span class="op">=</span> <span class="fu">mkinsub</span><span class="op">(</span><span class="st">"DFOP"</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"M1"</span>, <span class="st">"M2"</span><span class="op">)</span><span class="op">)</span>,</span></span> -<span class="r-in"><span> M1 <span class="op">=</span> <span class="fu">mkinsub</span><span class="op">(</span><span class="st">"SFO"</span><span class="op">)</span>,</span></span> -<span class="r-in"><span> M2 <span class="op">=</span> <span class="fu">mkinsub</span><span class="op">(</span><span class="st">"SFO"</span><span class="op">)</span>,</span></span> -<span class="r-in"><span> quiet <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></span> -<span class="r-in"><span></span></span> -<span class="r-in"><span><span class="va">fit_DFOP_par_c</span> <span class="op"><-</span> <span class="fu"><a href="mkinfit.html">mkinfit</a></span><span class="op">(</span><span class="va">m_synth_DFOP_par</span>,</span></span> -<span class="r-in"><span> <span class="va">synthetic_data_for_UBA_2014</span><span class="op">[[</span><span class="fl">12</span><span class="op">]</span><span class="op">]</span><span class="op">$</span><span class="va">data</span>,</span></span> -<span class="r-in"><span> quiet <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></span> -<span class="r-in"><span><span class="co"># }</span></span></span> -<span class="r-in"><span></span></span> -</code></pre></div> - </div> - </div> - <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar"> - <nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2> - </nav></div> -</div> - - - <footer><div class="copyright"> - <p></p><p>Developed by Johannes Ranke.</p> -</div> - -<div class="pkgdown"> - <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> -</div> - - </footer></div> - - - - - - - </body></html> - |