分享

基于GraphPad Prism软件实现非线性拟合(上篇)

 qpalzmxmcbv 2019-07-06

题记:本文以计算药物半数抑制浓度(IC50)为例详细介绍基于GraphPad Prism软件实现非线性拟合并绘图。

1. 背景介绍

这里“非线性拟合”或许名词太过于专业,对于很多读者来说可能有些陌生,但我想很多读者有过制作标准曲线的经历,这也是一种“曲线拟合”,只不过标准曲线制作多为“线性拟合”,拟合的方程也比较简单,比如:Y=aX b。很多时候两个变量的关系并非简单的直线关系,这种情况下拟合曲线就显得复杂一点。至少要满足两点条件才可以进行曲线拟合:第一,二维坐标系中有适当数量的点,可大体反应曲线的形状;第二,根据坐标系中的点拟合曲线的数学公式已知。曲线拟合之后到底有什么作用?我们先从简单的线性拟合说起,比如我们按照Y=aX b这个方程进行线性拟合,当我们在坐标系中确定两个点以后,那么这条直线在这个坐标系中就是确定的了(两点决定一条直线),那么方程中的参数a、b也是确定的了,当我们获得a、b这两个参数以后,这个方程对我们来说就是有价值的,我们可以根据任意X取值而计算出Y值。

当然,以上是一个线性拟合的例子,理解起来要简单一点。再举一个略显复杂的例子,我们需要根据下面的方程来拟合曲线并计算某化学药物的半数抑制浓度(IC50),方程如下:Y=Bottom (Top-Bottom)/(1 10^((LogIC50-X)*HillSlope)),该方程已不再是简单的线性关系,其中有四个参数:Top、Bottom、IC50和HillSlope,如果要确定方程中的这四个参数,我们首先需要在二维坐标系中获得适量的坐标点,然后找到一条最佳的曲线,让这条曲线尽可能通过所有的点,曲线一旦确定那么这几个参数就确定了,则可得到IC50的值。读者朋友们面临的问题可能比这更复杂,但处理原则是类似的。下面我们就以案例的形式为大家演示曲线拟合的过程,本案例的数据来自笔者本人的研究数据[1],为了便于读者阅读和理解,笔者对数据进行了简化处理。

2. 案例详解

【案例1】计算药物IC50。乳腺癌细胞接种于96孔板中,每孔接种数量一致。待细胞贴壁后我们使用不同浓度梯度的药物A(0~800 μmol/L)处理乳腺癌细胞24小时,然后通过CCK-8法测定各接种细胞孔的吸光度值,吸光度值越大表示存活细胞越多。我们的实验目的是拟合剂量-存活曲线并计算药物的IC50值。以0 μmol/L药物处理孔的细胞的存活率为1,其他各浓度的吸光度值与0 μmol/L药物孔的比值即为相对存活率。根据药物浓度与对应的相对存活率在二维坐标系中描点,按照Y=Bottom (Top-Bottom)/(1 10^((LogIC50-X)*HillSlope))方程拟合剂量存活曲线,计算方程中的参数。该实验在相同的条件下进行了三次独立的重复实验,假定每次独立重复实验设有3个复孔,那每个药物浓度应该有9个测量数据,本案例中我们对数据进行了简化处理,仅选择了三次独立重复实验的单个培养孔的吸光度值并计算相对存活率。试剂空白对照设置等实验操作细节可参考CCK-8试剂盒的说明书,本案例重点讲解数据处理与统计分析过程。数据整理如下表1所示。

表1.不同药物A浓度梯度处理乳腺癌细胞的相对存活率

A浓度(μmol/L)

相对存活率

S1

S2

S3

0.00

1.0000

1.0000

1.0000

0.02

1.0696

1.0037

0.9676

0.04

1.2205

1.0293

1.0466

0.10

0.8201

0.9354

0.9449

0.20

0.8158

0.8401

0.8886

0.40

0.9156

0.9549

0.9711

0.60

1.0326

0.9819

0.9245

1.00

0.8324

