简体   繁体   中英

How to fit a Biphasic Dose Response Curve using R?

I am trying to process NanoBRET assay data to analyze competition between Ternary Complex (TC) formation and binary binding between Chimeric Targeted Molecule and weaker affinity interacting species using R. I could not locate the correct library function that helps perform the biphasic dose-response curve fit using the following formula. Can someone direct me to the appropriate R Library if available?

在此处输入图像描述

Concn   CompoundX   CompoundX
0.00001 0.309967    0.28848
0.000004    0.239756    0.386004
0.0000015   0.924346    0.924336
0.00000075  1.409483    1.310479
0.00000025  2.128796    2.007222
0.0000001   2.407227    2.371517
3.75E-08    2.300768    2.203162
1.63E-08    1.826203    1.654133
6.25E-09    0.978104    1.06907
2.5E-09 0.483403    0.473238
1.06E-09    0.235191    0.251971
4.06E-10    0.115721    0.114867
1.56E-10    0.06902 0.053681
6.25E-11    0.031384    0.054416
2.66E-11    0.023007    0.028945
1.09E-11    0.003956    0.020866

Plot generated in GraphPad PRISM using biphasic dose-response equation.

在此处输入图像描述

I needed to answer my questions by following further links in the article suggested by @I_O. Apparently the bell-shaped response curve which I thought looked more like the "bell-shaped" model described in the skimpy Prism documentation is precisely what the referenced article was calling "biphasic". See: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4660423/pdf/srep17200.pdf

The R code to do the fitting is in the supplemental material referenced at https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4660423/#S1

dput(dat)
structure(list(Concn = c(1e-05, 4e-06, 1.5e-06, 7.5e-07, 2.5e-07, 
1e-07, 3.75e-08, 1.63e-08, 6.25e-09, 2.5e-09, 1.06e-09, 4.06e-10, 
1.56e-10, 6.25e-11, 2.66e-11, 1.09e-11), CompoundX = c(0.309967, 
0.239756, 0.924346, 1.409483, 2.128796, 2.407227, 2.300768, 1.826203, 
0.978104, 0.483403, 0.235191, 0.115721, 0.06902, 0.031384, 0.023007, 
0.003956), CompoundX.2 = c(0.28848, 0.386004, 0.924336, 1.310479, 
2.007222, 2.371517, 2.203162, 1.654133, 1.06907, 0.473238, 0.251971, 
0.114867, 0.053681, 0.054416, 0.028945, 0.020866)), class = "data.frame", row.names = c(NA, 
-16L))

> m0<-drm(CompoundX~log(Concn), data = dat, fct = gaussian())
> summary(m0)

Model fitted: Gaussian (5 parms)

Parameter estimates:

                Estimate Std. Error  t-value   p-value    
b:(Intercept)   2.031259   0.086190   23.567 9.128e-11 ***
c:(Intercept)   0.012121   0.040945    0.296    0.7727    
d:(Intercept)   2.447918   0.067136   36.462 7.954e-13 ***
e:(Intercept) -16.271552   0.045899 -354.509 < 2.2e-16 ***
f:(Intercept)   2.095870   0.195703   10.709 3.712e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error:

 0.07894641 (11 degrees of freedom)
> plot(m0, type = "all", col= "black", log = "")
Warning message:
In min(dose[dose > 0]) : no non-missing arguments to min; returning Inf

在此处输入图像描述

That Supplement goes on to compare a variety of model variations and constraints, so it should be read, digested and followed more closely than space permits here.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM