美文网首页NGSbioconductor科研信息学
快速找到自己需要的Bioconductor包

快速找到自己需要的Bioconductor包

作者: 思考问题的熊 | 来源:发表于2019-05-24 10:47 被阅读119次

    Bioconductor 的存在让只用 R 语言完成(90%的)生物信息分析成为了一种可能,也在很大程度上推动了 R 在生物信息领域的应用和发展。目前 Bioconductor 配合 R 3.6 使用升级到了 3.9 版本。一共有 R 包 1741 个。学习生物信息和 R 语言,它是非常好的资源。

    平常偶尔会有人问到我这样的问题:我目前正在做某某分析,你知道有什么 R 包可以用么?如果是不熟的人而且他做的分析我也不熟悉,一般我的回答直接就是不知道;如果是好朋友那我就得顺手帮他快速的找到想要的 Bioconductor R 包。看完今天的文章,这个操作对你来说以后也没有什么难度。

    几步操作,快准狠,找到自己要想的 Bioconductor 工具。

    入门玩家

    在 Bing,Google 等搜索引擎搜索 Bioconductor + 关键词。如果稍微进阶一步,你可能会配合上一些简单的搜索语法,比如指定在它的官方网站搜索,甚至指定搜索一些文件类型。这不是本文的重点,暂时就不展开了。

    普通玩家

    如果你已经使用过一些 Bioconductor 包,那么肯定或多或少浏览过某一个具体 R 包的主页。你会发现在官网的上方有一个搜索框,只要在里面搜索自己能想到的关键词就会在整个网站内进行检索。不过由于索引内容的问题,你搜出来的链接一是不一定可以打的开,二是打开了不一定有你关心的东西。

    这时候,你需要了解 Bioconductor 内一个特有的「分类器」biocViews

    biocViews 对所有的 R 包按照四个维度进行了分类:

    • Software (1741)
    • AnnotationData (948)
    • ExperimentData (371)
    • Workflow (27)

    其中每一个大类下面都有第二级或者第三极分类,如下为部分截图。每一个 R 包会根据自己的功能被打上若干个标签。

    在这个页面,你就可以放心的根据自己需求的关键词进行检索了,因为是开发者给 R 包定义标签,所以找起来非常准确。而且这个页面的搜索框会根据你输入的内容进行自动提示,帮你找到自己关心的关键词。在搜索结果页,你可以看到最基本的 R 包信息。

    进阶玩家

    如果不甘心止步于普通玩家,现在有了一个进阶的机会。终于有一个 Bioconductor 的 R 包对 Bioconductor 自己动手了。

    接下来要介绍的这个 Bioconductor R 包叫做 BiocPkgTools。简单的说,它其实是对所有的 Bioconductor R 进行了一次文本挖掘和整理。通过几个函数可以让我们快速的获得所有包的 metadata, 被下载情况和依赖关系等等,而所有的数据都会通过 tidy data 的形式呈现方便我们进一步操作。你可以通过 主页 进行深入了解,这里只介绍几个和文章相关的功能。

    更易用的搜索

    作者提取了所有的 biocViews 标签,制作了一个可以交互的可视化气泡图。

    # if (!requireNamespace("BiocManager", quietly = TRUE))
    #   install.packages("BiocManager")
    
    # BiocManager::install("BiocPkgTools")
    
    library(BiocPkgTools)
    biocExplore()
    
    

    如下图所示,首先在 filter 中进行筛选,然后就会出现带有相关标签的 R 包,颜色的大小表示了下载的相对次数或者说受欢迎程度。

    点击自己感兴趣的一个包,就可以看到更加具体的介绍。包括描述,最近下载次数和主页地址等信息。

    元数据探索

    每一个 R 包都会有一个描述文件,其中记录了关于这个包最基本的信息,如下图所示。

    因为这个文本是有固定字段可寻的,所以作者把所有的描述文件按照其内容进行整合后做成了一个 data.frame。

    
    bpi <- biocPkgList()
    colnames(bpi)
    
    
    > colnames(bpi)
     [1] "Package"                   "Version"                  
     [3] "Depends"                   "Suggests"                 
     [5] "License"                   "MD5sum"                   
     [7] "NeedsCompilation"          "Title"                    
     [9] "Description"               "biocViews"                
    [11] "Author"                    "Maintainer"               
    [13] "git_url"                   "git_branch"               
    [15] "git_last_commit"           "git_last_commit_date"     
    [17] "Date/Publication"          "source.ver"               
    [19] "win.binary.ver"            "mac.binary.el-capitan.ver"
    [21] "vignettes"                 "vignetteTitles"           
    [23] "hasREADME"                 "hasNEWS"                  
    [25] "hasINSTALL"                "hasLICENSE"               
    [27] "Rfiles"                    "Enhances"                 
    [29] "dependsOnMe"               "Imports"                  
    [31] "importsMe"                 "suggestsMe"               
    [33] "LinkingTo"                 "Archs"                    
    [35] "VignetteBuilder"           "URL"                      
    [37] "SystemRequirements"        "BugReports"               
    [39] "Video"                     "linksToMe"                
    [41] "OS_type"                   "License_restricts_use"    
    [43] "PackageStatus"             "License_is_FOSS"          
    [45] "organism" 
    

    一旦变成了 data.frame 就可以进行各种操作了,比如看看那些包用到了 DESeq2。

    library(dplyr)
    bpi %>%
        filter(Package=="DESeq2") %>%
        pull(dependsOnMe) %>%
        unlist()
    # [1] "DChIPRep" "DEXSeq"   "FourCSeq" "rgsepd"   "TCC"      "XBSeq" 
    

    查看一下感兴趣的包对应 URL 地址

    bpi %>%
        filter(Package=="DESeq2") %>%
        pull(URL) %>%
        unlist()
    
    #[1] "https://github.com/mikelove/DESeq2"
    
    

    One more thing

    如果想要的包不在 Bioconductor 而是 CRAN 中甚至是在 GitHub 上,又该怎么办呢?有一个 网站 自称可以「搜索 R 的一切」,推荐给你。


    本文作者:思考问题的熊

    版权声明:本博客所有文章除特别声明外,均采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。

    相关文章

      网友评论

        本文标题:快速找到自己需要的Bioconductor包

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