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

接收到太多的粉丝求助,想下载个表达矩阵做一下数据挖掘偏偏第一步就卡在了,数据文件下载半天毫无动静,或者下载到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重磅资料你学了吗

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

本文分享自微信公众号 - 生信技能树(biotrainee)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏智能相对论

巨头们参与的自动驾驶芯片竞逐赛,初创公司可有机会?

如果自动驾驶的研发和落地看成一场通向星辰大海的征程,其中遇到的每一颗星星就代表着攻克一道难题,那么自动驾驶芯片无疑是最难的一道题,其所代表的星星也是最亮的一颗。

7730
来自专栏机器之心

TPU的起源,Jeff Dean综述后摩尔定律时代的ML硬件与算法

过去十年我们见证了机器学习的显著进步,特别是基于深度学习的神经网络。机器学习社区也一直在尝试构建新模型,用于完成具有挑战性的工作,包括使用强化学习,通过和环境进...

8110
来自专栏大数据文摘

史上最快AI计算机发布!谷歌TPU V3的1/5功耗、1/30体积,首台实体机已交付

这个名为Cerebras Wafer Scale Engine(WSE)的“巨无霸”面积达到42225 平方毫米,拥有1.2 万亿个晶体管,400000 个核心...

8730
来自专栏大数据文摘

倪光南:国产产品要自主可控,中国正从“人口红利”转向“工程师红利”

自从今年五月份,华为被列入美国“限购令”事件以来,大众对于国产芯片的关注度持续上升,尽管昨天美国商务部再次“豁免”华为,在关键技术上避免受制于人的共识已从上到下...

6120
来自专栏linux驱动个人学习

i2c_msg 标志位 - repeat-start

i2c_msg标志位 路径:linux-2.6.38/include/linux/i2c.h

8810
来自专栏嵌入式单片机

控制直流电机正反转以及刹车电路设计

  给接线端加上电源电机就会转动,加相反的电源电机就是朝相反的方向转动。  加个转接板是为了方便实验以及拆装。在电源位置并联了一个104电容,防止电机在转动过程...

15620
来自专栏安全乐观主义

可信计算和可信赖计算的渊源

看到业界在谈论可信计算时,将任何微软做的事情都称为可信计算,其实这里面发展过程很复杂,历史的交叉结合翻译的错误颇有故事,微软做的一些事情和可信计算既有区...

10010
来自专栏音视频技术

基于FPGA的异构计算在多媒体中的应用

大家好,我是来自CTAccel的研发负责人周小鹏,我分享的题目是《基于FPGA的异构计算在多媒体中的应用》。FPGA从1984年被发明到现在已经35年了,现在的...

22040
来自专栏VRPinea

探索|比VR/AR更进一步的脑机技术,会给我们带来什么?

作为一项前沿的技术,VR/AR为人类带来了无限可能,包括虚实结合的方式、超越现实的体验,以及帮助人类更好地理解世界(通过将数据可视化)等。不过,VR/AR技术仍...

8920
来自专栏linux驱动个人学习

i2c中start和restart的区别【转】

有的硬件芯片提供了一个个寄存器,供我们很好的操作i2c,但是,在用的时候,我们是不知道他到地是怎么操作的,下边,我就探讨下i2c中的start和restart的...

6010

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励