首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >探针转换与基因去重

探针转换与基因去重

原创
作者头像
小辫子
发布2025-06-15 16:01:00
发布2025-06-15 16:01:00
1440
举报

title: "探针转换与基因去重"

output: html_document

editor_options:

chunk_output_type: console


需要R包版本2.3.1及以上

代码语言:r
复制
rm(list = ls())
#打破下载时间的限制,改前60秒,改后10w秒
options(timeout = 100000) 
options(scipen = 20)#不要以科学计数法表示

一、多个探针对应同一个基因的情况——取行平均值最大探针

代码语言:r
复制
library(dplyr)
library(tibble)
exprSet <- exprSet %>% 
  rownames_to_column(var="probeset") %>% 
  #合并探针的信息
  inner_join(probe2symbol,by="probeset") %>% 
  #去掉多余信息
  select(-probeset) %>% 
  #重新排列
  select(symbol,everything()) %>% 
  #求出平均数(这边的点号代表上一步产出的数据)
  mutate(rowMean =rowMeans(.[grep("GSM", names(.))])) %>% 
  #去除symbol中的NA
  filter(symbol != "NA") %>% 
  #把表达量的平均值按从大到小排序
  arrange(desc(rowMean)) %>% 
  # symbol留下第一个
  distinct(symbol,.keep_all = T) %>% 
  #反向选择去除rowMean这一列
  select(-rowMean) %>% 
  # 列名变成行名
  column_to_rownames(var = "symbol")
#> Error: object 'exprSet' not found

#方法有三种:1.随机去重 2.取行平均值最大的探针 3.取多个探针的平均值.此处为"方法2".

注:基因去重这个部分要重视起来。

二、一个探针对应多个基因的情况

代码语言:r
复制
#方法1:去除symbol中的NA
  filter(symbol != "NA") 
#> Error: object 'symbol' not found

#方法2:去除symbol中的空格
id4 = soft[,c("ID","GENE_SYMBOL")]
#> Error: object 'soft' not found
  k = id4$GENE_SYMBOL=="";table(k)
#> Error: object 'id4' not found
  id4 = id4[!k,]
#> Error: object 'id4' not found
  id4 = soft[, c("ID", "GENE_SYMBOL")]
#> Error: object 'soft' not found

#方法3:去除GENE_SYMBOL 列中内容为空字符串 "" 或者包含 "///" 的行
k = id4$GENE_SYMBOL == "" | grepl("///", id4$GENE_SYMBOL)
#> Error: object 'id4' not found

# 统计 k 中 TRUE 和 FALSE 的数量
table(k)
#> Error: object 'k' not found

# 去除这些行
id4 = id4[!k, ]
#> Error: object 'id4' not found

包含 "///" 的行,也就是一个探针对应多个基因的情况。

代码语言:r
复制
knitr::knit("a.Rmd")
#> Error in parse_block(g[-1], g[1], params.src, markdown_mode): Duplicate chunk label 'setup', which has been used for the chunk:
#> knitr::opts_chunk$set(
#>   collapse = TRUE,
#>   comment = "#>"
#> )
#> knitr::opts_chunk$set(fig.width = 10,fig.height = 7,collapse = TRUE)
#> knitr::opts_chunk$set(message = FALSE,warning = FALSE)

引用自果子学生信

引用自生信技能树

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

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

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

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

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、多个探针对应同一个基因的情况——取行平均值最大探针
  • 二、一个探针对应多个基因的情况
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档