GDAS001-安装Bioconductor与获取帮助


title: GDAS001-安装Bioconductor与获取帮助
type: "tags"
tags:

  • Bioconductor
    categories:
  • Genomics Data Analysis Series

安装Bioconductor

使用以下代码安装Bioconductor,直接粘贴到R的控制台即可。

source("http://bioconductor.org/biocLite.R")
biocLite()

这两行代码会安装核心的Bioconductor包。如果要再安装其它的包,则要使用biocLite()函数,并且使用字符串参数指定包的名称,例如我们安装以下的两个包:

biocLite(c("genefilter","geneplotter"))

在使用的时候,就跟常规的R包一样了,例如library()加载即可,例如 library(genefilter)

获取帮助

R中的帮助函数很多, 如果在命令行中直接输入 help.start() 就能查看R帮助起始页面。

查看函数帮助文档

通常情况,使用?后面添加函数名称,回车则可以查看此函数的帮助文档。使用example(函数)则能查看该函数的帮助文档中Examples部分中的案例,如下所示:

?mean
?mad
example(mad)
example(boxplot)

输入函数名称,但不添加任何参数,则显示此函数的所有代码。

在函数的帮助文档中,我们可以看到许多内容,包括关于此函数的描述,用法,参数,细节,参考文献,使用案例等。

包帮助

如果想查看某个包中所有函数的帮助文档,那么此时可以直接查看该函数的包文档,如果想使用Web浏览器来查看这些文档,那么需要添加以下参数(R默认的IDE):

help(package="genefilter", help_type="html")

如果使用的Rstudio,那么上述命令与下面命令的功能是一样的:

help(package="genefilter")

一种查看某个包中的有哪些函数的快速方法是使用双冒号::,如下所示:

library(geneplotter)
geneplotter::

对象帮助

如果要在R中查看某个对象的帮助信息,可以按如下操作:

class(6)
?numeric
?"numeric-class"

不过有的时候,在一些包中,某个构建的函数与此函数构建的对象的帮助文档是一样的,如下所示:

library(Biobase)
?ExpressionSet
?"ExpressionSet-class"

快速查看某个对象的方法:

methods(class="ExpressionSet")
methods(class="lm")

使用method()函数则能查看由某个类定义的实例的所有方法:

R has good capabilities for self-description. Classes can be formally linked to methods that operate usefully on their instances. The methods available can be listed using the methods function.

data(sample.ExpressionSet)
methods(class=class(sample.ExpressionSet))
##  [1] [                [[               [[<-             $$               
##  [5] $$<-              abstract         annotation       annotation<-    
##  [9] as.data.frame    assayData        assayData<-      classVersion    
## [13] classVersion<-   coerce           combine          description     
## [17] description<-    dim              dimnames         dimnames<-      
## [21] dims             esApply          experimentData   experimentData<-
## [25] exprs            exprs<-          fData            fData<-         
## [29] featureData      featureData<-    featureNames     featureNames<-  
## [33] fvarLabels       fvarLabels<-     fvarMetadata     fvarMetadata<-  
## [37] initialize       isCurrent        isVersioned      KEGG2heatmap    
## [41] KEGGmnplot       makeDataPackage  Makesense        notes           
## [45] notes<-          pData            pData<-          phenoData       
## [49] phenoData<-      preproc          preproc<-        protocolData    
## [53] protocolData<-   pubMedIds        pubMedIds<-      rowMedians      
## [57] rowQ             sampleNames      sampleNames<-    show            
## [61] storageMode      storageMode<-    updateObject     updateObjectTo  
## [65] varLabels        varLabels<-      varMetadata      varMetadata<-   
## [69] write.exprs     
## see '?methods' for accessing help and source code

源代码

You can find the source code for many functions by typing out the name of the function without () and pressing enter.

read.csv
## function (file, header = TRUE, sep = ",", quote = "\\"", dec = ".", 
##     fill = TRUE, comment.char = "", ...) 
## read.table(file = file, header = header, sep = sep, quote = quote, 
##     dec = dec, fill = fill, comment.char = comment.char, ...)
## <bytecode: 0x7f8e35b19200>
## <environment: namespace:utils>

