利用eggnog结果构建自己的OrgDB包

library(clusterProfiler)
library(tidyverse)
library(AnnotationForge)

##### 1.数据准备
library(readr)
annotations <- read_delim("~/Program/pan_genome/data/annotation/Penaeus_chinensis_annotations.tsv", 
                                    delim = "\t", escape_double = FALSE, 
                                    comment = "#", trim_ws = TRUE) %>% 
  mutate(Gene_Name = if_else(Preferred_name != "-",
                             Preferred_name,
                             PFAMs)) %>% filter(Gene_Name != "-")


##### 2.准备gene_info \ gene to go \ gene to kegg

gene_info <- dplyr::select(annotations,GID = query,Gene_Name) %>%
  dplyr::filter(!is.na(Gene_Name))

# 将基因与GO的对应关系整理出来
gene2go <- dplyr::select(annotations,GID = query,GOs) %>%
  separate_rows(GOs, sep = ',', convert = F) %>%
  filter(GOs!="-",!is.na(GOs)) %>% 
  mutate(EVIDENCE = 'A') %>% 
  unique()

# 将基因与pathway的对应关系整理出来
gene2pathway <- dplyr::select(annotations, GID = query,Pathway = KEGG_Pathway) %>%
  separate_rows(Pathway, sep = ',', convert = F) %>%
  filter(str_detect(Pathway, 'map')) %>% 
  unique()%>%na.omit()

## 准备GO注释内容
library(GO.db)
goterms <- Term(GOTERM)
GOlist=as.data.frame(goterms)
go2name <- rownames_to_column(GOlist,var = 'GO_id')

## 这里提供两种获得KEGG注释的方法,kEGG数据库经常抽风(这里用不到)
library(magrittr)
get_path2name <- function(){
  keggpathid2name.df <- clusterProfiler:::kegg_list("pathway")
  keggpathid2name.df[,1] %<>% gsub("path:map", "", .)
  colnames(keggpathid2name.df) <- c("path_id","path_name")
  return(keggpathid2name.df)
}
pathway2name <- get_path2name()

#library(KEGGREST)
#listDatabases()
#map = keggList("pathway") %>% as.data.frame()


##### 3.构建OrgDBPackage
AnnotationForge::makeOrgPackage(gene_info=gene_info,
                                go=gene2go,
                                maintainer='rongchen.liu <rongchen.liu@foxmail.com>',
                                author='rongchen.liu',
                                version="0.1" ,
                                outputDir="./Program/Penaeus_chinensis/", 
                                tax_id="88888",
                                genus="Penaeus",
                                species="chinensis")
install.packages('./Program/Penaeus_chinensis//org.Pchinensis.eg.db',repos = NULL, type="source") #安装包

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘融晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值