Last data update: 2014.03.03

R: Preprocess Raw ChIP-chip Intensities
preprocessR Documentation

Preprocess Raw ChIP-chip Intensities

Description

Calls one of various (limma) functions to transform raw probe intensities into (background-corrected) normalized log ratios (M-values).

Usage

preprocess(myRG, method="vsn", ChIPChannel="R", inputChannel="G",
           returnMAList=FALSE, idColumn="PROBE_ID", verbose=TRUE, ...)

Arguments

myRG

object of class RGList

method

string; denoting which normalization method to choose, see below for details

ChIPChannel

string; which element of the RGList holds the ChIP result, see details

inputChannel

string; which element of the RGList holds the untreated input sample; see details

returnMAList

logical; should an MAList object be returned? Default is to return an ExpressionSet object.

idColumn

string; indicating which column of the genes data.frame of the RGList holds the identifier for reporters on the microarray. This column, after calling make.names on it, will make up the unique featureNames of the resulting ExpressionSet. If argument returnMAList is TRUE, this argument is ignored.

verbose

logical; progress output to STDOUT?

...

further arguments to be passed on normalizeWithinArrays and normalizeBetweenArrays

Details

The procedure and called limma functions depend on the choice of method.

loess

Calls normalizeWithinArrays with method="loess".

vsn

Calls normalizeBetweenArrays with method="vsn".

Gquantile

Calls normalizeBetweenArrays with method="Gquantile".

Rquantile

Calls normalizeBetweenArrays with method="Rquantile".

median

Calls normalizeWithinArrays with method="median".

nimblegen

Scaling procedure used by Nimblegen. Yields scaled log-ratios by a two step procedure: srat = log2(R) - log2(G) srat = srat - tukey.biweight(srat)

Gvsn

Learns vsn model on green channel intensities only and applies that transformation to both channels before computing fold changes.

Rvsn

Learns vsn model on red channel intensities only and applies that transformation to both channels before computing fold changes.

none

No normalization of probe intensities, takes raw log2(R)-log2(G) as component M and (log2(R)+log2(G))/2 as component A; uses normalizeWithinArrays with method="none".

Mostly with two-color ChIP-chip, the ChIP sample is marked with the red Cy5 dye and for the untreated input sample the green Cy3 dye is used. In that case the RGListmyRG's element R holds the ChIP data, and element G holds the input data. If this is not the case with your data, use the arguments ChIPChannel and inputChannel to specify the respective elements of myRG.

Value

Returns normalized, transformed values as an object of class ExpressionList or MAList.

Note

Since Ringo version 1.5.6, this function does not call limma's function backgroundCorrect directly any longer. If wanted by the user, background correction should be indicated as additional arguments passed on to normalizeWithinArrays or normalizeBetweenArrays, or alternatively call backgroundCorrect on the RGList before preprocessing.

Author(s)

Joern Toedling

See Also

normalizeWithinArrays, normalizeBetweenArrays, malist, ExpressionSet, vsnMatrix

Examples

   exDir <- system.file("exData",package="Ringo")
   exRG <- readNimblegen("example_targets.txt","spottypes.txt",
                         path=exDir)
   exampleX <- preprocess(exRG)
   sampleNames(exampleX) <- make.names(paste(exRG$targets$Cy5,"vs",
                                        exRG$targets$Cy3,sep="_"))
   print(exampleX)
   ### compare VSN to NimbleGen's tukey-biweight scaling
   exampleX.NG <- preprocess(exRG, method="nimblegen")
   sampleNames(exampleX.NG) <- sampleNames(exampleX)
   if (interactive())
     corPlot(cbind(exprs(exampleX),exprs(exampleX.NG)),
       grouping=c("VSN normalized","Tukey-biweight scaled"))

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(Ringo)
Loading required package: Biobase
Loading required package: BiocGenerics
Loading required package: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from 'package:stats':

    IQR, mad, xtabs

The following objects are masked from 'package:base':

    Filter, Find, Map, Position, Reduce, anyDuplicated, append,
    as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
    get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
    match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
    rbind, rownames, sapply, setdiff, sort, table, tapply, union,
    unique, unsplit

Welcome to Bioconductor

    Vignettes contain introductory material; view with
    'browseVignettes()'. To cite Bioconductor, see
    'citation("Biobase")', and for packages 'citation("pkgname")'.

Loading required package: RColorBrewer
Loading required package: limma

Attaching package: 'limma'

The following object is masked from 'package:BiocGenerics':

    plotMA

Loading required package: Matrix
Loading required package: grid
Loading required package: lattice
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/Ringo/preprocess.Rd_%03d_medium.png", width=480, height=480)
> ### Name: preprocess
> ### Title: Preprocess Raw ChIP-chip Intensities
> ### Aliases: preprocess
> ### Keywords: manip
> 
> ### ** Examples
> 
>    exDir <- system.file("exData",package="Ringo")
>    exRG <- readNimblegen("example_targets.txt","spottypes.txt",
+                          path=exDir)
Reading targets file...
Reading raw intensities...
Read header information
Read /home/ddbj/local/lib64/R/library/Ringo/exData/MOD_20551_PMT1_pair.txt 
Read /home/ddbj/local/lib64/R/library/Ringo/exData/MOD_20742_PMT1_pair.txt 
Determining probe categories...
Matching patterns for: GENE_EXPR_OPTION PROBE_ID 
Found 991 Probe 
Found 0 Probe 
Found 0 Probe 
Found 0 Negative 
Found 0 Empty 
Found 0 H_Code 
Found 0 V_Code 
Found 0 Random 
Setting attributes: values Color 
>    exampleX <- preprocess(exRG)
Normalizing...
>    sampleNames(exampleX) <- make.names(paste(exRG$targets$Cy5,"vs",
+                                         exRG$targets$Cy3,sep="_"))
>    print(exampleX)
ExpressionSet (storageMode: lockedEnvironment)
assayData: 991 features, 1 samples 
  element names: exprs 
protocolData: none
phenoData
  sampleNames: Suz12_vs_total
  varLabels: SlideNumber FileNameCy3 ... Cy5 (6 total)
  varMetadata: varLabel labelDescription
featureData
  featureNames: 1 2 ... 991 (991 total)
  fvarLabels: GENE_EXPR_OPTION PROBE_ID ... ID (7 total)
  fvarMetadata: labelDescription
experimentData: use 'experimentData(object)'
Annotation:  
>    ### compare VSN to NimbleGen's tukey-biweight scaling
>    exampleX.NG <- preprocess(exRG, method="nimblegen")
Normalizing...
>    sampleNames(exampleX.NG) <- sampleNames(exampleX)
> #   if (interactive())
>      corPlot(cbind(exprs(exampleX),exprs(exampleX.NG)),
+        grouping=c("VSN normalized","Tukey-biweight scaled"))
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>