生物信息学生R入门教程–R编程

本教程版权为《糗世界》所有,任何组织或个人不得未经书面许可转载。

在阅读本节前请自测,如果全部都知道正确答案,则可跳过本节。

  • 常用函数是否全部掌握(见下表)?
  • 请编写一个函数并达到自己的设计要求。
  • 为什么R应该尽量避免for循环?
  • 什么是引用类(refference class)

[……]

继续阅读

GO/KEGG富集分析enrichment analysis

本教程使用GOstats来对给定的基因symbols做富集分析。

> library("org.Hs.eg.db")
> library("GSEABase")
> library("GOstats")
> genes  ##GO BP enrichment analysis
> goAnn  universe  head(universe)
[1] "1"         "10"[......]

如何使用bioconductor做liftover

当我们有不同版本的bed文件,比如说有的bed文件map到hg18, 有的bed文件map到hg19,或者对于小鼠来说有些文件map到mm9,有些文件map到mm10。我们如何实现对比对到不同基因组版本的数据进行比较呢?在比较之前,第一个步骤就是将不同的版本的比对文件统一至一个版本,这就需要使用到UCSC提供的liftOver工具。其可执行工具在:http://hgdownload.cse.ucs[……]

继续阅读

使用Bioconductor下载GEO(Gene Expression Omnibus)上的数据

本文以GSE46106数据为例,讲述如何从GEO上下载数据。分为两个方面,第一,直接从GEO上下载表达数据,第二,直接从GEO上下载CEL文件。

首先我们来看第一种。

> library(GEOquery)
> gset  length(gset)
[1] 1
> gset  head(pData(gset)[,1:5])
> # load NCBI platform annotati[......]

如何在R中使用超几何分布计算p-value

问题,假设有两组ChIP-seq的数据A和B,我想知道它们之间是否相关。A组一共有50个数据,B组一共有60个数据,它们之间重叠的数据有30个,总计的binding位点如果是200个,那么如果它们相关的p-value如何计算呢?这个问题其实就是转变成抽到重叠数比30或者比30大的可能性是多大。所以我们需要计算抽到重叠数为29的可能性,然后用1减去它就可以了。
公式:p.value = phype[……]

继续阅读

如何让R自动保存历史记录(auto save R history before crash)

也许第一眼看到这个题目,您可能并不认为这是一个问题,因为大家都知道,R会自动在当前工作目录保存名为.Rhistory或者.Rapp.history的文件。这个文件中就是R自动保存的历史记录。但是这种自动保存的历史记录有两个缺点,第一,它只在正常退出的时候保存;第二,它有行数限制。

我提出的这个问题,其实是因为我经常遇到R崩溃的情况,或者R无限耗用内存的情况。在这些情况下,R无法正常退出,也就[……]

继续阅读

如何获取R中代码的运行效率

对于如何测试R代码的运行效率,首先可能想到的就是proc.time()以及system.time()了。

我们来看代码:

> ptm  for (i in 1:50) mad(stats::runif(500))
> proc.time() - ptm
   user  system elapsed 
  0.022   0.002   0.038 
> system.time(fo[......]<p class="read-more"><a href="http://qiubio.com/archives/3363">继续阅读</a></p>

使用BiomaRt获得在线注释信息

完整的生物信息学分析步骤往往会包含注释工作。在Bioconductor中,最方便的办法是使用注释包。注释资源除了以包的形式进行封装外,还可以通过诸如BiomaRt等工具获取在线的注释数据。使用在线资源为我们提供了更加及时以及丰富的注释资源。那么,什么是BiomaRt呢?如何理解和使用BiomaRt呢?

为了更好的理解和掌握biomaRt,我们可以先通过在线资源来了解一下它的原型biomart[……]

继续阅读

使用RStudio结合devtools开发bioconductor扩展包

在之前的博文如何创建一个R扩展包, 以及R扩展包的写作规范对如何写R扩展包有了初步的介绍。但是当我们需要开发大型的扩展包的时候,完全依靠之前的介绍会让人觉得有些力不从心。并且在扩展包提交给bioconductor之后的2次或者3次开发也并不是那么容易。为此,本文进一步介绍如何使用RStudio结合devtools来开发及维护bioconductor扩展包。

事前依照之前的博文准备好hello[……]

继续阅读