酶联免疫吸附测定(enzyme linked immunosorbent assay,简写ELISA)指在固相表面是特定的抗原或抗体与某种酶连接成酶标抗原或抗体,再通过加入酶反应的底物后,底物被酶催化变为有色产物,因产物的量与标本中受检物质的量直接相关,故可根据颜色反应的深浅有无定性或定量分析的一个过程。那么,既然是通过颜色来定量就需要有标准的曲线去作为参考,然而并不是每次都有参考的曲线。此时就需要用到反曲线模型来进行评估数据的最快酶反应点(PMG),得到我们的量化数据。我们今天给大家介绍一个4 参数的反曲模型如何在R语言中实现,首先看下这个模型的公式:
其中,f(x)是反应每个x稀释度的吸光系数;a是最大吸光度,d是最小吸光度;b是在c处的斜率;c是PMG点
接下来我们需要安装包
install.packages("minpack.lm")
我们看下其中主要的函数nlsLM:
其中主要的参数:
Formula 指的公式构造,我们来细看下这个公式构造的细节:
~ :~连接公式两侧,~的左侧是因变量,右侧是自变量。
::冒号在formula中表示交互项,也就是说两项之间存在相互作用共同决定因果关系。
* :*不表示乘法, a*b 与 a+b+a:b 是等价的。
^ :(a+b)^2与(a+b)* (a+b) 等价。
当然也可以加入运算符号:对某一变量取对数,可以直接写log(y)~log(x),这一表达式的含义就是估计log(y)=a*log(x)+b。如果是加减乘除需要通过I()来添加。举例:
y~x+I(z^2)的含义:y=a+bx+cz2
y-x+z^2的含义:y=a+bx+cz(因z与自身无交互)
data 指的是formula中对应的变量信息,此处为列表,不可为矩阵格式。
Algorithm 只有LM算法,L-M方法全称Levenberg-Marquardt方法,是非线性回归中回归参数最小二乘估计的一种估计方法。
Weights 一个向量来描述LM的加权参数。
接下来我们看下如何实现我们4参数反曲模型:
x=seq(-24.0959,-13.0959,by=1)a=4b=7.422d=0.01y=c(4,4,2.3403,1.0984,0.5056,0.223,0.1046,0.063,0.0499,0.0459,0.0444,0.0445) data=list(x=x,y=y)model <- nlsLM(y ~ (3.99/(1+(x/c)^7.422))+0.01, data =data, start = list(c=-11))
最后我们看下如何提取模型中各个属性:
至此我们模型构建完成,后面的扩展以及学术应用就看自己真实数据的使用了。
欢迎大家互相学习交流!