GEO数据挖掘6
时间:2022-07-25
本文章向大家介绍GEO数据挖掘6,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
GEO数据挖掘6
sunqi
2020/7/13
概述
使用SigDB(Molecular Signatures Database)基因集进行富集分析,包含8个系列
- H: hallmark gene sets (癌症)特征基因集合,共50组,最常用;
- C1: positional gene sets 位置基因集合,根据染色体位置,共326个,用的很少
- C2: curated gene sets:(专家)校验基因集合,基于通路、文献等:
- C3: motif gene sets:模式基因集合,主要包括microRNA和转录因子靶基因两部分
- C4: computational gene sets:计算基因集合,通过挖掘癌症相关芯片数据定义的基因集合;
- C5: GO gene sets:Gene Ontology 基因本体论,包括BP(生物学过程biological process,细胞原件cellular component和分子功能molecular function三部分)
- C6: oncogenic signatures:癌症特征基因集合,大部分来源于NCBI GEO 发表芯片数据
- C7: immunologic signatures: 免疫相关基因集合。
相较于KEGG,SigDB数据集包含的功能更多
GSEA分析
对 MigDB中的全部基因集 做GSEA分析。
library(ggplot2)
library(clusterProfiler)
library(org.Hs.eg.db)
# 安装需要的包
# BiocManager::install("GSEABase")
# 导入kegg已经注释好的数据
load(file = 'anno_DEG.Rdata')
geneList=DEG$logFC
names(geneList)=DEG$symbol
geneList=sort(geneList,decreasing = T)
# 导入MigDB全部基因集
# 需要在 MigDB 官网下载 为gmt文件
# 下载好的路径
d='MsigDB/symbols'
gmts <- list.files(d,pattern = 'all')
# 导入8个序列的基因集名
#
library(GSEABase)
## 使用lapply循环读取每个gmt文件并进行GSEA分析
# 考验你计算机能力的时候到了
f='gsea_results.Rdata'
if(!file.exists(f)){
#相比较apply,lapply较多的用于list的循环操作
gsea_results <- lapply(gmts, function(gmtfile){
#读取gmt文件
geneset <- read.gmt(file.path(d,gmtfile))
# 打印目前进行的基因库
print(paste0('Now process the ',gmtfile))
# 进行GSEA分析
egmt <- GSEA(geneList, TERM2GENE=geneset, verbose=FALSE)
head(egmt)
# 返回计算的结果
return(egmt)
})
# 保存结果到本地文件
save(gsea_results,file = f)
}
# 如果上述操作完成之后
# 再次运算就可以直接导入
load(file = f)
#提取gsea结果,
gsea_results_list<- lapply(gsea_results, function(x){
cat(paste(dim(x@result)),'n')
x@result
})
## 3 11
## 996 11
## 186 11
## 233 11
## 671 11
## 95 11
## 1591 11
## 27 11
# docall 函数能够对list使用dataframe结构的函数,下行为合并结果
gsea_results_df <- do.call(rbind, gsea_results_list)
# 选择有差异的基因集进行画图,第一个参数为基因集,第二个参数需要对应前面参数
# 具体可以查看gsea_results里面的行名
gseaplot(gsea_results[[2]],'KEGG_CELL_CYCLE')
gseaplot(gsea_results[[2]],'FARMER_BREAST_CANCER_CLUSTER_6')
gseaplot(gsea_results[[5]],'GO_CONDENSED_CHROMOSOME_OUTER_KINETOCHORE')
- Python爬虫(八)_Requests的使用
- Python爬虫(十一)_案例:使用正则表达式的爬虫
- Python爬虫(十二)_XPath与lxml类库
- 区块链域名热度不减 健康类英文米近六位交易
- Python爬虫(九)_非结构化数据与结构化数据
- Python爬虫(十)_正则表达式
- python爬虫(四)_urllib2库的基本使用
- 投资人榴莲又卖出一枚三拼域名
- python爬虫(五)_urllib2:Get请求和Post请求
- python爬虫(七)_urllib2:urlerror和httperror
- 双拼市场好!米友售出域名chuijia.com
- Elasticsearch--数据索引
- python爬虫(一)_爬虫原理和数据抓取
- 域名tbw.vip一口价58888元交易
- 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 数组属性和方法
- bootstrap v4 toast轻提示正确用法
- 精华 | SQL注入万能Bypass技巧
- 【STM32F429开发板用户手册】第31章 STM32F429的SPI总线基础知识和HAL库API
- Linux 查找当前目录下所有包含指定内容的文件
- 父子管道更有效地扩展应用及其存储库结构
- Go语言 | 你还在这样获取文件的大小吗?
- 如何在Gitlab流水线中对部署进行控制?
- 工具的使用 | Hydra暴力破解工具的用法
- “灯下黑”应用在windows隐身后门中的实践
- 渗透测试-信息收集命令总结
- 什么?一个核同时执行两个线程?
- 如何下载网页上的视频?
- c++ int,unsigned int混合表达式类型转换
- MySQL5.7+查看Waiting for table metadata lock 锁情况
- input如何快速进行规则校验