2019-12-15小白新手笔记 GEO下载数据及初步处理可视化,差异表达

今天介绍另外一种方式 具体哪种好用,我还在检测中

rm(list = ls())

options(stringsAsFactors = F)

library(GEOquery)

setwd("C:\\Users\\zhouwenqing789\\Desktop\\DFEF")

eset1<-getGEO("GSE83521",destdir = ".",getGPL = F) #下载了平台注释文件以及不是矩阵的形式,list。在电脑里面文件打不开。但是可以读取。

class(eset1)

exp1=exprs(eset1[[1]])#基因的表达矩阵

dim(exp1)

exp1[1:4,1:4]

boxplot(exp1,las=2)#做个厢式图看一下数据的分布情况

gpl1=eset1[[1]]@annotation  #获取注释信息

pd1=pData(eset1[[1]])#pData和exprs函数都可以处理这个表达对象,从而分别得到样品描述矩阵(每个样本的信息)和样品表达量矩阵 

fd1=fData(eset1[[1]])#基因的信息???

write.table(eset1,"eset1.txt",col.names = T,row.names = F,quote = F)

save(eset1,exp1,pd1,gpl1,file = "step1.Rdata")

load("step1.Rdata")#载入数据

下载另外一组数据

est2=getGEO("GSE89143",destdir = ".",getGPL = F)

class(est2)

eset2=est2

exp2=exprs(eset2[[1]])

boxplot(exp2,las=2)   #发现数据差异太大

exp2=log2(exp2+1) #取log值

boxplot(exp2,las=2)#发现中位数部在一条线上,需要用函数normalizeBetweenArrays拉回到正常水平。

library(limma)

exp2=normalizeBetweenArrays(exp2)

boxplot(exp2,las=2)

index=sort.int(pd2$characteristics_ch1,index.return = T)  #将pd2中某列按样本和正常组分类

pd2=pd2[index$ix,]#根据分类后重新调整pd2的行顺序

exp2=exp2[,match(rownames(pd2),colnames(exp2))] #将exp2这个矩阵列明按照pd2的行名的顺序重新排列

#提取平台中基因ID与基因名的矩阵

if(T){gpl<-getGEO("GPL19978",destdir = ".")}

dim(gpl)

colnames(Table(gpl))

head(Table(gpl))[,c(1,2)]

ids=Table(gpl)[,c(1,2)]

ids=ids[-c(1:15),]

#找出两个矩阵相同的基因ID,并合成一个矩阵

x1=exp1[rownames(exp1)%in%ids$ID,]  #提取有ID的行

x2=exp2[rownames(exp2)%in%ids$ID,]  #提取有ID的行

cg=intersect(row.names(x1),row.names(x2))  两个表达矩阵是否有相同的行

length(cg)

x_merge=cbind(x1[cg,],x2[cg,])   #在找到相同的行时给予列合并

dim(x_merge)

#去批次化   将上面的数据boxplot后发现两组两本的中位数不在一条线上,故需要去批次化

group_list<-c(rep("tumor",6),rep("normal",6),rep(c("tumor","normal"),each=3))

gse<-c(rep("gse83527",12),rep("gse89143",6))

table(group_list,gse)

dat<-x_merge

library(sva)

library(limma)

batch=c(rep("gse83527",12),rep("gse89143",6))

design=model.matrix(~factor(group_list))

ex_b_limma<-removeBatchEffect(dat,batch = batch,design = design)##注意ex_b_limma的格式

boxplot(ex_b_limma)

#找差异基因  

fit=lmFit(ex_b_limma,design)#一定要注意design的格式 ,第二列必须是因子

fit=eBayes(fit)

options(digits = 4)

topTable(fit,coef = 2,adjust="BH")

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容