WB做完,有时候我们需要对结果进行定量。目前最备受推崇的应该非Biorad公司的Quantiy One软件莫属,然而其$6K左右的售价令很多人望而却步;不过,这款软件之所以敢如此漫天要价,其最大的优点莫过于自动识别条带代替人工分析以降低主观误差,同时它的很多功能渗透了艰深的数理理论以及概率统计的原理,这在其它各类免费的随机附送的蛋白定量软件上是乏善可陈的。不过,令人扼腕的是,又有多少人真的只是把它当做一款普通的“免费”软件在使用着--暴殄天物。
目前多数免费软件主要采用的是等高线定量法(Volumn Contour),Quantiy One也包含这部分内容且在网络教程里面流传最广,以至于很多人只会这种并不准确的蛋白定量方法。等高线定量法通过半自动描绘电泳条带的等高线边缘来得到等高线区域内部面积,再将该面积乘以区域内平均光密度值得到条带内部总的信号量。这种分析方法有明显的弊病:人为圈定背景值且假定不同泳道的背景亮度一致;等高线的绘制处于“半自动”状态,即需要人为判断作为等高线标准的电泳条带的边缘;最致命的是在几个电泳条带距离十分接近的时候几乎无法绘制单一条带的轮廓(常出现连续的几个条带等高线相连而无法分离出单独条带的轮廓)。
实际上,最科学、严谨的蛋白定量方法应该是泳道/条带轨迹定量法(Trace Tracking)。这种方法使用起来步骤较为繁琐,必须通过泳道识别---电泳条带识别这两个连续的步骤才能进行定量。但它最大优点在于可以完全抛弃人为主观因素进行全自动定量。他的定量方式为:首先根据不同电泳条带的光密度值绘制光密度曲线,然后计算光密度曲线下面积作为电泳条带的定量根据。其次,它能够最大程度的排除不同泳道之间的背景差异,让各个泳道上的不同电泳条带在一条几乎相同的起跑线上进行对比;这个背景排除功能是等高线法无法做到的。最终,采用泳道/条带轨迹定量法分析条带光密度后,再结合Gauss Model Bands对电泳条带进行数理统计。
执行步骤
由于Quantiy One只能识别黑白的TIF文件,而实际上发表论文时,很多杂志也要求提供TIF等格式的图片而非JEPG格式的;因此,考虑到这两层因素,我建议大家从一开始扫描就统一存贮为TIF格式的图片。
1.创建泳道:
a.打开我们要分析的电泳图片(以蛋白质电泳为例)。
b.选择“Lane-Auto Frame lanes”。这时如果您的电泳图片比较标准的话,Quantity One就会自动识别出每条电泳泳道的位置,而且将各个泳道的路径用一条红线标画出来;
如果您对软件自动标记的泳道不甚满意,您可以通过“Lane-Edit Frame”下级各个子菜单提供的功能对泳道框架位置、大小等进行调节;调节方法就是通过鼠标的拖放来实现。
如果您只需要分析其中几个泳道的数据而不想其他泳道的标记干扰您的视线,您可以通过“Lane-Single Lane-Remove Lane”删除您不需要的泳道的标记。
注意
不是所有的电泳图片的泳道都能够被Quantity One自动识别。在不能自动识别的情况下,Quantity One就会弹出对话框告诉您它不能识别泳道。这时大家就需要手工绘制电泳泳道。方法和上面一样,同过“Lane-Single Lane-Creat Lane”来实现。只要用鼠标在您的电泳图片上顺着待标记的泳道的中轴线拖放就可以绘制出该泳道的标记红线。
2.不同泳道的背景排除:
我们要将我们的电泳图片进行前面谈到的泳道识别,不管是自动方式还是手工识别。然后选择“Lane-Lane Backgroud...”命令。选择该命令后,鼠标即变成一个绿色的“+”,将鼠标移到您打算进行背景排除的泳道,点击左键一下,立刻就会弹出如下图所示的对话框。
其中“Optical Density”显示得是该泳道光密度值的分布情况。大家会注意到这个分布曲线并不是紧贴着纵轴,而是位于纵轴上方分布。造成这个“悬空现象”的原因就是该泳道自身存在着一定的光密度“背景”。这个背景的存在导致该泳道上各个电泳条带之间不能处于同一水平进行对比;如果考虑到相邻的其他泳道更是因为不同背景的存在而无法对比不同泳道上的不同电泳条带。如何去除这个背景呢?我们继续看右边的“Lane Backgroud Substruction”对话框。这个对话框的上方“All Lanes”表示可以对所有泳道进行一次性处理;下方的“Selected Lane”表示仅针对此次选中的这个泳道进行处理。我们用鼠标选择“Selected Lane”的“Lane On”选项。然后在下面的“Rolling Disk Size”里填上“5”,再按“回车”键。大家再来看看现在“Optical Density”中出现了一条紧紧沿着光密度曲线分布的酱色曲线。这条曲线将泳道的背景与电泳条带的光密度分布十分精确的划分开来。
注意
“Rolling Disk Size”是什么意思呢?实际上就是数理里面的微分等差逼近。我们可以将Quantity One提供的去除背景功能想象成是一个滚动的小球。如果这个小球的半径越小,那么它沿着光密度曲线滚动时滚过的路径就越发精细,具体反映在酱色曲线的轨迹越发靠近黑色光密度分布曲线的基线。因此从理论上来说“Rolling Disk Size”的取值越小,它的去除背景效果越好。大家可以试着选择一个较大的值比如80,再来看看此时酱色曲线的轨迹。当然也不能取太小的值。因为如果取值太小,大家可以想象这个十分微小的球就会滚入光密度曲线内部,造成有效阳性信号的损失。个人感觉5~20是一个比较好的取值范围。
我们可以对每条泳道依葫芦画瓢进行以上类似的背景排除工作。不过有时候如果大家觉得可以使用同样的标准,即相同的“Rolling Disk Size”进行排除,那么我们可以在“Lane Backgroud Substruction”对话框中选择上方的“All Lanes On(same level)”选项。然后在“Rolling Disk Size”中填上一个合适的值,点击“Done”按钮确认就可以了。此时该电泳图片上所有的泳道都以相同的标准进行了背景去除。
3.创建条带:
前面我们已经识别和分析了电泳图片的泳道,下面我们开始研究电泳条带的问题。首先在这里明确两个名词翻译:“Lane”指电泳泳道;“Band”指电泳条带(在下文中一律使用这两个英文名词来表示这两个意思)。
a.电泳条带的识别:和前面研究Lane一样,首先我们要对Lane上的Band进行识别。识别方式同样分为自动识别和人工识别。自动识别的时候选择“Band-Detect Bands...”命令。这时Quantity One会自动弹出一个“Detect Bands”的对话框。
注意
第一次用Quantity One时,您的Bands识别以后仅仅是画出了一条红色的粗线,而在上面的演示图片中却是上下括号的形式。其实大家可以在“Band-Band Attributes”选项中设置Bands的显示形式。在下方的“Style”选项卡中选择“Brackets”就会将原来的粗线改为括号形式了。
b.如果要自动识别所有Lanes上的Bands就钩选Lands后面的“All”选项;如果仅仅想自动识别某一条Lane上的Bands就钩选“One”,然后在后面的输入框中填上您想识别的泳道号码;
如果仅仅想识别泳道上部分光密度值最强的Bands,可以在“Bands”后面的选项中选择“Limit”,然后填上相应的数目(比如10)。Quantity One就会仅识别该泳道上光密度最大的10条Bands;
如果您发现自动识别的Bands宽度太窄,圈定Band的红色括号内范围小于黑色的光密度影。此时可以使用“Lane Width”命令来调整Bands识别的宽度。用鼠标点击“Lane Width”后面的向上箭头就会发现红色括号逐渐变宽,最后要求其范围略为宽过其包绕的Band影迹;
如果您发现自动识别功能没有识别您想要的Band或者误识别了您不想要的Band,您还可以使用上面的工具栏进行“添加”或“删除”。将您的鼠标指向每个图标,Quantity One就会知道弹出一个黄色的提示信息告诉您这个按钮的功能。
4.高斯建模与结果分析:
a.高斯建模,即用数学方法(微积分)对正态分布曲线进行统计分析。理论上每道band的光密度都呈正态分布的平滑曲线(每个band中间位置蛋白压缩最紧浓度最高,向上向下因扩散而减弱);然而实际操作过程中,如果荧光过强,往往出现类似方波的曲线(曲线无peak峰,上方为平滑直线,超识别的最高阈值);荧光较弱宜出现波浪样(多)波峰,或难与背景区分。
首先电脑会统计band中每个点的光密度值,并对这些值按正态分布进行归类,当读值不符合正态分布的原理时,电脑会自动做出选择以对偏离正态分布的数据进行统计学取舍(置信区间),从而最终优化光密度曲线呈正态分布。
如何进行高斯建模呢?很简单,只要执行“Band-Gauss Model Bands...”命令就可以了,执行后Quantity One回弹出一个对话框问您要对那条泳道进行高斯建模。请钩选“One”,然后再输入需要建模的泳道代码就可以了;如果选择了“All”则对所有泳道进行高斯建模,当然建模这么多泳道会费一点时间了。
b.观察结果:执行完高斯建模以后使用“Band-Band Information”命令来观察结果。
方法是将变成蓝色惊叹号的鼠标移到刚才已经识别的Band的部位,一个详细的“Band Information”信息框就会立刻弹出来。在这幅图中我们必须注意的是“Trace”和/或“Gauss Model Trace”,因为我们刚才辛苦了半天就是为了得到这个数据。这个数据表示的就是Band光密度分布曲线下面积,也就是Quantity One用来表达Band内分子总量的方式。
最后,我们计算、记录的值,应该是“Gauss Model Trace”这一栏的读值。