<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mkin/R/mkinpredict.R, branch v1.0.3</title>
<subtitle>Fitting kinetic models to chemical degradation data (also on github)</subtitle>
<id>https://erac.jrwb.de/mkin/atom?h=v1.0.3</id>
<link rel='self' href='https://erac.jrwb.de/mkin/atom?h=v1.0.3'/>
<link rel='alternate' type='text/html' href='https://erac.jrwb.de/mkin/'/>
<updated>2020-12-09T20:35:02Z</updated>
<entry>
<title>Make saem using mkinpredict work again</title>
<updated>2020-12-09T20:35:02Z</updated>
<author>
<name>Johannes Ranke</name>
<email>jranke@uni-bremen.de</email>
</author>
<published>2020-12-09T20:29:18Z</published>
<link rel='alternate' type='text/html' href='https://erac.jrwb.de/mkin/commit/?id=b8b60ef92c605e862294fd29c51e20e31e0ded81'/>
<id>urn:sha1:b8b60ef92c605e862294fd29c51e20e31e0ded81</id>
<content type='text'>
I threw out mclapply as it did not play well with the linear algebra
routines used in the saemix code. Most of the change is actually
indentation in the code creating the model function. But there
is an important fix in mkinpredict which I had broken.
</content>
</entry>
<entry>
<title>Attempt to be more failsafe in saemix runs</title>
<updated>2020-12-07T09:49:31Z</updated>
<author>
<name>Johannes Ranke</name>
<email>jranke@uni-bremen.de</email>
</author>
<published>2020-12-07T09:49:31Z</published>
<link rel='alternate' type='text/html' href='https://erac.jrwb.de/mkin/commit/?id=d3531ffa0d1f190920174105facf799dd6c3a851'/>
<id>urn:sha1:d3531ffa0d1f190920174105facf799dd6c3a851</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improved way to have persistent DLLs for mkinmod</title>
<updated>2020-11-27T20:19:19Z</updated>
<author>
<name>Johannes Ranke</name>
<email>jranke@uni-bremen.de</email>
</author>
<published>2020-11-27T17:35:56Z</published>
<link rel='alternate' type='text/html' href='https://erac.jrwb.de/mkin/commit/?id=1e3fd1bef2a0ec1c8b73fcfefdd62fd3463bc87c'/>
<id>urn:sha1:1e3fd1bef2a0ec1c8b73fcfefdd62fd3463bc87c</id>
<content type='text'>
Depends on inline &gt;= 0.16.2 (including the bug fixes from
eddelbuettel/inline#18), which provides 'moveDLL' to store the DLL for a
compiled function in a safe place in case the argument 'dll_dir' is
specified in the call to 'mkinmod'.

Huge thanks to Dirk @eddelbuettel for his review and support
for the work on the inline package.
</content>
</entry>
<entry>
<title>Support storing mkinmod compiled code as CFunc objects</title>
<updated>2020-11-24T00:46:57Z</updated>
<author>
<name>Johannes Ranke</name>
<email>jranke@uni-bremen.de</email>
</author>
<published>2020-11-20T18:43:46Z</published>
<link rel='alternate' type='text/html' href='https://erac.jrwb.de/mkin/commit/?id=503441b0a958c1df50df0ee7cfc3bde4ea1b1865'/>
<id>urn:sha1:503441b0a958c1df50df0ee7cfc3bde4ea1b1865</id>
<content type='text'>
With automatic reloading in mkinfit and mkinpredict in case the
DLL is not loaded and the original DLL path has been cleaned up.

Depends on jranke/inline@974bdea04fcedfafaab231e6f359c88270b56cb9

See inline#13
</content>
</entry>
<entry>
<title>Create saem generic for fitting saemix models</title>
<updated>2020-11-07T11:54:58Z</updated>
<author>
<name>Johannes Ranke</name>
<email>jranke@uni-bremen.de</email>
</author>
<published>2020-11-07T11:54:58Z</published>
<link rel='alternate' type='text/html' href='https://erac.jrwb.de/mkin/commit/?id=2e37905a7bf0d72751ee7326ef05a268989e49b2'/>
<id>urn:sha1:2e37905a7bf0d72751ee7326ef05a268989e49b2</id>
<content type='text'>
The reasons for this decision were
- Creating an saemix generic in the saemix package caused problems with
  roxygen, because functions like saemix.plot.xy were documented in
  their help files as S3 methods, although explicitly exported with
  @export
- Creating an saemix generic in this package is possible, but would
  make it necessary to load samix with exclude = "saemix" in order to
  avoid overwriting the generic when loading saemix.
- The return object of such an saemix generic in this package cannot
  be an S3 class with class attribute c("saemix.mmkin", "SaemixObject")
  similar to nlme.mmkin, as saemix returns an S4 class.
- Extending the S4 class SaemixObject using simple inheritance to
  a class SaemixMmkinObject with additional slots did not work
  as expected.  When the initialize method was left untouched, it
  prevented creation of an SaemixMmkinObject even if it was based
  on an initialised SaemixObject, as the initialize method seems
  to always be called by new(). This could potentially be circumvented
  by a coerce method. If an alternative initialize method was
  used, an SaemixMmkinObject could be created. However, the methods
  written for SaemixObjects only worked in some instances, either
  because they checked for the class, and not for class inheritance
  (like compare.saemix), or because the initialize method was called
  for some reason. Therefore, the idea of creating a derived S4 class
  was abandoned.
- A side effect of this decision is that the introduction of the saem
  generic opens the possibility to use the same generic also for other
  backends like nlmixr with the SAEM algorithm.
</content>
</entry>
<entry>
<title>Make deSolve predictions within saemix robust</title>
<updated>2020-11-07T10:54:13Z</updated>
<author>
<name>Johannes Ranke</name>
<email>jranke@uni-bremen.de</email>
</author>
<published>2020-11-07T10:54:13Z</published>
<link rel='alternate' type='text/html' href='https://erac.jrwb.de/mkin/commit/?id=cda47972e2b6a9610e3118dcd2270d7a1c76de3d'/>
<id>urn:sha1:cda47972e2b6a9610e3118dcd2270d7a1c76de3d</id>
<content type='text'>
Also, exclude the saemix function when loading saemix in the example
code, to prevent overriding our generic
</content>
</entry>
<entry>
<title>Add comment</title>
<updated>2020-05-18T10:11:13Z</updated>
<author>
<name>Johannes Ranke</name>
<email>jranke@uni-bremen.de</email>
</author>
<published>2020-05-18T10:11:13Z</published>
<link rel='alternate' type='text/html' href='https://erac.jrwb.de/mkin/commit/?id=f345762ddcdac65b0d565c7a622d32c1f849e7c7'/>
<id>urn:sha1:f345762ddcdac65b0d565c7a622d32c1f849e7c7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve documentation, now using a spell checker</title>
<updated>2020-05-12T08:58:25Z</updated>
<author>
<name>Johannes Ranke</name>
<email>jranke@uni-bremen.de</email>
</author>
<published>2020-05-12T08:58:25Z</published>
<link rel='alternate' type='text/html' href='https://erac.jrwb.de/mkin/commit/?id=01284e456dc6df8e064a7a42f194fcd81d9ce7a1'/>
<id>urn:sha1:01284e456dc6df8e064a7a42f194fcd81d9ce7a1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Avoid merge() and data.frame() in cost function</title>
<updated>2020-05-11T03:18:32Z</updated>
<author>
<name>Johannes Ranke</name>
<email>jranke@uni-bremen.de</email>
</author>
<published>2020-05-11T03:15:19Z</published>
<link rel='alternate' type='text/html' href='https://erac.jrwb.de/mkin/commit/?id=234c9059a95e104917e488a6ddd2313234a96cdc'/>
<id>urn:sha1:234c9059a95e104917e488a6ddd2313234a96cdc</id>
<content type='text'>
also for deSolve and eigenvalue based solutions. This noticeably increases
performance for these methods, see test.log and benchmark vignette.
</content>
</entry>
<entry>
<title>Avoid the call to merge for analytical solutions</title>
<updated>2020-05-09T19:18:42Z</updated>
<author>
<name>Johannes Ranke</name>
<email>jranke@uni-bremen.de</email>
</author>
<published>2020-05-09T19:18:42Z</published>
<link rel='alternate' type='text/html' href='https://erac.jrwb.de/mkin/commit/?id=efab37957381919c21d874906ce870f4941c760a'/>
<id>urn:sha1:efab37957381919c21d874906ce870f4941c760a</id>
<content type='text'>
This increases performance up to a factor of five!
</content>
</entry>
</feed>
