生信小白菜之四步搞定GEO差异分析与结果可视化


title: “GEO_array_process”
author: “yuluyang”
date: “2024-03-25”


生信技能树数据挖掘课程笔记

前期准备
rm(list = ls())
# 打破下载时间的限制,改前60秒,改后10w秒
# 如果不是很大的文件,也可以不用
options(timeout = 100000) 
options(scipen = 20)#不要以科学计数法表示
# 装包就不再赘述了
第一步:获取数据+提取表达矩阵+提取临床数据
library(GEOquery)
downGSE<-function(studyID="GSE1009",destdir=","){
    library(GEOquery)
    eSet<-getGEO(studyID,destdir=destdir,getGPL=F)
    
    exp=exprs(eSet[[1]])
    pd=pData(eSet[[1]])
    
    return(eSet)
}
# 定时检查一下数据
class(eSet)
length(eSet)
dim(exp)
range(exp) # 看下数据范围决定是否需要log,是否有负值,异常值

### 如果需要log
exp = log2(exp+1) 
boxplot(exp,las = 2) # 看是否有异常样本

### 如果有多个组需要提取临床信息(分组)
## 以`pd`数据为例,假设要分成4个组
pd$test=paste0(rep(c("a","b","c","d"),each=5),rep(c(1:5),times=4))
k1=str_detect(pd$test,"a");table(k1)
k2=str_detect(pd$test,"b");table(k2)
pd=pd[k1|k2,];pd

# 让exp列名与pd的行名顺序完全一致 
p = identical(rownames(pd),colnames(exp));p
if(!p) {
  s = intersect(rownames(pd),colnames(exp))
  exp = exp[,s]
  pd = pd[s,]
}

# 获取芯片数据
gpl_number <- e
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值