美文网首页
基因注释函数

基因注释函数

作者: 郭师傅 | 来源:发表于2022-05-23 08:46 被阅读0次

基本思想:
1、有些ensembl id里包含".",按目前说法需要去掉
2、用clusterprofiler包进行ID转换,然后向表达矩阵进行注释,定义成函数,以后更省事。

# 去掉ID中的"."
exprSet <- exprSet %>% 
  tidyr::separate(id,into = c("id"),sep="\\.") %>% 
  mutate(rowMean = rowMeans(.[,-1])) %>% 
  arrange(desc(rowMean)) %>% 
  distinct(id,.keep_all = T) %>% 
  select(-rowMean) %>% 
  tibble::column_to_rownames(var = "id")
  
library(clusterProfiler)
library(org.Hs.eg.db)
library(org.Mm.eg.db)

geneid1 <- bitr(rownames(exprSet),
               fromType = "ENSEMBL",
               toType = "SYMBOL",
               OrgDb = org.Hs.eg.db)

                          
# 注释函数
# exprSet:表达矩阵
# df:注释文件,两列,1,ID,2,symbol

annot <- function(exprSet,df){
  probe2symbol_df <- df 
  #以下为重复代码,无需修改
  colnames(probe2symbol_df) <- c("probe_id","symbol")
  exprSet <- as.data.frame(exprSet)                                                 #change express matrix to dataframe
  exprSet$probe_id <- rownames(exprSet)                                       #make a new column of probe_id by rowname
  exprSet$probe_id <- as.character(exprSet$probe_id)
  
  #match probe_id and gene symbol
  exprSet <- exprSet %>%
    inner_join(probe2symbol_df,by="probe_id") %>%                                 #合并探针的信息
    dplyr::select(-probe_id) %>%                                                                #去掉多余信息
    dplyr::select(symbol, everything()) %>%                                                #重新排列,
    mutate(rowMean = rowMeans(.[grep("GSM", names(.))])) %>%            #求出平均数(这边的.真的是画龙点睛),改成rowMax,最大值
    arrange(desc(rowMean)) %>%                                                             #把表达量的平均值按从大到小排序
    distinct(symbol,.keep_all = T) %>%                                                      # symbol留下第一个
    dplyr::select(-rowMean) %>%                                                              #反向选择去除rowMean这一列
    tibble::column_to_rownames(colnames(.)[1])                                        # 把第一列变成行名并删除
  return(exprSet)
}

exprSet <- annot(exprSet,geneid1)

save(exprSet,pdata,file = ".\\data\\exprSet_annotated.Rdata")

相关文章

  • 基因注释函数

    基本思想:1、有些ensembl id里包含".",按目前说法需要去掉2、用clusterprofiler包进行I...

  • RNA-seq名词解释(7)

    (九)、分析内容相关 gene annotation:基因注释,分为基因的结构注释和基因的功能注释。 CDS pr...

  • R语言KEGG分析

    #读取背景基因(所有注释到KEGG的基因)和差异基因列表,以K号表示 #读取背景基因(所有注释到KEGG的基因)和...

  • ID转换以及LncRNA和mRNA相关性分析

    基因注释 UCSC Xena的基因注释文件gencode.v22.annotation.gene.probeMap...

  • 对任何物种所有基因进行功能注释

    所有基因功能注释汇总表 1.注释结果统计 2.所有基因的注释信息 3.每个基因注释到 GO 数据库上的编号 4.对...

  • 基因注释

    前情提要 搞NGS,注释文件是我们经常需要用到的。但是不同的实验室偏爱的数据库各不相同,甚至同一个课题组的小伙伴都...

  • 基因组注释--重复序列注释(一):Trf软件安装与使用

    前言 动植物基因组注释包括重复序列注释以及基因结构注释,重复序列注释是注释中非常重要的环节,主要包括的软件有T...

  • Python方法、参数和调用

    函数 调用函数的方式 函数文档注释函数注释.png 函数参数传递 return 给方法添加参数注释image.pn...

  • Where are the Genes in the Genom

    基因组注释(Genome annotation) 基因组注释是利用生物信息学方法和工具,对基因组所有基因的生物学功...

  • python从基因组注释文件中提取GO信息

    问题 在转录组或基因组注释文件中有基因的GO注释,为了做GO富集分析,需要从中提取每个有GO注释的基因对应的GO号...

网友评论

      本文标题:基因注释函数

      本文链接:https://www.haomeiwen.com/subject/xofrprtx.html