php网站开发专业是做什么的,百度认证服务平台,wordpress还原,印刷企业网站模板检索到目标数据集后#xff0c;开始数据挖掘#xff0c;本文以阿尔兹海默症数据集GSE1297为例 上节做了很多的基因数据清洗#xff08;离群值处理、低表达基因、归一化、log2处理#xff09;操作#xff0c;本节介绍构建临床分组信息。
我们已经学习了提取表达矩阵的临床… 检索到目标数据集后开始数据挖掘本文以阿尔兹海默症数据集GSE1297为例 上节做了很多的基因数据清洗离群值处理、低表达基因、归一化、log2处理操作本节介绍构建临床分组信息。
我们已经学习了提取表达矩阵的临床信息
# 安装并加载GEOquery包
library(GEOquery)# 指定GEO数据集的ID
gse_id - GSE1297# 使用getGEO函数获取数据集的基础信息
gse_info - getGEO(gse_id, destdir ., AnnotGPL FALSE ,getGPL F)#提取临床信息 方法一$或者 配合str()观察结构
pdata gse_info$GSE1297_series_matrix.txt.gzphenoDatadata 临床信息预处理
提取出关键的两列
#构建样本分组信息
group_data pdata[,c(geo_accession,title)] 本例中的疾病和对比组的标识比较复杂要考虑剔除数字还要考虑做2分类还是4分类。
字符串处理二分类 # 使用grepl函数判断字符串是否包含abc并进行相应的修改
group_data$group_easy - ifelse(grepl(Control, group_data$title), Control, AD)字符串处理四分类
# 使用grepl函数判断字符串是否包含特定内容然后进行相应的修改
group_data$group_more - ifelse(grepl(Control, group_data$title), Control,ifelse(grepl(Moderate, group_data$title), Moderate,ifelse(grepl(Incipient, group_data$title), Incipient,Severe))) 处理后的结果无需调整分组信息的顺序让AD在一堆Control在一堆现在的临床信息表的行索引GSM顺序与基因表达信息表的列索引GSM顺序 是一致的。
需要的分组信息已经提取完毕。 分组后箱线图可视化
上一节保存了数据清洗后的基因表达矩阵加载进来为了使用简单boxplot画图我们又增加了一列区分不同样本类型的颜色。
#加载基因表达矩阵
load(exprSet_clean_75percent_filter.RData) #exprSet_clean# 使用grepl函数判断字符串是否包含Control并进行颜色标记为画图
group_data$group_color - ifelse(grepl(Control, group_data$title), yellow, blue)#(3)画箱线图查看数据分布group_list_color group_data$group_color
boxplot( data.frame(exprSet_clean),outlineFALSE,notchT,colgroup_list_color,las2) 分组后层次聚类图可视化
exprSet exprSet_clean
#修改GSM的名字改为分组信息
colnames(exprSet)paste(group_data$group_easy,1:ncol(exprSet),sep )#定义nodePar
nodeParlist(lab.cex0.6,pchc(NA,19),cex0.7,colblue)
#聚类
hchclust(dist(t(exprSet))) #t()的意思是转置#绘图
plot(as.dendrogram(hc),nodePar nodePar,horiz TRUE)分两类好像看不太出来聚类的好坏我们又观察了分四类后的聚类情况效果不错。 聚类的效果还不错没有特别别扭的分类。
分组后PCA图可视化 由于样本量比较少看起来两类样本在空间上还算分的比较开。后期可以把轻微症状放到Control组做测试看看效果。 至此为止临床信息预处理工作完毕基因表达数据预处理工作完毕最让人头疼的工作结束。
最后别忘了保存一下根据临床数据构建的分组信息后面的差异分析要用哦