如何使用 R 拟合双相剂量响应曲线?

How to fit a Biphasic Dose Response Curve using R?

我正在尝试处理 NanoBRET 分析数据,以使用 R 分析三元复合物 (TC) 形成和嵌合靶向分子与较弱亲和力相互作用物种之间的二元结合之间的竞争。我无法找到有助于执行的正确库函数使用以下公式拟合双相剂量反应曲线。有人可以指导我找到合适的 R 库吗?

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

使用双相剂量反应方程在 GraphPad PRISM 中生成的图。

我需要通过@I_O 建议的文章中的进一步链接来回答我的问题。显然,我认为 bell-shaped 响应曲线看起来更像是简陋的 Prism 文档中描述的“bell-shaped”模型,这正是参考文章所称的“双相”模型。参见:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4660423/pdf/srep17200.pdf

进行拟合的 R 代码在 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4660423/#S1

引用的补充 material 中
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

该补充继续比较各种模型变体和约束,因此应该阅读、消化并更仔细地遵循 space 此处允许的内容。