公众号“生信小课堂”

TCGA数据分析课程:生物信息学教学

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

load(file = "mRNAdata.Rda")#加载数据

library(tidyverse)

library(corrplot)

library(circlize)TCGA数据下载与ID转换​mp.weixin.qq.com

mRNAdata

mRNAdata" />

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

new

new

计算相关性系数

cor_new

cor_new

corrplot包画图

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

corrplot(cor_new, method = "circle")

corrplot(cor_new, method = "square")

corrplot(cor_new, method = "pie")

corrplot(cor_new, method = "color")

corrplot(cor_new, method = "number")

更改颜色

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

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

聚类显示

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

组合展示

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")

做一个好看点的

col

corrplot(cor_new, method="color", col=col(200),

type="upper", order="hclust",

addCoef.col = "black", #添加相关系数

diag=FALSE

)

用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()

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()

飞镖盘

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()

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

公众号“生信小课堂”

TCGA数据分析课程:生物信息学教学

r语言 相关性作图_R绘图:相关性分析与作图相关推荐

  1. r语言 断轴 画图_R 绘图 – 函数曲线图 | 菜鸟教程

    R 绘图 - 函数曲线图 函数曲线图是研究函数的重要工具. R 中 curve() 函数可以绘制函数的图像,代码格式如下: curve(expr, from = NULL, to = NULL, n ...

  2. R语言淮河流域水库水质数据相关性分析、地理可视化、广义相加模型GAM调查报告...

    采样地点:淮河流域一带,昭平台水库.白龟山水库.燕山水库.石漫滩水库.板桥水库.宿鸭湖水库.博山水库.南湾水库.石山口水库.五岳水库.泼河水库.鲶鱼山水库(点击文末"阅读原文"获取 ...

  3. 使用R语言绘制富集条形图,轻松分析基因表达数据

    一.引言 富集分析(enrichment analysis)是一种生物信息学方法,它可以帮助我们识别基因或其他的生物实体在某个特定的类别中过度表示的趋势.通俗来说,富集分析通过将基因分类到特定的集合中 ...

  4. 量化交易陷阱和R语言改进股票配对交易策略分析中国股市投资组合

    最近我们被客户要求撰写关于量化交易的研究报告,包括一些图形和统计输出. 计算能力的指数级增长,以及量化社区(日益增长的兴趣使量化基金成为投资者蜂拥而至的最热门领域. 量化交易陷阱和R语言改进股票配对交 ...

  5. R语言使用Rtsne包进行TSNE分析:通过数据类型筛选数值数据、scale函数进行数据标准化缩放、提取TSNE分析结果合并到原dataframe中(tSNE with Rtsne package)

    R语言使用Rtsne包进行TSNE分析:通过数据类型筛选数值数据.scale函数进行数据标准化缩放.提取TSNE分析结果合并到原dataframe中(tSNE with Rtsne package) ...

  6. R语言使用Rtsne包进行TSNE分析:提取TSNE分析结果合并到原dataframe中、可视化tsne降维的结果、并圈定降维后不匹配的数据簇(tSNE identifying mismatch)

    R语言使用Rtsne包进行TSNE分析:提取TSNE分析结果合并到原dataframe中.可视化tsne降维的结果.并使用两个分类变量从颜色.形状两个角度来可视化tsne降维的效果.并圈定降维后不匹配 ...

  7. R语言诊断试验数据处理与ROC分析实战案例2

    R语言诊断试验数据处理与ROC分析实战案例2 目录 R语言诊断试验数据处理与ROC分析实战案例2 #ROC指标 #样例数据

  8. R语言诊断试验数据处理与ROC分析实战案例1

    R语言诊断试验数据处理与ROC分析实战案例1 目录 R语言诊断试验数据处理与ROC分析实战案例1 #ROC指标 #样例数据

  9. R语言诊断试验数据处理与ROC分析实战案例:联合诊断ROC

    R语言诊断试验数据处理与ROC分析实战案例:联合诊断ROC 目录 R语言诊断试验数据处理与ROC分析实战案例:联合诊断ROC #ROC指标 #样例数据

  10. R语言时间序列(time series)分析实战:简单指数平滑法预测

    R语言时间序列(time series)分析实战:简单指数平滑法预测 目录

最新文章

  1. 小功能 - 收藏集 - 掘金
  2. bzoj3600 没有人的算术
  3. Python:利用原生函数count或正则表达式compile、findall、finditer实现匹配统计(包括模糊匹配的贪婪匹配、懒惰匹配)
  4. golang 所有进程休眠_golang 垃圾回收(三)插入写屏障
  5. 利用 Git OpenSSH 查看/生成 本机 ssh 公钥
  6. middle函数C语言,C语言函数调用栈(三)
  7. animation css逐渐消除,css3动画控制元素淡入淡出显示效果
  8. RabbitMQ 下载安装配置_集群高可用篇_02
  9. 组装服务器配置清单_2020年组装电脑配置清单列表
  10. 计算机对身体有哪些危害,经常玩电脑的危害 经常玩电脑对身体有哪些伤害
  11. Excel生成随机数
  12. lodop同一页面一次性打印多次
  13. ArcGIS Pro快速汉化方法
  14. mysql之冷备和mysqldump、mydumper、xtrabackup备份
  15. 微信小程序获取位置信息
  16. 98版五笔字型实用学习教程
  17. Linux下安装hbase
  18. python自动化plc_PYTHON – 让“Monty 语言”进入自动化行业:第 4 部分
  19. LInux知识点(三)--- 动态监控系统
  20. 【环境搭建】手把手教你安装Ubuntu16.04系统

热门文章

  1. java response 对象_常用response对象的详解
  2. I want to put ding in the universe.
  3. 我对程序员做副业的看法
  4. 单点登录(SSO)原理以及代码分析
  5. 关于 JavaScript 学习,一些好的博客或者网站
  6. Keras快速上手——打造个人的第一个“圣诞老人”图像分类模型
  7. 关于用户体验,我有6点零星想法
  8. BUUCTF Misc 谁赢了比赛? [SWPU2019]我有一只马里奥 [WUSTCTF2020]find_me [GXYCTF2019]gakki
  9. ios苹果免越狱群控电脑鼠标操作手机同步器
  10. OpenJudge-NOI/3.9数据结构之C++STL-3344:冷血格斗场