国产资源视频在线观看91,我调教同学的放荡麻麻,欧美大屁股XXXX高潮喷水,日本精品一区二区三区在线观看

關注公眾號

關注公眾號

手機掃碼查看

手機查看

青蓮干貨 | 一文詳解蛋白質組學數據歸一化

青蓮百奧生物科技
2024.7.30

? 摘要??

本文將全面介紹蛋白質組數據歸一化的必要性,各種方法以及效果差別,幫助讀者全面理解這一重要過程。

并附上簡單R語言的實現方法和一個在線做歸一化的平臺Bioladder生信云(http://bioladder.cn)。

01

蛋白質組數據歸一化的必要性

在生物學實驗中,實驗條件、上樣量和技術變異等因素會導致樣本之間的整體偏差,使得實際相似的定量值出現差異。因此,蛋白質組數據的歸一化是蛋白質組學研究中的關鍵步驟,旨在消除實驗過程中的系統性偏差,從而使不同樣本間的數據可以進行有效比較。

02

常見蛋白質組數據歸一化的方法分類

蛋白質組數據歸一化的方法有以下分類:

批次內歸一化

基于單個錨定數據的歸一化:中值歸一化系列、總量歸一化、最大值歸一化

基于全局數據的歸一化:線性函數歸一化、分位數歸一化、Z-Score歸一化

批次間歸一化:

ComBat批次矯正

RUV (Remove Unwanted Variation)批次矯正

下面為大家介紹不同場景下的詳細應用介紹,文末有匯總,

中值歸一化(Median Normalization)

方法:即每列數據除以該列數據的中位數。

說明:采用中值歸一化的前提假設是,需要比對的多個樣本中,大部分蛋白的表達量是相似的。而中位數是大部分蛋白所集中的點,受該樣本的極大值或極小值定量影響很小,把每個樣本的定量中值歸一化成一個相等的值,可以有效地保證歸一化后,大部分蛋白的表達量區間相似。在蛋白組學中基本上是最常見,最常用的算法。

R語言中的實現方法:

# 讀取原始數據文件df = read.delim("https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/normalize/demo.txt",# 這里讀取了網絡上的demo數據,將此處換成你自己電腦里的文件 row.names = 1 # 指定第一列為行名,根據實際數據修改)# 中位數歸一化nor_median=function(x){ y=na.omit(x) return(x/median(y))}dfmedian = apply(df, 2,nor_median) # 2是對列進行計算;1是對行進行計算

共有蛋白中值歸一化

方法:即每列數據除以共有蛋白的中位數。

說明:與中值歸一化相比,碰到部分特殊結果,也即部分樣本鑒定數量少地多(比如只有其它樣本的1/2甚至更少),直接用中值歸一化會導致整體的偏移,因此只用共有蛋白做歸一化。共有蛋白做歸一化假設在所有樣本中共有蛋白質的總體表達水平是穩定的,即這些蛋白質的表達不受生物學差異的顯著影響

劣勢:依賴共有蛋白質,如果樣本中共有蛋白質數量較少,或這些共有蛋白質的表達不穩定,歸一化效果會受到影響。

R語言中的實現方法:

# 共有蛋白中值歸一化library(tidyverse)# 定義一個函數 rmnaMedianNormalize,用于中位數歸一化rmnaMedianNormalize = function(x, df) { median = median(x[complete.cases(df)]) # 計算非缺失值的中位數 x / median # 返回歸一化后的值,每個值除以中位數}# 使用 dplyr 的管道操作 %>%dfrmnaMedian = df %>% # 將 df 數據框作為輸入 mutate(across( # 使用 mutate 和 across 對所有數值列應用同一函數 where(is.numeric), # 選擇所有數值型列 ~rmnaMedianNormalize(.x, df) # 調用 rmnaMedianNormalize 函數,.x 表示每列的數據向量 ))

保留原始豐度的中位數歸一化

方法:即做完中位數歸一化后,再對所有數乘以常數因子(剛才最大的中位數)。

說明:跟中位數歸一化相比,歸一化后的數據豐度大小與之前保持相同。如后續做log轉換,基本不會出現負數,如后續分析要求非負矩陣時尤為有用。

總量歸一化

方法:即每列數據除以該列數據的和。

說明:前提假設是,所有樣本的總表達量相似,若樣本間總表達量差異較大時效果不佳。這種方法在轉錄組中用得比較多,包括RNA-seq中常用的RPKM等。

R語言中的實現方法:

# 總和歸一化nor_sum=function(x){ y=na.omit(x) return(x/sum(y))}dfsum = apply(df, 2,nor_sum) # 2是對列進行計算;1是對行進行計算

最大值歸一化

方法:每個數減去該列的最大值。

說明:前提假設是,每個樣本的最大值蛋白相似,且定量較穩定。用得不多。單靠一個最大值,變異度較大。

R語言中的實現方法:

nor_max=function(x){ y=na.omit(x) # 去除空值 return(x/max(y))}dfmax = apply(df, 2,nor_max) # 2是對列進行計算;1是對行進行計算

線性函數歸一化

方法:每個數減去該列的最小值,再除以個最大值和最小值的差。

說明:是對原始數據的線性變換,使結果值映射到[0-1]之間,保留源數據存在的關系,消除取值范圍最簡單的方法,不過,極易受個別離群值影響,如果數據集中某個數值很大,其他各值歸一化后會接近0。這種方法的假設是,各個樣本中,最大值和最小值都是相似的。

在機器學習應用的頗多,尤其是使用梯度下降法的算法,如線性回歸、邏輯回歸和神經網絡。

劣勢:極端值影響很大,如果數據中存在異常值,會嚴重影響歸一化效果,因為最大值和最小值會受到極端值的影響。

R語言中的實現方法:

# 線性函數歸一化nor_min_max=function(x){ y=na.omit(x) return((x - min(y))/(max(y) - min(y)))}dfmin_max = apply(df, 2,nor_min_max) # 2是對列進行計算;1是對行進行計算

分位數歸一化

方法:

排序:對每個樣本的數據按升序排序。

計算分位數平均值:對所有樣本的每個分位數位置的數值求平均值,得到分位數平均值向量。

替換原數據:將每個樣本中排序后的數據替換為分位數平均值向量中的對應值。

還原排序:將替換后的數據按照原始順序還原。

說明:前提假設是樣本間具有相似的分布且需要較大的數據量,在其他組學中微陣列數據和RNA-Seq數據的歸一化處理中應用的多一些。

劣勢:生物學解釋復雜,在生物數據中,歸一化后的數據可能難以解釋生物學意義,因為它改變了原始數據的實際分布。

R語言中的實現方法:

分位數歸一化limma::normalizeQuantiles(df)

Z Score 歸一化

方法:每個數減去該列的平均值,再除以標準差。

Z Score歸一化的公式如下:

其中:

x是原始數據值,

μ是數據的均值,

σ是數據的標準差,

z是歸一化后的數據值。

說明:經過處理的數據符合標準正態分布,即均值為0,標準差為1。這種方法的假設是,每個樣本的定量值服從正態分布,大部分蛋白表達量相似,且方差也相似。

應用:在繪制熱圖時,Zscore歸一化基本上都是要做的,可以更清楚地通過熱圖看清數據的分布。另外在機器學習應用的頗多,如支持向量機(SVM)、k近鄰(k-NN)、線性回歸和邏輯回歸,數據標準化有助于提高模型性能。

R語言中的實現方法:

dfZScore = scale(df)

ComBat批次矯正

原理:使用貝葉斯框架來調整批次效應,適用于大多數高通量數據,包括基因表達、蛋白質組學和代謝組學數據。

優點:對不同類型的數據適用,并且可以處理具有多個批次的數據。

實現:可以在R語言的sva包中找到該方法。

library(sva)library(bladderbatch) # 用于加載 bladderbatch包中的示例數據集# 加載數據data(bladderdata) dat <- bladderEset[1:50,] # 選擇 bladderEset 數據集的前50行作為分析數據集pheno = pData(dat) # 從數據集中提取表型數據edata = exprs(dat) # 從數據集中提取基因表達數據batch = pheno$batch # 提取批次信息mod = model.matrix(~as.factor(cancer), data=pheno) # 創建一個設計矩陣,用于調整模型# 加載# parametric adjustment 參數化調整combat_edata1 = ComBat(dat=edata, # 指定原始數據(基因表達數據)。 batch=batch, # 指定批次信息。 mod=NULL, # 表示沒有使用設計矩陣,只進行參數化調整。 par.prior=TRUE, # 指定使用參數化先驗。 prior.plots=FALSE)# reference-batch version, with covariates 參考批次版本,帶有協變量combat_edata3 = ComBat(dat=edata, batch=batch, mod=mod, # 指定了先前創建的模型設計矩陣作為協變量。 par.prior=TRUE, ref.batch=3) # 指定批次3作為參考批次。

RUV (Remove Unwanted Variation)批次矯正

原理:通過添加潛在因素來解釋和消除批次效應,通常使用已知的不變基因或探針。

優點:靈活性高,可以根據具體數據特點進行調整。

實現:在R語言的ruv包中可以找到該方法。

總結

以下是各種批次內歸一化方法的簡短比較表格,包括定義、公式、方法、假設前提、應用范圍、優點和缺點。

這張表格概括了每種歸一化方法的關鍵特性,幫助選擇適合具體應用的數據歸一化方法。

03

BioLadder云平臺免費在線做歸一化

不想寫代碼?可以用BioLadder生信云平臺在線做歸一化。

目前BioLadder已經支持了以下歸一化的方式

中值歸一化

共有蛋白中值歸一化

線性函數歸一化

ZScore歸一化

網址:歸一化-BioLadder生物信息在線分析可視化云平臺www.bioladder.cn/web/#/chart/48

關注青蓮百奧

文章作者
推薦
關閉