首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GEO数据库中国区镜像横空出世

GEO数据库中国区镜像横空出世

作者头像
生信技能树
发布2019-12-05 10:32:17
3.5K0
发布2019-12-05 10:32:17
举报
文章被收录于专栏:生信技能树生信技能树

接收到太多的粉丝求助,想下载个表达矩阵做一下数据挖掘偏偏第一步就卡在了,数据文件下载半天毫无动静,或者下载到99%就卡死了。如果我恰好在电脑旁,通常会帮忙下载后微云或者百度云传递给粉丝,但这毕竟不是长久之计。 经过个把月的不懈努力,我终于把全部的GEO数据库里面的表达芯片数据都下载并且全部格式化处理成为r数据文件,并且购置一个2万块钱的腾讯云服务器来存放它们,供广大粉丝使用!

下载使用GEOmirror

有3种方法,如果都失败了,我就没办法说什么了。

Install the development version from Github:

library(devtools)
install_github("jmzeng1314/GEOmirror")
library(GEOmirror)

If it failed, just because your bad internet. You can also download this project directly into your computer, and then install it locally.

Or just use source function to load the codes of geoChina function, as below:

source('http://raw.githubusercontent.com/jmzeng1314/GEOmirror/master/R/geoChina.R') 

What if all these 3 methods failed? I'm so sorry, what' a pity that there's no chance for you to use our GEOmirror !!

安装成功后,加载我们的R包会有一个提示,妈妈以后再也不用担心自己不知道怎么样致谢生信技能树团队啦!

这个就是官方致谢:在感恩节官宣!(文末有惊喜哈)

使用起来非常方便,就一句话,找到你的GSE数据集的ID,传给我们的函数即可:

use it to download GEO dataset, as below :

eSet=geoChina('GSE1009') 
eSet=geoChina('GSE27533') 
eSet=geoChina('GSE95166') 

举一个简单的例子

Once you download the ExpressionSet of GEO dataset, you can access the expression matrix and phenotype data:

## download GSE95166 data
# https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE95166
#eSet=getGEO('GSE95166', destdir=".", AnnotGPL = F, getGPL = F)[[1]]
library(GEOmirror)
eSet=geoChina('GSE95166')
eSet
eSet=eSet[[1]]


probes_expr <- exprs(eSet);dim(probes_expr)
head(probes_expr[,1:4])
boxplot(probes_expr,las=2)

## pheno info
phenoDat <- pData(eSet)
head(phenoDat[,1:4])
# https://www.ncbi.nlm.nih.gov/pubmed/31430288

groupList=factor(c(rep('npc',4),rep('normal',4)))
table(groupList)
eSet@annotation
# GPL15314    Arraystar Human LncRNA microarray V2.0 (Agilent_033010 Probe Name version)

对于这一点表达矩阵数据集,我们可以看看PCA图,火山图以及热图:

代码如下:

genes_expr=probes_expr
library("FactoMineR")
library("factoextra")
dat.pca <- PCA(t(genes_expr) , graph = FALSE)
dat.pca
fviz_pca_ind(dat.pca,
             geom.ind = "point",
             col.ind = groupList,
             addEllipses = TRUE,
             legend.title = "Groups"
)
library(limma)
design=model.matrix(~factor(groupList))
design
fit=lmFit(genes_expr,design)
fit=eBayes(fit)
DEG=topTable(fit,coef=2,n=Inf)
head(DEG)
# We observed that 2107 lncRNAs were upregulated
# while 2090 lncRNAs were downregulated by more than 2-fold,
# NKILA among these downregulated lncRNAs (Fig 1A, GSE95166).

## for volcano plot
df=DEG
attach(df)
df$v= -log10(P.Value)
df$g=ifelse(df$P.Value>0.05,'stable',
            ifelse( df$logFC >1,'up',
                    ifelse( df$logFC < -1,'down','stable') )
)
table(df$g)
df$name=rownames(df)
head(df)
library(ggpubr)
ggpubr::ggscatter(df, x = "logFC", y = "v", color = "g",size = 0.5,
          label = "name", repel = T,
          label.select =head(rownames(df)),
          palette = c("#00AFBB", "#E7B800", "#FC4E07") )
detach(df)


x=DEG$logFC
names(x)=rownames(DEG)
cg=c(names(head(sort(x),100)),
     names(tail(sort(x),100)))
cg
library(pheatmap)
n=t(scale(t(genes_expr[cg,])))
n[n>2]=2
n[n< -2]= -2
n[1:4,1:4]
ac=data.frame(groupList=groupList)
rownames(ac)=colnames(n)  
pheatmap(n,show_colnames =F,show_rownames = F,
         annotation_col=ac)

实际上,这个时候,我们需要把探针的ID转换为基因名字,进行后续分析,不过这个比较复杂超出了本文范围,感兴趣的看:(重磅!价值一千元的R代码送给你)芯片探针序列的基因组注释

是不是很激动,想试试看

同样的代码,你可以处理自己的数据集哦。

因为功能非常简单,just a replacement of getGEO function from GEOquery package.

所以是不会有bug的,但是,也许大家在使用的过程有新的需求,我可以酌情根据时间来开发增加功能,感兴趣可以进入我们的交流群:4年前的TCGA重磅资料你学了吗

当然了,表达芯片的公共数据库挖掘系列更多教程,见推文 ;

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下载使用GEOmirror
  • 举一个简单的例子
  • 是不是很激动,想试试看
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档