r语言rep_R绘图:相关性分析与作图

c6e1d31d9151f1c964acaeccc9951fa5.png

热图系列1

R语言学习系列之“多变的热图”

TCGA数据分析系列之火山图

R绘图 ggpubr: 为学术而生

R绘图 ggsci: 高大上的论文配色,一文解决配色问题

相关性分析是我们生信分析中必不可少的技能,单基因的批量相关性分析,可以用于做单基因的GO,KEGG富集分析和GSEA分析,也有多基因之间的相关性分析,或者多个基因集之间的相关性分析。今天我们利用TCGA肝癌数据,挑选一些基因做相关性分析,并用不同的R包展示。

load(file = "mRNAdata.Rda")#加载数据
library(tidyverse)
library(corrplot)
library(circlize)

数据获取方式点这里:TCGA数据下载与ID转换

474631faa47eeacf75a06cf876469066.png
mRNAdata<-t(mRNAdata)#倒置数据
mRNAdata<-as.data.frame(mRNAdata)#转变为数据框

400a90580da85652a4e258b5579af429.png

按照我们学习R语言的基础知识 R学习:R for Data Science(四)

选择列,我们随便选一些基因

new<-select(mRNAdata,LDHA,PKM,HK1,HK2,PFKFB3,SLC2A1,ATF7IP2,ZNF554)#选择列
new<-log(new+1,2)#count值取log2(count+1)

计算相关性系数

cor_new<-cor(new)#计算相关性系数
cor_new

92b06d49286cff9239e37dba9cafc84b.png

corrplot包画图

method:指定形状,可以是circle圆形(默认),square方形,ellipse,椭圆形,number数值,shade阴影,color颜色,pie饼图。type:指定显示范围,full完全(默认),lower下三角,upper上三角
corrplot(cor_new, method = "circle")

f9d1523a9f7f1b94cb706b23d60a3271.png
corrplot(cor_new, method = "square")

e24fb39f579213f30a568a92de6f211e.png
corrplot(cor_new, method = "pie")

226f476979a452f67c0d659025522ebe.png
corrplot(cor_new, method = "color")

c2dfe24052e28d15fb69f4e62bab2add.png
corrplot(cor_new, method = "number")

875bcdc29ec0f2d65f4458f16296ba3b.png

更改颜色

corrplot(cor_new, method = "color", col = colorRampPalette(c("blue", "#CD2626"))(10), title = "更改颜色")

cffb508713931806951d2d5f9c698a2d.png
corrplot(cor_new, method = "number", col = RColorBrewer::brewer.pal(n=8, name = "RdYlGn"))

3381e16051dfb1454b446dc494c00a9b.png

聚类显示

corrplot(cor_new,method="color",order="hclust",title = "hclust聚类", diag = TRUE,hclust.method="average",addCoef.col = "blue")

ce2c3a6f6a840cf20ce57ee8835f647f.png

组合展示

corrplot(cor_new, method = "circle", type = "upper", tl.pos = "d")
corrplot(cor_new, add = TRUE, type = "lower", method = "number", diag = FALSE, tl.pos = "n", cl.pos = "n")

733333e8ffeb7b7a43ad6e1309e8d137.png

做一个好看点的

col <- colorRampPalette(c("#BB4444", "#EE9988", "#FFFFFF", "#77AADD", "#4477AA"))
corrplot(cor_new, method="color", col=col(200),  
         type="upper", order="hclust", 
         addCoef.col = "black", #添加相关系数
         diag=FALSE 
)

00cbd8862363680717f3ff3d0c32f644.png

用circlize包展示

col_fun = colorRamp2(c(-1, 0, 1), c("#67BE54", "#FFFFFF", "#F82C2B"))
chordDiagram(cor_new, grid.col = 1:8, symmetric = TRUE, col = col_fun)
circos.clear()

b6fb29b3d4e4ee65b9ffa5c069a6758f.png

circlize包作图非常好看,我们可以用它来做一个太极

#太极图
library(circlize)
factors = 1:8
circos.par(start.degree = 22.5, gap.degree = 6)
circos.initialize(factors = factors, xlim = c(0, 1))

# yang yao is __ (a long segment)
add_yang_yao = function() {
  circos.rect(0,0,1,1, col = "black")
}

