三阴性乳腺癌表达数据分析笔记之TNBC定义
时间:2022-07-28
本文章向大家介绍三阴性乳腺癌表达数据分析笔记之TNBC定义,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
下面是学徒写的《GEO数据挖掘课程》的配套笔记(第5篇)
接下来的分析就不是表达矩阵的标准分析了,而是这个表达矩阵背后的生物学故事的相关分析:
三阴性乳腺癌的分子标记 ER(Estrogen Receptor) PR(Progesterone Receptor) HER2 (Human Epidermal Growth Factor Receptor2)
找出这个三个基因的表达,如果直接搜索找不到,需要找到这些基因的别名,从genecards,进行搜索
SYMBOL1 |
SYMBOL2 |
---|---|
ER |
ESR1(Estrogen Receptor 1), ESR2(Estrogen Receptor 2) |
PR |
PGR(Progesterone Receptor) |
HER2 |
ERBB2(Erb-B2 Receptor Tyrosine Kinase 2) |
然后找出这些基因对应的探针并绘制如图,查看这些基因在两组之间的表达差异
rm(list = ls()) ## 魔幻操作,一键清空~
options(stringsAsFactors = F)
load(file = 'step1-output.Rdata')
dat[1:4,1:4]
library(hgu133plus2.db)# BiocManager::install("hgu133plus2.db")
p2s=toTable(hgu133plus2SYMBOL) #保证探针对应到基因SYMBOL
k=p2s$symbol %in% c('ERBB2','ESR1','ESR2','PGR') #%in%判断左边的值是否在右边的变量中
np=p2s[k,1] #取出第一列,探针名
ng=p2s[k,2] #取出第二列,symbol号
x=dat[np,]
rownames(x)=paste(ng,np,sep = ':') #取出这些探针的表达值,将行名定义为探针和symbol的组合,以便于识别
#绘制热图
library(pheatmap)
tmp=data.frame(group=group_list)
rownames(tmp)=colnames(x)
pheatmap(x,annotation_col = tmp,show_colnames = F,cluster_cols = F)
对下面的热图进行解读:
- 每个基因都会对应多个探针,我们一般选择最大表达量的那个探针,因为只有这样的探针才能说明生物学规律。高表达的探针是能够替代这些基因的的真实行为的,而低表达的探针则不能。
- 以ESR1:205225_at为例,这个探针在TNBC中是低表达的(蓝色和黄色较多),而在noTNBC中则是高表达的(红色较深)。ERBB2和PGR也呈现类似的规律。
有很多探针并没有成功将两个组别区分开来,可能的原因有:
-
- 探针的效果不好
- 探针所靶向的转录本可能不是我们需要的
ER_PR_HER2_heatmap.Rplot01
利用相对ER、PR和HER2 GE水平(log2)和双峰拟合来识别TN肿瘤样本,直方图显示肿瘤的分布和频率
二元高斯混合分布模型
wdata=data.frame(v=as.numeric(x["ESR1:205225_at",]))
library(ggpubr)
gghistogram(wdata, x = 'v', y = "..density..",
add_density = T, #添加条形图
add = "mean", rug = TRUE)
以ESR1:205225_at的表达为例展示直方图
虚线左边为TNBC,虚线右边为noTNBC
直方图.Rplot01
这些分析,基本上读一下我五年前在生信技能树的表达芯片的公共数据库挖掘系列推文 就明白了;
- 解读GEO数据存放规律及下载,一文就够
- 解读SRA数据库规律一文就够
- 从GEO数据库下载得到表达矩阵 一文就够
- GSEA分析一文就够(单机版+R语言版)
- 根据分组信息做差异分析- 这个一文不够的
- 差异分析得到的结果注释一文就够
视频观看方式
我把3年前的收费视频课程:3年前的GEO数据挖掘课程你可以听3小时或者3天甚至3个月,免费到B站:
- 这个课程超级棒,B站免费学习咯:https://m.bilibili.com/video/BV1dy4y1C7jz
- 配套代码在GitHub哈:https://github.com/jmzeng1314/GSE76275-TNBC
- TCGA数据库挖掘,代码在:https://github.com/jmzeng1314/TCGA_BRCA
- GTEx数据库挖掘,代码在:https://github.com/jmzeng1314/gtex_BRCA
- METABRIC数据库挖掘,代码在:https://github.com/jmzeng1314/METABRIC
然后马上就有了3千多学习量,而且有学员给出来了图文并茂版本万字笔记,让我非常感动!
- 在机器学习中处理缺失数据的方法
- 零基础学编程002:Hello World
- php随机数怎么获取?一个简单的函数就能生成
- 零基础学编程009:只显示2位小数
- .Net实现Windows服务安装完成后自动启动的两种方法
- 【教程】OpenCV—Node.js教程系列:Node.js+OpenCV面部脸识别
- 学会10多种语言是种什么样的体验?
- Spring Data 最佳实践
- Prodigy,从根本上有效的自主学习驱动的注释工具
- 零基础学编程017:画出我的公众号LOGO
- 一个实用的却被忽略的命名空间:Microsoft.VisualBasic
- Spring @RequestBody 传递 List/Map 参数
- win7怎么去除快捷方式的小箭头
- 零基础学编程015:画些有趣的图案
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- C++核心准则CP.100:不要使用无锁编程方式,除非绝对必要
- 神了,Excel的这个操作我今天才知道
- DataFrame(7):DataFrame运算——逻辑运算
- 高性能网关设计实践
- LASSO回归姊妹篇:R语言实现岭回归分析
- 学了这个,三歪再也不想写各种setter了
- 使用 GitLab CI 与 Argo CD 进行 GitOps 实践
- Java 语言中十大“坑爹”功能!
- 面试:说说啥是一致性哈希算法?
- 问一下,线程池里面到底该设置多少个线程?
- 进程和线程基础知识全家桶,30 张图一套带走
- Python-matplotlib 学术柱状图绘制
- 为什么要避免大事务以及大事务如何解决?
- [即时通信IM]群@消息如何实现?
- 利用PySpark对 Tweets 流数据进行情感分析实战