aboutsummaryrefslogtreecommitdiff
path: root/docs/articles
diff options
context:
space:
mode:
Diffstat (limited to 'docs/articles')
-rw-r--r--docs/articles/FOCUS_D.R2
-rw-r--r--docs/articles/FOCUS_D.html11
-rw-r--r--docs/articles/FOCUS_L.html72
-rw-r--r--docs/articles/FOCUS_Z.R2
-rw-r--r--docs/articles/FOCUS_Z.html4
-rw-r--r--docs/articles/compiled_models.R2
-rw-r--r--docs/articles/compiled_models.html18
-rw-r--r--docs/articles/index.html2
-rw-r--r--docs/articles/mkin.R2
-rw-r--r--docs/articles/mkin.html11
-rw-r--r--docs/articles/twa.html2
11 files changed, 59 insertions, 69 deletions
diff --git a/docs/articles/FOCUS_D.R b/docs/articles/FOCUS_D.R
index 51723496..b831e14e 100644
--- a/docs/articles/FOCUS_D.R
+++ b/docs/articles/FOCUS_D.R
@@ -3,7 +3,7 @@ library(knitr)
opts_chunk$set(tidy = FALSE, cache = TRUE)
## ----data----------------------------------------------------------------
-library("mkin")
+library("mkin", quietly = TRUE)
print(FOCUS_2006_D)
## ----model---------------------------------------------------------------
diff --git a/docs/articles/FOCUS_D.html b/docs/articles/FOCUS_D.html
index d6941019..e3f87eae 100644
--- a/docs/articles/FOCUS_D.html
+++ b/docs/articles/FOCUS_D.html
@@ -77,20 +77,15 @@
<h1>Example evaluation of FOCUS Example Dataset D</h1>
<h4 class="author">Johannes Ranke</h4>
- <h4 class="date">2017-11-16</h4>
+ <h4 class="date">2018-01-14</h4>
</div>
<div class="contents">
<p>This is just a very simple vignette showing how to fit a degradation model for a parent compound with one transformation product using <code>mkin</code>. After loading the library we look a the data. We have observed concentrations in the column named <code>value</code> at the times specified in column <code>time</code> for the two observed variables named <code>parent</code> and <code>m1</code>.</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">library</span>(<span class="st">"mkin"</span>)</code></pre></div>
-<pre><code>## Lade nötiges Paket: minpack.lm</code></pre>
-<pre><code>## Lade nötiges Paket: rootSolve</code></pre>
-<pre><code>## Lade nötiges Paket: inline</code></pre>
-<pre><code>## Lade nötiges Paket: methods</code></pre>
-<pre><code>## Lade nötiges Paket: parallel</code></pre>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">print</span>(FOCUS_2006_D)</code></pre></div>
+<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">library</span>(<span class="st">"mkin"</span>, <span class="dt">quietly =</span> <span class="ot">TRUE</span>)
+<span class="kw">print</span>(FOCUS_2006_D)</code></pre></div>
<pre><code>## name time value
## 1 parent 0 99.46
## 2 parent 0 102.04
diff --git a/docs/articles/FOCUS_L.html b/docs/articles/FOCUS_L.html
index 7cef7abd..bc2b9947 100644
--- a/docs/articles/FOCUS_L.html
+++ b/docs/articles/FOCUS_L.html
@@ -77,7 +77,7 @@
<h1>Example evaluation of FOCUS Laboratory Data L1 to L3</h1>
<h4 class="author">Johannes Ranke</h4>
- <h4 class="date">2017-11-16</h4>
+ <h4 class="date">2018-01-14</h4>
</div>
@@ -98,17 +98,17 @@ FOCUS_2006_L1_mkin &lt;-<span class="st"> </span><span class="kw"><a href="../re
<p>Since mkin version 0.9-32 (July 2014), we can use shorthand notation like <code>"SFO"</code> for parent only degradation models. The following two lines fit the model and produce the summary report of the model fit. This covers the numerical analysis given in the FOCUS report.</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">m.L1.SFO &lt;-<span class="st"> </span><span class="kw"><a href="../reference/mkinfit.html">mkinfit</a></span>(<span class="st">"SFO"</span>, FOCUS_2006_L1_mkin, <span class="dt">quiet =</span> <span class="ot">TRUE</span>)
<span class="kw">summary</span>(m.L1.SFO)</code></pre></div>
-<pre><code>## mkin version: 0.9.46.2
-## R version: 3.4.2
-## Date of fit: Thu Nov 16 17:12:46 2017
-## Date of summary: Thu Nov 16 17:12:46 2017
+<pre><code>## mkin version: 0.9.47.1
+## R version: 3.4.3
+## Date of fit: Sun Jan 14 18:36:12 2018
+## Date of summary: Sun Jan 14 18:36:12 2018
##
## Equations:
## d_parent/dt = - k_parent_sink * parent
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 37 model solutions performed in 0.253 s
+## Fitted with method Port using 37 model solutions performed in 0.258 s
##
## Weighting: none
##
@@ -191,10 +191,10 @@ FOCUS_2006_L1_mkin &lt;-<span class="st"> </span><span class="kw"><a href="../re
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">plot</span>(m.L1.FOMC, <span class="dt">show_errmin =</span> <span class="ot">TRUE</span>, <span class="dt">main =</span> <span class="st">"FOCUS L1 - FOMC"</span>)</code></pre></div>
<p><img src="FOCUS_L_files/figure-html/unnamed-chunk-6-1.png" width="576"></p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">summary</span>(m.L1.FOMC, <span class="dt">data =</span> <span class="ot">FALSE</span>)</code></pre></div>
-<pre><code>## mkin version: 0.9.46.2
-## R version: 3.4.2
-## Date of fit: Thu Nov 16 17:12:47 2017
-## Date of summary: Thu Nov 16 17:12:47 2017
+<pre><code>## mkin version: 0.9.47.1
+## R version: 3.4.3
+## Date of fit: Sun Jan 14 18:36:13 2018
+## Date of summary: Sun Jan 14 18:36:13 2018
##
##
## Warning: Optimisation by method Port did not converge.
@@ -206,7 +206,7 @@ FOCUS_2006_L1_mkin &lt;-<span class="st"> </span><span class="kw"><a href="../re
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 155 model solutions performed in 0.485 s
+## Fitted with method Port using 155 model solutions performed in 0.452 s
##
## Weighting: none
##
@@ -291,17 +291,17 @@ FOCUS_2006_L2_mkin &lt;-<span class="st"> </span><span class="kw"><a href="../re
<span class="dt">main =</span> <span class="st">"FOCUS L2 - FOMC"</span>)</code></pre></div>
<p><img src="FOCUS_L_files/figure-html/unnamed-chunk-9-1.png" width="672"></p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">summary</span>(m.L2.FOMC, <span class="dt">data =</span> <span class="ot">FALSE</span>)</code></pre></div>
-<pre><code>## mkin version: 0.9.46.2
-## R version: 3.4.2
-## Date of fit: Thu Nov 16 17:12:48 2017
-## Date of summary: Thu Nov 16 17:12:48 2017
+<pre><code>## mkin version: 0.9.47.1
+## R version: 3.4.3
+## Date of fit: Sun Jan 14 18:36:14 2018
+## Date of summary: Sun Jan 14 18:36:14 2018
##
## Equations:
## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 81 model solutions performed in 0.183 s
+## Fitted with method Port using 81 model solutions performed in 0.177 s
##
## Weighting: none
##
@@ -362,10 +362,10 @@ FOCUS_2006_L2_mkin &lt;-<span class="st"> </span><span class="kw"><a href="../re
<span class="dt">main =</span> <span class="st">"FOCUS L2 - DFOP"</span>)</code></pre></div>
<p><img src="FOCUS_L_files/figure-html/unnamed-chunk-10-1.png" width="672"></p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">summary</span>(m.L2.DFOP, <span class="dt">data =</span> <span class="ot">FALSE</span>)</code></pre></div>
-<pre><code>## mkin version: 0.9.46.2
-## R version: 3.4.2
-## Date of fit: Thu Nov 16 17:12:49 2017
-## Date of summary: Thu Nov 16 17:12:49 2017
+<pre><code>## mkin version: 0.9.47.1
+## R version: 3.4.3
+## Date of fit: Sun Jan 14 18:36:15 2018
+## Date of summary: Sun Jan 14 18:36:15 2018
##
## Equations:
## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) *
@@ -374,7 +374,7 @@ FOCUS_2006_L2_mkin &lt;-<span class="st"> </span><span class="kw"><a href="../re
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 336 model solutions performed in 0.84 s
+## Fitted with method Port using 336 model solutions performed in 0.808 s
##
## Weighting: none
##
@@ -454,10 +454,10 @@ mm.L3 &lt;-<span class="st"> </span><span class="kw"><a href="../reference/mmkin
<p>The objects returned by mmkin are arranged like a matrix, with models as a row index and datasets as a column index.</p>
<p>We can extract the summary and plot for <em>e.g.</em> the DFOP fit, using square brackets for indexing which will result in the use of the summary and plot functions working on mkinfit objects.</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">summary</span>(mm.L3[[<span class="st">"DFOP"</span>, <span class="dv">1</span>]])</code></pre></div>
-<pre><code>## mkin version: 0.9.46.2
-## R version: 3.4.2
-## Date of fit: Thu Nov 16 17:12:50 2017
-## Date of summary: Thu Nov 16 17:12:50 2017
+<pre><code>## mkin version: 0.9.47.1
+## R version: 3.4.3
+## Date of fit: Sun Jan 14 18:36:16 2018
+## Date of summary: Sun Jan 14 18:36:16 2018
##
## Equations:
## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) *
@@ -466,7 +466,7 @@ mm.L3 &lt;-<span class="st"> </span><span class="kw"><a href="../reference/mmkin
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 137 model solutions performed in 0.309 s
+## Fitted with method Port using 137 model solutions performed in 0.3 s
##
## Weighting: none
##
@@ -555,17 +555,17 @@ mm.L4 &lt;-<span class="st"> </span><span class="kw"><a href="../reference/mmkin
<p><img src="FOCUS_L_files/figure-html/unnamed-chunk-15-1.png" width="672"></p>
<p>The <span class="math inline">\(\chi^2\)</span> error level of 3.3% as well as the plot suggest that the SFO model fits very well. The error level at which the <span class="math inline">\(\chi^2\)</span> test passes is slightly lower for the FOMC model. However, the difference appears negligible.</p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">summary</span>(mm.L4[[<span class="st">"SFO"</span>, <span class="dv">1</span>]], <span class="dt">data =</span> <span class="ot">FALSE</span>)</code></pre></div>
-<pre><code>## mkin version: 0.9.46.2
-## R version: 3.4.2
-## Date of fit: Thu Nov 16 17:12:50 2017
-## Date of summary: Thu Nov 16 17:12:51 2017
+<pre><code>## mkin version: 0.9.47.1
+## R version: 3.4.3
+## Date of fit: Sun Jan 14 18:36:16 2018
+## Date of summary: Sun Jan 14 18:36:17 2018
##
## Equations:
## d_parent/dt = - k_parent_sink * parent
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 46 model solutions performed in 0.098 s
+## Fitted with method Port using 46 model solutions performed in 0.097 s
##
## Weighting: none
##
@@ -615,17 +615,17 @@ mm.L4 &lt;-<span class="st"> </span><span class="kw"><a href="../reference/mmkin
## DT50 DT90
## parent 106 352</code></pre>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">summary</span>(mm.L4[[<span class="st">"FOMC"</span>, <span class="dv">1</span>]], <span class="dt">data =</span> <span class="ot">FALSE</span>)</code></pre></div>
-<pre><code>## mkin version: 0.9.46.2
-## R version: 3.4.2
-## Date of fit: Thu Nov 16 17:12:51 2017
-## Date of summary: Thu Nov 16 17:12:51 2017
+<pre><code>## mkin version: 0.9.47.1
+## R version: 3.4.3
+## Date of fit: Sun Jan 14 18:36:17 2018
+## Date of summary: Sun Jan 14 18:36:17 2018
##
## Equations:
## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 66 model solutions performed in 0.136 s
+## Fitted with method Port using 66 model solutions performed in 0.138 s
##
## Weighting: none
##
diff --git a/docs/articles/FOCUS_Z.R b/docs/articles/FOCUS_Z.R
index a77441cf..65ddbeba 100644
--- a/docs/articles/FOCUS_Z.R
+++ b/docs/articles/FOCUS_Z.R
@@ -3,7 +3,7 @@ require(knitr)
opts_chunk$set(engine='R', tidy = FALSE)
## ---- echo = TRUE, fig = TRUE, fig.width = 8, fig.height = 7-------------
-library(mkin, quiet = TRUE)
+library(mkin, quietly = TRUE)
LOD = 0.5
FOCUS_2006_Z = data.frame(
t = c(0, 0.04, 0.125, 0.29, 0.54, 1, 2, 3, 4, 7, 10, 14, 21,
diff --git a/docs/articles/FOCUS_Z.html b/docs/articles/FOCUS_Z.html
index d16299ca..7a37c66d 100644
--- a/docs/articles/FOCUS_Z.html
+++ b/docs/articles/FOCUS_Z.html
@@ -77,7 +77,7 @@
<h1>Example evaluation of FOCUS dataset Z</h1>
<h4 class="author">Johannes Ranke</h4>
- <h4 class="date">2017-11-16</h4>
+ <h4 class="date">2018-01-14</h4>
</div>
@@ -88,7 +88,7 @@
<h1 class="hasAnchor">
<a href="#the-data" class="anchor"></a>The data</h1>
<p>The following code defines the example dataset from Appendix 7 to the FOCUS kinetics report <span class="citation">(FOCUS Work Group on Degradation Kinetics 2014, 354)</span>.</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">library</span>(mkin, <span class="dt">quiet =</span> <span class="ot">TRUE</span>)
+<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">library</span>(mkin, <span class="dt">quietly =</span> <span class="ot">TRUE</span>)
LOD =<span class="st"> </span><span class="fl">0.5</span>
FOCUS_2006_Z =<span class="st"> </span><span class="kw">data.frame</span>(
<span class="dt">t =</span> <span class="kw">c</span>(<span class="dv">0</span>, <span class="fl">0.04</span>, <span class="fl">0.125</span>, <span class="fl">0.29</span>, <span class="fl">0.54</span>, <span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">4</span>, <span class="dv">7</span>, <span class="dv">10</span>, <span class="dv">14</span>, <span class="dv">21</span>,
diff --git a/docs/articles/compiled_models.R b/docs/articles/compiled_models.R
index 25c39dac..c5b06c11 100644
--- a/docs/articles/compiled_models.R
+++ b/docs/articles/compiled_models.R
@@ -6,7 +6,7 @@ opts_chunk$set(tidy = FALSE, cache = FALSE)
Sys.which("gcc")
## ----create_SFO_SFO------------------------------------------------------
-library("mkin")
+library("mkin", quietly = TRUE)
SFO_SFO <- mkinmod(
parent = mkinsub("SFO", "m1"),
m1 = mkinsub("SFO"))
diff --git a/docs/articles/compiled_models.html b/docs/articles/compiled_models.html
index 68aa1bac..4c850d14 100644
--- a/docs/articles/compiled_models.html
+++ b/docs/articles/compiled_models.html
@@ -77,7 +77,7 @@
<h1>Performance benefit by using compiled model definitions in mkin</h1>
<h4 class="author">Johannes Ranke</h4>
- <h4 class="date">2017-11-16</h4>
+ <h4 class="date">2018-01-14</h4>
</div>
@@ -91,7 +91,7 @@
<pre><code>## gcc
## "/usr/bin/gcc"</code></pre>
<p>First, we build a simple degradation model for a parent compound with one metabolite.</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">library</span>(<span class="st">"mkin"</span>)
+<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">library</span>(<span class="st">"mkin"</span>, <span class="dt">quietly =</span> <span class="ot">TRUE</span>)
SFO_SFO &lt;-<span class="st"> </span><span class="kw"><a href="../reference/mkinmod.html">mkinmod</a></span>(
<span class="dt">parent =</span> <span class="kw"><a href="../reference/mkinsub.html">mkinsub</a></span>(<span class="st">"SFO"</span>, <span class="st">"m1"</span>),
<span class="dt">m1 =</span> <span class="kw"><a href="../reference/mkinsub.html">mkinsub</a></span>(<span class="st">"SFO"</span>))</code></pre></div>
@@ -115,9 +115,9 @@ SFO_SFO &lt;-<span class="st"> </span><span class="kw"><a href="../reference/mki
}</code></pre></div>
<pre><code>## Lade nötiges Paket: rbenchmark</code></pre>
<pre><code>## test replications elapsed relative user.self sys.self
-## 3 deSolve, compiled 3 2.029 1.000 2.028 0
-## 1 deSolve, not compiled 3 14.237 7.017 14.236 0
-## 2 Eigenvalue based 3 2.700 1.331 2.700 0
+## 3 deSolve, compiled 3 2.083 1.000 2.084 0.000
+## 1 deSolve, not compiled 3 14.501 6.962 14.472 0.016
+## 2 Eigenvalue based 3 2.566 1.232 2.564 0.000
## user.child sys.child
## 3 0 0
## 1 0 0
@@ -146,14 +146,14 @@ SFO_SFO &lt;-<span class="st"> </span><span class="kw"><a href="../reference/mki
}</code></pre></div>
<pre><code>## Successfully compiled differential equation model from auto-generated C code.</code></pre>
<pre><code>## test replications elapsed relative user.self sys.self
-## 2 deSolve, compiled 3 3.495 1.000 3.496 0
-## 1 deSolve, not compiled 3 29.264 8.373 29.260 0
+## 2 deSolve, compiled 3 3.534 1.000 3.532 0.000
+## 1 deSolve, not compiled 3 29.973 8.481 29.960 0.004
## user.child sys.child
## 2 0 0
## 1 0 0</code></pre>
<p>Here we get a performance benefit of a factor of 8 using the version of the differential equation model compiled from C code!</p>
-<p>This vignette was built with mkin 0.9.46.2 on</p>
-<pre><code>## R version 3.4.2 (2017-09-28)
+<p>This vignette was built with mkin 0.9.47.1 on</p>
+<pre><code>## R version 3.4.3 (2017-11-30)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Debian GNU/Linux 9 (stretch)</code></pre>
<pre><code>## CPU model: Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz</code></pre>
diff --git a/docs/articles/index.html b/docs/articles/index.html
index 0a355e17..c1dc0b64 100644
--- a/docs/articles/index.html
+++ b/docs/articles/index.html
@@ -96,7 +96,7 @@
</header>
<div class="page-header">
- <h1>Articles <small>version&nbsp;0.9.46.3</small></h1>
+ <h1>Articles <small>version&nbsp;0.9.47.1</small></h1>
</div>
<div class="row">
diff --git a/docs/articles/mkin.R b/docs/articles/mkin.R
index 67dc3623..19e80322 100644
--- a/docs/articles/mkin.R
+++ b/docs/articles/mkin.R
@@ -3,7 +3,7 @@ require(knitr)
opts_chunk$set(engine='R', tidy=FALSE)
## ---- echo = TRUE, cache = TRUE, fig = TRUE, fig.width = 8, fig.height = 7----
-library(mkin)
+library("mkin", quietly = TRUE)
# Define the kinetic model
m_SFO_SFO_SFO <- mkinmod(parent = mkinsub("SFO", "M1"),
M1 = mkinsub("SFO", "M2"),
diff --git a/docs/articles/mkin.html b/docs/articles/mkin.html
index 14349e53..13df8a5d 100644
--- a/docs/articles/mkin.html
+++ b/docs/articles/mkin.html
@@ -77,7 +77,7 @@
<h1>Introduction to mkin</h1>
<h4 class="author">Johannes Ranke</h4>
- <h4 class="date">2017-11-16</h4>
+ <h4 class="date">2018-01-14</h4>
</div>
@@ -88,13 +88,8 @@
<h1 class="hasAnchor">
<a href="#abstract" class="anchor"></a>Abstract</h1>
<p>In the regulatory evaluation of chemical substances like plant protection products (pesticides), biocides and other chemicals, degradation data play an important role. For the evaluation of pesticide degradation experiments, detailed guidance has been developed, based on nonlinear optimisation. The <code>R</code> add-on package <code>mkin</code> <span class="citation">(Ranke 2016)</span> implements fitting some of the models recommended in this guidance from within R and calculates some statistical measures for data series within one or more compartments, for parent and metabolites.</p>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">library</span>(mkin)</code></pre></div>
-<pre><code>## Lade nötiges Paket: minpack.lm</code></pre>
-<pre><code>## Lade nötiges Paket: rootSolve</code></pre>
-<pre><code>## Lade nötiges Paket: inline</code></pre>
-<pre><code>## Lade nötiges Paket: methods</code></pre>
-<pre><code>## Lade nötiges Paket: parallel</code></pre>
-<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># Define the kinetic model</span>
+<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">library</span>(<span class="st">"mkin"</span>, <span class="dt">quietly =</span> <span class="ot">TRUE</span>)
+<span class="co"># Define the kinetic model</span>
m_SFO_SFO_SFO &lt;-<span class="st"> </span><span class="kw"><a href="../reference/mkinmod.html">mkinmod</a></span>(<span class="dt">parent =</span> <span class="kw"><a href="../reference/mkinsub.html">mkinsub</a></span>(<span class="st">"SFO"</span>, <span class="st">"M1"</span>),
<span class="dt">M1 =</span> <span class="kw"><a href="../reference/mkinsub.html">mkinsub</a></span>(<span class="st">"SFO"</span>, <span class="st">"M2"</span>),
<span class="dt">M2 =</span> <span class="kw"><a href="../reference/mkinsub.html">mkinsub</a></span>(<span class="st">"SFO"</span>),
diff --git a/docs/articles/twa.html b/docs/articles/twa.html
index 0a4df0ff..f141ce63 100644
--- a/docs/articles/twa.html
+++ b/docs/articles/twa.html
@@ -77,7 +77,7 @@
<h1>Calculation of time weighted average concentrations with mkin</h1>
<h4 class="author">Johannes Ranke</h4>
- <h4 class="date">2017-11-16</h4>
+ <h4 class="date">2018-01-14</h4>
</div>

Contact - Imprint