Hello The NONMEM Users,
When we use M3-like approach, the outputs has PRED for non-missing observations and something else for BLQ (is that PRED=CUMD?). As in the diagnostic figures PRED for BLQs looks like noise, I remove them. It is not always perfect, but OK in for most frequent cases.
When we use count data such as a scale with few possible values (for example, 0, 1, 2, 3, 4, 5), it makes more sense to use PHI function (home-made likelihood) for all observations rather than to treat the count as a continuous variable an apply M3-like approach to 1 and 5 while only (as we know, they are like LLOQ and ULOQ). In this case, all PRED values look like noise. A hard way to replace the noise with PRED value is to simulate PRED for each point and merge them with the DV and IPRED data. Is there an easy way?
(The model runs well and better than when the count is treated as a continuous variable.)
Thanks!
Pavel
PRED for BLQ-like observations
7 messages
6 people
Latest: Nov 26, 2015
Hi Pavel,
The easiest way that I know is to generate your data file with one set of rows
for estimation with M3 and another row just above or below with MDV=1. NONMEM
will then provide PRED and IPRED in the rows with MDV=1.
Thanks,
Bill
Quoted reply history
From: [email protected] [mailto:[email protected]] On
Behalf Of Pavel Belo
Sent: Friday, November 20, 2015 11:47 AM
To: [email protected]
Subject: [NMusers] PRED for BLQ-like observations
Hello The NONMEM Users,
When we use M3-like approach, the outputs has PRED for non-missing observations
and something else for BLQ (is that PRED=CUMD?). As in the diagnostic figures
PRED for BLQs looks like noise, I remove them. It is not always perfect, but
OK in for most frequent cases.
When we use count data such as a scale with few possible values (for example,
0, 1, 2, 3, 4, 5), it makes more sense to use PHI function (home-made
likelihood) for all observations rather than to treat the count as a continuous
variable an apply M3-like approach to 1 and 5 while only (as we know, they are
like LLOQ and ULOQ). In this case, all PRED values look like noise. A hard
way to replace the noise with PRED value is to simulate PRED for each point and
merge them with the DV and IPRED data. Is there an easy way?
(The model runs well and better than when the count is treated as a continuous
variable.)
Thanks!
Pavel
Pavel,
Did you test the run time with double the records?
I would expect that the MDV=1 records would be largely ignored in the estimation step and not contribute much to run time.
Nick
Quoted reply history
On 21-Nov-15 08:59, Pavel Belo wrote:
> Thank you Bill,
>
> In my case it exactly doubles the number of records... The records are daily measures and the code is running slow enough. I'll split the code into estimation part and one that that is redundant, but uses a larger file and creates an output. It will be something like
>
> $EST MAXEVALS=9999 SIG=3 NOABORT PRINT=1 SORT CONSTRAIN=5
> METHOD=SAEM NBURN=0 NITER=0 POSTHOC INTERACTION
> LAPLACIAN GRD=TG(1-7):TS(8-9) CTYPE=3 CINTERVAL=10
>
> I guess the best future way is modify something in NONMEM so there is an option to provide only PRED in the PRED column (version 7.4?).
>
> Thanks!
> Pavel
> On Fri, Nov 20, 2015 at 01:06 PM, Denney, William S. wrote:
>
> Hi Pavel,
>
> The easiest way that I know is to generate your data file with one
> set of rows for estimation with M3 and another row just above or
> below with MDV=1. NONMEM will then provide PRED and IPRED in the
> rows with MDV=1.
>
> Thanks,
>
> Bill
>
> *From:*[email protected]
> [mailto:[email protected]] *On Behalf Of *Pavel Belo
> *Sent:* Friday, November 20, 2015 11:47 AM
> *To:* [email protected]
> *Subject:* [NMusers] PRED for BLQ-like observations
>
> Hello The NONMEM Users,
>
> When we use M3-like approach, the outputs has PRED for non-missing
> observations and something else for BLQ (is that PRED=CUMD?). As
> in the diagnostic figures PRED for BLQs looks like noise, I remove
> them. It is not always perfect, but OK in for most frequent cases.
>
> When we use count data such as a scale with few possible values
> (for example, 0, 1, 2, 3, 4, 5), it makes more sense to use PHI
> function (home-made likelihood) for all observations rather than
> to treat the count as a continuous variable an apply M3-like
> approach to 1 and 5 while only (as we know, they are like LLOQ and
> ULOQ). In this case, all PRED values look like noise. A hard way
> to replace the noise with PRED value is to simulate PRED for each
> point and merge them with the DV and IPRED data. Is there an easy
> way?
>
> (The model runs well and better than when the count is treated as
> a continuous variable.)
>
> Thanks!
>
> Pavel
--
Nick Holford, Professor Clinical Pharmacology
Dept Pharmacology & Clinical Pharmacology, Bldg 503 Room 302A
University of Auckland,85 Park Rd,Private Bag 92019,Auckland,New Zealand
office:+64(9)923-6730 mobile:NZ+64(21)46 23 53
email: [email protected]
http://holford.fmhs.auckland.ac.nz/
Holford SD, Allegaert K, Anderson BJ, Kukanich B, Sousa AB, Steinman A, Pypendop,
B., Mehvar, R., Giorgi, M., Holford,N.H.G. Parent-metabolite pharmacokinetic models
- tests of assumptions and predictions. Journal of Pharmacology & Clinical
Toxicology. 2014;2(2):1023-34.
Holford N. Clinical pharmacology = disease progression + drug action. Br J Clin
Pharmacol. 2015;79(1):18-27.
Unfortunately adding records to estimation slows down estimation even with
MDV=1 records. Please do a search on MDV=101 option in nm730.pdf 1 (section
Ignoring Non-Impact Records During Estimation (NM73)). These records will be
used only on the $TABLE step.
Robert J. Bauer, Ph.D.
Vice President, Pharmacometrics R&D
ICON Early Phase
Office: (215) 616-6428
Mobile: (925) 286-0769
[email protected]<mailto:[email protected]>
http://www.iconplc.com
Quoted reply history
From: [email protected] [mailto:[email protected]] On
Behalf Of Nick Holford
Sent: Friday, November 20, 2015 12:39 PM
To: nmusers
Subject: Re: [NMusers] PRED for BLQ-like observations
Pavel,
Did you test the run time with double the records?
I would expect that the MDV=1 records would be largely ignored in the
estimation step and not contribute much to run time.
Nick
On 21-Nov-15 08:59, Pavel Belo wrote:
> Thank you Bill,
> In my case it exactly doubles the number of records... The records
> are daily measures and the code is running slow enough. I'll split the
> code into estimation part and one that that is redundant, but uses a
> larger file and creates an output. It will be something like
> $EST MAXEVALS=9999 SIG=3 NOABORT PRINT=1 SORT CONSTRAIN=5
> METHOD=SAEM NBURN=0 NITER=0 POSTHOC INTERACTION
> LAPLACIAN GRD=TG(1-7):TS(8-9) CTYPE=3 CINTERVAL=10
> I guess the best future way is modify something in NONMEM so there is
> an option to provide only PRED in the PRED column (version 7.4?).
> Thanks!
> Pavel
> On Fri, Nov 20, 2015 at 01:06 PM, Denney, William S. wrote:
>
> Hi Pavel,
>
> The easiest way that I know is to generate your data file with one
> set of rows for estimation with M3 and another row just above or
> below with MDV=1. NONMEM will then provide PRED and IPRED in the
> rows with MDV=1.
>
> Thanks,
>
> Bill
>
> *From:*[email protected]
> [mailto:[email protected]] *On Behalf Of *Pavel Belo
> *Sent:* Friday, November 20, 2015 11:47 AM
> *To:* [email protected]<mailto:[email protected]>
> *Subject:* [NMusers] PRED for BLQ-like observations
>
> Hello The NONMEM Users,
>
> When we use M3-like approach, the outputs has PRED for non-missing
> observations and something else for BLQ (is that PRED=CUMD?). As
> in the diagnostic figures PRED for BLQs looks like noise, I remove
> them. It is not always perfect, but OK in for most frequent cases.
>
> When we use count data such as a scale with few possible values
> (for example, 0, 1, 2, 3, 4, 5), it makes more sense to use PHI
> function (home-made likelihood) for all observations rather than
> to treat the count as a continuous variable an apply M3-like
> approach to 1 and 5 while only (as we know, they are like LLOQ and
> ULOQ). In this case, all PRED values look like noise. A hard way
> to replace the noise with PRED value is to simulate PRED for each
> point and merge them with the DV and IPRED data. Is there an easy
> way?
>
> (The model runs well and better than when the count is treated as
> a continuous variable.)
>
> Thanks!
>
> Pavel
>
--
Nick Holford, Professor Clinical Pharmacology
Dept Pharmacology & Clinical Pharmacology, Bldg 503 Room 302A
University of Auckland,85 Park Rd,Private Bag 92019,Auckland,New Zealand
office:+64(9)923-6730 mobile:NZ+64(21)46 23 53
email: [email protected]<mailto:[email protected]>
http://holford.fmhs.auckland.ac.nz/
Holford SD, Allegaert K, Anderson BJ, Kukanich B, Sousa AB, Steinman A,
Pypendop, B., Mehvar, R., Giorgi, M., Holford,N.H.G. Parent-metabolite
pharmacokinetic models - tests of assumptions and predictions. Journal of
Pharmacology & Clinical Toxicology. 2014;2(2):1023-34.
Holford N. Clinical pharmacology = disease progression + drug action. Br J Clin
Pharmacol. 2015;79(1):18-27.
Even better, take advantage of this (from NMHELP):
Values of MDV are:
0 The DV data item is an observed value, i.e., DV is not miss-
ing.
1 The DV data item is not regarded an observed value, i.e., DV
is missing. The DV data item is ignored. |
100 Same as MDV=0, but this record is ignored during Estimation |
and Covariance Steps. During other steps, MDV will changed |
to 0. |
101 Same as MDV=1, but this record is ignored during Estimation |
and Covariance Steps. During other steps, MDV will changed |
to 1. |
Reserved variables MDVI1, MDVI2, MDVI3 can be used to over- |
ride values of MDV>100. These variables are defined in |
include file nonmem_reserved_general.
Dennis
Dennis Fisher MD
P < (The "P Less Than" Company)
Phone: 1-866-PLessThan (1-866-753-7784)
Fax: 1-866-PLessThan (1-866-753-7784)
www.PLessThan.com
Quoted reply history
> On Nov 20, 2015, at 12:38 PM, Nick Holford <[email protected]> wrote:
>
> Pavel,
> Did you test the run time with double the records?
> I would expect that the MDV=1 records would be largely ignored in the
> estimation step and not contribute much to run time.
> Nick
>
> On 21-Nov-15 08:59, Pavel Belo wrote:
>> Thank you Bill,
>> In my case it exactly doubles the number of records... The records are
>> daily measures and the code is running slow enough. I'll split the code into
>> estimation part and one that that is redundant, but uses a larger file and
>> creates an output. It will be something like
>> $EST MAXEVALS=9999 SIG=3 NOABORT PRINT=1 SORT CONSTRAIN=5
>> METHOD=SAEM NBURN=0 NITER=0 POSTHOC INTERACTION
>> LAPLACIAN GRD=TG(1-7):TS(8-9) CTYPE=3 CINTERVAL=10
>> I guess the best future way is modify something in NONMEM so there is an
>> option to provide only PRED in the PRED column (version 7.4?).
>> Thanks!
>> Pavel
>> On Fri, Nov 20, 2015 at 01:06 PM, Denney, William S. wrote:
>>
>> Hi Pavel,
>>
>> The easiest way that I know is to generate your data file with one
>> set of rows for estimation with M3 and another row just above or
>> below with MDV=1. NONMEM will then provide PRED and IPRED in the
>> rows with MDV=1.
>>
>> Thanks,
>>
>> Bill
>>
>> *From:*[email protected]
>> [mailto:[email protected]] *On Behalf Of *Pavel Belo
>> *Sent:* Friday, November 20, 2015 11:47 AM
>> *To:* [email protected]
>> *Subject:* [NMusers] PRED for BLQ-like observations
>>
>> Hello The NONMEM Users,
>>
>> When we use M3-like approach, the outputs has PRED for non-missing
>> observations and something else for BLQ (is that PRED=CUMD?). As
>> in the diagnostic figures PRED for BLQs looks like noise, I remove
>> them. It is not always perfect, but OK in for most frequent cases.
>>
>> When we use count data such as a scale with few possible values
>> (for example, 0, 1, 2, 3, 4, 5), it makes more sense to use PHI
>> function (home-made likelihood) for all observations rather than
>> to treat the count as a continuous variable an apply M3-like
>> approach to 1 and 5 while only (as we know, they are like LLOQ and
>> ULOQ). In this case, all PRED values look like noise. A hard way
>> to replace the noise with PRED value is to simulate PRED for each
>> point and merge them with the DV and IPRED data. Is there an easy
>> way?
>>
>> (The model runs well and better than when the count is treated as
>> a continuous variable.)
>>
>> Thanks!
>>
>> Pavel
>>
>
> --
> Nick Holford, Professor Clinical Pharmacology
> Dept Pharmacology & Clinical Pharmacology, Bldg 503 Room 302A
> University of Auckland,85 Park Rd,Private Bag 92019,Auckland,New Zealand
> office:+64(9)923-6730 mobile:NZ+64(21)46 23 53
> email: [email protected]
> http://holford.fmhs.auckland.ac.nz/
>
> Holford SD, Allegaert K, Anderson BJ, Kukanich B, Sousa AB, Steinman A,
> Pypendop, B., Mehvar, R., Giorgi, M., Holford,N.H.G. Parent-metabolite
> pharmacokinetic models - tests of assumptions and predictions. Journal of
> Pharmacology & Clinical Toxicology. 2014;2(2):1023-34.
> Holford N. Clinical pharmacology = disease progression + drug action. Br J
> Clin Pharmacol. 2015;79(1):18-27.
>
As we always do post-processing any way, one option is to use PRED provided by Nonmem to compute inverse cumulative distribution function (qnorm in R, for example) and then restore PRED value
IPRED = ...
W = ...
LLOQ = ...
IF(BQL.EQ.1) Y=PHI((LLOQ-IPRED)/W)
If you have PRED LLOQ and W in the Nonmem output file (that you read to the R data frame "data"), you can re-define
if(BQL == 1) data$PRED = data$LLOQ - qnorm(data$PRED)*data$W # R code
(I have not tested it; use on your own risk :) )
Leonid
--------------------------------------
Leonid Gibiansky, Ph.D.
President, QuantPharm LLC
web: www.quantpharm.com
e-mail: LGibiansky at quantpharm.com
tel: (301) 767 5566
Quoted reply history
On 11/20/2015 5:15 PM, Pavel Belo wrote:
> That is perfect!
> P.
> On Fri, Nov 20, 2015 at 04:04 PM, Bauer, Robert wrote:
>
> Unfortunately adding records to estimation slows down estimation
> even with MDV=1 records. Please do a search on MDV=101 option in
> nm730.pdf 1 (section Ignoring Non-Impact Records During Estimation
> (NM73)). These records will be used only on the $TABLE step.
>
> Robert J. Bauer, Ph.D.
>
> Vice President, Pharmacometrics R&D
>
> ICON Early Phase
>
> Office: (215) 616-6428
>
> Mobile: (925) 286-0769
>
> [email protected] <mailto:[email protected]>
>
> www.iconplc.com http://www.iconplc.com
>
> *From:*[email protected]
> [mailto:[email protected]] *On Behalf Of *Nick Holford
> *Sent:* Friday, November 20, 2015 12:39 PM
> *To:* nmusers
> *Subject:* Re: [NMusers] PRED for BLQ-like observations
>
> Pavel,
> Did you test the run time with double the records?
> I would expect that the MDV=1 records would be largely ignored in the
> estimation step and not contribute much to run time.
> Nick
>
> On 21-Nov-15 08:59, Pavel Belo wrote:
> > Thank you Bill,
> > In my case it exactly doubles the number of records... The records
> > are daily measures and the code is running slow enough. I'll
> split the
> > code into estimation part and one that that is redundant, but uses a
> > larger file and creates an output. It will be something like
> > $EST MAXEVALS=9999 SIG=3 NOABORT PRINT=1 SORT CONSTRAIN=5
> > METHOD=SAEM NBURN=0 NITER=0 POSTHOC INTERACTION
> > LAPLACIAN GRD=TG(1-7):TS(8-9) CTYPE=3 CINTERVAL=10
> > I guess the best future way is modify something in NONMEM so
> there is
> > an option to provide only PRED in the PRED column (version 7.4?).
> > Thanks!
> > Pavel
> > On Fri, Nov 20, 2015 at 01:06 PM, Denney, William S. wrote:
> >
> > Hi Pavel,
> >
> > The easiest way that I know is to generate your data file with one
> > set of rows for estimation with M3 and another row just above or
> > below with MDV=1. NONMEM will then provide PRED and IPRED in the
> > rows with MDV=1.
> >
> > Thanks,
> >
> > Bill
> >
> > *From:*[email protected]
> > [mailto:[email protected]] *On Behalf Of *Pavel Belo
> > *Sent:* Friday, November 20, 2015 11:47 AM
> > *To:* [email protected] <mailto:[email protected]>
> > *Subject:* [NMusers] PRED for BLQ-like observations
> >
> > Hello The NONMEM Users,
> >
> > When we use M3-like approach, the outputs has PRED for non-missing
> > observations and something else for BLQ (is that PRED=CUMD?). As
> > in the diagnostic figures PRED for BLQs looks like noise, I remove
> > them. It is not always perfect, but OK in for most frequent cases.
> >
> > When we use count data such as a scale with few possible values
> > (for example, 0, 1, 2, 3, 4, 5), it makes more sense to use PHI
> > function (home-made likelihood) for all observations rather than
> > to treat the count as a continuous variable an apply M3-like
> > approach to 1 and 5 while only (as we know, they are like LLOQ and
> > ULOQ). In this case, all PRED values look like noise. A hard way
> > to replace the noise with PRED value is to simulate PRED for each
> > point and merge them with the DV and IPRED data. Is there an easy
> > way?
> >
> > (The model runs well and better than when the count is treated as
> > a continuous variable.)
> >
> > Thanks!
> >
> > Pavel
> >
>
> --
> Nick Holford, Professor Clinical Pharmacology
> Dept Pharmacology & Clinical Pharmacology, Bldg 503 Room 302A
> University of Auckland,85 Park Rd,Private Bag 92019,Auckland,New Zealand
> office:+64(9)923-6730 mobile:NZ+64(21)46 23 53
> email: [email protected] <mailto:[email protected]>
> http://holford.fmhs.auckland.ac.nz/
>
> Holford SD, Allegaert K, Anderson BJ, Kukanich B, Sousa AB, Steinman
> A, Pypendop, B., Mehvar, R., Giorgi, M., Holford,N.H.G.
> Parent-metabolite pharmacokinetic models - tests of assumptions and
> predictions. Journal of Pharmacology & Clinical Toxicology.
> 2014;2(2):1023-34.
> Holford N. Clinical pharmacology = disease progression + drug
> action. Br J Clin Pharmacol. 2015;79(1):18-27.
>
>
It is a good point in general and I'll try to use it for simple cases of BLQ values. In this particular case, Y is a function of more than 1 PHI, which requires a numerical method to get IPRED back (assuming in this case it is PRED).
Quoted reply history
On Sat, Nov 21, 2015 at 10:23 AM, Leonid Gibiansky wrote:
> As we always do post-processing any way, one option is to use PRED provided by Nonmem to compute inverse cumulative distribution function (qnorm in R, for example) and then restore PRED value
> IPRED = ...
> W = ...
> LLOQ = ...
> IF(BQL.EQ.1) Y=PHI((LLOQ-IPRED)/W)
>
> If you have PRED LLOQ and W in the Nonmem output file (that you read to the R data frame "data"), you can re-define
>
> if(BQL == 1) data$PRED = data$LLOQ - qnorm(data$PRED)*data$W # R code
>
> (I have not tested it; use on your own risk :) )
>
> Leonid
>
> --------------------------------------
> Leonid Gibiansky, Ph.D.
> President, QuantPharm LLC
> web: www.quantpharm.com
> e-mail: LGibiansky at quantpharm.com
> tel: (301) 767 5566
>
> On 11/20/2015 5:15 PM, Pavel Belo wrote:
>
> > That is perfect!
> > P.
> > On Fri, Nov 20, 2015 at 04:04 PM, Bauer, Robert wrote:
> >
> > Unfortunately adding records to estimation slows down estimation
> > even with MDV=1 records. Please do a search on MDV=101 option in
> >
> > nm730.pdf 1 (section Ignoring Non-Impact Records During Estimation
> >
> > (NM73)). These records will be used only on the $TABLE step.
> >
> > Robert J. Bauer, Ph.D.
> >
> > Vice President, Pharmacometrics R&D
> >
> > ICON Early Phase
> >
> > Office: (215) 616-6428
> >
> > Mobile: (925) 286-0769
> >
> > [email protected]
> > www.iconplc.com
> > *From:*[email protected]
> > [mailto:[email protected]] *On Behalf Of *Nick Holford
> > *Sent:* Friday, November 20, 2015 12:39 PM
> > *To:* nmusers
> > *Subject:* Re: [NMusers] PRED for BLQ-like observations
> >
> > Pavel,
> > Did you test the run time with double the records?
> >
> > I would expect that the MDV=1 records would be largely ignored in the
> >
> > estimation step and not contribute much to run time.
> > Nick
> >
> > On 21-Nov-15 08:59, Pavel Belo wrote:
> >
> > > Thank you Bill,
> > > In my case it exactly doubles the number of records... The records
> > > are daily measures and the code is running slow enough. I'll
> >
> > split the
> >
> > > code into estimation part and one that that is redundant, but uses a
> > > larger file and creates an output. It will be something like
> > > $EST MAXEVALS=9999 SIG=3 NOABORT PRINT=1 SORT CONSTRAIN=5
> > > METHOD=SAEM NBURN=0 NITER=0 POSTHOC INTERACTION
> > > LAPLACIAN GRD=TG(1-7):TS(8-9) CTYPE=3 CINTERVAL=10
> > > I guess the best future way is modify something in NONMEM so
> >
> > there is
> >
> > > an option to provide only PRED in the PRED column (version 7.4?).
> > > Thanks!
> > > Pavel
> > > On Fri, Nov 20, 2015 at 01:06 PM, Denney, William S. wrote:
> > >
> > > Hi Pavel,
> > >
> > > The easiest way that I know is to generate your data file with one
> > > set of rows for estimation with M3 and another row just above or
> > > below with MDV=1. NONMEM will then provide PRED and IPRED in the
> > > rows with MDV=1.
> > >
> > > Thanks,
> > >
> > > Bill
> > >
> > > *From:*[email protected]
> > > [mailto:[email protected]] *On Behalf Of *Pavel Belo
> > > *Sent:* Friday, November 20, 2015 11:47 AM
> > >
> > > *To:* [email protected] *Subject:* [NMusers] PRED for BLQ-like observations
> > >
> > > Hello The NONMEM Users,
> > >
> > > When we use M3-like approach, the outputs has PRED for non-missing
> > > observations and something else for BLQ (is that PRED=CUMD?). As
> > > in the diagnostic figures PRED for BLQs looks like noise, I remove
> > > them. It is not always perfect, but OK in for most frequent cases.
> > >
> > > When we use count data such as a scale with few possible values
> > > (for example, 0, 1, 2, 3, 4, 5), it makes more sense to use PHI
> > > function (home-made likelihood) for all observations rather than
> > > to treat the count as a continuous variable an apply M3-like
> > > approach to 1 and 5 while only (as we know, they are like LLOQ and
> > > ULOQ). In this case, all PRED values look like noise. A hard way
> > > to replace the noise with PRED value is to simulate PRED for each
> > > point and merge them with the DV and IPRED data. Is there an easy
> > > way?
> > >
> > > (The model runs well and better than when the count is treated as
> > > a continuous variable.)
> > >
> > > Thanks!
> > >
> > > Pavel
> >
> > --
> > Nick Holford, Professor Clinical Pharmacology
> > Dept Pharmacology & Clinical Pharmacology, Bldg 503 Room 302A
> >
> > University of Auckland,85 Park Rd,Private Bag 92019,Auckland,New Zealand
> >
> > office:+64(9)923-6730 mobile:NZ+64(21)46 23 53
> >
> > email: [email protected] http://holford.fmhs.auckland.ac.nz/
> >
> > Holford SD, Allegaert K, Anderson BJ, Kukanich B, Sousa AB, Steinman
> >
> > A, Pypendop, B., Mehvar, R., Giorgi, M., Holford,N.H.G.
> >
> > Parent-metabolite pharmacokinetic models - tests of assumptions and
> >
> > predictions. Journal of Pharmacology & Clinical Toxicology.
> > 2014;2(2):1023-34.
> > Holford N. Clinical pharmacology = disease progression + drug
> > action. Br J Clin Pharmacol. 2015;79(1):18-27.
> >
> >