? ? ? ?近年來,隨著測序成本的不斷降低,轉(zhuǎn)錄組測序已經(jīng)成為解析基因組的功能成分、揭示細胞和組織的分子成分以及理解發(fā)育和疾病必不可少的技術(shù)手段,已廣泛應用于基礎(chǔ)研究、臨床診斷等領(lǐng)域。發(fā)表論文作為檢驗研究成果的一條重要途徑,大家都在思考高分文章到底該從何入手,一方面需要全面、細致的實驗設計,但另一方面,區(qū)別于常規(guī)的分析內(nèi)容,清晰明了又好看的結(jié)果圖片也都會為文章添磚加瓦!那轉(zhuǎn)錄組測序除了常見的差異基因通路富集及結(jié)構(gòu)分析之外,還有哪些適用的分析內(nèi)容呢?
? ? ? ?本文給大家?guī)怼稗D(zhuǎn)錄組時序分析”實操,希望給各位老師數(shù)據(jù)分析帶來一些幫助。更多轉(zhuǎn)錄組個性化分析內(nèi)容,后續(xù)將陸續(xù)推送,大家敬請期待!
1.時間序列分析的意義
? ? ? ?1)將表達相似的基因聚集為1類,表達相似的基因可能具有相似的生物學功能或者共同的細胞起源;
? ? ? ?2)基因調(diào)控的順序,基因間存在誘導或者阻遏;
? ? ? ?3)同一種處理在不同的時間下,生物學動態(tài)變化。
2.Mfuzz軟件包
? ? ? ?Mfuzz是專門的做轉(zhuǎn)錄變化的時間趨勢分析的方法,核心算法基于模糊c均值聚類(Fuzzy C-Means Clustering,F(xiàn)CM),是基于R編程的軟件包。
聚類方法:如果一個聚類方法假定一個樣本只能屬于一個類,或類的交集為空集,那么該方法稱為硬聚類(hard clustering)方法;如果一個樣本可以屬于多個類,或類的交集不為空集,那么該方法稱為軟聚類(soft clustering)方法。
3.Mfuzz包安裝及加載
? ? ? ?使用 Bioconductor 安裝 Mfuzz 包
install.packages('BiocManager')
BiocManager::install('Mfuzz')????##當出現(xiàn) package(s) not installed when version(s) same as current; use `force = TRUE` to re-install:
BiocManager::install('Mfuzz',force = TRUE) ##具體命令
library(Mfuzz)????#加載 Mfuzz 包
4.數(shù)據(jù)準備
? ? ? ?all.fpkm.xls ##基因表達矩陣

? ? ? ? #該示例中,第一列為基因或蛋白名稱,第一行為時間樣本序號(按時間順序提前排列好,若存在生物學重復需提前取均值)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
5.讀取矩陣表格
gene <- read.delim('all.fpkm.xls', row.names = 1, check.names = FALSE)
gene <- as.matrix(mRNA)
6.構(gòu)建對象
mfuzz_class <- new('ExpressionSet',exprs = gene)
7.缺失值或者異常值過濾
mfuzz_class <-?filter.NA(mfuzz_class, thres = 0.25)
mfuzz_class <-?fill.NA(mfuzz_class, mode = 'mean')
mfuzz_class <- filter.std(mfuzz_class, min.std = 0)
#通常來說,比較受歡迎的就是樣本的標準差作為閾值
8.標準化數(shù)據(jù)
mfuzz_class <- standardise(mfuzz_class)
#Mfuzz 基于 fuzzy c-means 的算法進行聚類
#需手動定義目標聚類群的個數(shù),如望獲得 10 組聚類群
#需要設定隨機數(shù)種子,以避免再次運行時獲得不同的結(jié)果
set.seed(123)
cluster_num <- 10
mfuzz_cluster<- mfuzz(mfuzz_class, c = cluster_num, m = mestimate(mfuzz_class))
9.作圖
#time.labels 參數(shù)設置時間軸,需要和原基因表達數(shù)據(jù)集中的列對應
#顏色、線寬、坐標軸、字體等細節(jié)也可以添加其他參數(shù)調(diào)整,此處略,詳見函數(shù)幫助
mfuzz.plot2(mfuzz_class, cl = mfuzz_cluster, mfrow = c(3, 5), time.labels = colnames(gene))
10.查看相關(guān)結(jié)果
查看每個聚類群中各自包含的蛋白數(shù)量
cluster_size <- mfuzz_cluster$size
names(cluster_size) <- 1:cluster_num
cluster_size
查看每個蛋白所屬的聚類群
head(mfuzz_cluster$cluster)
#Mfuzz 通過計算 membership 值判斷基因所屬的聚類群,以最大的 membership 值為準
查看各基因的 membership 值
head(mfuzz_cluster$membership)
提取所有基因所屬的聚類群,并和它們的原始表達值整合在一起
gene_cluster <- mfuzz_cluster$cluster
gene_cluster <- cbind(gene[names(gene_cluster), ], gene_cluster)
head(gene_cluster)
write.table(gene_cluster, 'gene_cluster.txt', sep = '\t', col.names = NA, quote = FALSE)
11.結(jié)果解讀

圖片來自官網(wǎng)示例(部分圖)
如何評判聚類的好壞?
因為該圖由基因的變化趨勢聚類得到的,所以如果聚類越好,意味著每個cluster
中線段的走向一致。
如何判斷聚類的個數(shù)?
Dmin圖