# yin yao is -- (two short segments)
add_yin_yao = function() {
  circos.rect(0,0,0.45,1, col = "black")
  circos.rect(0.55,0,1,1, col = "black")
}
circos.track(ylim = c(0, 1), factors = factors, bg.border = NA,
             panel.fun = function(x, y) {
               i = get.cell.meta.data("sector.numeric.index")
               if(i %in% c(2, 5, 7, 8)) add_yang_yao() else add_yin_yao()
             }, track.height = 0.1)

circos.track(ylim = c(0, 1), factors = factors, bg.border = NA,
             panel.fun = function(x, y) {
               i = get.cell.meta.data("sector.numeric.index")
               if(i %in% c(1, 6, 7, 8)) add_yang_yao() else add_yin_yao()
             }, track.height = 0.1)

circos.track(ylim = c(0, 1), factors = factors, bg.border = NA, 
             panel.fun = function(x, y) {
               i = get.cell.meta.data("sector.numeric.index")
               if(i %in% c(4, 5, 6, 7)) add_yang_yao() else add_yin_yao()
             }, track.height = 0.1)

# the bottom of the most recent track
r = get.cell.meta.data("cell.bottom.radius") - 0.1
# draw taiji, note default order is clock wise for `draw.sector`
draw.sector(center = c(0, 0), start.degree = 90, end.degree = -90,
            rou1 = r, col = "black", border = "black")
draw.sector(center = c(0, 0), start.degree = 270, end.degree = 90,
            rou1 = r, col = "white", border = "black")
draw.sector(center = c(0, r/2), start.degree = 0, end.degree = 360,
            rou1 = r/2, col = "white", border = "white")
draw.sector(center = c(0, -r/2), start.degree = 0, end.degree = 360,
            rou1 = r/2, col = "black", border = "black")
draw.sector(center = c(0, r/2), start.degree = 0, end.degree = 360,
            rou1 = r/8, col = "black", border = "black")
draw.sector(center = c(0, -r/2), start.degree = 0, end.degree = 360,
            rou1 = r/8, col = "white", border = "white")

circos.clear()

54ff8e4015a70eee60dcbec33c7a3508.png

飞镖盘

factors = 1:20 # just indicate there are 20 sectors
circos.par(gap.degree = 0, cell.padding = c(0, 0, 0, 0),
           start.degree = 360/20/2, track.margin = c(0, 0), clock.wise = FALSE)
circos.initialize(factors = factors, xlim = c(0, 1))
circos.track(ylim = c(0, 1), factors = factors, bg.col = "black", track.height = 0.15)
circos.trackText(x = rep(0.5, 20), y = rep(0.5, 20),
                 labels = c(13, 4, 18, 1, 20, 5, 12, 9, 14, 11, 8, 16, 7, 19, 3, 17, 2, 15, 10, 6),
                 cex = 0.8, factors = factors, col = "#EEEEEE", font = 2, facing = "downward")
circos.track(ylim = c(0, 1), factors = factors,
             bg.col = rep(c("#E41A1C", "#4DAF4A"), 10), bg.border = "#EEEEEE", track.height = 0.05)
circos.track(ylim = c(0, 1), factors = factors,
             bg.col = rep(c("black", "white"), 10), bg.border = "#EEEEEE", track.height = 0.275)
circos.track(ylim = c(0, 1), factors = factors,
             bg.col = rep(c("#E41A1C", "#4DAF4A"), 10), bg.border = "#EEEEEE", track.height = 0.05)
circos.track(ylim = c(0, 1), factors = factors,
             bg.col = rep(c("black", "white"), 10), bg.border = "#EEEEEE", track.height = 0.375)
draw.sector(center = c(0, 0), start.degree = 0, end.degree = 360,
            rou1 = 0.1, col = "#4DAF4A", border = "#EEEEEE")
draw.sector(center = c(0, 0), start.degree = 0, end.degree = 360,
            rou1 = 0.05, col = "#E41A1C", border = "#EEEEEE")
circos.clear()





2a0745576dcabe973c8efcf4718bc9ee.png

好了,多基因的相关性分析和作图就分享到这

单基因泛癌分析链接

TCGA单基因免疫相关泛癌分析(应要求,对出图添加更细致的描述)​mp.weixin.qq.com
6ade671c26448fb45a0a3b53e70ab8eb.png
TCGA单基因免疫相关泛癌分析-进阶版本​mp.weixin.qq.com
cf6fe8d4467dfb2c8e3cadc01871d23e.png

公众号“生信小课堂”

937de287a17578c1c5713aa69c51ae6b.png