我们从上面可以看出来,read.csv()函数只是打包了(wraps)了read.table()函数。

有的时候,你需要指定一个特定的类,才能查看该方法的源代码,如下所示:

plotMA
## nonstandardGenericFunction for "plotMA" defined from package "BiocGenerics"
## 
## function (object, ...) 
## {
##     standardGeneric("plotMA")
## }
## <environment: 0x7f8e338381b8>
## Methods may be defined for arguments: object
## Use  showMethods("plotMA")  for currently available ones.
showMethods("plotMA")
## Function: plotMA (package BiocGenerics)
## object="ANY"
## object="data.frame"
getMethod("plotMA","data.frame")
## Method Definition:
## 
## function (object, ...) 
## {
##     .local <- function (object, ylim = NULL, colNonSig = "gray32", 
##         colSig = "red3", colLine = "#ff000080", log = "x", cex = 0.45, 
##         xlab = "mean expression", ylab = "log fold change", ...) 
##     {
##         if (!(ncol(object) == 3 & inherits(object[[1]], "numeric") & 
##             inherits(object[[2]], "numeric") & inherits(object[[3]], 
##             "logical"))) {
##             stop("When called with a data.frame, plotMA expects the data frame to have 3 columns, two numeric ones for mean and log fold change, and a logical one for significance.")
##         }
##         colnames(object) <- c("mean", "lfc", "sig")
##         object = subset(object, mean != 0)
##         py = object$lfc
##         if (is.null(ylim)) 
##             ylim = c(-1, 1) * quantile(abs(py[is.finite(py)]), 
##                 probs = 0.99) * 1.1
##         plot(object$mean, pmax(ylim[1], pmin(ylim[2], py)), log = log, 
##             pch = ifelse(py < ylim[1], 6, ifelse(py > ylim[2], 
##                 2, 16)), cex = cex, col = ifelse(object$sig, 
##                 colSig, colNonSig), xlab = xlab, ylab = ylab, 
##             ylim = ylim, ...)
##         abline(h = 0, lwd = 4, col = colLine)
##     }
##     .local(object, ...)
## }
## <environment: namespace:geneplotter>
## 
## Signatures:
##         object      
## target  "data.frame"
## defined "data.frame"

简要案例Vignettes

“Vignettes”包含在R包中,并且是Bioconductor包的标准组件之一。这个函数通常会通过“块”代码的形式,来显示此包中函数的使用案例。

在Bioconductor的官网有PDF格式或R代码的Vignettes。此外,通过在R中来调用vignette能够保证正在使用的包的正确版本。以下代码就是列出某个特定包的vignettes名字,如下所示:

vignette(package="Biobase")

结果如下所示:

Vignettes in package ‘Biobase’:

ExpressionSetIntroduction
                  An introduction to Biobase and
                  ExpressionSets (source, pdf)
esApply           esApply Introduction (source, pdf)
BiobaseDevelopment
                  Notes for eSet developers (source,
                  pdf)
                               

进行一步调用 vignette 能够浏览PDF格式的内容:

vignette("ExpressionSetIntroduction")

也可以使用Web浏览器的方式来查看vignette,如下所示:

browseVignettes(package="Biobase")

分析帮助

workflows repository 这个库中包含了大量的可计算文档(computable documents),以及描述了如何执行某些常见的分析,这些数据来源于已经发布的数据。

总结

  • Bioconductor上的所有R函数都有自己的文档,以及运行案例;
  • 所有的Bioconductor包都有自己的vignettes,它描述了该包中的函数如何配合使用,并且是如何实现包的目标;
  • Bioconductor包含许多workflow documents,我们可以通过这些工作流程文档来进行学习;
  • R内置了许多基础函数用于完成基础的统计分析;
  • R’s mailing list for elementary questions 与Bioconductor’s support site 上含有非常多的信息,可以用于进一步的学习。

参考资料

  1. Installing Bioconductor and finding help
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容