生物信息学R语言源码蛋白组学蛋白质组

蛋白质组学数据的归一化/标准化处理

2020-07-16  本文已影响0人  生物信息与育种

1.前言

数据缩放scaling(标准化、归一化)的那些事
表达矩阵的归一化和标准化,去除极端值,异常值
基因芯片数据分析(一)--芯片数据预处理

2.主要方法及代码实现

蛋白质组中标准化的工具较少,一般是自己编写代码。一般用apply结合sweep函数来实现。

一个表达矩阵,通常行为蛋白,列为不同样本,我们可以标准化行,也可标准化列,具体问题具体分析,关键在于要解释什么问题。比如我们要尽可能减弱系统偏差对样本蛋白定量值的影响,使各个样本和平行实验的数据处于相同的水平,让下游分析更为准确可靠,我们需要对列进行归一化。类似于我们做WB或QPCR实验时,会选择内参校正多个样本的定量值。添加内参或QC的方法在代谢组学的标准化中常用。


image.png

前四种方法通过将每个蛋白原始定量值除以对应样本的某指定值(如平均值、中位数、最大值和总和等)实现校正,每个样本的指定值在校正后变为1;后三种方法通过一定标准对原始数据进行缩放实现校正。

sweep(data,2,apply(data,2,median,na.rm=T),FUN="/") #中位数不受数列的极大值或极小值影响。
sweep(data,2,apply(data,2,mean,na.rm=T),FUN=“/”)
sweep(data,2,apply(data,2,sum,na.rm=T),FUN="/")
sweep(data,2,apply(data,2,mean,na,rm=T),FUN="-")

或者直接用scale函数:

scale(data,center=T,scale=F) #center中心化,scale标准化
datacenter <- sweep(data_read,2,apply(data_read,2,mean,na.rm=T),FUN="-")
daraR <- apply(data_read,2,max,na.rm=T) - apply(data_read,2,min,na.rm=T)
sweep(datacenter,2,dataR,FUN="/")
scale(data,center=T,scale=T)

中位数、均值、中心化之类的标准化方法是将数据按照一定的比例进行缩小,但是缩小的范围是不确定的;而总和标准化、极差标准化、正态标准化之类的标准化方法可以将原始数据缩小到一个很有限的范围(比如缩小到[0,1]范围以内),比如有些机器学习方法,是要求对数据做正态标准化的,这种标准化的数据可以保证后续的运算速度更快。

如果要对行进行标准化,要求数据尽量在同一个尺度(scale)下进行比较,比如做层次聚类热图,建议将行的数据也进行标准化,这样每一行的数据就会控制在同一个尺度之下,颜色的深浅能更好地表现出数据的变化趋势。

http://www.360doc.com/content/19/0628/17/52645714_845432507.shtml

3.标准化方法评估

有一些类似的文章发表,简单看了下。
以下一篇是综述,描述了整个蛋白鉴定过程中(包括实验部分)有可能遇到的标准化处理的过程。
What is Normalization? The Strategies Employed inTop-Down and Bottom-Up Proteome Analysis Workflows

下面一篇文章综合比较了11种不同归一化的性能:

image.png
variance stabilization normalization(VSN)方法能降低的技术重复间差异最大。Linear regression normalization and local regression normalization的总体效果也不错。
A systematic evaluation of normalization methods in quantitative label-free proteomics

4.MaxQuant中的Intensity,LFQ和iBAQ

大佬的软件,三种定量算法都发了文章。

蛋白组学定量值的比较说明

5.资源列表

上一篇 下一篇

猜你喜欢

热点阅读