0.8647

0.8038

10.00

0.4240

0.4259

0.4717

100.00

0.1739

0.1298

0.1027

200.00

0.0064

0.0113

0.0055

400.00

0.0199

0.0192

0.0121

800.00

0.0014

0.0013

0.0048

接下来我们将表1中的数据按照如下图1~图3所示操作步骤录入Graphpad Prism 7.0 软件(San Diego, CA, USA)并绘制散点图,初步判断曲线形状。接下来的分析策略是通过绘制的散点图进行曲线拟合。第一步,我们首先对A的浓度进行对数转换,生成新的数据集,如图4~图6所示。使用新生成的数据集拟合曲线并计算IC50,如图7~图11所示。

图1. 新建数据框。依次选择“XY”-“Enter/importdata”选择第二行填入数字“3”,表示每组有3个独立样本或3次独立重复实验数据。

图2. 录入数据。

图3. 选择绘制散点图。如图示选择绘制图形类型设置误差线表示标准差(SD)点击“OK”

图4. 对药物浓度进行对数转换。如图示依次选择“Analyze”-“Transform”点击“OK”。

图5. 对药物浓度进行对数转换。如图示操作,勾选“Standardfunction”-“TransformX values using”选择对数转换公式勾选“Newgraph”复选框点击“OK”。

图6. 对药物浓度进行对数转换后新生成的数据集。

图7. 非线性拟合。如图示依次选择“Analyze”→“XYanalyses”→“Nonlinear regression (curvefit)”→点击“OK”。

图8. 非线性拟合。如图示依次选择“Fit”→“Choosean equation”→“Dose-response-Inhibition”→“log(inhibitor) vs. response--Variableslope (four parameters)”→点击“OK”。其他选项默认。假定如果读者想通过某一药物浓度计算存活率,可以勾选“Interpolate”。

注意:此处软件提供了四个公式,笔者推荐选择第二个公式,即“log(inhibitor)vs. response--Variable slope (four parameters)”。选择第一个公式的操作与本例类似,选择其他公式与本例操作不同,读者可自行尝试。

图9. 计算IC50公式的细节。假定读者想了解关于拟合方程的细节可以点击图8右侧的“Details”,可以了解公式中每个参数的具体含义。软件自带的非线性拟合方程是有限的,假定读者有特殊要求,有时需要自己定义公式,可点击上图8右侧“New”新建公式,并给公式的参数设定初始值,在下一篇中笔者将进行详细讲解。

图10. 曲线拟合计算结果。软件会根据坐标系中的描点计算公式中的参数。

图11. 最后绘制的剂量存活率曲线。笔者通过在软件中设置坐标系和图形参数获得上图,读者可以自行按照前述章节方法尝试。

3. 总结

本文详细讲解了基础实验数据中非线性拟合的实现方法。软件自带拟合公式,如果软件中不提供公式,我们需要自建公式,下一讲我们将分享自定义公式的曲线拟合。曲线拟合的难点在于我们对具体方程参数的理解,而具体操作步骤并不难。当我们实验获得了一些原始数据,可以在二维坐标系中描出点来,按照既定的方程就可以把曲线拟合出来,到底该选择什么样的方程或者自定义什么样的方程?这些工作需要我们结合自己的实验目的以及文献回顾来确定。事实上非线性拟合是一个很复杂的数学问题,我们仅仅介绍了其中与我们医学基础实验数据处理相关的一些内容。

我们提出一个问题供读者思考:假定,我们有大量的原始数据,可以在坐标系中描出很多点,但我们并不知道这些点背后的数学规律是什么,或者其遵守什么样的数学模型,那该如何拟合曲线呢?这样的问题应该归于当下比较流行的数据挖掘、统计建模等范畴,要比我们本章节讲述的要复杂得多。

4. 参考文献

[1]. 周支瑞,胡志德.聪明统计学. 长沙:中南大学出版社, 2016.

[2]. 周支瑞,胡志德.疯狂统计学. 长沙:中南大学出版社, 2018.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多