diff options
Diffstat (limited to 'docs/dev/reference/mkinmod.html')
| -rw-r--r-- | docs/dev/reference/mkinmod.html | 523 | 
1 files changed, 222 insertions, 301 deletions
| diff --git a/docs/dev/reference/mkinmod.html b/docs/dev/reference/mkinmod.html index 60a0af96..5d362f76 100644 --- a/docs/dev/reference/mkinmod.html +++ b/docs/dev/reference/mkinmod.html @@ -1,71 +1,16 @@ -<!-- Generated by pkgdown: do not edit by hand -->  <!DOCTYPE html> -<html lang="en"> -  <head> -  <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 +<!-- 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]> +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]--> +<![endif]--></head><body data-spy="scroll" data-target="#toc"> +     - - -  </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"> +      <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"> @@ -81,8 +26,7 @@ components." />      </div>      <div id="navbar" class="navbar-collapse collapse"> -      <ul class="nav navbar-nav"> -        <li> +      <ul class="nav navbar-nav"><li>    <a href="../reference/index.html">Functions and data</a>  </li>  <li class="dropdown"> @@ -91,8 +35,7 @@ components." />      <span class="caret"></span>    </a> -  <ul class="dropdown-menu" role="menu"> -    <li> +  <ul class="dropdown-menu" role="menu"><li>        <a href="../articles/mkin.html">Introduction to mkin</a>      </li>      <li> @@ -116,34 +59,27 @@ components." />      <li>        <a href="../articles/web_only/benchmarks.html">Some benchmark timings</a>      </li> -  </ul> -</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/"> +      </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 --> +      </ul></div><!--/.nav-collapse -->    </div><!--/.container -->  </div><!--/.navbar --> -      </header> - -<div class="row"> +      </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/master/R/mkinmod.R'><code>R/mkinmod.R</code></a>, <a href='https://github.com/jranke/mkin/blob/master/R/mkinsub.R'><code>R/mkinsub.R</code></a></small> +    <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> @@ -155,29 +91,29 @@ variable, specifying the corresponding submodel as well as outgoing pathways  components.</p>      </div> -    <pre class="usage"><span class='fu'>mkinmod</span><span class='op'>(</span> -  <span class='va'>...</span>, -  use_of_ff <span class='op'>=</span> <span class='st'>"max"</span>, -  name <span class='op'>=</span> <span class='cn'>NULL</span>, -  speclist <span class='op'>=</span> <span class='cn'>NULL</span>, -  quiet <span class='op'>=</span> <span class='cn'>FALSE</span>, -  verbose <span class='op'>=</span> <span class='cn'>FALSE</span>, -  dll_dir <span class='op'>=</span> <span class='cn'>NULL</span>, -  unload <span class='op'>=</span> <span class='cn'>FALSE</span>, -  overwrite <span class='op'>=</span> <span class='cn'>FALSE</span> -<span class='op'>)</span> - -<span class='co'># S3 method for mkinmod</span> -<span class='fu'><a href='https://rdrr.io/r/base/print.html'>print</a></span><span class='op'>(</span><span class='va'>x</span>, <span class='va'>...</span><span class='op'>)</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></pre> +    <div id="ref-usage"> +    <div class="sourceCode"><pre class="sourceCode r"><code><span class="fu">mkinmod</span><span class="op">(</span> +  <span class="va">...</span>, +  use_of_ff <span class="op">=</span> <span class="st">"max"</span>, +  name <span class="op">=</span> <span class="cn">NULL</span>, +  speclist <span class="op">=</span> <span class="cn">NULL</span>, +  quiet <span class="op">=</span> <span class="cn">FALSE</span>, +  verbose <span class="op">=</span> <span class="cn">FALSE</span>, +  dll_dir <span class="op">=</span> <span class="cn">NULL</span>, +  unload <span class="op">=</span> <span class="cn">FALSE</span>, +  overwrite <span class="op">=</span> <span class="cn">FALSE</span> +<span class="op">)</span> + +<span class="co"># S3 method for mkinmod</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 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></code></pre></div> +    </div> -    <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2> -    <table class="ref-arguments"> -    <colgroup><col class="name" /><col class="desc" /></colgroup> -    <tr> -      <th>...</th> -      <td><p>For each observed variable, a list as obtained by <code>mkinsub()</code> +    <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 @@ -190,249 +126,234 @@ If the argument <code>use_of_ff</code> is set to "min"  (default) 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></td> -    </tr> -    <tr> -      <th>use_of_ff</th> -      <td><p>Specification of the use of formation fractions in the +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></td> -    </tr> -    <tr> -      <th>name</th> -      <td><p>A name for the model. Should be a valid R object name.</p></td> -    </tr> -    <tr> -      <th>speclist</th> -      <td><p>The specification of the observed variables and their +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></td> -    </tr> -    <tr> -      <th>quiet</th> -      <td><p>Should messages be suppressed?</p></td> -    </tr> -    <tr> -      <th>verbose</th> -      <td><p>If <code>TRUE</code>, passed to <code><a href='https://rdrr.io/pkg/inline/man/cfunction.html'>inline::cfunction()</a></code> if -applicable to give detailed information about the C function being built.</p></td> -    </tr> -    <tr> -      <th>dll_dir</th> -      <td><p>Directory where an DLL object, if generated internally by -<code><a href='https://rdrr.io/pkg/inline/man/cfunction.html'>inline::cfunction()</a></code>, should be saved.  The DLL will only be stored in a +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.</p></td> -    </tr> -    <tr> -      <th>unload</th> -      <td><p>If a DLL from the target location in 'dll_dir' is already -loaded, should that be unloaded first?</p></td> -    </tr> -    <tr> -      <th>overwrite</th> -      <td><p>If a file exists at the target DLL location in 'dll_dir', -should this be overwritten?</p></td> -    </tr> -    <tr> -      <th>x</th> -      <td><p>An <code>mkinmod</code> object.</p></td> -    </tr> -    <tr> -      <th>submodel</th> -      <td><p>Character vector of length one to specify the submodel type. -See <code>mkinmod</code> for the list of allowed submodel names.</p></td> -    </tr> -    <tr> -      <th>to</th> -      <td><p>Vector of the names of the state variable to which a -transformation shall be included in the model.</p></td> -    </tr> -    <tr> -      <th>sink</th> -      <td><p>Should a pathway to sink be included in the model in addition to -the pathways to other state variables?</p></td> -    </tr> -    <tr> -      <th>full_name</th> -      <td><p>An optional name to be used e.g. for plotting fits +are specified.</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></td> -    </tr> -    </table> - -    <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> - -    <p>A list of class <code>mkinmod</code> for use with <code><a href='mkinfit.html'>mkinfit()</a></code>, +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> -<dt>diffs</dt><dd><p>A vector of string representations of differential equations, one for +<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, +<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 +<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 +<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 +<dt>cf</dt> +<dd><p>If generated, a compiled function calculating the derivatives as  returned by cfunction.</p></dd> - -A list for use with mkinmod. - -    <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2> - +</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://rdrr.io/pkg/pkgbuild/man/has_compiler.html'>pkgbuild::has_compiler()</a></code> and there +<p>If a C compiler is found by <code><a href="https://rdrr.io/pkg/pkgbuild/man/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'>inline::cfunction()</a></code> and added to the resulting mkinmod object.</p> -    <h2 class="hasAnchor" id="note"><a class="anchor" href="#note"></a>Note</h2> - +<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> -    <h2 class="hasAnchor" id="references"><a class="anchor" href="#references"></a>References</h2> - -    <p>FOCUS (2006) “Guidance Document on Estimating Persistence +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, +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'>http://esdac.jrc.ec.europa.eu/projects/degradation-kinetics</a></p> +<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> -    <h2 class="hasAnchor" id="author"><a class="anchor" href="#author"></a>Author</h2> - +    </div> +    <div id="author"> +    <h2>Author</h2>      <p>Johannes Ranke</p> +    </div> -    <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> -    <pre class="examples"><div class='input'> -<span class='co'># Specify the SFO model (this is not needed any more, as we can now mkinfit("SFO", ...)</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 class='co'># One parent compound, one metabolite, both single first order</span> -<span class='va'>SFO_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='st'>"m1"</span><span class='op'>)</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> -</div><div class='output co'>#> <span class='message'>Temporary DLL for differentials generated and loaded</span></div><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/print.html'>print</a></span><span class='op'>(</span><span class='va'>SFO_SFO</span><span class='op'>)</span> -</div><div class='output co'>#> <mkinmod> model generated with -#> Use of formation fractions $use_of_ff: max  -#> Specification $spec: -#> $parent -#> $type: SFO; $to: m1; $sink: TRUE -#> $m1 -#> $type: SFO; $sink: TRUE -#> Coefficient matrix $coefmat available -#> Compiled model $cf available -#> Differential equations: -#> d_parent/dt = - k_parent * parent -#> d_m1/dt = + f_parent_to_m1 * k_parent * parent - k_m1 * m1</div><div class='input'> -<span class='co'># \dontrun{</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> -</div><div class='output co'>#> <span class='warning'>Warning: Observations with value of zero were removed from the data</span></div><div class='input'> - <span class='co'># Now supplying compound names used for plotting, and write to user defined location</span> - <span class='co'># We need to choose a path outside the session tempdir because this gets removed</span> - <span class='va'>DLL_dir</span> <span class='op'><-</span> <span class='st'>"~/.local/share/mkin"</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'>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'>dir.create</a></span><span class='op'>(</span><span class='va'>DLL_dir</span><span class='op'>)</span> - <span class='va'>SFO_SFO.2</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='st'>"m1"</span>, full_name <span class='op'>=</span> <span class='st'>"Test compound"</span><span class='op'>)</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>, -   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> -</div><div class='output co'>#> <span class='message'>Copied DLL from /tmp/RtmpWsX48Z/file1029f864aada00.so to /home/jranke/.local/share/mkin/SFO_SFO.so</span></div><div class='input'><span class='co'># Now we can save the model and restore it in a new session</span> -<span class='fu'><a href='https://rdrr.io/r/base/readRDS.html'>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 class='co'># Terminate the R session here if you would like to check, and then do</span> -<span class='kw'><a href='https://rdrr.io/r/base/library.html'>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 class='va'>SFO_SFO.3</span> <span class='op'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/readRDS.html'>readRDS</a></span><span class='op'>(</span><span class='st'>"~/SFO_SFO.rds"</span><span class='op'>)</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> -</div><div class='output co'>#> <span class='warning'>Warning: Observations with value of zero were removed from the data</span></div><div class='input'> -<span class='co'># Show details of creating the C function</span> -<span class='va'>SFO_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='st'>"m1"</span><span class='op'>)</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> -</div><div class='output co'>#> Program source: -#>   1: #include <R.h> -#>   2:  -#>   3:  -#>   4: static double parms [3]; -#>   5: #define k_parent parms[0] -#>   6: #define f_parent_to_m1 parms[1] -#>   7: #define k_m1 parms[2] -#>   8:  -#>   9: void initpar(void (* odeparms)(int *, double *)) { -#>  10:     int N = 3; -#>  11:     odeparms(&N, parms); -#>  12: } -#>  13:  -#>  14:  -#>  15: void diffs ( int * n, double * t, double * y, double * f, double * rpar, int * ipar ) { -#>  16:  -#>  17: f[0] = - k_parent * y[0]; -#>  18: f[1] = + f_parent_to_m1 * k_parent * y[0] - k_m1 * y[1]; -#>  19: }</div><div class='output co'>#> <span class='message'>Temporary DLL for differentials generated and loaded</span></div><div class='input'> -<span class='co'># The symbolic solution which is available in this case is not</span> -<span class='co'># made for human reading but for speed of computation</span> -<span class='va'>SFO_SFO</span><span class='op'>$</span><span class='va'>deg_func</span> -</div><div class='output co'>#> function (observed, odeini, odeparms)  -#> { -#>     predicted <- numeric(0) -#>     with(as.list(odeparms), { -#>         t <- observed[observed$name == "parent", "time"] -#>         predicted <<- c(predicted, SFO.solution(t, odeini["parent"],  -#>             k_parent)) -#>         t <- observed[observed$name == "m1", "time"] -#>         predicted <<- c(predicted, (((k_m1 - k_parent) * odeini["m1"] -  -#>             f_parent_to_m1 * k_parent * odeini["parent"]) * exp(-k_m1 *  -#>             t) + f_parent_to_m1 * k_parent * odeini["parent"] *  -#>             exp(-k_parent * t))/(k_m1 - k_parent)) -#>     }) -#>     return(predicted) -#> } -#> <environment: 0x55555cc38878></div><div class='input'> -<span class='co'># If we have several parallel metabolites</span> -<span class='co'># (compare tests/testthat/test_synthetic_data_for_UBA_2014.R)</span> -<span class='va'>m_synth_DFOP_par</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'>"DFOP"</span>, <span class='fu'><a href='https://rdrr.io/r/base/c.html'>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>, - M1 <span class='op'>=</span> <span class='fu'>mkinsub</span><span class='op'>(</span><span class='st'>"SFO"</span><span class='op'>)</span>, - M2 <span class='op'>=</span> <span class='fu'>mkinsub</span><span class='op'>(</span><span class='st'>"SFO"</span><span class='op'>)</span>, - quiet <span class='op'>=</span> <span class='cn'>TRUE</span><span class='op'>)</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 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>, -  quiet <span class='op'>=</span> <span class='cn'>TRUE</span><span class='op'>)</span> -<span class='co'># }</span> - -</div></pre> +    <div id="ref-examples"> +    <h2>Examples</h2> +    <div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"></span> +<span class="r-in"><span class="co"># Specify the SFO model (this is not needed any more, as we can now mkinfit("SFO", ...)</span></span> +<span class="r-in"><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 class="r-in"></span> +<span class="r-in"><span class="co"># One parent compound, one metabolite, both single first order</span></span> +<span class="r-in"><span class="va">SFO_SFO</span> <span class="op"><-</span> <span class="fu">mkinmod</span><span class="op">(</span></span> +<span class="r-in">  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 class="r-in">  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 class="r-msg co"><span class="r-pr">#></span> Temporary DLL for differentials generated and loaded</span> +<span class="r-in"><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 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 class="r-in"><span class="co"># \dontrun{</span></span> +<span class="r-in"> <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 class="r-in"></span> +<span class="r-in"> <span class="co"># Now supplying compound names used for plotting, and write to user defined location</span></span> +<span class="r-in"> <span class="co"># We need to choose a path outside the session tempdir because this gets removed</span></span> +<span class="r-in"> <span class="va">DLL_dir</span> <span class="op"><-</span> <span class="st">"~/.local/share/mkin"</span></span> +<span class="r-in"> <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 class="r-in"> <span class="va">SFO_SFO.2</span> <span class="op"><-</span> <span class="fu">mkinmod</span><span class="op">(</span></span> +<span class="r-in">   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 class="r-in">   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 class="r-in">   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 class="r-msg co"><span class="r-pr">#></span> Copied DLL from /tmp/Rtmp6NiOcv/fileb89c01ace19ec.so to /home/jranke/.local/share/mkin/SFO_SFO.so</span> +<span class="r-in"><span class="co"># Now we can save the model and restore it in a new session</span></span> +<span class="r-in"><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 class="r-in"><span class="co"># Terminate the R session here if you would like to check, and then do</span></span> +<span class="r-in"><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 class="r-in"><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 class="r-in"><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 class="r-in"></span> +<span class="r-in"><span class="co"># Show details of creating the C function</span></span> +<span class="r-in"><span class="va">SFO_SFO</span> <span class="op"><-</span> <span class="fu">mkinmod</span><span class="op">(</span></span> +<span class="r-in">  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 class="r-in">  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 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 class="r-in"><span class="co"># The symbolic solution which is available in this case is not</span></span> +<span class="r-in"><span class="co"># made for human reading but for speed of computation</span></span> +<span class="r-in"><span class="va">SFO_SFO</span><span class="op">$</span><span class="va">deg_func</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: 0x55555cd83c70></span> +<span class="r-in"></span> +<span class="r-in"><span class="co"># If we have several parallel metabolites</span></span> +<span class="r-in"><span class="co"># (compare tests/testthat/test_synthetic_data_for_UBA_2014.R)</span></span> +<span class="r-in"><span class="va">m_synth_DFOP_par</span> <span class="op"><-</span> <span class="fu">mkinmod</span><span class="op">(</span></span> +<span class="r-in"> 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 class="r-in"> 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 class="r-in"> 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 class="r-in"> quiet <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span> +<span class="r-in"></span> +<span class="r-in"><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 class="r-in">  <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 class="r-in">  quiet <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span> +<span class="r-in"><span class="co"># }</span></span> +<span class="r-in"></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> +    <nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2> +    </nav></div>  </div> -      <footer> -      <div class="copyright"> -  <p>Developed by Johannes Ranke.</p> +      <footer><div class="copyright"> +  <p></p><p>Developed by Johannes Ranke.</p>  </div>  <div class="pkgdown"> -  <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.6.1.</p> +  <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.2.</p>  </div> -      </footer> -   </div> +      </footer></div> -  </body> -</html> +   +  </body></html> | 
