首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >数据挖掘—GPL5175探针注释处理

数据挖掘—GPL5175探针注释处理

原创
作者头像
sheldor没耳朵
发布2026-02-07 14:45:09
发布2026-02-07 14:45:09
1230
举报
文章被收录于专栏:数据挖掘数据挖掘

数据挖掘—GPL5175探针注释处理

最近处理了一个GEO数据集,用的芯片是GPL5175,这里记录下处理办法

GPL5175,并无明显的symbol列,需要从gene_assignment列中提取对应的基因名

00_ids.R

代码语言:r
复制
rm(list = ls())
#GPL5175探针处理办法
#获取注释文件的方法一
library(GEOquery)
gpl_number='GPL5175'
# a = getGEO(gpl_number,destdir = ".")
# b = a@dataTable@table
# colnames(b)

#获取注释文件的方法二
library(tinyarray)
get_gpl_txt(gpl_number) 
#获取表格文件的下载链接
#接下来是复制网址去浏览器下载、放在工作目录下、读取、提取探针id和基因symbol(没有现成的需要拆分和转换),不同文件代码不统一,等看同学们的例子。
#注意:最终的数据ids只能有两列,第一列列名是probe_id,第二列列名是symbol,且都是字符型,否则后面代码要报错咯。
tmp <- data.table::fread("GPL5175.txt",header = T,data.table = F)
extract_first_symbol <- function(gene_assignment) {
  if (is.na(gene_assignment) || gene_assignment == "---") {
    return(NA)
  }
  # 找到第一个" // "的位置
  first_delim <- regexpr(" // ", gene_assignment, fixed = TRUE)
  if (first_delim == -1) return(NA)
  # 找到第二个" // "的位置 
  rest_string <- substr(gene_assignment, first_delim + 4, nchar(gene_assignment))
  second_delim_in_rest <- regexpr(" // ", rest_string, fixed = TRUE)
  if (second_delim_in_rest == -1) return(NA)
  # 提取之间的内容
  symbol <- substr(rest_string, 1, second_delim_in_rest - 1)
  return(symbol)
}

tmp$symbol <- sapply( tmp$gene_assignment, extract_first_symbol)
unique_symbols_no_na <- unique( tmp$symbol[!is.na( tmp$symbol)])

ids <-  tmp[, c("ID", "symbol")]  
head(ids)
colnames(ids) <- c("probe_id", "symbol")
# 去除空值和重复
ids <- ids[!is.na(ids$symbol) & ids$symbol != "", ]
ids$probe_id <- as.character(ids$probe_id)
head(ids)
# probe_id       symbol
# 1   2315100      DDX11L2
# 11  2315125       OR4F17
# 15  2315147 LOC100288692
# 16  2315160     FLJ45445
# 17  2315163 LOC100132062
# 19  2315191 LOC100507658
str(ids)
# 'data.frame':	33475 obs. of  2 variables:
#   $ probe_id: chr  "2315100" "2315125" "2315147" "2315160" ...
# $ symbol  : chr  "DDX11L2" "OR4F17" "LOC100288692" "FLJ45445" ...
save(ids,file = "step0_ids.Rdata")

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据挖掘—GPL5175探针注释处理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档