美文网首页
AnnotationForge包构建非模式物种Orgdb包

AnnotationForge包构建非模式物种Orgdb包

作者: R语言数据分析指南 | 来源:发表于2021-11-07 19:26 被阅读0次

    通常在对物种做GO富集分析时,我们会遇到2种情况模式物种 & 非模式物种;针对模式物种专门的Orgdb包,但是目前针对模式物种的包只有20种,针对非模式职位另一种解决方案是通过AnnotationForge包来创建Orgdb包,本节来介绍如何构建非模式物种的Orgdb来做GO富集分析

    阅读原文获取数据
    原文链接 AnnotationForge包构建非模式物种Orgdb包

    1.准备注释文件

    注释文件可以通过eggnog网站上传序列文件获得

    2.安装AnnotationForge包

    if (!requireNamespace("BiocManager", quietly = TRUE))
        install.packages("BiocManager")
    
    BiocManager::install("AnnotationForge")
    

    3.加载R包

    library(tidyverse)
    library(AnnotationForge)
    

    4.导入数据

    名称由makeOrgPackage函数规定请不要更改

    emapper <- read.delim("emapper.annotations.xls") %>%
      dplyr::select(GID=query_name,Gene_Symbol=Preferred_name, 
                    GO=GOs,KO=KEGG_ko,Pathway =KEGG_Pathway, 
                    OG =X.3,Gene_Name =X.4)
    gene_info <- dplyr::select(emapper,GID,Gene_Name) %>%
      dplyr::filter(!is.na(Gene_Name))
    
    gene2go <- dplyr::select(emapper,GID,GO) %>%
      separate_rows(GO, sep = ',', convert = F) %>%
      filter(GO!="",!is.na(GO)) %>% 
      mutate(EVIDENCE = 'A')
    

    5.构建0rgde包

    AnnotationForge::makeOrgPackage(gene_info=gene_info,
                                    go=gene2go,
                                    maintainer='YJA<yanjunan@gmail.com>',
                                    author='YJA',
                                    version="0.1" ,
                                    outputDir=".", 
                                    tax_id="59729",
                                    genus="M",
                                    species="A",
                                    goTable = "go")
    

    6.封装R包

    终端执行如下命令对生成的org.MA.eg.db进行封装

    R CMD build org.MA.eg.db 
    
    {21:27}~/Desktop/GO ➭ R CMD build org.MA.eg.db 
    * checking for file ‘org.MA.eg.db/DESCRIPTION’ ... OK
    * preparing ‘org.MA.eg.db’:
    * checking DESCRIPTION meta-information ... OK
    * checking for LF line-endings in source and make files and shell scripts
    * checking for empty or unneeded directories
    * building ‘org.MA.eg.db_0.1.tar.gz’
    

    7.安装R包

    install.packages("org.MA.eg.db_0.1.tar.gz",repos=NULL)
    

    8.GO富集分析

    library(clusterProfiler)
    library(org.MA.eg.db)
    
    gene <- read.delim("genes.counts.DESeq2.xls") %>%
      filter(abs(log2FoldChange)>1 & padj < 0.05) %>% 
      pull(id)
    
    ego <- enrichGO(gene=gene,OrgDb=org.MA.eg.db,keyType="GID",
             ont="ALL",qvalueCutoff = 0.05,pvalueCutoff =0.05)
             
    ego %>% as.data.frame()
    

    喜欢的小伙伴欢迎关注我的公众号

    R语言数据分析指南,持续分享数据可视化的经典案例及一些生信知识,希望对大家有所帮助

    相关文章

      网友评论

          本文标题:AnnotationForge包构建非模式物种Orgdb包

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