TCGA数据分析课程:

生物信息学教学​m.study.163.com
3ac37a46f43fc106e85de65e5a4c1f75.png
  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
请使用Python 代码来查找文件名为 staticprob.txt中指定字符串'staticprob = '并打印字符串后面8个字符串,以及打印字符串前面最接近字符串的时间,打印信息如下: time = 00:04:29, prob = 0.967633 time = 00:11:14, prob = 0.937645 其中文件名为 staticprob.txt 的文本文件,其中包含以下内容: [00:04:29]A7_TRACE: [ ALG_DBG ] [radar_alg_stru.c:293] ALG_TAG begin(43952[00:04:29]) [00:04:29]A7_TRACE: [ ALG_DBG ] [radar_alg_path.c:9701] sclu[0][x y z p]=[0.62 3.08 0.90 13.82] A7_TRACE: [ ALG_DBG ] [radar_alg_path.c:9701] sclu[1][x y z p]=[3.27 2.57 0.76 12.99] A7_TRACE: [ ALG_DBG ] [radar_alg_path.c:4984] alltrc[0] [report][x y z] = [1][0.79 2.70 1.14 0 41] [0 0 0.000000] A7_TRACE: [ ALG_DBG ] [radar_alg_static.c:2477] max noise=39921.98, indx indy= 1 6 A7_TRACE: [ ALG_DBG ] [radar_alg_path.c:5415] alltrcblk[0] [rep][x y z pre sc on] = [0][0.17 2.91 0.91 0 1 0] A7_TRACE: [ ALG_DBG ] [radar_alg_static.c:1423] Static condition check state1, 0, 0, 0, 5 A7_TRACE: [ ALG_DBG ] [radar_alg_night.c:839] TRC: 0 IS STICA7_TRACE: [ ALG_DBG ] [radar_alg_night.c:261] Frame 21792 bdPos 1.00 A7_TRACE: [ ALG_DBG ] [radar_alg_night.c:577] [night]trc 1 mVzIdx 12 mVz 0.11 maxIdx 0 minIdx 17 maxZ 1.31 minZ 1.25 A7_TRACE: [ ALG_DBG ] [radar_alg_night.c:651] [night]trc 1 bdside 3 bdpos 1 bspos 0 thrVzSitup 0.05 thrZDiffSitup 0.20 A7_TRACE: [ ALG_DBG ] [radar_alg_alm.c:409] Alm Cond: start[cntN][cntA][virW] = [1 0 0 0 0 50] A7_TRACE: [ ALG_DBG ] [radar_alg_alm.c:1041] obj Alm, 0, 0, 0 A7_TRACE: [ ALG_DBG ] [radar_alg_stru.c:409] trc handle[err]=[0][0] [seq,bb,cnt]=[43952 43845 43845] A7_TRACE: [ ALG_DBG ] [radar_alg_path.c:11658] obj[0][zM vzM pre st sp gtup act] = [1.15 0.00 0 0 0 1 5] A7_TRACE: [ ALG_DBG ] [radar_alg_path.c:11699] obj[0] fncId[alg rpt app][x y z] = [0 0 1][0.79 2.70 1.14] score=4 A7_TRACE: [ ALG_DBG ] [radar_alg_stru.c:364] ALG_TAG end(43952) A7_TRACE: [AI_ALG_LOG]: PhaAIPrediction finished. A7_TRACE: [AI_ALG_LOG]: staticprob = 0.967633 [00:11:14]A7_TRACE: [ ALG_DBG ] [radar_alg_path.c:9701] sclu[0][x y z p]=[0.66 2.97 0.88 12.46] A7_TRACE: [ ALG_DBG ] [radar_alg_path.c:5415] alltrcblk[0] [rep][x y z pre sc on] = [0][0.66 3.01 1.08 0 1 0] A7_TRACE: [ ALG_DBG ] [radar_alg_static.c:1423] Static condition check state1, 0, 0, 8, 5 A7_TRACE: [ ALG_DBG ] [radar_alg_path.c:11658] obj[0][zM vzM pre st sp gtup act] = [1.06 0.00 0 0 0 1 5] A7_TRACE: [ ALG_DBG [00:11:14]] [radar_alg_stru.c:293] ALG_TAG begin(48003) [00:11:14]A7_TRACE: [AI_ALG_LOG]: PhaAIPrediction finished. A7_TRACE: [AI_ALG_LOG]: staticprob = 0.937645
05-30

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值