我下載了4個GEO乳腺癌的數(shù)據(jù)集,想要把它們整合為一個數(shù)據(jù)集,在獲取了表達(dá)矩陣,提取了想要的數(shù)據(jù),并且注釋了探針名后,我想,終于可以整合了,然后,我就遇到了問題。
除了其中一個矩陣表達(dá)量都在3000左右,一看就需要log,其他的好像都是log后的。
怎樣批量判斷是否需要log化呢?
我就回去翻了果子老師的視頻,發(fā)現(xiàn)了一段代碼
# 自動log化
ex <- exprSet
qx <- as.numeric(quantile(ex, c(0., 0.25, 0.5, 0.75, 0.99, 1.0), na.rm=T))
LogC <- (qx[5] > 100) ||
(qx[6]-qx[1] > 50 && qx[2] > 0) ||
(qx[2] > 0 && qx[2] < 1 && qx[4] > 1 && qx[4] < 2)
if (LogC) {
ex[which(ex <= 0)] <- NaN
exprSet <- log2(ex)
print("log2 transform finished")
}else{
print("log2 transform not needed")
}
用這個段代碼批量處理了我的四個數(shù)據(jù)集,發(fā)現(xiàn)一個需要log2,其他三個都不需要。
然后log2一個表達(dá)矩陣就好了~
然后我還有兩個問題沒有解決:
所有的GEO數(shù)據(jù)庫里的log都是取得log2嗎?就沒有哪個哥們想要log10一下?是不是值之間的差異就太小了?
第二,如何根據(jù)GSE號追溯回源文章呢?根據(jù)citation的好像不對啊
遇到的問題好多,要一點(diǎn)一點(diǎn)來了~
感悟:遇不到問題,是真的不會去好好看視頻做筆記的,哎。。。。