Day4-小龙

R语言
emmm,会用,今天就贴一点代码吧
这是一篇生信技能树的学徒作业,我试着整理了一下,并跑出来啦~这样就学会这个套路,并且学会使用代码。
具体步骤如下:
1.准备相关包和环境
2.下载数据
3.分组、挑选样本、注释探针
4.检查数据质量
5.差异分析与可视化
6.进行富集分析

1.准备相关包和环境+下载数据

# 惯例情况环境,设置镜像 
rm(list = ls()) 
options()$repos options("repos"=c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) 
options()$BioC_mirror options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") 
options("repos"=c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
 
# 调用需要用到的包 (GEOmirror是jimmy大神的包,巨好用)
library(GEOquery) 
library(GEOmirror)
 
# 一句代码直接搞定GSE数据集下载 
setwd('F:/R/geo')
eSet<- geoChina('GSE76275') 
str(eSet)
 
#刚刚查看了eSet是一个list,我们直接取第一个,并取出表达矩阵exprSet,画个boxplot看一下数据怎么样 eSet<- eSet[[1]]   
exprSet <- exprs(eSet) 
dim(exprSet) 
head(exprSet[,1:4]) 
boxplot(exprSet,las=2)
boxplot

样本间差异不是很大,可以不用做log

3.分组,挑选探针,注释

# 接下来获取临床信息,对样本进行分组 
pdata<-pData(eSet) 
characteristics <- "triple-negative status:ch1" 
group_list <- pdata[, characteristics] 
table(group_list)
 
not_TN_expr = exprSet[ , grep( "not TN", group_list )] 
TN_expr = exprSet[ , !(colnames(exprSet) %in% colnames(not_TN_expr))]
 
newAssayData = cbind( not_TN_expr, TN_expr)
group_list = c(rep( 'control', ncol( not_TN_expr ) ), rep( 'TNBC',  ncol( TN_expr ) ) ) 
dim( newAssayData ) 
newAssayData[ 1:5, 1:5 ] 
table( group_list )
library(AnnoProbe) 
gpl='GPL570' 
probe2gene=idmap(gpl) 
head(probe2gene)
 
# 去除没有注释的探针 
exprSet =newAssayData[rownames(newAssayData) %in% probe2gene[,1],] 
probe2gene=probe2gene[match(rownames(exprSet), probe2gene[,1]),] 
dim(exprSet) 
dim(probe2gene) 
tail(sort(table(probe2gene[,2])), n = 12L)
 
# 相同的基因只保留最大的那个
 {  MAX = by(exprSet, probe2gene[,2],            
function(x) rownames(x)[ which.max(rowMeans(x))])  
MAX = as.character(MAX)  
exprSet = exprSet[rownames(exprSet) %in% MAX,]  
rownames( exprSet ) = probe2gene[ match( rownames( exprSet ), probe2gene[ , 1 ] ), 2 ] } dim(exprSet) 
exprSet[1:5,1:5] 
AssayData = exprSet 
save(AssayData, group_list, file='final_AssayData.Rdata')

今天就先分享到这,有需要的再私聊分享后续代码哦

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。