久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

技術(shù)貼 | R語言:組學(xué)關(guān)聯(lián)分析和pheatmap可視化

 微生態(tài) 2021-04-13

本文由阿童木根據(jù)實(shí)踐經(jīng)驗(yàn)而整理,希望對(duì)大家有幫助,。

原創(chuàng)微文,,歡迎轉(zhuǎn)發(fā)轉(zhuǎn)載,。

舉例展示R語言組學(xué)關(guān)聯(lián)分析的方法。宏基因組數(shù)據(jù)以KO-樣品豐度表為例。代謝組數(shù)據(jù)以metabolite-樣品豐度表為例,?;痉椒ㄊ怯肦語言psych包c(diǎn)orr.test函數(shù)進(jìn)行兩組數(shù)據(jù)的相關(guān)分析,,結(jié)果經(jīng)格式化后用pheatmap可視化得熱圖。

一,、模擬輸入

1. KO豐度表

代碼:

ko_abun = as.data.frame(matrix(abs(round(rnorm(20010010))), 1020))
colnames(ko_abun) = paste("KO"1:20, sep="_")
rownames(ko_abun) = paste("sample"1:10, sep="_")
ko_abun

 圖 1

2. metabolite豐度表

代碼:

metabo_abun = as.data.frame(matrix(abs(round(rnorm(20020010))), 1020))
colnames(metabo_abun) = paste("met"1:20, sep="_")
rownames(metabo_abun) = paste("sample"1:10, sep="_")
metabo_abun

  圖 2

二,、相關(guān)分析函數(shù)

思路

  1. 參數(shù)一:other -> KO或其他組學(xué)豐度表

  2. 參數(shù)二:metabo -> 代謝物豐度表

  3. 參數(shù)三:route -> 輸出目錄【提前創(chuàng)建】

  4. corr.test進(jìn)行兩組數(shù)據(jù)相關(guān)分析

  5. 用stringr split將ko-metabolite結(jié)果列拆成兩列

  6. 結(jié)果保留r_value p_value

  7. 顯著相關(guān)標(biāo)記“*”

library(psych)
library(stringr)

correlate = function(other, metabo, route)
{
    #  讀取方式:check.name=F, row.names=1, header=T
    # 計(jì)算相關(guān)性:
    result=data.frame(print(corr.test(other, metabo, use="pairwise", method="spearman", adjust="fdr", alpha=.05, ci=TRUE, minlength=50), short=FALSE, digits=5))

    # 整理結(jié)果
    pair=rownames(result)  # 行名
    result2=data.frame(pair, result[, c(24)])  # 提取信息

    # P值排序
    result3=data.frame(result2[order(result2[,"raw.p"], decreasing=F),])

    # 格式化結(jié)果【將細(xì)菌代謝物拆成兩列】
    result4=data.frame(str_split_fixed(result3$pair, "-"2), result3[, c(23)])
colnames(result4)=c("feature_1""feature_2""r_value""p_value")

    # 保存提取的結(jié)果
    write.table(result4, file=paste(route, "Correlation_result.txt", sep="/"), sep="\t", row.names=F, quote=F)
}

三、相關(guān)性分析

代碼

dir.create("Result")  # 創(chuàng)建結(jié)果目錄
correlate(ko_abun, metabo_abun, "Result")

結(jié)果Correlation_result.txt如下,,行數(shù)為20X20

圖3

四,、pheatmap可視化函數(shù)

思路:

  1. 參數(shù)一:infile ->Correlation_result.txt相關(guān)性分析結(jié)果

  2. 參數(shù)二:route -> Route輸出路徑

  3. 用reshape2 dcast函數(shù)把feature_1 feature_2 p_value做成matrix,作為pheatmap輸入文件

  4. 用reshape2 dcast函數(shù)把feature_1 feature_2 r_value做成matrix,,作為pheatmap display

代碼:

library(reshape2)
library(pheatmap)

correlate_pheatmap = function(infile, route)
{
    data=read.table(paste(route, infile, sep="/"), sep="\t", header=T)

    data_r=dcast(data, feature_1 ~ feature_2, value.var="r_value")
    data_p=dcast(data, feature_1 ~ feature_2, value.var="p_value")
    rownames(data_r)=data_r[,1]
    data_r=data_r[,-1]
    rownames(data_p)=data_p[,1]
    data_p=data_p[,-1]

    # 用"*"代替<=0.05的p值,,用""代替>0.05的相對(duì)豐度
    data_mark=data_p
    for(i in 1:length(data_p[,1])){
        for(j in 1:length(data_p[1,])){
            data_mark[i,j]=ifelse(data_p[i,j] <= 0.05"*""")
        }
    }

    pheatmap(data_r, display_numbers=data_mark, cellwidth=20, cellheight=20, fontsize_number=18, filename=paste(route, "Correlation_result.pdf", sep="/"))
    pheatmap(data_r, display_numbers=data_mark, cellwidth=20, cellheight=20, fontsize_number=18, filename=paste(route, "Correlation_result.png", sep="/"))
}

五、pheatmap繪制熱圖

代碼:

correlate_pheatmap("Correlation_result.txt""Result")

結(jié)果目錄,,新增結(jié)果圖(一個(gè)png一個(gè)pdf):

圖4

打開pdf,,如下:

圖5

隨機(jī)模擬的數(shù)據(jù),,沒有顯著的不奇怪。如果是做項(xiàng)目一般兩組數(shù)據(jù)的相關(guān)分析都可以得到一些顯著相關(guān)的結(jié)果,,如下:

圖6




你可能還喜歡

技術(shù)貼 | 16S專題 | 簡單介紹如何用自己的筆記本處理高通量16S數(shù)據(jù)

2 技術(shù)貼 | 宏基因組專題 | 組裝工具盤點(diǎn)和比較

3 技術(shù)貼 | R語言菌群Alpha多樣性分析和繪圖

技術(shù)貼 | 宏轉(zhuǎn)錄組專題 | DDBJ數(shù)據(jù)庫:宏轉(zhuǎn)錄組測序數(shù)據(jù)下載

技術(shù)貼 | R語言pheatmap聚類分析和熱圖


    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多