<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Appl. Math. Stat.</journal-id>
<journal-title>Frontiers in Applied Mathematics and Statistics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Appl. Math. Stat.</abbrev-journal-title>
<issn pub-type="epub">2297-4687</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fams.2017.00020</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Applied Mathematics and Statistics</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>A Robust and Efficient Numerical Method for RNA-Mediated Viral Dynamics</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Reinharz</surname> <given-names>Vladimir</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/473502/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Churkin</surname> <given-names>Alexander</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/458391/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Dahari</surname> <given-names>Harel</given-names></name>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Barash</surname> <given-names>Danny</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="author-notes" rid="fn001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/175842/overview"/>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>Department of Computer Science, Ben-Gurion University of the Negev</institution>, <addr-line>Beer-Sheva</addr-line>, <country>Israel</country></aff>
<aff id="aff2"><sup>2</sup><institution>Department of Software Engineering, Sami Shamoon College of Engineering</institution>, <addr-line>Beer-Sheva</addr-line>, <country>Israel</country></aff>
<aff id="aff3"><sup>3</sup><institution>Program for Experimental and Theoretical Modeling, Division of Hepatology, Department of Medicine, Loyola University Medical Center</institution>, <addr-line>Maywood, IL</addr-line>, <country>United States</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Henri Orland, UMR3681 Institut de Physique Th&#x000E9;orique (IPhT), France</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Marc Delarue, Institut Pasteur, France; Fr&#x000E9;d&#x000E9;ric Poitevin, Stanford University, United States; Graziano Vernizzi, Siena College, United States</p></fn>
<fn fn-type="corresp" id="fn001"><p>&#x0002A;Correspondence: Danny Barash <email>dbarash&#x00040;cs.bgu.ac.il</email></p></fn>
<fn fn-type="other" id="fn002"><p>This article was submitted to Mathematics of Biomolecules, a section of the journal Frontiers in Applied Mathematics and Statistics</p></fn></author-notes>
<pub-date pub-type="epub">
<day>31</day>
<month>10</month>
<year>2017</year>
</pub-date>
<pub-date pub-type="collection">
<year>2017</year>
</pub-date>
<volume>3</volume>
<elocation-id>20</elocation-id>
<history>
<date date-type="received">
<day>29</day>
<month>06</month>
<year>2017</year>
</date>
<date date-type="accepted">
<day>18</day>
<month>10</month>
<year>2017</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2017 Reinharz, Churkin, Dahari and Barash.</copyright-statement>
<copyright-year>2017</copyright-year>
<copyright-holder>Reinharz, Churkin, Dahari and Barash</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) or licensor are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license>
</permissions>
<abstract><p>The multiscale model of hepatitis C virus (HCV) dynamics, which includes intracellular viral RNA (vRNA) replication, has been formulated in recent years in order to provide a new conceptual framework for understanding the mechanism of action of a variety of agents for the treatment of HCV. We present a robust and efficient numerical method that belongs to the family of adaptive stepsize methods and is implicit, a Rosenbrock type method that is highly suited to solve this problem. We provide a Graphical User Interface that applies this method and is useful for simulating viral dynamics during treatment with anti-HCV agents that act against HCV on the molecular level.</p></abstract>
<kwd-group>
<kwd>hepatitis C virus</kwd>
<kwd>multiscale model</kwd>
<kwd>age-structured model</kwd>
<kwd>RNA-mediated viral dynamics</kwd>
<kwd>partial differential equations</kwd>
<kwd>numerical solution</kwd>
<kwd>Rosenbrock method</kwd>
</kwd-group>
<contract-num rid="cn001">R01-AI078881</contract-num>
<contract-sponsor id="cn001">National Institutes of Health<named-content content-type="fundref-id">10.13039/100000002</named-content></contract-sponsor>
<contract-sponsor id="cn002">Azrieli Foundation<named-content content-type="fundref-id">10.13039/501100005155</named-content></contract-sponsor>
<contract-sponsor id="cn003">Fonds de Recherche du Qu&#x000E9;bec-Soci&#x000E9;t&#x000E9; et Culture<named-content content-type="fundref-id">10.13039/100008240</named-content></contract-sponsor>
<counts>
<fig-count count="8"/>
<table-count count="7"/>
<equation-count count="22"/>
<ref-count count="61"/>
<page-count count="13"/>
<word-count count="7964"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1. Introduction</title>
<p>Approximately 71 million people worldwide are affected by chronic hepatitis C viral (HCV) infection, which is the primary cause of liver cirrhosis, liver cancer and liver transplant [<xref ref-type="bibr" rid="B1">1</xref>]. Approximately 400,000 people die each year from HCV, mostly from cirrhosis and hepatocellular carcinoma [<xref ref-type="bibr" rid="B2">2</xref>]. There is no vaccine for HCV and for more than a decade the standard-of-care of pegylated interferon-alpha (IFN) and ribavirin was suboptima [<xref ref-type="bibr" rid="B3">3</xref>]. However the recent advent of direct-acting antivirals (DAAs) allows for interferon-free, all-oral treatment yielding cure rates exceeding 90% with pangenotypic activity and shorter durations of therapy (8&#x02013;24 weeks) compared to IFN-based therapy (24&#x02013;48 weeks [<xref ref-type="bibr" rid="B4">4</xref>]). While these highly effective DAAs are considered one of the greatest achievements in medicine, significant challenges remain for eliminating HCV infection such as finding an optimal approach to current DAA failures, preventing re-infection, identifying all those infected and the high cost of the new DAAs which represents a major barrier to treating the populations that are most affected by HCV [<xref ref-type="bibr" rid="B3">3</xref>]. Thus, there exists a continuing need for more affordable therapies, as well as an effective vaccine [<xref ref-type="bibr" rid="B5">5</xref>].</p>
<p>Mathematical models are valuable tools for understanding the <italic>in vivo</italic> serum dynamics of viruses that trigger both persistent infection (e.g., HIV-1 [<xref ref-type="bibr" rid="B6">6</xref>&#x02013;<xref ref-type="bibr" rid="B9">9</xref>], hepatitis B virus [<xref ref-type="bibr" rid="B10">10</xref>&#x02013;<xref ref-type="bibr" rid="B12">12</xref>], hepatitis D virus [<xref ref-type="bibr" rid="B13">13</xref>&#x02013;<xref ref-type="bibr" rid="B15">15</xref>], Theiler murine encephalomyelitis virus [<xref ref-type="bibr" rid="B16">16</xref>], herpes simplex virus [<xref ref-type="bibr" rid="B17">17</xref>] and HCV [<xref ref-type="bibr" rid="B18">18</xref>&#x02013;<xref ref-type="bibr" rid="B20">20</xref>]) and acute infection (e.g., influenza A [<xref ref-type="bibr" rid="B21">21</xref>&#x02013;<xref ref-type="bibr" rid="B23">23</xref>] and ebola [<xref ref-type="bibr" rid="B24">24</xref>]). Mathematical modeling is also improving our understanding of intracellular viral genome dynamics [<xref ref-type="bibr" rid="B25">25</xref>&#x02013;<xref ref-type="bibr" rid="B28">28</xref>] and the quantitative events that underlie the immune response to pathogens [<xref ref-type="bibr" rid="B6">6</xref>, <xref ref-type="bibr" rid="B9">9</xref>]. The standard model for HCV kinetics during treatment provided many insights into the effectiveness and mechanism of action of IFN and ribavirin (reviewed in [<xref ref-type="bibr" rid="B29">29</xref>, <xref ref-type="bibr" rid="B30">30</xref>]). This model has been able to retrospectively predict the duration of treatment needed for HCV eradication (cure) [<xref ref-type="bibr" rid="B31">31</xref>&#x02013;<xref ref-type="bibr" rid="B35">35</xref>] and more recently was used in real-time (on treatment) to predict the duration of therapy needed to achieve cure with an IFN-free regimen of silibinin &#x0002B;ribarivin [<xref ref-type="bibr" rid="B36">36</xref>]. In the age of DAAs, new models are being developed to meet the challenge associated with these new agents [<xref ref-type="bibr" rid="B37">37</xref>&#x02013;<xref ref-type="bibr" rid="B39">39</xref>]. Notably, the first age-based multiscale mathematical model for HCV kinetics has been developed [<xref ref-type="bibr" rid="B25">25</xref>, <xref ref-type="bibr" rid="B40">40</xref>, <xref ref-type="bibr" rid="B41">41</xref>] providing a more comprehensive understanding of viral treatment response kinetics observed in patients treated with IFN, HCV protease inhibitors (telaprevir and danoprevir), or the HCV NS5A inhibitor daclatasvir as well as modes of action of these drugs.</p>
<p>The aforementioned model is an extension to the classical Neumann et al. biphasic model [<xref ref-type="bibr" rid="B20">20</xref>] that was introduced in 1998 and treated the infected cell as a &#x0201C;black box,&#x0201D; producing virions but without any consideration of the intracellular viral RNA replication and degradation within the infected cell [<xref ref-type="bibr" rid="B26">26</xref>, <xref ref-type="bibr" rid="B27">27</xref>, <xref ref-type="bibr" rid="B42">42</xref>]. The biphasic model is a set of three ordinary differential equations (ODEs) with three variables: uninfected target cells (<italic>T</italic>), productively infected cells (<italic>I</italic>), and extracellular virus in blood (<italic>V</italic>). The multiscale model considers the intracellular viral RNA as an additional equation for the variable (<italic>R</italic>), with the introduction of age-dependency and time-dependency, making it a partial differential equation (PDE) model. When this multiscale model is used to study the dynamics of HCV infection under therapy with DAAs it includes both intracellular viral RNA replication/degradation and extracellular viral RNA (i.e., virus particles) with age-dependency and time-dependency. As such, it is considerably more difficult to solve compared to the standard biphasic model. Previously short-term and long-term analytical approximations were derived [<xref ref-type="bibr" rid="B25">25</xref>, <xref ref-type="bibr" rid="B41">41</xref>, <xref ref-type="bibr" rid="B43">43</xref>]. In the short-term approximation, it was assumed that after therapy is initiated the infected cells maintain their steady-state levels of HCV, whereas in the long-term approximation all new infections after the onset of therapy are neglected. While the short-term approximation has been shown to be precise only in the first half-day of treatment, the long-term approximation is in agreement after several days post-treatment initiation with a simple numerical solution that utilized a canned solver (an ODE solver used in higher level languages such as Matlab and Mathematica, or Python) [<xref ref-type="bibr" rid="B41">41</xref>].</p>
<p>In this paper, we provide a robust and efficient numerical method for solving the multiscale model. The goal is to considerably improve the numerical solution presented in Rong et al. [<xref ref-type="bibr" rid="B41">41</xref>] that used a canned solver (an ODE solver used in higher level languages such as Matlab and Mathematica, or Python), making the numerical solution a flexible and robust entity alongside the analytical approximations. As it turns out, because of the properties of this multiscale model and the fact that the differential equations are stiff, some advanced numerical methods that involve adaptive stepsize are needed. To begin with, the use of a canned solver should be replaced with a full-fledged solver because of the additional integral introduced in the multiscale model for the variable <italic>V</italic> that needs to be computed at each time step. Unlike the construction of numerical schemes in other applications, for example in the non-linear diffusion of digital images [<xref ref-type="bibr" rid="B44">44</xref>&#x02013;<xref ref-type="bibr" rid="B46">46</xref>] where accuracy can be limited, herein it is adviseable to construct a stable and efficient scheme that belongs to the Runge-Kutta family with at least a fourth order of accuracy. However, due to the nature of the differential equations that are stiff and the additional integral that needs to be evaluated at each time step, implicit solvers with adaptive stepsize are considerably more stable and efficient than the standard Runge-Kutta fourth order method. We implement implicit schemes with adaptive stepsize [<xref ref-type="bibr" rid="B47">47</xref>] that are highly efficient and stable for use in the multiscale model with age of hepatitis C virus dynamics.</p>
<p>The main contribution of this manuscript is in the use of the Rosenbrock method to solve the pre-existing multiscale model of hepatitis C virus (a system of PDEs), and to provide an open-access graphical user interference (GUI) to solve and simulate the model numerically. To the best of our knowledge, this is the first numerical simulator with a graphical user interface developed for the multiscale model. In addition, a detailed presentation of the Rosenbrock method is provided, as well as updated results. The paper is organized as follows. Section 2 provides the mathematical background for the model. In section 3, we provide the details of the Rosenbrock method including a step-by-step derivation starting from the standard Runge-Kutta fourth order, describing how we applied it to solve our problem. Section 4 presents and discusses the results achieved with our implementation of the Rosenbrock method, culminating with a description of the multiscale model simulator that we developed and is provided for general use. We conclude the paper with a summary of our results and future work.</p>
</sec>
<sec id="s2">
<title>2. Mathematical background</title>
<sec>
<title>2.1. The standard HCV model</title>
<p>The standard model that has been used and modified for studying hepatitis C viral dynamics is the Neumann et al. model [<xref ref-type="bibr" rid="B20">20</xref>]. The three variables this model keeps track of are the target cells <italic>T</italic>, in Equation (1a), the infected cells <italic>I</italic> in Equation (1b) and the extracellular virus <italic>V</italic> in Equation (1c). The target cells <italic>T</italic> are produced at constant rate <italic>s</italic>, and decreased by the number of cells infected by virus in blood <italic>V</italic> at constant rate &#x003B2; and their death rate <italic>d</italic>. The infected cells, <italic>I</italic>, increase with the new infections at rate &#x003B2;<italic>V</italic>(<italic>t</italic>)<italic>T</italic>(<italic>t</italic>) and die at constant rate &#x003B4;. The virus <italic>V</italic> is produced at rate <italic>p</italic> by each infected cell and is cleared at constant rate <italic>c</italic>. The &#x003F5; term denotes the effectiveness of the anti-viral treatment that decreases viral production from <italic>p</italic> to (1 &#x02212; &#x003F5;)<italic>p</italic>. The previously established ensemble of ODEs for this model is:</p>
<disp-formula id="E1"><mml:math id="M1"><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mfrac><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>T</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:mi>V</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mi>d</mml:mi><mml:mi>T</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mn>1</mml:mn><mml:mtext>a</mml:mtext><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mfrac><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>I</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:mi>V</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B4;</mml:mi><mml:mi>I</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mn>1</mml:mn><mml:mtext>b</mml:mtext><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mfrac><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>V</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003F5;</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mi>p</mml:mi><mml:mi>I</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mi>c</mml:mi><mml:mi>V</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mn>1</mml:mn><mml:mtext>c</mml:mtext><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>From the mathematical perspective, the model is simple and can be solved analytically by appropriate assumptions.</p>
</sec>
<sec>
<title>2.2. The HCV age-based multiscale model</title>
<p>The multiscale model of HCV dynamics has been formulated in recent years [<xref ref-type="bibr" rid="B25">25</xref>, <xref ref-type="bibr" rid="B41">41</xref>, <xref ref-type="bibr" rid="B43">43</xref>] in order to study HCV dynamics in patients and decide among various treatment options. Figure <xref ref-type="fig" rid="F1">1</xref> depicts a systematic overview of the model, which is described by the following partial differential equations (PDEs):</p>
<disp-formula id="E2"><mml:math id="M2"><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mfrac><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>T</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:mi>V</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mi>d</mml:mi><mml:mi>T</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mn>2</mml:mn><mml:mtext>a</mml:mtext><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mi>I</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mi>I</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mi>a</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B4;</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mi>I</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mn>2</mml:mn><mml:mtext>b</mml:mtext><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mfrac><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>V</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>&#x003F5;</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mstyle displaystyle='true'><mml:mrow><mml:msubsup><mml:mo>&#x0222B;</mml:mo><mml:mn>0</mml:mn><mml:mi>&#x0221E;</mml:mi></mml:msubsup><mml:mi>&#x003C1;</mml:mi></mml:mrow></mml:mstyle><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mi>R</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mi>I</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mtext>d</mml:mtext><mml:mi>a</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>c</mml:mi><mml:mi>V</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mn>2</mml:mn><mml:mtext>c</mml:mtext><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mi>R</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mi>R</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mi>a</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>&#x003F5;</mml:mi><mml:mi>&#x003B1;</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mi>&#x003B1;</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mtext>&#x000A0;</mml:mtext></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mtext>&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;</mml:mtext><mml:mo>&#x02212;</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>&#x003F5;</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mi>&#x003C1;</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>+</mml:mo><mml:mi>&#x003BA;</mml:mi><mml:mi>&#x003BC;</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mi>R</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mn>2</mml:mn><mml:mtext>d</mml:mtext><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>subject to the boundary conditions <italic>I</italic>(0, <italic>t</italic>) &#x0003D; &#x003B2;<italic>V</italic>(<italic>t</italic>)<italic>T</italic>(<italic>t</italic>), <italic>I</italic>(<italic>a</italic>, 0) &#x0003D; &#x0012A;(<italic>a</italic>), <italic>R</italic>(0, <italic>t</italic>) &#x0003D; 1, and <inline-formula><mml:math id="M3"><mml:mi>R</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mo>&#x0002D;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>A systematic overview of the multiscale model. The multiscale model accounts for the intracellular HCV RNA (vRNA) replication, <italic>R</italic>, i.e., synthesis, degradation and assembly/secretion with rate parameters &#x003B1;, &#x003BC;, and &#x003C1;, respectively. Treatment (parameters in red) may block vRNA synthesis with effectiveness &#x003F5;<sub>&#x003B1;</sub>, with an additional time-dependent drug-mediated decrease <italic>e</italic><sup>&#x02212;&#x003B3;<italic>t</italic></sup> and/or virion assembly/secretion with effectiveness &#x003F5;<sub><italic>s</italic></sub> and/or enhance the degradation rate of vRNA by a factor &#x003BA;. <italic>T</italic> and <italic>I</italic> represent target and infected cells, respectively, and <italic>V</italic> represents extracellular virus. Target cells are created and die with constant rates <italic>s</italic> and <italic>d</italic> (shown as <italic>D</italic> in the GUI), respectively, and can be infected by virus, <italic>V</italic>, with rate constant &#x003B2;. Infected cells, <italic>I</italic>, are lost with rate constant &#x003B4; and virus, <italic>V</italic>, is cleared from blood with rate constant <italic>c</italic>.</p></caption>
<graphic xlink:href="fams-03-00020-g0001.tif"/>
</fig>
<p>The variable <italic>I</italic>(<italic>a, t</italic>) for infected cells, that existed in the standard model as simply <italic>I</italic>(<italic>t</italic>), and the newly introduced variable <italic>R</italic>(<italic>a, t</italic>) for intracellular viral RNA (vRNA) both depend on the age of infection <italic>a</italic> and the time duration from therapy initiation <italic>t</italic>. Hence, <italic>a</italic> and <italic>t</italic> are two different times, with the use of partial derivatives in Equations (2b) and (2d). Model parameters of <italic>T</italic>, Equation (2a), and <italic>I</italic>, Equation (2b), are similar to the standard model. The quantity of vRNA <italic>R</italic>, in Equation (2d), depends on its synthesis &#x003B1; and its degradation &#x003BC; and secretion from the cell as virus particles &#x003C1;. The quantity of extracellular virus <italic>V</italic> shown in Equation (2c) depends on the number of assembled and released virions and their clearance rate <italic>c</italic>. A schematic description of the multiscale model is shown in Figure <xref ref-type="fig" rid="F1">1</xref>.</p>
<p>An important consideration in this model is that the treatment starts after the infection has reached its steady state. The steady states of the different functions are <inline-formula><mml:math id="M4"><mml:mover accent="true"><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mo>&#x0002D;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>, &#x0012A;(<italic>a, t</italic>), <inline-formula><mml:math id="M5"><mml:mover accent="true"><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mo>&#x0002D;</mml:mo></mml:mover></mml:math></inline-formula> and <inline-formula><mml:math id="M6"><mml:mover accent="true"><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mo>&#x0002D;</mml:mo></mml:mover></mml:math></inline-formula>. Given <italic>N</italic>, the total number of virions produced by a cell in its life-span, it was shown in Rong et al. [<xref ref-type="bibr" rid="B41">41</xref>] that those values are:</p>
<disp-formula id="E3"><label>(3)</label><mml:math id="M7"><mml:mrow><mml:mtable columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mi>N</mml:mi></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>&#x003C1;</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>&#x003B1;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x003B4;</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x003B4;</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>&#x003C1;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x003BC;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x003B4;</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mover accent='true'><mml:mi>R</mml:mi><mml:mo>&#x000AF;</mml:mo></mml:mover><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mi>&#x003B1;</mml:mi><mml:mrow><mml:mi>&#x003C1;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x02212;</mml:mo><mml:mfrac><mml:mi>&#x003B1;</mml:mi><mml:mrow><mml:mi>&#x003C1;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac><mml:mo stretchy='false'>)</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mi>&#x003C1;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x003BC;</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mover accent='true'><mml:mi>I</mml:mi><mml:mo>&#x000AF;</mml:mo></mml:mover><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo>=</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:mover accent='true'><mml:mi>V</mml:mi><mml:mo>&#x000AF;</mml:mo></mml:mover><mml:mover accent='true'><mml:mi>T</mml:mi><mml:mo>&#x000AF;</mml:mo></mml:mover><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B4;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mover accent='true'><mml:mi>T</mml:mi><mml:mo>&#x000AF;</mml:mo></mml:mover></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo>=</mml:mo><mml:mi>c</mml:mi><mml:mo>/</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:mi>N</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mover accent='true'><mml:mi>V</mml:mi><mml:mo>&#x000AF;</mml:mo></mml:mover></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mo>=</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:mi>N</mml:mi><mml:mi>s</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>d</mml:mi><mml:mi>c</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>/</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:mi>c</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>
<p>Unlike the standard model, three different antiviral effects of therapy can be simulated in the multiscale model. The decrease in viral RNA synthesis is represented by &#x003B5;<sub>&#x003B1;</sub>, the reduction in secretion by &#x003B5;<sub><italic>s</italic></sub> and the increase in viral degradation by &#x003BA; &#x02265; 1.</p>
<p>Through the method of characteristics, as was derived in Rong et al. [<xref ref-type="bibr" rid="B41">41</xref>], an analytical solution was found for the variable <italic>R</italic>(<italic>a, t</italic>). The same method was applied to derive a solution for <italic>I</italic>(<italic>a, t</italic>). The ensemble of Equations (2) represents the full model. The analytical solutions for <italic>R</italic>(<italic>a, t</italic>) and <italic>I</italic>(<italic>a, t</italic>) were described as follows:</p>
<disp-formula id="E4"><label>(4)</label><mml:math id="M8"><mml:mrow><mml:mi>R</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mrow><mml:mfrac><mml:mi>&#x003B1;</mml:mi><mml:mrow><mml:mi>&#x003C1;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x02212;</mml:mo><mml:mfrac><mml:mi>&#x003B1;</mml:mi><mml:mrow><mml:mi>&#x003C1;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:msup><mml:mtext>e</mml:mtext><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mo stretchy='false'>[</mml:mo><mml:mi>&#x003C1;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x003BC;</mml:mi><mml:mo stretchy='false'>]</mml:mo><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>a</mml:mi><mml:mo>&#x0003C;</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mfrac><mml:mi>&#x003B1;</mml:mi><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mi>&#x003C1;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x003BC;</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover accent='true'><mml:mi>R</mml:mi><mml:mo>&#x000AF;</mml:mo></mml:mover><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mfrac><mml:mi>&#x003B1;</mml:mi><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mi>&#x003C1;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x003BC;</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mfrac></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:msup><mml:mtext>e</mml:mtext><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mi>&#x003C1;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x003BC;</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>a</mml:mi><mml:mo>&#x02265;</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>
<disp-formula id="E5"><label>(5)</label><mml:math id="M9"><mml:mrow><mml:mi>I</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mi>&#x003B2;</mml:mi><mml:mi>V</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>a</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>a</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:msup><mml:mtext>e</mml:mtext><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B4;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mi>a</mml:mi><mml:mo>&#x0003C;</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mover accent='true'><mml:mi>I</mml:mi><mml:mo>&#x000AF;</mml:mo></mml:mover><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:msup><mml:mtext>e</mml:mtext><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B4;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mi>a</mml:mi><mml:mo>&#x02265;</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>From the system of Equations (2) it can be noticed that computing <italic>V</italic>(<italic>t</italic>) necessitates an integral. If <italic>a</italic> &#x0003C; <italic>t</italic>, in other words the cell age is younger than the time of treatment, i.e., infection occurs after initiation of treatment, the term <italic>I</italic>(<italic>a, t</italic>) of the integral in Equation (2) depends itself on <italic>V</italic>(<italic>t</italic>) and <italic>T</italic>(<italic>t</italic>) by consideration of Equation (5). As was shown in Guedj et al., Rong et al., Rong and Perelson [<xref ref-type="bibr" rid="B25">25</xref>, <xref ref-type="bibr" rid="B41">41</xref>, <xref ref-type="bibr" rid="B43">43</xref>], this makes the analytical solution for <italic>V</italic>(<italic>t</italic>) approximative.</p>
</sec>
</sec>
<sec sec-type="materials and methods" id="s3">
<title>3. Materials and methods</title>
<p>The mathematical difficulties in deriving the long-term approximation, itself imprecise, hinders the generalization to more complex models. Numerical solutions are time consuming unless an efficient method with an adaptive stepsize is implemented, herein the Rosenbrock method [<xref ref-type="bibr" rid="B47">47</xref>]. We present how it derives from the Runge-Kutta family methods and its implementation for solving the model shown in Equation 2.</p>
<p>Runge-Kutta methods rely on computing the weighted average of a small increment from the starting position [<xref ref-type="bibr" rid="B48">48</xref>]. Those weights, <italic>b</italic><sub><italic>i</italic></sub>, are predetermined. An advantage of these methods is that because of the use of Taylor series there exist a different set of weights <inline-formula><mml:math id="M10"><mml:msubsup><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, also known, that allow to compute directly the approximation error. The number of terms needed to compute the next value is called the order <italic>S</italic>.</p>
<sec>
<title>3.1. A general introduction to the rosenbrock method</title>
<p>In this section we wish to approximate the function <italic>y</italic>(<italic>t</italic>) for solving the differential equation <inline-formula><mml:math id="M11"><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>, where <italic>f</italic>(<italic>t, y</italic>) is known. Finite-difference methods of higher order are used. Given a known value of <italic>y</italic> at time step <italic>n</italic>, <italic>y</italic><sub><italic>n</italic></sub>, compute the value at the next time step <italic>y</italic><sub><italic>n</italic>&#x0002B;1</sub> by means of <italic>f</italic>(<italic>t</italic><sub><italic>n</italic></sub>, <italic>y</italic><sub><italic>n</italic></sub>).</p>
<sec>
<title>3.1.1. Explicit runge-kutta</title>
<p>The explicit Runge-Kutta family is a generalization of the Euler method to higher order:</p>
<disp-formula id="E6"><label>(6)</label><mml:math id="M12"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>h</mml:mi><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>S</mml:mi></mml:munderover><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mstyle><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula>
<disp-formula id="E7"><label>(7)</label><mml:math id="M13"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mtext>&#x000A0;+&#x000A0;</mml:mtext><mml:mi>h</mml:mi><mml:mtext>,</mml:mtext></mml:mrow></mml:math></disp-formula>
<p>where</p>
<disp-formula id="E8"><label>(8)</label><mml:math id="M14"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>h</mml:mi><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle><mml:msub><mml:mi>k</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:math></disp-formula>
<p>and <italic>a</italic><sub><italic>ij</italic></sub>, <italic>b</italic><sub><italic>i</italic></sub>, <italic>c</italic><sub><italic>i</italic></sub> are pre-determined constants. They are usually displayed in a Butcher tableau as in Table <xref ref-type="table" rid="T1">1</xref>. It is important to note the limits of the summation in Equation (8), from 1 to <italic>i</italic>&#x02212;1. In this manner, it is straight forward to compute <italic>k</italic><sub><italic>i</italic></sub> at every step. A drawback of this method is the lack of stability for stiff problems [<xref ref-type="bibr" rid="B49">49</xref>]. The implicit Runge-Kutta methods are offering a solution to the instability problem.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Butcher tableau for explicit Runge-Kutta, missing values are null as the <italic>c</italic><sub>1</sub> row.</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td valign="top" align="left" style="border-right: thin solid #000000;"><italic>c</italic><sub>2</sub></td>
<td valign="top" align="left"><italic>a</italic><sub>21</sub></td>
<td/>
<td/>
<td/>
</tr>
<tr>
<td valign="top" align="left" style="border-right: thin solid #000000;">&#x022EE;</td>
<td valign="top" align="left">&#x022EE;</td>
<td valign="top" align="left">&#x022F1;</td>
<td/>
<td/>
</tr>
<tr style="border-bottom: thin solid #000000;">
<td valign="top" align="left" style="border-right: thin solid #000000;"><italic>c</italic><sub><italic>S</italic></sub></td>
<td valign="top" align="left"><italic>a</italic><sub><italic>S</italic>1</sub></td>
<td valign="top" align="left">&#x022EF;&#x02009;</td>
<td valign="top" align="left"><italic>a</italic><sub><italic>S,S</italic>&#x02212;1</sub></td>
<td/>
</tr>
<tr>
<td style="border-right: thin solid #000000;"/>
<td valign="top" align="left"><italic>b</italic><sub>1</sub></td>
<td valign="top" align="center" colspan="2">&#x022EF;&#x02009;</td>
<td valign="top" align="left"><italic>b</italic><sub><italic>S</italic></sub></td>
</tr>
<tr>
<td style="border-right: thin solid #000000;"/>
<td valign="top" align="left"><inline-formula><mml:math id="M15"><mml:msubsup><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td valign="top" align="center" colspan="2">&#x022EF;&#x02009;</td>
<td valign="top" align="left"><inline-formula><mml:math id="M16"><mml:msubsup><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec>
<title>3.1.2. Implicit runge-kutta</title>
<p>The implicit Runge-Kutta methods are themselves a more stable version of the explicit Runge-Kutta family [<xref ref-type="bibr" rid="B48">48</xref>], which is recommended to be used in stiff problems. The equations extend to:</p>
<disp-formula id="E9"><label>(9)</label><mml:math id="M17"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>h</mml:mi><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>S</mml:mi></mml:munderover><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mstyle><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula>
<disp-formula id="E10"><label>(10)</label><mml:math id="M18"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mtext>1</mml:mtext></mml:mrow></mml:msub><mml:mtext>&#x000A0;=&#x000A0;</mml:mtext><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>h</mml:mi></mml:mrow></mml:math></disp-formula>
<disp-formula id="E11"><label>(11)</label><mml:math id="M19"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>h</mml:mi><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>S</mml:mi></mml:munderover><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle><mml:msub><mml:mi>k</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:math></disp-formula>
<p>and as before, <italic>a</italic><sub><italic>ij</italic></sub>, <italic>b</italic><sub><italic>i</italic></sub>, <italic>c</italic><sub><italic>i</italic></sub> are pre-determined constants. The main difference lies in Equation (11) where the summation is taken from 1 to <italic>S</italic>. The difference becomes obvious when looking at the updated Butcher tableau (Table <xref ref-type="table" rid="T2">2</xref>). With the table now full, at each iteration a system of <italic>S</italic> equations with <italic>S</italic> unknowns needs to be solved.</p>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>Butcher tableau for implicit Runge-Kutta.</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td valign="top" align="left" style="border-right: thin solid #000000;"><italic>c</italic><sub>1</sub></td>
<td valign="top" align="left"><italic>a</italic><sub>11</sub></td>
<td valign="top" align="left">&#x022EF;&#x02009;</td>
<td valign="top" align="left"><italic>a</italic><sub><italic>S</italic>1</sub></td>
</tr>
<tr>
<td valign="top" align="left" style="border-right: thin solid #000000;">&#x022EE;</td>
<td valign="top" align="left">&#x022EE;</td>
<td valign="top" align="left">&#x022F1;</td>
<td valign="top" align="left">&#x022EE;</td>
</tr>
<tr style="border-bottom: thin solid #000000;">
<td valign="top" align="left" style="border-right: thin solid #000000;"><italic>c</italic><sub><italic>S</italic></sub></td>
<td valign="top" align="left"><italic>a</italic><sub><italic>S</italic>1</sub></td>
<td valign="top" align="left">&#x022EF;&#x02009;</td>
<td valign="top" align="left"><italic>a</italic><sub><italic>SS</italic></sub></td>
</tr>
<tr>
<td style="border-right: thin solid #000000;"/>
<td valign="top" align="left"><italic>b</italic><sub>1</sub></td>
<td valign="top" align="left">&#x000B7;</td>
<td valign="top" align="left"><italic>b</italic><sub><italic>S</italic></sub></td>
</tr>
<tr>
<td style="border-right: thin solid #000000;"/>
<td valign="top" align="left"><inline-formula><mml:math id="M20"><mml:msubsup><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td valign="top" align="left">&#x022EF;&#x02009;</td>
<td valign="top" align="left"><inline-formula><mml:math id="M21"><mml:msubsup><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec>
<title>3.1.3. The rosenbrock method</title>
<p>As shown in Rosenbrock [<xref ref-type="bibr" rid="B47">47</xref>] a special case of the implicit Runge-Kutta methods is when all of the values in the Butcher tableau in the upper triangular matrix above the main diagonal are null and all the diagonal elements equal to a single value <italic>gamma</italic> (i.e., &#x02200;<italic>ia</italic><sub><italic>ii</italic></sub> &#x0003D; &#x003B3;, Table <xref ref-type="table" rid="T3">3</xref>). The value of <italic>k</italic><sub><italic>i</italic></sub> shown in Equation (11) can now be simplified as follows:</p>
<disp-formula id="E12"><label>(12)</label><mml:math id="M22"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>h</mml:mi><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>i</mml:mi></mml:munderover><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle><mml:msub><mml:mi>k</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
<p>Additional substitutions [<xref ref-type="bibr" rid="B50">50</xref>, <xref ref-type="bibr" rid="B51">51</xref>] allow to rewrite the problem as follows:</p>
<disp-formula id="E13"><label>(13)</label><mml:math id="M23"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>h</mml:mi><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>S</mml:mi></mml:munderover><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mstyle><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula>
<disp-formula id="E14"><label>(14)</label><mml:math id="M24"><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mi>I</mml:mi><mml:mo>/</mml:mo><mml:mi>h</mml:mi><mml:mi>&#x003B3;</mml:mi><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>J</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:mrow><mml:msub><mml:mi>&#x003B1;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle><mml:msub><mml:mi>g</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>h</mml:mi></mml:mfrac><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:mrow><mml:msub><mml:mi>&#x003B3;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle><mml:msub><mml:mi>g</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
<p>where <italic>J</italic><sub><italic>n</italic></sub> is the Jacobian of <italic>f</italic> at step <italic>n</italic>. To evaluate the value <italic>y</italic><sub><italic>n</italic>&#x0002B;1</sub> we now need to compute the values of the <italic>g</italic><sub><italic>i</italic></sub>&#x00027;s. One can notice how the left term of the equation contains a matrix with the term <italic>J</italic><sub><italic>n</italic></sub>, which is the same for all <italic>g</italic><sub><italic>i</italic></sub>&#x00027;s. This is one of the key strategies of this method since to solve for <italic>g</italic><sub><italic>i</italic></sub> there is only one matrix to invert per time step. It will be taken advantage of by performing an LU decomposition, as shown in the continuation.</p>
<table-wrap position="float" id="T3">
<label>Table 3</label>
<caption><p>Butcher tableau for Rosenbrock, missing values are null.</p></caption>
<table frame="hsides" rules="groups">
<tbody><tr>
<td valign="top" align="left" style="border-right: thin solid #000000;"><italic>c</italic><sub>1</sub></td>
<td valign="top" align="left">&#x003B3;</td>
<td/>
<td/>
</tr>
<tr>
<td valign="top" align="left" style="border-right: thin solid #000000;">&#x022EE;</td>
<td valign="top" align="left">&#x022EE;</td>
<td valign="top" align="left">&#x022F1;</td>
<td/>
</tr>
<tr style="border-bottom: thin solid #000000;">
<td valign="top" align="left" style="border-right: thin solid #000000;"><italic>c</italic><sub><italic>S</italic></sub></td>
<td valign="top" align="left"><italic>a</italic><sub><italic>S</italic>1</sub></td>
<td valign="top" align="left">&#x022EF;&#x02009;</td>
<td valign="top" align="left">&#x003B3;</td>
</tr>
<tr>
<td style="border-right: thin solid #000000;"/>
<td valign="top" align="left"><italic>b</italic><sub>1</sub></td>
<td valign="top" align="left">&#x022EF;&#x02009;</td>
<td valign="top" align="left"><italic>b</italic><sub><italic>S</italic></sub></td>
</tr>
<tr>
<td style="border-right: thin solid #000000;"/>
<td valign="top" align="left"><inline-formula><mml:math id="M25"><mml:msubsup><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td valign="top" align="left">&#x022EF;&#x02009;</td>
<td valign="top" align="left"><inline-formula><mml:math id="M26"><mml:msubsup><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Additionally the error <italic>e</italic><sub><italic>n</italic>&#x0002B;1</sub> can be computed as <inline-formula><mml:math id="M27"><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:mo>=</mml:mo><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> where the <inline-formula><mml:math id="M28"><mml:msubsup><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>&#x00027;s are constants [<xref ref-type="bibr" rid="B50">50</xref>]. Given a threshold on the error, the strategy to decide if the step size must be increased or decreased consists in computing the value <inline-formula><mml:math id="M29"><mml:msub><mml:mrow><mml:mi>&#x00394;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo class="qopname">TOL</mml:mo><mml:mo>&#x000D7;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mi>f</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>30</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>. If &#x00394;<sub><italic>n</italic>&#x0002B;1</sub> is smaller than 1 then the step size can be increased, else it must be decreased [<xref ref-type="bibr" rid="B52">52</xref>]. A good strategy in the latter case is to recompute the <italic>n</italic>&#x0002B;1 value but with a smaller step size.</p>
</sec>
</sec>
<sec>
<title>3.2. The multiscale model solution</title>
<p>Since serum HCV RNA is stable in chronic HCV subjects, we assume that the model is at steady state before the start of treatment, as shown in Equation (3) and discussed in Rong et al. [<xref ref-type="bibr" rid="B41">41</xref>]. While individuals with recent HCV infection might not be at steady state at initiation of DAA therapy [<xref ref-type="bibr" rid="B3">3</xref>], it may be feasible to assume a quasi-steady state with lower pre-treatment HCV RNA levels, as observed in some subjects, which could be adjusted by changing model parameters.</p>
<p>We implemented the multiscale model with the Rosenbrock method of order <italic>S</italic> &#x0003D; 4. We define:</p>
<disp-formula id="E15"><label>(15)</label><mml:math id="M30"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mi>f</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mo>:</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mfrac><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mfrac><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mtext>d</mml:mtext><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;</mml:mtext><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mi>s</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>d</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:msub><mml:mi>T</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mo>&#x02208;</mml:mo><mml:mi>s</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mstyle displaystyle='true'><mml:mrow><mml:msubsup><mml:mo>&#x0222B;</mml:mo><mml:mn>0</mml:mn><mml:mi>&#x0221E;</mml:mi></mml:msubsup><mml:mrow><mml:mi>&#x003C1;</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mi>R</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mi>I</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mtext>d</mml:mtext><mml:mi>a</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>c</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mstyle></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <inline-formula><mml:math id="M31"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> and</p>
<disp-formula id="E16"><label>(16)</label><mml:math id="M32"><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>J</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>&#x000A0;</mml:mo><mml:mo>:</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mi>V</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:mi>V</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x02009;</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>d</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>c</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>
<p>We note that the term <inline-formula><mml:math id="M33"><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x0221E;</mml:mi></mml:mrow></mml:msubsup><mml:mi>&#x003C1;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>R</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mtext>d</mml:mtext><mml:mi>a</mml:mi></mml:math></inline-formula> is constant at each iteration and is computed between each one once. We can now explicitly write the values of the constants and describe the whole scheme. The Equations (13) and (14) become:</p>
<disp-formula id="E17"><label>(17)</label><mml:math id="M34"><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>2</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mi>I</mml:mi><mml:mi>h</mml:mi></mml:mfrac><mml:mo>&#x02212;</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>d</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>c</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="E18"><label>(18)</label><mml:math id="M35"><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>2</mml:mn><mml:mfrac><mml:mi>I</mml:mi><mml:mi>h</mml:mi></mml:mfrac><mml:mo>&#x02212;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>d</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>c</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>g</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mo>+</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>h</mml:mi></mml:mfrac><mml:mo stretchy='false'>(</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mn>8</mml:mn><mml:msub><mml:mi>g</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="E19"><label>(19)</label><mml:math id="M190"><mml:mrow><mml:mtable columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>2</mml:mn><mml:mfrac><mml:mi>I</mml:mi><mml:mi>h</mml:mi></mml:mfrac><mml:mo>&#x02212;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>d</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>c</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mo>=</mml:mo></mml:mtd><mml:mtd><mml:mrow><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mn>48</mml:mn></mml:mrow><mml:mrow><mml:mn>25</mml:mn></mml:mrow></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mn>6</mml:mn><mml:mrow><mml:mn>25</mml:mn></mml:mrow></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mtext>&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;</mml:mtext><mml:mo>+</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>h</mml:mi></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mn>372</mml:mn></mml:mrow><mml:mrow><mml:mn>25</mml:mn></mml:mrow></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mn>12</mml:mn></mml:mrow><mml:mn>5</mml:mn></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>
<disp-formula id="E20"><label>(20)</label><mml:math id="M37"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>2</mml:mn><mml:mfrac><mml:mi>I</mml:mi><mml:mi>h</mml:mi></mml:mfrac><mml:mo>&#x02212;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>d</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:msub><mml:mi>V</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>&#x003B2;</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>c</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mn>4</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mo>=</mml:mo></mml:mtd><mml:mtd><mml:mrow><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mn>48</mml:mn></mml:mrow><mml:mrow><mml:mn>25</mml:mn></mml:mrow></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mn>6</mml:mn><mml:mrow><mml:mn>25</mml:mn></mml:mrow></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>h</mml:mi></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mn>112</mml:mn></mml:mrow><mml:mrow><mml:mn>125</mml:mn></mml:mrow></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mn>54</mml:mn></mml:mrow><mml:mrow><mml:mn>125</mml:mn></mml:mrow></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mn>5</mml:mn></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E21"><label>(21)</label><mml:math id="M38"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mn>19</mml:mn></mml:mrow><mml:mn>9</mml:mn></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mn>25</mml:mn></mml:mrow><mml:mrow><mml:mn>108</mml:mn></mml:mrow></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mn>125</mml:mn></mml:mrow><mml:mrow><mml:mn>108</mml:mn></mml:mrow></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>4</mml:mn></mml:msub></mml:mrow></mml:math></disp-formula>
<disp-formula id="E22"><label>(22)</label><mml:math id="M39"><mml:mrow><mml:msub><mml:mi>e</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>17</mml:mn></mml:mrow><mml:mrow><mml:mn>54</mml:mn></mml:mrow></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mn>7</mml:mn><mml:mrow><mml:mn>36</mml:mn></mml:mrow></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mn>0</mml:mn><mml:msub><mml:mi>g</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mn>125</mml:mn></mml:mrow><mml:mrow><mml:mn>108</mml:mn></mml:mrow></mml:mfrac><mml:msub><mml:mi>g</mml:mi><mml:mn>4</mml:mn></mml:msub></mml:mrow></mml:math></disp-formula>
<p>Note that the computations of <italic>g</italic><sub>3</sub> in Equation (19) and <italic>g</italic><sub>4</sub> in Equation (20) use the same value of <italic>f</italic>, which implies that it needs to be computed only once. The error term also disregards the value of <italic>g</italic><sub>3</sub>.</p>
<p>The scheme for one iteration is shown in Algorithm <xref ref-type="table" rid="A1">1</xref>. An important observation is how the error term <italic>e</italic> is computed. It derives only from the error induced by the Rosenbrock iteration, not the computation of the integral term <inline-formula><mml:math id="M40"><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x0221E;</mml:mi></mml:mrow></mml:msubsup><mml:mi>&#x003C1;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>R</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mtext>d</mml:mtext><mml:mi>a</mml:mi></mml:math></inline-formula>.</p>
<table-wrap position="float" id="A1">
<label>Algorithm 1</label>
<caption><p>General Rosenbrock Scheme. TOL was set to 10<sup>&#x02212;4</sup>.</p></caption>
<graphic xlink:href="fams-03-00020-i0001.tif"/>
</table-wrap>
<p>The system <inline-formula><mml:math id="M41"><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>I</mml:mi><mml:mo>/</mml:mo><mml:mi>h</mml:mi><mml:mi>&#x003B3;</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>J</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:mfrac><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi>&#x003B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> needs to be solved for four different values of <italic>i</italic>. Since the left hand matrix is constant, it is decomposed into its LU decomposition once. The Jama package [<xref ref-type="bibr" rid="B53">53</xref>] is used to perform the LU decomposition for solving the system in a highly efficient manner.</p>
</sec>
</sec>
<sec id="s4">
<title>4. Results and discussion</title>
<p>A preliminary version of the Rosenbrock method was first implemented in Python3 using the SciPy library, freely available at <ext-link ext-link-type="uri" xlink:href="http://www.cs.bgu.ac.il/&#x0007E;dbarash/HCVnumerics">http://www.cs.bgu.ac.il/&#x0007E;dbarash/HCVnumerics</ext-link>, and then converted to Java for the purpose of developing a user-friendly simulator with a graphical user interface (GUI) that is freely available at <ext-link ext-link-type="uri" xlink:href="http://www.cs.bgu.ac.il/&#x0007E;dbarash/HCVsimulator">http://www.cs.bgu.ac.il/&#x0007E;dbarash/HCVsimulator</ext-link>. Aside of the Rosenbrock method, the default implementation in SciPy of an ordinary differential solver leverages ODEPACK [<xref ref-type="bibr" rid="B54">54</xref>] and is referred to as the canned solver <italic>Default</italic>. For this entire section, unless stated otherwise, we used the parameters from Rong et al. [<xref ref-type="bibr" rid="B41">41</xref>] and shown in Table <xref ref-type="table" rid="T4">4</xref>. The parameters that are changed through the results are the number of days, the size <italic>h</italic> of the steps for the ODEs, and the size <italic>h</italic><sub><italic>a</italic></sub> of the steps for computing the integral. In the case of the Rosenbrock method that utilizes an adaptive stepsize, we bound the stepsize by <italic>h</italic> as minimum and <italic>h</italic><sub><italic>a</italic></sub> as maximum.</p>
<table-wrap position="float" id="T4">
<label>Table 4</label>
<caption><p>The parameters of the model used in all simulations, taken from Rong et al. [<xref ref-type="bibr" rid="B41">41</xref>].</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Parameter</bold></th>
<th valign="top" align="center"><bold>Value</bold></th>
<th valign="top" align="left"><bold>Parameter</bold></th>
<th valign="top" align="center"><bold>Value</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left"><italic>s</italic></td>
<td valign="top" align="center">13,0000 cells/mL</td>
<td valign="top" align="left">&#x003B2;</td>
<td valign="top" align="center">0.00000005 mL day<sup>&#x02212;1</sup> virion<sup>&#x02212;1</sup></td>
</tr>
<tr>
<td valign="top" align="left"><italic>d</italic></td>
<td valign="top" align="center">0.01 day<sup>&#x02212;1</sup></td>
<td valign="top" align="left">&#x003B4;</td>
<td valign="top" align="center">0.14 day<sup>&#x02212;1</sup></td>
</tr>
<tr>
<td valign="top" align="left">&#x003BA;</td>
<td valign="top" align="center">6.36</td>
<td valign="top" align="left"><italic>c</italic></td>
<td valign="top" align="center">22.5 day<sup>&#x02212;1</sup></td>
</tr>
<tr>
<td valign="top" align="left">&#x003B1;</td>
<td valign="top" align="center">40 day<sup>&#x02212;1</sup></td>
<td valign="top" align="left">&#x003C1;</td>
<td valign="top" align="center">7.95 day<sup>&#x02212;1</sup></td>
</tr>
<tr>
<td valign="top" align="left">&#x003BC;</td>
<td valign="top" align="center">1 day<sup>&#x02212;1</sup></td>
<td valign="top" align="left">&#x003B3;</td>
<td valign="top" align="center">0.24 day<sup>&#x02212;1</sup></td>
</tr>
<tr>
<td valign="top" align="left">&#x003B5;<sub><italic>s</italic></sub></td>
<td valign="top" align="center">0.65</td>
<td valign="top" align="left">&#x003B5;<sub>&#x003B1;</sub></td>
<td valign="top" align="center">0.997</td>
</tr>
</tbody>
</table>
</table-wrap>
<sec>
<title>4.1. Short-term approximation holds for half a day</title>
<p>The short-term approximation [<xref ref-type="bibr" rid="B41">41</xref>] is shown in Figure <xref ref-type="fig" rid="F2">2</xref> in blue. The results are shown for only 2 days since the behavior is smooth and conserved on longer time scales in agreement with previous results (Figure 2A in [<xref ref-type="bibr" rid="B41">41</xref>]). It is clear that after 12 h the value converges far from the PDE solution. This is expected since the effect of the treatment on the infection rate is not taken into account. In practice, most simulations are valuable for more than half a day and are focused on the long-term approximation.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>The log values of the short-term and long-term approximations developed in Rong et al. [<xref ref-type="bibr" rid="B41">41</xref>] are shown compared to the PDE solution using the Rosenbrock method. Model parameters are described in Table <xref ref-type="table" rid="T4">4</xref> with <italic>h</italic> &#x0003D; 0.001, <italic>h</italic><sub><italic>a</italic></sub> &#x0003D; 0.01.</p></caption>
<graphic xlink:href="fams-03-00020-g0002.tif"/>
</fig>
</sec>
<sec>
<title>4.2. Long-term approximation underestimates PDE</title>
<p>In Rong and Perelson [<xref ref-type="bibr" rid="B43">43</xref>] it is hypothesized that the long-term approximation is an underestimate of the PDE model solution since some infection events are being ignored. However, with realistic parameters characteristic of potent therapy, the difference between them is very small. Figure <xref ref-type="fig" rid="F3">3</xref> depicts the result of our scheme, measuring the difference between the long-term approximation and the solution of the multiscale PDE model (Figure 2B in [<xref ref-type="bibr" rid="B41">41</xref>]). We show that the long-term approximation is converging and we are indeed obtaining that the long-term approximation is an underestimate of the PDE model solution (as the difference between the long term approximation and the solution of the PDE model is negative). The difference of less than 0.01 that we are obtaining is very small compared to the y-axis units shown in Figure 1 of Rong and Perelson [<xref ref-type="bibr" rid="B43">43</xref>]. Therefore, it is possible to view in Figure <xref ref-type="fig" rid="F3">3</xref> this small effect that is an improvement over what was inferred in Rong and Perelson [<xref ref-type="bibr" rid="B43">43</xref>] regarding the long-term approximation. This finding is reiterated here for completeness and is referred to below in the sub-section about the Rosenbrock method.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>The difference between the long-term approximation, developed in Rong et al. [<xref ref-type="bibr" rid="B41">41</xref>], and the PDE solution using the Rosenbrock method described herein is computed. Model parameters are as in Figure <xref ref-type="fig" rid="F2">2</xref>. The method parameters are <italic>h</italic> &#x0003D; 0.001, <italic>h</italic><sub><italic>a</italic></sub> &#x0003D; 0.01.</p></caption>
<graphic xlink:href="fams-03-00020-g0003.tif"/>
</fig>
</sec>
<sec>
<title>4.3. The model equations are stiff</title>
<p>An important distinction of the age-based PDE HCV model equations is their stiffness, or how they can be numerically unstable even with a small stepsize. We have verified that with small time-steps the results are similar for all methods. But as we increase the size of the steps, the instability of the equations can be observed over 20 days. All explicit methods such as the standard version of Runge-Kutta quickly diverge from the solution with small time-steps. On the other hand an implicit Runge-Kutta method tends to the correct solution and the Rosenbrock method does so efficiently as reported below.</p>
</sec>
<sec>
<title>4.4. The rosenbrock method is efficient and stable</title>
<p>As previously mentioned, the integral term <inline-formula><mml:math id="M42"><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msubsup><mml:mrow><mml:mo>&#x0222B;</mml:mo></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x0221E;</mml:mi></mml:mrow></mml:msubsup><mml:mi>&#x003C1;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>R</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>I</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mtext>d</mml:mtext><mml:mi>a</mml:mi></mml:math></inline-formula> impedes the use of adaptive stepsize when a canned solver is used. Such methods are essential to allow fast computations of complex models like ours. We present in Table <xref ref-type="table" rid="T5">5</xref> the number of iterations computed using the Rosenbrock method, shown in the previous section, in comparison with the default canned method for three different time step values of <italic>h</italic> and <italic>h</italic><sub><italic>a</italic></sub>. With the smallest time step, the Rosenbrock method is more than five times as efficient as the default canned method, giving results of similar accuracy. This is crucial since the methods with fixed time step can take up to tens of seconds per day of simulation with <italic>h</italic> &#x0003D; 0.001 and <italic>h</italic><sub><italic>a</italic></sub> &#x0003D; 0.01. For most research needs, simulations are expected to be performed numerous times for various instances and parameter values. Under those conditions a five-fold increase in speed, through the decrease in the number of iterations, provides a much needed advantage when testing large number of parameters over long time periods. Interestingly with the highest value of <italic>h</italic>, the Rosenbrock method takes additional iterations. This is due to the greediness of the time step adjustment, which when increased too quickly and thereby inducing a large error backtracks and starts again with a smaller value.</p>
<table-wrap position="float" id="T5">
<label>Table 5</label>
<caption><p>Number of iterations taken by the Rosenbrock method given time step values <italic>h</italic> and <italic>h</italic><sub><italic>a</italic></sub> compared to the number of iterations taken with the canned method (<italic>Default</italic>).</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold><italic>h</italic></bold></th>
<th valign="top" align="center"><bold><italic>h</italic><sub><italic>a</italic></sub></bold></th>
<th valign="top" align="center"><bold>Rosenbrock</bold></th>
<th valign="top" align="center"><bold><italic>Default</italic></bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">0.001</td>
<td valign="top" align="center">0.01</td>
<td valign="top" align="center">343</td>
<td valign="top" align="center">2,000</td>
</tr>
<tr>
<td valign="top" align="left">0.01</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">112</td>
<td valign="top" align="center">200</td>
</tr>
<tr>
<td valign="top" align="left">0.1</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">23</td>
<td valign="top" align="center">20</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Simpler methods than Rosenbrock exist with adaptive stepsize, such as Dormand&#x02013;Prince [<xref ref-type="bibr" rid="B48">48</xref>], Fehlberg (RKF) [<xref ref-type="bibr" rid="B55">55</xref>] and Cash-Karp (RKCK) [<xref ref-type="bibr" rid="B56">56</xref>]. These are explicit methods that can be easily implemented but are vulnerable to the stiffness of the equations, while Rosenbrock is an implicit method that is indeed found to be more stable. In the following comparisons we demonstrate that the Rosenbrock method is more efficient than the Runge-Kutta 4th order method and at the same time it is more stable than both the Runge-Kutta 4th order and the Dormand-Prince methods.</p>
<p>First, a comparison of the computing time between the Rosenbrock method and the other methods mentioned above is reported in Table <xref ref-type="table" rid="T6">6</xref> with starting time step values of <italic>h</italic> &#x0003D; 0.001 and <italic>h</italic><sub><italic>a</italic></sub> &#x0003D; 0.01 for 14 days of simulation. Each run with a certain method was repeated 10 times, after which the mean and standard deviation was taken. The Rosenbrock method is over 8 times faster than the standard Runge-Kutta 4th order method, which is a non-adaptive time step method. While Dormand&#x02013;Prince is an adaptive time step method that is even faster than Rosenbrock, as will be shown below, it is an explicit method that does not always converge to the correct solution. The fastest time of execution for the Dormand-Prince method is not surprising since an explicit method is easier to evaluate computationally than an implicit method, in particular because there is no need for matrix inversions.</p>
<table-wrap position="float" id="T6">
<label>Table 6</label>
<caption><p>Efficiency comparison of the Rosenbrock method with other methods.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Method</bold></th>
<th valign="top" align="center"><bold>Average time (sec)</bold></th>
<th valign="top" align="center"><bold>Standard deviation (sec)</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Rosenbrock</td>
<td valign="top" align="center">78.68</td>
<td valign="top" align="center">1.16</td>
</tr>
<tr>
<td valign="top" align="left">Runge&#x02013;Kutta 4th order</td>
<td valign="top" align="center">687.51</td>
<td valign="top" align="center">17.72</td>
</tr>
<tr>
<td valign="top" align="left">Dormand&#x02013;Prince</td>
<td valign="top" align="center">46.51</td>
<td valign="top" align="center">1.26</td>
</tr>
<tr>
<td valign="top" align="left">Default</td>
<td valign="top" align="center">688.73</td>
<td valign="top" align="center">18.67</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>The computing time in seconds were taken by the various methods for 14 days of simulation, averaged over 10 repetitions per each method. The starting time step values were h &#x0003D; 0.001 and h<sub>a</sub> &#x0003D; 0.01 and the runs were performed on a standard PC</italic>.</p>
</table-wrap-foot>
</table-wrap>
<p>Second, a comparison of the methods behavior over 14 days of simulation is presented in Figure <xref ref-type="fig" rid="F4">4</xref>. All the methods were started with time steps of <italic>h</italic> &#x0003D; 0.1 and <italic>h</italic><sub><italic>a</italic></sub> &#x0003D; 0.1. The baseline (the default implementation in the SciPy library of an ODE solver) was computed for <italic>h</italic> &#x0003D; 0.001 and <italic>h</italic><sub><italic>a</italic></sub> &#x0003D; 0.01 since those time step values are small enough to ensure that all methods converge to the same solution. The advantage of the Rosenbrock method in terms of stability and convergence to the correct solution is clearly noticed.</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>A comparison of the Rosenbrock method with other methods over 14 days of simulation with starting time steps of <italic>h</italic> &#x0003D; 0.1 and <italic>h</italic><sub><italic>a</italic></sub> &#x0003D; 0.1. The baseline (the default implementation in the SciPy library of an ODE solver) was computed with time steps of <italic>h</italic> &#x0003D; 0.001 and <italic>h</italic><sub><italic>a</italic></sub> &#x0003D; 0.01 since with these time step values and smaller, as expected, all methods converged to the solution of the baseline.</p></caption>
<graphic xlink:href="fams-03-00020-g0004.tif"/>
</fig>
<p>Finally, we also report in Table <xref ref-type="table" rid="T7">7</xref> the sensitivity of the Rosenbrock method. We compute the changed value of the result after 2 days of simulation given a variation of &#x000B1;10% on 10 parameters. We notice that most of the perturbations are symmetrical. We omit &#x003B5;<sub>&#x003B1;</sub> and &#x003B5;<sub><italic>s</italic></sub> since they effectively determine the fraction of &#x003B1; and &#x003C1; used in the model. The results (Table <xref ref-type="table" rid="T7">7</xref>) indicate that the Rosenbrock method is sufficiently robust for our needs.</p>
<table-wrap position="float" id="T7">
<label>Table 7</label>
<caption><p>Sensitivity of the Rosenbrock method.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Parameter</bold></th>
<th valign="top" align="center"><bold>Decreased</bold></th>
<th valign="top" align="center"><bold>Increased</bold></th>
<th valign="top" align="center"><bold>Parameter</bold></th>
<th valign="top" align="center"><bold>Decreased</bold></th>
<th valign="top" align="center"><bold>Increased</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left"><italic>s</italic></td>
<td valign="top" align="center">0.88%</td>
<td valign="top" align="center">1.12%</td>
<td valign="top" align="center">&#x003B2;</td>
<td valign="top" align="center">0.98%</td>
<td valign="top" align="center">1.01%</td>
</tr>
<tr>
<td valign="top" align="left"><italic>d</italic></td>
<td valign="top" align="center">1.02%</td>
<td valign="top" align="center">0.98%</td>
<td valign="top" align="center">&#x003B4;</td>
<td valign="top" align="center">1.16%</td>
<td valign="top" align="center">0.87%</td>
</tr>
<tr>
<td valign="top" align="left">&#x003BA;</td>
<td valign="top" align="center">1.08%</td>
<td valign="top" align="center">0.93%</td>
<td valign="top" align="center"><italic>c</italic></td>
<td valign="top" align="center">1.13%</td>
<td valign="top" align="center">0.89%</td>
</tr>
<tr>
<td valign="top" align="left">&#x003B1;</td>
<td valign="top" align="center">0.88%</td>
<td valign="top" align="center">1.12%</td>
<td valign="top" align="center">&#x003C1;</td>
<td valign="top" align="center">0.93%</td>
<td valign="top" align="center">1.07%</td>
</tr>
<tr>
<td valign="top" align="left">&#x003BC;</td>
<td valign="top" align="center">1.08%</td>
<td valign="top" align="center">0.93%</td>
<td valign="top" align="center">&#x003B3;</td>
<td valign="top" align="center">1.05%</td>
<td valign="top" align="center">0.96%</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>Each of the 10 parameters was decreased and increased by 10% of its original value. For each we present the ratio of the result after 2 days over the result with the original value. We omit &#x003B5;<sub>&#x003B1;</sub> and &#x003B5;<sub>s</sub> since they effectively determine the fraction of &#x003B1; and &#x003C1; used in the model</italic>.</p>
</table-wrap-foot>
</table-wrap>
</sec>
<sec>
<title>4.5. The multiscale model simulator</title>
<p>We have developed a user-friendly simulator with a GUI for the multiscale model (Figure <xref ref-type="fig" rid="F5">5</xref>) that is freely available at <ext-link ext-link-type="uri" xlink:href="http://www.cs.bgu.ac.il/&#x0007E;dbarash/HCVsimulator">http://www.cs.bgu.ac.il/&#x0007E;dbarash/HCVsimulator</ext-link>. The parameters file input is shown in Figure <xref ref-type="fig" rid="F6">6</xref>. For illustration, two example simulations are provided, one over 2 days (Figure <xref ref-type="fig" rid="F7">7</xref>) and one over 28 days (Figure <xref ref-type="fig" rid="F8">8</xref>). In Figure <xref ref-type="fig" rid="F7">7</xref> we show how different parameter ensembles can be displayed simultaneously. In that case we chose &#x003B5;<sub>&#x003B1;</sub> and &#x003B5;<sub><italic>s</italic></sub> to be 0 or 0.99, resulting in three curves. We can observe that increasing the &#x003B5;<sub><italic>s</italic></sub> parameter, which decreases the assembly/secretion of intracellular virions, has a strong short term effect that tempers quickly. In contrast the reduction in the synthesis of vRNA, modeled by an increase of the parameter &#x003B5;<sub>&#x003B1;</sub>, shows a slower but more efficient effect that exhibits stronger results after half a day. Combining both factors shows a multiphasic viral decline which was observed under treatment with HCV NS5A inhibitors [<xref ref-type="bibr" rid="B25">25</xref>]. In Figure <xref ref-type="fig" rid="F8">8</xref> we present the difference between the long-term approximation and the Rosenbrock method for those three sets of parameters over longer (than 2 days) treatment durations (e.g., 28 days). Although the highest error is present when &#x003B5;<sub><italic>s</italic></sub> &#x0003D; 0, the error remains below a tenth of the differences of the log values. Thus, in all cases the trends from the first 2 days continue in the next 4 weeks and the error grows minimally.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>Graphical user interface (GUI). The displayed values are the default options and can be modified. At the bottom are the options to add experimental data and parameters values from a file. Note that setting the four parameters &#x003B5;<sub>&#x003B1;</sub>, &#x003B5;<sub><italic>s</italic></sub>, &#x003BA; and &#x003B3; (red fonts) to 0 will keep the system in the pre-treatment steady state. An option to export the parameters is also available.</p></caption>
<graphic xlink:href="fams-03-00020-g0005.tif"/>
</fig>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>An example of a parameters file that can be automatically uploaded. Lines starting with a &#x00023; are comments (ignored). This file can also be exported from our software, allowing users to share them easily.</p></caption>
<graphic xlink:href="fams-03-00020-g0006.tif"/>
</fig>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>Several simulations can be displayed simultaneously. Three treatment scenarios are plotted with similar results as previously shown in Rong et al. [<xref ref-type="bibr" rid="B41">41</xref>].</p></caption>
<graphic xlink:href="fams-03-00020-g0007.tif"/>
</fig>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>Difference in the log values between the long-term approximation [<xref ref-type="bibr" rid="B41">41</xref>] and the Rosenbrock method when choosing &#x003B5;<sub>&#x003B1;</sub> and &#x003B5;<sub><italic>s</italic></sub> from (0, 0.99). One can notice how even at the longer treatment duration the difference remains minimal and mostly constant.</p></caption>
<graphic xlink:href="fams-03-00020-g0008.tif"/>
</fig>
</sec>
</sec>
<sec id="s5">
<title>5. Summary and conclusions</title>
<p>Modeling intracellular viral RNA dynamics within infected cells is becoming an improtant mean for considering various curative treatment options. A viral dynamic model that considers intracellular viral RNA replication, namely an age-structured PDE multiscale model, has been recently put forth to study viral hepatitis dynamics during antiviral therapy [<xref ref-type="bibr" rid="B25">25</xref>, <xref ref-type="bibr" rid="B41">41</xref>, <xref ref-type="bibr" rid="B43">43</xref>]. This type of model is more complicated to solve than previous ODEs models. The seminal works that introduce the age-based multiscale model predominantly use analytical approximations, with some numerical solutions that are either based on simple first-order methods or canned solvers [<xref ref-type="bibr" rid="B25">25</xref>, <xref ref-type="bibr" rid="B41">41</xref>, <xref ref-type="bibr" rid="B43">43</xref>]. Neither of these numerical solutions are satisfactory for realistic simulations of several days of infection and therapy in terms of accuracy, efficiency and stability.</p>
<p>We first showed that the long-term approximation is an underestimate of the PDE model solution, which was anticipated in Rong and Perelson [<xref ref-type="bibr" rid="B43">43</xref>] because some infection events are being ignored in this analytical approximation. We then observed that the governing differential equations are stiff and therefore advanced numerical methods are needed. Methods with fixed stepsize or alternatively, the use of canned routines, do not offer a comprehensive solution to the model and are limited in scope. For example, in the multiscale model, there is an integral term that needs to be computed at each time step depending on previous iterations and this is inadequately done by canned solvers. Methods with adaptive stepsize offer a considerable improvement for realistic simulations. Having previously investigated these methods, we found the Rosebrock method to be the most accurate and efficient among adaptive stepsize methods for this model. We provide a simulator based on the Rosenbrock method with a user-friendly GUI that is freely available at <ext-link ext-link-type="uri" xlink:href="http://www.cs.bgu.ac.il/&#x0007E;dbarash/HCVsimulator">http://www.cs.bgu.ac.il/&#x0007E;dbarash/HCVsimulator</ext-link>.</p>
<p>Future work from the numerical standpoint could potentially include a more comprehensive treatment of the associated integral. In particular the adaptive stepsize techniques rely on the evaluation of the error produced at each evaluation of the ODE equations. Therefore, the error produced by the integral itself is never taken into account. Including that term would allow to relax the restrictions on the stepsize increase and potentially decrease further, beyond what is observed in Table <xref ref-type="table" rid="T5">5</xref> as least number of iterations, the number of iterations that are required to achieve a sufficient accuracy.</p>
<p>The Rosenbrock method implementation provided here can be generalized to potentially assist in understating treatment failure due to drug resistance by the expansion of the age-based model to include viral strains [<xref ref-type="bibr" rid="B57">57</xref>]. It could also be used to explore age-based models that include further aspects of intracellular HCV life cycle such as translation positive-strand HCV RNA and the synthesis of positive and negative-strand HCV RNA [<xref ref-type="bibr" rid="B58">58</xref>]. Finally, since the current age-based HCV multiscale model is a successful milestone but still fails to predict cure in some DAA-treated patients [<xref ref-type="bibr" rid="B59">59</xref>&#x02013;<xref ref-type="bibr" rid="B61">61</xref>], further model modification will be needed [<xref ref-type="bibr" rid="B38">38</xref>, <xref ref-type="bibr" rid="B39">39</xref>] and future developments would necessitate some updates in the numerical method. While such models become quickly overwhelming to solve analytically, an extension of the presented method is straightforward. The simulator provided here based on the Rosenbrock method can be modified accordingly and be developed further to accommodate the modelers needs.</p>
</sec>
<sec id="s6">
<title>Author contributions</title>
<p>DB conceived research. VR implemented method and developed the corresponding equations with assistance of DB. VR, HD, and DB designed research. VR, AC, HD, and DB performed research and wrote the paper.</p>
<sec>
<title>Conflict of interest statement</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
</sec>
</body>
<back>
<ack><p>The authors thank Susan Uprichard for careful reading of the manuscript and helpful comments. They would also like to thank Libin Rong and Daniel Coffield for providing the initial code of the multiscale model and the reviewers for their comprehensive comments.</p>
</ack>
<ref-list>
<title>References</title>
<ref id="B1">
<label>1.</label>
<citation citation-type="book"><person-group person-group-type="author"><collab>The Polaris Observatory HCV Collaborators</collab></person-group>. <article-title>Global prevalence and genotype distribution of hepatitis C virus infection in 2015: a modelling study</article-title>. <source>Lancet Gastroenterol Hepatol.</source> (<year>2017</year>) <volume>2</volume>:<fpage>161</fpage>&#x02013;<lpage>76</lpage>. <pub-id pub-id-type="doi">10.1016/S2468-1253(16)30181-9</pub-id></citation></ref>
<ref id="B2">
<label>2.</label>
<citation citation-type="book"><person-group person-group-type="author"><collab>World Health Organization</collab></person-group>. <source>Guidelines for the Screening, Care and Treatment of Persons with Hepatitis C Infection</source>. <publisher-loc>Geneva</publisher-loc>: <publisher-name>World Health Organization</publisher-name> (<year>2014</year>).</citation></ref>
<ref id="B3">
<label>3.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Martinello</surname> <given-names>M</given-names></name> <name><surname>Gane</surname> <given-names>E</given-names></name> <name><surname>Hellard</surname> <given-names>M</given-names></name> <name><surname>Sasadeusz</surname> <given-names>J</given-names></name> <name><surname>Shaw</surname> <given-names>D</given-names></name> <name><surname>Petoumenos</surname> <given-names>K</given-names></name> <etal/></person-group>. <article-title>Sofosbuvir and ribavirin for 6 weeks is not effective among people with recent hepatitis C virus infection: the DARE-C II study</article-title>. <source>Hepatology</source> (<year>2016</year>) <volume>64</volume>:<fpage>1911</fpage>&#x02013;<lpage>21</lpage>. <pub-id pub-id-type="doi">10.1002/hep.28844</pub-id></citation></ref>
<ref id="B4">
<label>4.</label>
<citation citation-type="book"><person-group person-group-type="author"><collab>AASLD/IDSA HCV Guidance Panel</collab></person-group>. <article-title>Hepatitis C guidance: AASLD-IDSA recommendations for testing, managing, and treating adults infected with hepatitis C virus</article-title>. <source>Hepatology</source> (<year>2015</year>) <volume>62</volume>:<fpage>932</fpage>&#x02013;<lpage>54</lpage>. <pub-id pub-id-type="doi">10.1002/hep.27950</pub-id></citation></ref>
<ref id="B5">
<label>5.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Rosen</surname> <given-names>HR</given-names></name></person-group>. <article-title>&#x0201C;Hep C, where art thou&#x0201D;: what are the remaining (fundable) questions in hepatitis C virus research?</article-title> <source>Hepatology</source> (<year>2017</year>) <volume>65</volume>:<fpage>341</fpage>&#x02013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1002/hep.28848</pub-id></citation></ref>
<ref id="B6">
<label>6.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Perelson</surname> <given-names>AS</given-names></name></person-group>. <article-title>Modelling viral and immune system dynamics</article-title>. <source>Nat Rev Immunol.</source> (<year>2002</year>) <volume>2</volume>:<fpage>28</fpage>&#x02013;<lpage>36</lpage>. <pub-id pub-id-type="doi">10.1038/nri700</pub-id><pub-id pub-id-type="pmid">11905835</pub-id></citation></ref>
<ref id="B7">
<label>7.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Ho</surname> <given-names>DD</given-names></name> <name><surname>Neumann</surname> <given-names>AU</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name> <name><surname>Chen</surname> <given-names>W</given-names></name> <name><surname>Leonard</surname> <given-names>JM</given-names></name> <name><surname>Markowitz</surname> <given-names>M</given-names></name></person-group>. <article-title>Rapid turnover of plasma virions and CD4 lymphocytes in HIV-1 infection</article-title>. <source>Nature</source> (<year>1995</year>) <volume>373</volume>:123. <pub-id pub-id-type="doi">10.1038/373123a0</pub-id><pub-id pub-id-type="pmid">7816094</pub-id></citation></ref>
<ref id="B8">
<label>8.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Perelson</surname> <given-names>AS</given-names></name> <name><surname>Neumann</surname> <given-names>AU</given-names></name> <name><surname>Markowitz</surname> <given-names>M</given-names></name> <name><surname>Leonard</surname> <given-names>JM</given-names></name> <name><surname>Ho</surname> <given-names>DD</given-names></name></person-group>. <article-title>HIV-1 dynamics <italic>in vivo</italic>: virion clearance rate, infected cell life-span, and viral generation time</article-title>. <source>Science</source> (<year>1996</year>) <volume>271</volume>:<fpage>1582</fpage>. <pub-id pub-id-type="doi">10.1126/science.271.5255.1582</pub-id><pub-id pub-id-type="pmid">8599114</pub-id></citation></ref>
<ref id="B9">
<label>9.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Burg</surname> <given-names>D</given-names></name> <name><surname>Rong</surname> <given-names>L</given-names></name> <name><surname>Neumann</surname> <given-names>AU</given-names></name> <name><surname>Dahari</surname> <given-names>H</given-names></name></person-group>. <article-title>Mathematical modeling of viral kinetics under immune control during primary HIV-1 infection</article-title>. <source>J. Theor. Biol.</source> (<year>2009</year>) <volume>259</volume>:<fpage>751</fpage>&#x02013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1016/j.jtbi.2009.04.010</pub-id><pub-id pub-id-type="pmid">19389409</pub-id></citation></ref>
<ref id="B10">
<label>10.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Ciupe</surname> <given-names>SM</given-names></name> <name><surname>Ribeiro</surname> <given-names>RM</given-names></name> <name><surname>Nelson</surname> <given-names>PW</given-names></name> <name><surname>Dusheiko</surname> <given-names>G</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name></person-group>. <article-title>The role of cells refractory to productive infection in acute hepatitis B viral dynamics</article-title>. <source>Proc Natl Acad Sci USA.</source> (<year>2007</year>) <volume>104</volume>:<fpage>5050</fpage>&#x02013;<lpage>5</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.0603626104</pub-id><pub-id pub-id-type="pmid">17360406</pub-id></citation></ref>
<ref id="B11">
<label>11.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Shudo</surname> <given-names>E</given-names></name> <name><surname>Ribeiro</surname> <given-names>RM</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name></person-group>. <article-title>Modeling complex decay profiles of hepatitis B virus during antiviral therapy</article-title>. <source>Hepatology</source> (<year>2009</year>) <volume>49</volume>:<fpage>32</fpage>&#x02013;<lpage>8</lpage>. <pub-id pub-id-type="doi">10.1002/hep.22586</pub-id><pub-id pub-id-type="pmid">19065674</pub-id></citation></ref>
<ref id="B12">
<label>12.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Nowak</surname> <given-names>MA</given-names></name> <name><surname>Bonhoeffer</surname> <given-names>S</given-names></name> <name><surname>Hill</surname> <given-names>AM</given-names></name> <name><surname>Boehme</surname> <given-names>R</given-names></name> <name><surname>Thomas</surname> <given-names>HC</given-names></name> <name><surname>McDade</surname> <given-names>H</given-names></name></person-group>. <article-title>Viral dynamics in hepatitis B virus infection</article-title>. <source>Proc Natl Acad Sci USA.</source> (<year>1996</year>) <volume>93</volume>:<fpage>4398</fpage>&#x02013;<lpage>402</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.93.9.4398</pub-id><pub-id pub-id-type="pmid">8633078</pub-id></citation></ref>
<ref id="B13">
<label>13.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Koh</surname> <given-names>C</given-names></name> <name><surname>Canini</surname> <given-names>L</given-names></name> <name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Zhao</surname> <given-names>X</given-names></name> <name><surname>Uprichard</surname> <given-names>SL</given-names></name> <name><surname>Haynes-Williams</surname> <given-names>V</given-names></name> <etal/></person-group>. <article-title>Oral prenylation inhibition with lonafarnib in chronic hepatitis D infection: a proof-of-concept randomised, double-blind, placebo-controlled phase 2A trial</article-title>. <source>Lancet Infect Dis.</source> (<year>2015</year>) <volume>15</volume>:<fpage>1167</fpage>&#x02013;<lpage>74</lpage>. <pub-id pub-id-type="doi">10.1016/S1473-3099(15)00074-2</pub-id><pub-id pub-id-type="pmid">26189433</pub-id></citation></ref>
<ref id="B14">
<label>14.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Guedj</surname> <given-names>J</given-names></name> <name><surname>Rotman</surname> <given-names>Y</given-names></name> <name><surname>Cotler</surname> <given-names>SJ</given-names></name> <name><surname>Koh</surname> <given-names>C</given-names></name> <name><surname>Schmid</surname> <given-names>P</given-names></name> <name><surname>Albrecht</surname> <given-names>J</given-names></name> <etal/></person-group>. <article-title>Understanding early serum hepatitis D virus and hepatitis B surface antigen kinetics during pegylated interferon-alpha therapy via mathematical modeling</article-title>. <source>Hepatology</source> (<year>2014</year>) <volume>60</volume>:<fpage>1902</fpage>&#x02013;<lpage>10</lpage>. <pub-id pub-id-type="doi">10.1002/hep.27357</pub-id><pub-id pub-id-type="pmid">25098971</pub-id></citation></ref>
<ref id="B15">
<label>15.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Canini</surname> <given-names>L</given-names></name> <name><surname>Koh</surname> <given-names>C</given-names></name> <name><surname>Cotler</surname> <given-names>SJ</given-names></name> <name><surname>Uprichard</surname> <given-names>SL</given-names></name> <name><surname>Winters</surname> <given-names>MA</given-names></name> <name><surname>Thanda</surname> <given-names>Han MA</given-names></name> <etal/></person-group>. <article-title>Pharmacokinetics and pharmacodynamics modeling of lonafarnib in patients with chronic hepatitis delta virus infection</article-title>. <source>Hepatol Commun.</source> (<year>2017</year>) <volume>1</volume>:<fpage>288</fpage>&#x02013;<lpage>92</lpage>. <pub-id pub-id-type="doi">10.1002/hep4.1043</pub-id></citation></ref>
<ref id="B16">
<label>16.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>J</given-names></name> <name><surname>Lipton</surname> <given-names>HL</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name> <name><surname>Dahari</surname> <given-names>H</given-names></name></person-group>. <article-title>Modeling the acute and chronic phases of Theiler murine encephalomyelitis virus infection</article-title>. <source>J virol.</source> (<year>2013</year>) <volume>87</volume>:<fpage>4052</fpage>&#x02013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1128/JVI.03395-12</pub-id><pub-id pub-id-type="pmid">23365440</pub-id></citation></ref>
<ref id="B17">
<label>17.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Schiffer</surname> <given-names>JT</given-names></name> <name><surname>Abu-Raddad</surname> <given-names>L</given-names></name> <name><surname>Mark</surname> <given-names>KE</given-names></name> <name><surname>Zhu</surname> <given-names>J</given-names></name> <name><surname>Selke</surname> <given-names>S</given-names></name> <name><surname>Magaret</surname> <given-names>A</given-names></name> <etal/></person-group>. <article-title>Frequent release of low amounts of herpes simplex virus from neurons: results of a mathematical model</article-title>. <source>Sci Trans Med.</source> (<year>2009</year>) <volume>1</volume>:<fpage>7ra16</fpage>. <pub-id pub-id-type="doi">10.1126/scitranslmed.3000193</pub-id><pub-id pub-id-type="pmid">20161655</pub-id></citation></ref>
<ref id="B18">
<label>18.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Layden-Almer</surname> <given-names>JE</given-names></name> <name><surname>Kallwitz</surname> <given-names>E</given-names></name> <name><surname>Ribeiro</surname> <given-names>RM</given-names></name> <name><surname>Cotler</surname> <given-names>SJ</given-names></name> <name><surname>Layden</surname> <given-names>TJ</given-names></name> <etal/></person-group>. <article-title>A mathematical model of hepatitis C virus dynamics in patients with high baseline viral loads or advanced liver disease</article-title>. <source>Gastroenterology</source> (<year>2009</year>) <volume>136</volume>:<fpage>1402</fpage>&#x02013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1053/j.gastro.2008.12.060</pub-id></citation></ref>
<ref id="B19">
<label>19.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Major</surname> <given-names>M</given-names></name> <name><surname>Zhang</surname> <given-names>X</given-names></name> <name><surname>Mihalik</surname> <given-names>K</given-names></name> <name><surname>Rice</surname> <given-names>CM</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name> <etal/></person-group>. <article-title>Mathematical modeling of primary hepatitis C infection: noncytolytic clearance and early blockage of virion production</article-title>. <source>Gastroenterology</source> (<year>2005</year>) <volume>128</volume>:<fpage>1056</fpage>&#x02013;<lpage>66</lpage>. <pub-id pub-id-type="doi">10.1053/j.gastro.2005.01.049</pub-id><pub-id pub-id-type="pmid">15825086</pub-id></citation></ref>
<ref id="B20">
<label>20.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Neumann</surname> <given-names>AU</given-names></name> <name><surname>Lam</surname> <given-names>NP</given-names></name> <name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Gretch</surname> <given-names>DR</given-names></name> <name><surname>Wiley</surname> <given-names>TE</given-names></name> <name><surname>Layden</surname> <given-names>TJ</given-names></name> <etal/></person-group>. <article-title>Hepatitis C viral dynamics <italic>in vivo</italic> and the antiviral efficacy of interferon-&#x003B1; therapy</article-title>. <source>Science</source> (1998 <volume>282</volume>:<fpage>103</fpage>&#x02013;<lpage>7</lpage>. <pub-id pub-id-type="doi">10.1126/science.282.5386.103</pub-id><pub-id pub-id-type="pmid">9756471</pub-id></citation></ref>
<ref id="B21">
<label>21.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Baccam</surname> <given-names>P</given-names></name> <name><surname>Beauchemin</surname> <given-names>C</given-names></name> <name><surname>Macken</surname> <given-names>CA</given-names></name> <name><surname>Hayden</surname> <given-names>FG</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name></person-group>. <article-title>Kinetics of influenza A virus infection in humans</article-title>. <source>J Virol.</source> (<year>2006</year>) <volume>80</volume>:<fpage>7590</fpage>&#x02013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1128/JVI.01623-05</pub-id><pub-id pub-id-type="pmid">16840338</pub-id></citation></ref>
<ref id="B22">
<label>22.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Pawelek</surname> <given-names>KA</given-names></name> <name><surname>Huynh</surname> <given-names>GT</given-names></name> <name><surname>Quinlivan</surname> <given-names>M</given-names></name> <name><surname>Cullinane</surname> <given-names>A</given-names></name> <name><surname>Rong</surname> <given-names>L</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name></person-group>. <article-title>Modeling within-host dynamics of influenza virus infection including immune responses</article-title>. <source>PLoS Comput Biol.</source> (<year>2012</year>) <volume>8</volume>:e1002588. <pub-id pub-id-type="doi">10.1371/journal.pcbi.1002588</pub-id><pub-id pub-id-type="pmid">22761567</pub-id></citation></ref>
<ref id="B23">
<label>23.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Beauchemin</surname> <given-names>CA</given-names></name> <name><surname>Handel</surname> <given-names>A</given-names></name></person-group>. <article-title>A review of mathematical models of influenza A infections within a host or cell culture: lessons learned and challenges ahead</article-title>. <source>BMC Public Health</source>. (<year>2011</year>) <volume>11</volume>:S7. <pub-id pub-id-type="doi">10.1186/1471-2458-11-S1-S7</pub-id><pub-id pub-id-type="pmid">21356136</pub-id></citation></ref>
<ref id="B24">
<label>24.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Madelain</surname> <given-names>V</given-names></name> <name><surname>Oestereich</surname> <given-names>L</given-names></name> <name><surname>Graw</surname> <given-names>F</given-names></name> <name><surname>Nguyen</surname> <given-names>THT</given-names></name> <name><surname>De</surname> <given-names>Lamballerie X</given-names></name> <name><surname>Mentr&#x000E9;</surname> <given-names>F</given-names></name> <etal/></person-group>. <article-title>Ebola virus dynamics in mice treated with favipiravir</article-title>. <source>Antiv. Res.</source> (<year>2015</year>) <volume>123</volume>:<fpage>70</fpage>&#x02013;<lpage>7</lpage>. <pub-id pub-id-type="doi">10.1016/j.antiviral.2015.08.015</pub-id><pub-id pub-id-type="pmid">26343011</pub-id></citation></ref>
<ref id="B25">
<label>25.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Guedj</surname> <given-names>J</given-names></name> <name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Rong</surname> <given-names>L</given-names></name> <name><surname>Sansone</surname> <given-names>ND</given-names></name> <name><surname>Nettles</surname> <given-names>RE</given-names></name> <name><surname>Cotler</surname> <given-names>SJ</given-names></name> <etal/></person-group>. <article-title>Modeling shows that the NS5A inhibitor daclatasvir has two modes of action and yields a shorter estimate of the hepatitis C virus half-life</article-title>. <source>Proc Natl Acad Sci USA.</source> (<year>2013</year>) <volume>110</volume>:<fpage>3991</fpage>&#x02013;<lpage>6</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.1203110110</pub-id><pub-id pub-id-type="pmid">23431163</pub-id></citation></ref>
<ref id="B26">
<label>26.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Sainz</surname> <given-names>B</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name> <name><surname>Uprichard</surname> <given-names>SL</given-names></name></person-group>. <article-title>Modeling subgenomic hepatitis C virus RNA kinetics during treatment with alpha interferon</article-title>. <source>J Virol.</source> (<year>2009</year>) <volume>83</volume>:<fpage>6383</fpage>&#x02013;<lpage>90</lpage>. <pub-id pub-id-type="doi">10.1128/JVI.02612-08</pub-id><pub-id pub-id-type="pmid">19369346</pub-id></citation></ref>
<ref id="B27">
<label>27.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Ribeiro</surname> <given-names>RM</given-names></name> <name><surname>Rice</surname> <given-names>CM</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name></person-group>. <article-title>Mathematical modeling of subgenomic hepatitis C virus replication in Huh-7 cells</article-title>. <source>J Virol.</source> (<year>2007</year>) <volume>81</volume>:<fpage>750</fpage>&#x02013;<lpage>60</lpage>. <pub-id pub-id-type="doi">10.1128/JVI.01304-06</pub-id><pub-id pub-id-type="pmid">17035310</pub-id></citation></ref>
<ref id="B28">
<label>28.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Neumann</surname> <given-names>AU</given-names></name> <name><surname>Phillips</surname> <given-names>S</given-names></name> <name><surname>Levine</surname> <given-names>I</given-names></name> <name><surname>Ijaz</surname> <given-names>S</given-names></name> <name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Eren</surname> <given-names>R</given-names></name> <etal/></person-group>. <article-title>Novel mechanism of antibodies to hepatitis B virus in blocking viral particle release from cells</article-title>. <source>Hepatology</source> (<year>2010</year>) <volume>52</volume>:<fpage>875</fpage>&#x02013;<lpage>85</lpage>. <pub-id pub-id-type="doi">10.1002/hep.23778</pub-id><pub-id pub-id-type="pmid">20593455</pub-id></citation></ref>
<ref id="B29">
<label>29.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Shudo</surname> <given-names>E</given-names></name> <name><surname>Ribeiro</surname> <given-names>RM</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name></person-group>. <article-title>Mathematical modeling of HCV infection and treatment</article-title>. <source>Methods Mol Biol.</source> (<year>2009</year>) <volume>510</volume>:<fpage>439</fpage>&#x02013;<lpage>53</lpage>. <pub-id pub-id-type="doi">10.1007/978-1-59745-394-3_33</pub-id><pub-id pub-id-type="pmid">19009281</pub-id></citation></ref>
<ref id="B30">
<label>30.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Guedj</surname> <given-names>J</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name> <name><surname>Layden</surname> <given-names>TJ</given-names></name></person-group>. <article-title>Hepatitis C viral kinetics in the era of direct acting antiviral agents and interleukin-28B</article-title>. <source>Curr. Hepatitis Rep.</source> (<year>2011</year>) <volume>10</volume>:<fpage>214</fpage>&#x02013;<lpage>27</lpage>. <pub-id pub-id-type="doi">10.1007/s11901-011-0101-7</pub-id></citation></ref>
<ref id="B31">
<label>31.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Snoeck</surname> <given-names>E</given-names></name> <name><surname>Chanu</surname> <given-names>P</given-names></name> <name><surname>Lavielle</surname> <given-names>M</given-names></name> <name><surname>Jacqmin</surname> <given-names>P</given-names></name> <name><surname>Jonsson</surname> <given-names>EN</given-names></name> <name><surname>Jorga</surname> <given-names>K</given-names></name> <etal/></person-group>. <article-title>A comprehensive hepatitis C viral kinetic model explaining cure</article-title>. <source>Clin. Pharmacol. Ther.</source> (<year>2010</year>) <volume>87</volume>:<fpage>706</fpage>&#x02013;<lpage>13</lpage>. <pub-id pub-id-type="doi">10.1038/clpt.2010.35</pub-id><pub-id pub-id-type="pmid">20463660</pub-id></citation></ref>
<ref id="B32">
<label>32.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Dixit</surname> <given-names>NM</given-names></name> <name><surname>Layden-Almer</surname> <given-names>JE</given-names></name> <name><surname>Layden</surname> <given-names>TJ</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name></person-group>. <article-title>Modelling how ribavirin improves interferon response rates in hepatitis C virus infection</article-title>. <source>Nature</source> (<year>2004</year>) <volume>432</volume>:<fpage>922</fpage>&#x02013;<lpage>4</lpage>. <pub-id pub-id-type="doi">10.1038/nature03153</pub-id><pub-id pub-id-type="pmid">15602565</pub-id></citation></ref>
<ref id="B33">
<label>33.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Guedj</surname> <given-names>J</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name></person-group>. <article-title>Second-phase hepatitis C virus RNA decline during telaprevir-based therapy increases with drug effectiveness: implications for treatment duration</article-title>. <source>Hepatology</source> (<year>2011</year>) <volume>53</volume>:<fpage>1801</fpage>&#x02013;<lpage>8</lpage>. <pub-id pub-id-type="doi">10.1002/hep.24272</pub-id><pub-id pub-id-type="pmid">21384401</pub-id></citation></ref>
<ref id="B34">
<label>34.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Canini</surname> <given-names>L</given-names></name> <name><surname>Graw</surname> <given-names>F</given-names></name> <name><surname>Uprichard</surname> <given-names>SL</given-names></name> <name><surname>Araujo</surname> <given-names>ES</given-names></name> <name><surname>Penaranda</surname> <given-names>G</given-names></name> <etal/></person-group>. <article-title>HCV kinetic and modeling analyses indicate similar time to cure among sofosbuvir combination regimens with daclatasvir, simeprevir or ledipasvir</article-title>. <source>J Hepatol.</source> (<year>2016</year>) <volume>64</volume>:<fpage>1232</fpage>&#x02013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1016/j.jhep.2016.02.022</pub-id></citation></ref>
<ref id="B35">
<label>35.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Gambato</surname> <given-names>M</given-names></name> <name><surname>Canini</surname> <given-names>L</given-names></name> <name><surname>Lens</surname> <given-names>S</given-names></name> <name><surname>Graw</surname> <given-names>F</given-names></name> <name><surname>Londono</surname> <given-names>MC</given-names></name> <name><surname>Uprichard</surname> <given-names>SL</given-names></name> <etal/></person-group>. <article-title>Modeling early HCV kinetics to individualize direct acting antiviral treatment duration in patients with advanced cirrhosis</article-title>. <source>J Hepatol.</source> (<year>2016</year>) <volume>64</volume>:S795. <pub-id pub-id-type="doi">10.1016/S0168-8278(16)01550-6</pub-id></citation></ref>
<ref id="B36">
<label>36.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Shteingart</surname> <given-names>S</given-names></name> <name><surname>Gafanovich</surname> <given-names>I</given-names></name> <name><surname>Cotler</surname> <given-names>SJ</given-names></name> <name><surname>D&#x00027;Amato</surname> <given-names>M</given-names></name> <name><surname>Pohl</surname> <given-names>RT</given-names></name> <etal/></person-group>. <article-title>Sustained virological response with intravenous silibinin: individualized IFN-free therapy via real-time modelling of HCV kinetics</article-title>. <source>Liver Int.</source> (<year>2015</year>) <volume>35</volume>:<fpage>289</fpage>&#x02013;<lpage>94</lpage>. <pub-id pub-id-type="doi">10.1111/liv.12692</pub-id><pub-id pub-id-type="pmid">25251042</pub-id></citation></ref>
<ref id="B37">
<label>37.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Rong</surname> <given-names>L</given-names></name> <name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Ribeiro</surname> <given-names>RM</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name></person-group>. <article-title>Rapid emergence of protease inhibitor resistance in hepatitis C virus</article-title>. <source>Sci Trans Med.</source> (<year>2010</year>) <volume>2</volume>:<fpage>30ra32</fpage>. <pub-id pub-id-type="doi">10.1126/scitranslmed.3000544</pub-id><pub-id pub-id-type="pmid">20445200</pub-id></citation></ref>
<ref id="B38">
<label>38.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Nguyen</surname> <given-names>TH</given-names></name> <name><surname>Guedj</surname> <given-names>J</given-names></name> <name><surname>Canini</surname> <given-names>L</given-names></name> <name><surname>Osinusi</surname> <given-names>A</given-names></name> <name><surname>Pang</surname> <given-names>PS</given-names></name> <name><surname>McHutchison</surname> <given-names>J</given-names></name> <etal/></person-group>. <article-title>The paradox of highly effective sofosbuvir combo therapy despite slow viral decline</article-title>, in <source>Conference on Retroviruses and Opportunitstic Infections CROI 2015.</source> <publisher-loc>Seattle, WA</publisher-loc> (<year>2015</year>). p. <fpage>169</fpage>&#x02013;<lpage>70</lpage>.</citation></ref>
<ref id="B39">
<label>39.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Goyal</surname> <given-names>A</given-names></name> <name><surname>Lurie</surname> <given-names>Y</given-names></name> <name><surname>Meissner</surname> <given-names>G</given-names></name> <name><surname>Major</surname> <given-names>M</given-names></name> <name><surname>Sansone</surname> <given-names>N</given-names></name> <name><surname>Uprichard</surname> <given-names>S</given-names></name> <etal/></person-group>. <article-title>Modeling HCV cure after an ultra-short duration of therapy with direct acting agents</article-title>. <source>Antiv Res.</source> (<year>2017</year>) <volume>1444</volume>:<fpage>281</fpage>&#x02013;<lpage>5</lpage>. <pub-id pub-id-type="doi">10.1016/j.antiviral.2017.06.019</pub-id><pub-id pub-id-type="pmid">28673800</pub-id></citation></ref>
<ref id="B40">
<label>40.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Guedj</surname> <given-names>J</given-names></name> <name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Uprichard</surname> <given-names>SL</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name></person-group>. <article-title>The hepatitis C virus NS5A inhibitor daclatasvir has a dual mode of action and leads to a new virus half-life estimate</article-title>. <source>Expert Rev Gastroenterol Hepatoly.</source> (<year>2013</year>) <volume>7</volume>:<fpage>397</fpage>&#x02013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1586/17474124.2013.811050</pub-id><pub-id pub-id-type="pmid">23899277</pub-id></citation></ref>
<ref id="B41">
<label>41.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Rong</surname> <given-names>L</given-names></name> <name><surname>Guedj</surname> <given-names>J</given-names></name> <name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Coffield</surname> <given-names>DJJ</given-names></name> <name><surname>Levi</surname> <given-names>M</given-names></name> <name><surname>Smith</surname> <given-names>P</given-names></name> <etal/></person-group>. <article-title>Analysis of hepatitis C virus decline during treatment with the protease inhibitor danoprevir using a multiscale model</article-title>. <source>PLOS Comput Biol.</source> (<year>2013</year>) <volume>9</volume>:<fpage>e1002959</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pcbi.1002959</pub-id><pub-id pub-id-type="pmid">23516348</pub-id></citation></ref>
<ref id="B42">
<label>42.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Guedj</surname> <given-names>J</given-names></name> <name><surname>Neumann</surname> <given-names>AU</given-names></name></person-group>. <article-title>Understanding hepatitis C viral dynamics with direct-acting antiviral agents due to the interplay between intracellular replication and cellular infection dynamics</article-title>. <source>J Theor Biol.</source> (<year>2010</year>) <volume>267</volume>:<fpage>330</fpage>&#x02013;<lpage>40</lpage>. <pub-id pub-id-type="doi">10.1016/j.jtbi.2010.08.036</pub-id><pub-id pub-id-type="pmid">20831874</pub-id></citation></ref>
<ref id="B43">
<label>43.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Rong</surname> <given-names>L</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name></person-group>. <article-title>Mathematical analysis of multiscale models for hepatitis C virus dynamics under therapy with direct-acting antiviral agents</article-title>. <source>Math Biosci.</source> (<year>2013</year>) <volume>245</volume>:<fpage>22</fpage>&#x02013;<lpage>30</lpage>. <pub-id pub-id-type="doi">10.1016/j.mbs.2013.04.012</pub-id><pub-id pub-id-type="pmid">23684949</pub-id></citation></ref>
<ref id="B44">
<label>44.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Weickert</surname> <given-names>J</given-names></name> <name><surname>ter</surname> <given-names>Haar Romeny B</given-names></name> <name><surname>Viergever</surname> <given-names>M</given-names></name></person-group>. <article-title>Efficient and reliable schemes for nonlinear diffusion filtering</article-title>. <source>IEEE Trans Imag Proc.</source> (<year>1998</year>) <volume>7</volume>:<fpage>398</fpage>&#x02013;<lpage>410</lpage>. <pub-id pub-id-type="doi">10.1109/83.661190</pub-id><pub-id pub-id-type="pmid">18276260</pub-id></citation></ref>
<ref id="B45">
<label>45.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Barash</surname> <given-names>D</given-names></name> <name><surname>Israeli</surname> <given-names>M</given-names></name> <name><surname>Kimmel</surname> <given-names>R</given-names></name></person-group>. <article-title>An accurate operator splitting scheme for nonlinear diffusion filtering</article-title>, in <source>Proceedings of the 3rd International Conference on ScaleSpace and Morphology. LNCS Series</source>. <publisher-loc>Vancouver, BC</publisher-loc>: <publisher-name>Springer-Verlag</publisher-name> (<year>2001</year>). p. <fpage>281</fpage>&#x02013;<lpage>9</lpage>.</citation></ref>
<ref id="B46">
<label>46.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Barash</surname> <given-names>D</given-names></name></person-group>. <article-title>Nonlinear diffusion filtering on extended neighborhood</article-title>. <source>Appl Num Math.</source> (<year>2005</year>) <volume>52</volume>:<fpage>1</fpage>&#x02013;<lpage>11</lpage>. <pub-id pub-id-type="doi">10.1016/j.apnum.2004.07.002</pub-id></citation></ref>
<ref id="B47">
<label>47.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Rosenbrock</surname> <given-names>H</given-names></name></person-group>. <article-title>Some general implicit processes for the numerical solution of differential equations</article-title>. <source>Comp J.</source> (<year>1963</year>) <volume>5</volume>:<fpage>329</fpage>&#x02013;<lpage>30</lpage>. <pub-id pub-id-type="doi">10.1093/comjnl/5.4.329</pub-id></citation></ref>
<ref id="B48">
<label>48.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Dormand</surname> <given-names>J</given-names></name> <name><surname>Prince</surname> <given-names>P</given-names></name></person-group>. <article-title>A family of embedded Runge-Kutta formulae</article-title>. <source>J Comp Appl Math.</source> (<year>1980</year>) <volume>6</volume>:<fpage>19</fpage>&#x02013;<lpage>26</lpage>. <pub-id pub-id-type="doi">10.1016/0771-050X(80)90013-3</pub-id></citation></ref>
<ref id="B49">
<label>49.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Dekker</surname> <given-names>K</given-names></name> <name><surname>Verwer</surname> <given-names>JG</given-names></name></person-group>. <source>Stability of Runge-Kutta Methods for Stiff Nonlinear Differential Equations.</source> <volume>Vol. 984</volume>. <publisher-loc>North-Holland; Amsterdam</publisher-loc>: <publisher-name>Elsevier Science Ltd</publisher-name> (<year>1984</year>).</citation></ref>
<ref id="B50">
<label>50.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Kaps</surname> <given-names>P</given-names></name> <name><surname>Rentrop</surname> <given-names>P</given-names></name></person-group>. <article-title>Generalized Runge-Kutta methods of order four with stepsize control for stiff ordinary differential equations</article-title>. <source>Numer Math.</source> (<year>1979</year>) <volume>33</volume>:<fpage>55</fpage>&#x02013;<lpage>68</lpage>. <pub-id pub-id-type="doi">10.1007/BF01396495</pub-id></citation></ref>
<ref id="B51">
<label>51.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Hairer</surname> <given-names>E</given-names></name> <name><surname>Wanner</surname> <given-names>G</given-names></name></person-group>. <source>Solving Ordinary Differential Equations. Vol. 14 of Springer Series in Computational Mathematics. 2nd ed</source>. <publisher-loc>Berlin</publisher-loc>: <publisher-name>Cambridge University Press; Springer-Verlag</publisher-name> (<year>1996</year>).</citation></ref>
<ref id="B52">
<label>52.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Press</surname> <given-names>WH</given-names></name> <name><surname>Teukolsky</surname> <given-names>SH</given-names></name> <name><surname>Vetterling</surname> <given-names>WT</given-names></name> <name><surname>Flannery</surname> <given-names>BP</given-names></name></person-group>. <source>Numerical Recipes: The Art of Scientific Computing</source>. <edition>2nd</edition> ed. <publisher-loc>Cambridge, UK</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name> (<year>1997</year>).</citation></ref>
<ref id="B53">
<label>53.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hicklin</surname> <given-names>J</given-names></name> <name><surname>Moler</surname> <given-names>C</given-names></name> <name><surname>Webb</surname> <given-names>P</given-names></name> <name><surname>Boisvert</surname> <given-names>RF</given-names></name> <name><surname>Miller</surname> <given-names>B</given-names></name> <name><surname>Pozo</surname> <given-names>R</given-names></name> <etal/></person-group>. <source>Jama: A Java Matrix Package</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="http://mathnistgov/javanumerics/jama">http://mathnistgov/javanumerics/jama</ext-link> (<year>2000</year>).</citation></ref>
<ref id="B54">
<label>54.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Hindmarsh</surname> <given-names>AC</given-names></name></person-group>. <article-title>ODEPACK, a systematized collection of ODE solvers</article-title>. <source>IMACS Trans Sci Comp.</source> (<year>1983</year>) <volume>1</volume>:<fpage>55</fpage>&#x02013;<lpage>64</lpage>.</citation></ref>
<ref id="B55">
<label>55.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Fehlberg</surname> <given-names>E</given-names></name></person-group>. <article-title>Low-order classical Runge-Kutta formulas with step size control and their application to some heat transfer problems</article-title>. <source>NASA Technical Report 315</source> (<year>1969</year>).</citation></ref>
<ref id="B56">
<label>56.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Cash</surname> <given-names>J</given-names></name> <name><surname>Karp</surname> <given-names>A</given-names></name></person-group>. <article-title>A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sides</article-title>. <source>ACM Trans Math Softw.</source> (<year>1990</year>) <volume>16</volume>:<fpage>201</fpage>&#x02013;<lpage>22</lpage>. <pub-id pub-id-type="doi">10.1145/79505.79507</pub-id></citation></ref>
<ref id="B57">
<label>57.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Canini</surname> <given-names>L</given-names></name> <name><surname>Perelson</surname> <given-names>AS</given-names></name></person-group>. <article-title>Viral kinetic modeling: state of the art</article-title>. <source>J Pharmacokinet Pharmacodyn.</source> (<year>2014</year>) <volume>41</volume>:<fpage>431</fpage>&#x02013;<lpage>43</lpage>. <pub-id pub-id-type="doi">10.1007/s10928-014-9363-3</pub-id><pub-id pub-id-type="pmid">24961742</pub-id></citation></ref>
<ref id="B58">
<label>58.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Quintela</surname> <given-names>B</given-names></name> <name><surname>Conway</surname> <given-names>J</given-names></name> <name><surname>Hyman</surname> <given-names>J</given-names></name> <name><surname>Reis</surname> <given-names>R</given-names></name> <name><surname>dos</surname> <given-names>Santos R</given-names></name> <name><surname>Lobosco</surname> <given-names>M</given-names></name> <etal/></person-group>. <article-title>An age-based multiscale mathematical model of the hepatitis C virus life-cycle during infection and therapy: including translation and Replication</article-title>, in <source>VII Latin American Congress on Biomedical Engineering CLAIB 2016</source>. <publisher-loc>Bucaramanga</publisher-loc>: <publisher-name>Springer</publisher-name> (<year>2017</year>). p. <fpage>508</fpage>&#x02013;<lpage>11</lpage>.</citation></ref>
<ref id="B59">
<label>59.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Lau</surname> <given-names>G</given-names></name> <name><surname>Benhamou</surname> <given-names>Y</given-names></name> <name><surname>Chen</surname> <given-names>G</given-names></name> <name><surname>Li</surname> <given-names>J</given-names></name> <name><surname>Shao</surname> <given-names>Q</given-names></name> <name><surname>Ji</surname> <given-names>D</given-names></name> <etal/></person-group>. <article-title>Efficacy and safety of 3-week response-guided triple direct-acting antiviral therapy for chronic hepatitis C infection: a phase 2, open-label, proof-of-concept study</article-title>. <source>Lancet Gastroenterol Hepatol.</source> (<year>2016</year>) <volume>1</volume>:<fpage>97</fpage>&#x02013;<lpage>104</lpage>. <pub-id pub-id-type="doi">10.1016/S2468-1253(16)30015-2</pub-id><pub-id pub-id-type="pmid">27917405</pub-id></citation></ref>
<ref id="B60">
<label>60.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Hasin</surname> <given-names>Y</given-names></name> <name><surname>Shteingart</surname> <given-names>S</given-names></name> <name><surname>Dahari</surname> <given-names>H</given-names></name> <name><surname>Gafanovich</surname> <given-names>I</given-names></name> <name><surname>Floru</surname> <given-names>S</given-names></name> <name><surname>Braun</surname> <given-names>M</given-names></name> <etal/></person-group>. <article-title>Hepatitis C virus cures after direct acting antiviral-related drug-induced liver injury: Case report</article-title>. <source>World J Hepatol.</source> (<year>2016</year>) <volume>8</volume>:<fpage>858</fpage>&#x02013;<lpage>62</lpage>. <pub-id pub-id-type="doi">10.4254/wjh.v8.i20.858</pub-id><pub-id pub-id-type="pmid">27458506</pub-id></citation></ref>
<ref id="B61">
<label>61.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Shteyer</surname> <given-names>E</given-names></name> <name><surname>Harel</surname> <given-names>D</given-names></name> <name><surname>Gafanovich</surname> <given-names>I</given-names></name> <name><surname>Dery</surname> <given-names>I</given-names></name> <name><surname>Wolf</surname> <given-names>D</given-names></name> <name><surname>Cottler</surname> <given-names>SJ</given-names></name> <etal/></person-group>. <article-title>End of treatment RNA-positive/sustained viral response in an individual with acute hepatitis C virus infection treated with direct-acting antivirals</article-title>. <source>Therap Adv Gastroenterol.</source> (<year>2017</year>) <volume>10</volume>:<fpage>429</fpage>&#x02013;<lpage>30</lpage>. <pub-id pub-id-type="doi">10.1177/1756283X17694808</pub-id><pub-id pub-id-type="pmid">28507601</pub-id></citation></ref>
</ref-list>
<fn-group>
<fn fn-type="financial-disclosure"><p><bold>Funding.</bold> The research was supported in part by the U.S. National Institute of Health (NIH) grant R01-AI078881. VR is funded by Azrieli and FQRNT post-doctoral fellowships. The authors would like to thank the Lynne and William Frankel Center for Computer Sciences at Ben-Gurion University for partially supporting the research.</p>
</fn>
</fn-group>
</back>
</article>