Title: | Handle Illumina methylation data |
---|---|
Description: | This package provides classes for holding and manipulating Illumina methylation data. Based on eSet, it can contain MIAME information, sample information, feature information, and multiple matrices of data. An "intelligent" import function, methylumiR can read the Illumina text files and create a MethyLumiSet. methylumIDAT can directly read raw IDAT files from HumanMethylation27 and HumanMethylation450 microarrays. Normalization, background correction, and quality control features for GoldenGate, Infinium, and Infinium HD arrays are also included. |
Authors: | Sean Davis, Pan Du, Sven Bilke, Tim Triche, Jr., Moiz Bootwalla |
Maintainer: | Sean Davis <[email protected]> |
License: | GPL-2 |
Version: | 2.53.0 |
Built: | 2024-11-18 04:02:25 UTC |
Source: | https://github.com/bioc/methylumi |
This package contains a class structure for handling methylation data from Illumina as well as utility functions for loading the data from files generated by Illumina. Normalization that attempts to correct for dye bias is also included.
Important data classes include: MethyLumiSet
and
MethyLumiQC
, both of which are subsets of the
MethyLumi
class, which is a subset of the
eSet
class.
A worked example of the use of the package can be found by typing:
openVignette()
.
A full listing of the available documentation can be obtained by typing
help.start()
and selecting methylumi
from the Packages
link or by typing library(help="methylumi")
.
If you use the methylumIDAT function or its out-of-band preprocessing mechanisms in your work, a citation to the paper "Low-level processing of Illumina Infinium DNA methylation beadarrays" by TJ Triche, DJ Weisenberger, D Van Den Berg, KD Siegmund, and PW Laird, Nucleic acids research, 2013, would be appreciated.
Package: | methylumi |
Type: | Package |
License: | GPL |
Sean Davis <[email protected]>
http://watson.nci.nih.gov/~sdavis/software/R
Data frame describing loci on the 27 and 450k arrays.
data(CpGs)
data(CpGs)
data(CpGs) head(CpGs)
data(CpGs) head(CpGs)
Estimate methylation M-value matrix from MethyLumiM-class object or eSet-class object, which include methylated and unmethylated probe intensities
estimateM(methyLumiM, returnType=c("ExpressionSet", "matrix"), offset=100)
estimateM(methyLumiM, returnType=c("ExpressionSet", "matrix"), offset=100)
methyLumiM |
MethyLumiM-class object or eSet-class object, which include methylated and unmethylated probe intensities |
returnType |
determine whether return an ExpressionSet (MethyLumiM in this case) or matrix object |
offset |
offset added to the methylated and unmethylated probe intensities when estimating the M-value |
M-value is the log2 ratio between Illumina methylated and unmethylated probe intensities. As variations of small intensities can cause big changes in the ratio estimation, so an offset is added to methylated and unmethylated probe intensities when estimating the M-value.
Please check the lumi package for more details of estimateM function.
A MethyLumiM or matrix object of methylation M-value
Pan DU
Du, P., Zhang, X, Huang, C.C., Jafari, N., Kibbe, W.A., Hou, L., and Lin, S.M., (2010) 'Comparison of Beta-value and M-value methods for quantifying methylation levels by microarray analysis', (under review)
The sentrix IDs from an illumina sentrix array contain positional information that might be useful. This function simply extracts that information from the ID itself.
extractBarcodeAndPosition(sentrixids)
extractBarcodeAndPosition(sentrixids)
sentrixids |
A character vector of sentrix IDs that look like: 1632405013\_R001\_C001 |
A data.frame with three columns:
sentrix |
numeric, the sentrix ID |
row |
numeric, the sentrix row |
column |
numeric, the sentrix column |
Sean Davis <[email protected]>
methylumiR
extractBarcodeAndPosition(c('12341234_R001_C001'))
extractBarcodeAndPosition(c('12341234_R001_C001'))
Features with insufficient annotation
carry little value for the subsequent data analysis. The function
featureFilter
provides options of filtering features (CpG
sites) from a MethyLumiSet
(or MethyLumiM
) object based
on available annotation data.
featureFilter(eset, require.entrez=FALSE, require.GOBP=FALSE, require.GOCC=FALSE, require.GOMF=FALSE, exclude.ChrX=FALSE, require.closeToTSS=FALSE, range.DistToTSS=c(-500, 300), require.CpGisland=FALSE, ...)
featureFilter(eset, require.entrez=FALSE, require.GOBP=FALSE, require.GOCC=FALSE, require.GOMF=FALSE, exclude.ChrX=FALSE, require.closeToTSS=FALSE, range.DistToTSS=c(-500, 300), require.CpGisland=FALSE, ...)
eset |
A |
require.entrez |
If |
require.GOBP , require.GOCC , require.GOMF
|
If |
exclude.ChrX |
If |
require.closeToTSS |
If |
range.DistToTSS |
Ignored if |
require.CpGisland |
If |
... |
Unused, but available for specializing methods. |
The function featureFilter
returns a list consisting of:
eset |
The filtered |
filter.log |
A list giving details of how many probe sets where removed for each annotation-based filtering step performed. |
Chao-Jen Wong [email protected]
R. Bourgon, R. Gentleman, W. Huber, Independent filtering increases power for detecting differentially expressed genes, PNAS, vol. 107, no. 21, pp:9546-9551.
The Illumina methylation platforms use two distinct platforms, the "goldengate" platform and the "infinium" platform. Each of these uses different file formats as well as different assay techologies. To make the downstream data handling more straightforward and uniform between the two different systems, a simple mapping from the column names in the output files from the Illumina software is used to convert things from Red/Green or Cy5/Cy3 to unmethylated/methylated. This function simply returns that mapping.
getAssayDataNameSubstitutions()
getAssayDataNameSubstitutions()
A file in the extdata directory called "substitutions.txt" contains two columns. The function loads this file and uses the first column as a match against column names in the data file (with the "sample part" removed). If matched, the second column gives the replacement.
A data.frame with two columns, regex and replacement.
Sean Davis <[email protected]>
getAssayDataNameSubstitutions()
getAssayDataNameSubstitutions()
convert multiple idats to matrices
IDATsToMatrices( barcodes, fileExts = list(Cy3 = "Grn", Cy5 = "Red"), parallel = F, idatPath = "." )
IDATsToMatrices( barcodes, fileExts = list(Cy3 = "Grn", Cy5 = "Red"), parallel = F, idatPath = "." )
barcodes |
character() |
fileExts |
character() |
parallel |
logical(1) |
idatPath |
character(1) |
process a single IDAT (just the mean intensities)
IDATtoMatrix(x, fileExts = list(Cy3 = "Grn", Cy5 = "Red"), idatPath = ".")
IDATtoMatrix(x, fileExts = list(Cy3 = "Grn", Cy5 = "Red"), idatPath = ".")
x |
character(1) |
fileExts |
named list |
idatPath |
character(1) |
"methylData"
, superclass for MethyLumiSet and MethyLumiMA superclass (virtual) for MethyLumiSet and MethyLumiM.
A virtual Class: No objects may be created from it.
signature(x = "methylData")
: diagnostic
plots of data
signature(object = "methylData")
:
accessor for assayData element of the same name
signature(object = "methylData", value =
"matrix")
:
replace method for assayData element of the same name
signature(object = "methylData")
: ...
signature(object = "methylData")
:
accessor for assayData element of the same name
signature(object = "methylData", value =
"numeric")
:
replace method for assayData element of the same name
signature(object = "methylData")
:
accessor for assayData element of the same name
signature(object = "methylData", value
= "matrix")
:
replace method for assayData element of the same name
Tim Triche, Jr.
showClass("methylData")
showClass("methylData")
These functions serve as getters and setters for information in methylumi classes.
betas(object) pvals(object) methylated(object) unmethylated(object) getHistory(object) QCdata(object)
betas(object) pvals(object) methylated(object) unmethylated(object) getHistory(object) QCdata(object)
object |
an object of class MethyLumi or a subclass |
See the methods definitions in MethyLumiSet
and MethyLumiQC
for details.
Sean Davis <[email protected]>
normalizeMethyLumiSet
,
MethyLumiSet
, MethyLumiQC
,
eSet
This class inherits from eSet
from the Biobase package and
is used as a base class for the other two methylumi classes,
MethyLumiSet
and MethyLumiQC
.
The MethyLumi
class is a virtual class and is not meant to be instantiated. Instead, one should instantiate a MethyLumiSet
or a MethyLumiQC
object.
assayData
:Object of class "AssayData"
phenoData
:Object of class "AnnotatedDataFrame"
featureData
:Object of class
"AnnotatedDataFrame"
that will hold the annotation columns
from the Beadstudio output, if they are available.
experimentData
:Object of class "MIAME"
annotation
:Object of class "character"
; note
that this slot is not currently used, but may be used in the
future to store the character name of the annotation package, if available.
.__classVersion__
:Object of class "Versions"
Class "eSet"
, directly.
Class "VersionedBiobase"
, by class "eSet", distance 2.
Class "Versioned"
, by class "eSet", distance 3.
signature(object = "MethyLumi", value = "matrix")
: Set the assayData slot of the same name and stores the P-values from BeadStudio
signature(object = "MethyLumi")
: Get the assayData slot of the same name
signature(object = "MethyLumi", value = "matrix")
: Set the assayData slot of the same name and represents the methylation values for the samples, analogous to exprs() in gene expression data.
signature(object = "MethyLumi")
: Get the assayData slot of the same name
signature(object = "MethyLumi", value = "matrix")
: Set the assayData slot that represents the Methylated single-channel signal
signature(object = "MethyLumi")
: Get the assayData slot that represents the Methylated single-channel signal
signature(object = "MethyLumi", value = "matrix")
: Set the assayData slot that represents the Unmethylated single-channel signal
signature(object = "MethyLumi")
: Get the assayData slot that represents the Unmethylated single-channel signal
signature(object = "MethyLumi"
: Find the unique control type beeds in the QCdata slot.
signature(object = "MethyLumi",what,...)
: Plot of QC data. This plot can be useful for diagnosing the problems associated with specific samples or arrays. The value for "what" is one of the control types (which can be found by using controlTypes()
on the object.
signature(object = "MethyLumi",...)
: summary method for MethyLumi objects.
Sean Davis <[email protected]>
methylumiR
,
MethyLumiSet
, MethyLumiQC
,
eSet
## The class structure showClass("MethyLumi") ## read in some data ## Read in sample information samps <- read.table(system.file("extdata/samples.txt", package = "methylumi"),sep="\t",header=TRUE) ## Perform the actual data reading ## This is an example of reading data from a ## Sentrix Array format file (actually two files, ## one for data and one for QC probes) mldat <- methylumiR(system.file('extdata/exampledata.samples.txt', package='methylumi'), qcfile=system.file('extdata/exampledata.controls.txt', package="methylumi"), sampleDescriptions=samps) mldat ## Get history information getHistory(mldat) ## Get QC data, which is another eSet-derived object QCdata(mldat)
## The class structure showClass("MethyLumi") ## read in some data ## Read in sample information samps <- read.table(system.file("extdata/samples.txt", package = "methylumi"),sep="\t",header=TRUE) ## Perform the actual data reading ## This is an example of reading data from a ## Sentrix Array format file (actually two files, ## one for data and one for QC probes) mldat <- methylumiR(system.file('extdata/exampledata.samples.txt', package='methylumi'), qcfile=system.file('extdata/exampledata.controls.txt', package="methylumi"), sampleDescriptions=samps) mldat ## Get history information getHistory(mldat) ## Get QC data, which is another eSet-derived object QCdata(mldat)
450k datasets with probe-level stderrs, out-of-band intensities, and bead numbers can become huge. These functions help to manage their growth in memory, at least until preprocessing and QC is completed, whereupon the summary data can be exported to a RangedData-based object of some sort for integration.
stripMethyLumiSet(object) stripBeadNs(object) stripBeadSDs(object) stripOOB(object)
stripMethyLumiSet(object) stripBeadNs(object) stripBeadSDs(object) stripOOB(object)
object |
an object of class MethyLumi or a subclass |
Tim Triche, Jr. <[email protected]>
Read a directory of methylumi idat files and return a MethylumiSet
.
methylumIDAT(barcodes = NULL, pdat = NULL, parallel = F, n = F, n.sd = F, oob = T, idatPath=getwd(), ...)
methylumIDAT(barcodes = NULL, pdat = NULL, parallel = F, n = F, n.sd = F, oob = T, idatPath=getwd(), ...)
barcodes |
A vector of barcodes to read. Either this argument or |
pdat |
A data.frame describing the samples. A special column named "barcodes" can be used to specify the barcodes to be read. |
parallel |
If TRUE, an attempt will be made to process using multiple cores on a multicore machine. |
n |
Keep the bead numbers? (Default: no) |
n.sd |
Keep the bead-level SD? (Default: no) |
oob |
Keep the out-of-band (OOB) or opposite-channel signals? (Default: yes) |
idatPath |
The path to the directory containing the idat files. |
... |
Additional arguments to be passed to sub-functions. |
Read a set of .idat files and return a MethylumiSet
object. If you use this function to any significant degree in your analysis, we would appreciate your citing the paper describing it, "Low-level processing of Illumina Infinium DNA methylation beadarrays", TJ Triche, DJ Weisenberger, D Van Den Berg, KD Siegmund, and PW Laird, Nucleic acids research, 2013.
A MethylumiSet
object.
Tim Triche, Jr.
The “methylumi450k“ vignette: vignette("methylumi450k", package="methylumi")
## Not run: if(require('IlluminaHumanMethylation450k.db')) { barcodes <- c('6005486014_R04C02', '6005486023_R05C01') lumi450k <- methylumIDAT(barcodes,idatPath=system.file('extdata/idat',package='methylumi')) # no normalization done sampleNames(lumi450k) <- c('TCGA1','TCGA2') show(lumi450k) } ## End(Not run)
## Not run: if(require('IlluminaHumanMethylation450k.db')) { barcodes <- c('6005486014_R04C02', '6005486023_R05C01') lumi450k <- methylumIDAT(barcodes,idatPath=system.file('extdata/idat',package='methylumi')) # no normalization done sampleNames(lumi450k) <- c('TCGA1','TCGA2') show(lumi450k) } ## End(Not run)
See the individual classes for details of methods.
Sean Davis, Pan Du, and Tim Triche, Jr.
MethyLumiM is a class inherited from ExpressionSet-class
. It is designed for Illumina Methylation microarray data. The exprs dataMatrix included in the assayData slot of MethyLumiM object includes a matrix of M-values, which is the log2 ratio of methylated and unmethylated probe intensities. The MethyLumiM class include a boxplot function uniquely designed for two-mode histogram data. It also include a coerce function to map from MethyLumi-class
, MethyLumiSet-class
or other eSet-class
inherited object to MethyLumiM class object.
Objects can be created by calls of the form new("MethyLumiM", exprs, methylated, unmethylated, detection, methylated.N, unmethylated.N, ..., assayData)
.
The "exprs" is a matrix of M-values, which is the log2 ratio of methylated and unmethylated probe intensities; "methylated" and "unmethylated" are intensity matrix measured by methylated and unmethylalted probes of Illumina Infinium methylation microarray; "detection" is the detection p-value outputted by Illumina GenomeStudio software; "methylated.N" and "unmethylated.N" are bead numbers for methylated and unmethylalted probes. "exprs", "methylated" and "unmethylated" information are required for MethyLumiM class. When creating a new MethyLumiM object, the information of "exprs", "methylated", "unmethylated" and "detection" can also be provided directly through "assayData".
history
:Object of class "data.frame"
recording the operation history of the LumiBatch object.
controlData
:Object of class "MethyLumiQC"
to keep the QC probe measurement information.
dataType
:The type of data stored in the "exprs" data matrix in "assayData". It can be "M" (M-value), "Beta" (Beta-value") or "Intensity" (Intensity of CpG-site)
assayData
:Object of class "AssayData"
, which includes "exprs", "methylated", "unmethylated", "detection", "methylated.N" and "unmethylated.N" data matrix
phenoData
:Object of class "AnnotatedDataFrame"
, See eSet-class
featureData
:Object of class "AnnotatedDataFrame"
, See eSet-class
experimentData
:Object of class "MIAME"
, See eSet-class
annotation
:Object of class "character"
, See eSet-class
protocolData
:Object of class "AnnotatedDataFrame"
, See eSet-class
.__classVersion__
:Object of class "Versions"
, See eSet-class
Class "ExpressionSet"
, directly.
Class "eSet"
, by class "ExpressionSet", distance 2.
Class "VersionedBiobase"
, by class "ExpressionSet", distance 3.
Class "Versioned"
, by class "ExpressionSet", distance 4.
signature(x = "MethyLumiM")
: plot distribution of M-value
signature(from = "eSet", to = "MethyLumiM")
: map from MethyLumi-class
, MethyLumiSet-class
or other eSet-class
inherited object to MethyLumiM class object. MethyLumiM object will only keep "exprs", "methylated", "unmethylated" and "detection" data matrix in the assayData.
signature(object = "MethyLumiM")
: access the operation history of MethyLumiM
object.
signature(.Object = "MethyLumiM")
: class initialization
signature(object = "MethyLumiM")
: retrieve the data matrix measured by methylated probes
signature(object = "MethyLumiM")
: set the data matrix measured by methylated probes
signature(object = "MethyLumiM")
: retrieve the data matrix measured by unmethylated probes
signature(object = "MethyLumiM")
: set the data matrix measured by unmethylated probes
signature(object = "MethyLumiM")
: retrieve the data matrix keeping the number of beads of methylated probes
signature(object = "MethyLumiM")
: set the data matrix keeping the number of beads of methylated probes
signature(object = "MethyLumiM")
: retrieve the data matrix keeping the number of beads of unmethylated probes
signature(object = "MethyLumiM")
: set the data matrix keeping the number of beads of unmethylated probes
signature(object = "MethyLumiM")
: retrieve detection
data matrix in AssayData-class
signature(object = "MethyLumiM")
: set detection
data matrix in AssayData-class
signature(object = "MethyLumiM")
: retrieve the controlData
in MethyLumiQC-class
signature(object = "MethyLumiM")
: set controlData
in MethyLumiQC-class
signature(object = "MethyLumiM")
: retrieve the dataType, by default it is "M", it can also be "Beta" or "Intensity"
signature(object = "MethyLumiM")
: set dataType
in MethyLumiM-class
, the value can be "M", "Beta" or "Intensity"
Pan DU
1. Du, P., Zhang, X, Huang, C.C., Jafari, N., Kibbe, W.A., Hou, L., and Lin, S.M., (2010) 'Comparison of Beta-value and M-value methods for quantifying methylation levels by microarray analysis'
MethyLumi-class
and MethyLumiSet-class
showClass("MethyLumiM")
showClass("MethyLumiM")
"MethyLumiQC"
for holding Illumina methylation QC dataThis class inherits from the MethyLumi class (and therefore, from eSet in Biobase) and is designed to hold QC data from Illumina Beadstudio output. These data can be potentially useful when determining the cause for quality problems.
Objects can be created by calls of the form new("MethyLumiQC", assayData, phenoData, featureData, experimentData, annotation, betas)
.
assayData
:Object of class "AssayData"
phenoData
:Object of class "AnnotatedDataFrame"
featureData
:Object of class
"AnnotatedDataFrame"
containing the annotation columns from
the Illumina Beadstudio output. In particular, the names of the
probes describe the types of control probes.
experimentData
:Object of class "MIAME"
annotation
:Object of class "character"
, not
currently used
.__classVersion__
:Object of class "Versions"
Class "MethyLumi"
, directly.
Class "eSet"
, by class "MethyLumi", distance 2.
Class "VersionedBiobase"
, by class "MethyLumi", distance 3.
Class "Versioned"
, by class "MethyLumi", distance 4.
signature(.Object = "MethyLumiQC")
signature(object = "MethyLumiQC")
: ...
signature(object = "MethyLumiQC", value = "matrix")
: ...
signature(object = "MethyLumiQC")
: ...
signature(object = "MethyLumiQC", value = "matrix")
: ...
signature(object = "MethyLumiSet", value = "MethyLumiQC")
: ...
signature(x = "MethyLumiQC", y = "MethyLumiQC")
: ...
signature(object = "MethyLumiSet", value = "MethyLumiQC")
: ...
signature(object = "MethyLumiQC")
:
determine the character vector of control types from the QCdata information
signature(x = "MethyLumiQC")
: ...
signature(object = "MethyLumiQC")
: ...
signature(object = "MethyLumiQC")
: ...
signature(object = "MethyLumiQC", channel = "character")
: ...
signature(object = "MethyLumiQC", channel = "missing")
: ...
signature(object = "MethyLumiQC", channel = "character")
: ...
signature(object = "MethyLumiQC", channel = "missing")
: ...
signature(object = "MethyLumiQC", channel = "character")
: ...
signature(object = "MethyLumiQC", channel = "missing")
: ...
signature(object = "MethyLumiQC")
: ...
signature(object = "MethyLumiQC", what, ...)
:
QC plots of various controltypes
signature(object = "MethyLumiQC")
: ...
Sean Davis <[email protected]>
methylumiR
, MethyLumiSet
,
MethyLumi
, eSet
showClass("MethyLumiQC")
showClass("MethyLumiQC")
This function is useful for loading Illumina methylation data into a MethyLumiSet object. Sample information can be supplied and will then be incorporated into the resulting phenoData slot.
methylumiR(filename, qcfile=NULL, sampleDescriptions = NULL, sep = NULL, ...)
methylumiR(filename, qcfile=NULL, sampleDescriptions = NULL, sep = NULL, ...)
filename |
A filename of the excel-like file from BeadStudio |
qcfile |
A filename of the excel-like file from BeadStudio |
sampleDescriptions |
A data.frame that contains at least one column, SampleID (case insensitive). This column MUST match the part of the column headers before the |
sep |
seperator used in the BeadStudio (or GenomeStudio) output file. If it is NULL, the function will automatically estimate it. |
... |
Passed into |
Used to construct a MethyLumiSet object....
A MethyLumiSet object
Sean Davis <[email protected]>
MethyLumiSet-class
, MethyLumiQC-class
## Read in sample information samps <- read.table(system.file("extdata/samples.txt", package = "methylumi"),sep="\t",header=TRUE) ## Perform the actual data reading ## This is an example of reading data from an ## Sentrix Array format file (actually two files, ## one for data and one for QC probes) mldat <- methylumiR(system.file('extdata/exampledata.samples.txt',package='methylumi'), qcfile=system.file('extdata/exampledata.controls.txt',package="methylumi"), sampleDescriptions=samps) mldat
## Read in sample information samps <- read.table(system.file("extdata/samples.txt", package = "methylumi"),sep="\t",header=TRUE) ## Perform the actual data reading ## This is an example of reading data from an ## Sentrix Array format file (actually two files, ## one for data and one for QC probes) mldat <- methylumiR(system.file('extdata/exampledata.samples.txt',package='methylumi'), qcfile=system.file('extdata/exampledata.controls.txt',package="methylumi"), sampleDescriptions=samps) mldat
"MethyLumiSet"
for containing Illumina methylation dataThis class inherits from the MethyLumi class (and therefore, from eSet in Biobase) and is designed to hold both the intensities and the calculated betas, as well as pvalues if present.
Objects can be created by calls of the form new("MethyLumiSet", assayData, phenoData, featureData, experimentData, annotation, betas)
. An object of this type is the main storage class for methylation data from Illumina. Subsetting, etc., works as normal (rows represent genes, columns represent samples). There is also a rudimentary history tracking system that is modeled after that from the lumi package.
QC
:Object of class "QCDataOrNULL"
, containing
either the MethyLumiQC
object or NULL
history
:Object of class "data.frame"
,
containing a running history of transforms to the data contained herein
assayData
:Object of class AssayData
phenoData
:Object of class AnnotatedDataFrame
featureData
:Object of class
AnnotatedDataFrame
, containing the annotation columns from the Illumina Beadstudio output
experimentData
:Object of class MIAME
annotation
:Object of class "character"
, not
currently used
.__classVersion__
:Object of class "Versions"
protocolData
:Object of class
"AnnotatedDataFrame"
that contains protocol information,
including scan date if available
Class "MethyLumi"
, directly.
Class "methylData"
, directly.
Class "eSet"
, by class "MethyLumi", distance 2.
Class "VersionedBiobase"
, by class "MethyLumi", distance 3.
Class "Versioned"
, by class "MethyLumi", distance 4.
signature(x = "MethyLumiSet")
: subsetting, genes as rows, samples as columns
signature(object = "MethyLumiSet", value = "matrix")
: Set the assayData slot of the same name
signature(object = "MethyLumiSet")
: Get the assayData slot of the same name
signature(x = "MethyLumiSet")
: boxplot of all
sample betas
signature(x = "MethyLumiSet", y = "MethyLumiSet")
signature(x = "MethyLumiSet")
signature(object = "MethyLumiSet")
: returns m-values
signature(object = "MethyLumiSet")
: returns
a data.frame containing the history for this object
signature(x = "MethyLumiSet")
: histogram of the
betas for the data
signature(.Object = "MethyLumiSet")
signature(x = "MethyLumiSet")
: pairs plot of the
betas for the object. Note that pairs plots of more than a few samples are not very useful.
signature(x = "MethyLumiSet")
:
The intensities as output by the Beadstudio software often show a
considerable amount of dye bias. This method shows a graphical
example of this dye bias. In short, for each of the Cy3 and Cy5
channels, a cutoff in beta is used to calculate which Cy3 and Cy5
values should be plotted at high-methylation and low-methylation
status. Any offset between Cy3 and Cy5 when plotted in this way
likely represents dye bias and will lead to biases in the estimate
of beta.
signature(object = "MethyLumiSet", value =
"MethyLumiQC")
: assign QC data to the QC slot
signature(object = "MethyLumiSet")
: retrieve
the QC data.
signature(object = "MethyLumiSet")
signature(object = "MethyLumiSet", value =
"matrix")
: Set the assayData slot associated with methylated intensity
signature(object = "MethyLumiSet")
: Get the assayData slot associated with methylated intensity
signature(object = "MethyLumiSet", value = "matrix")
: Set the assayData slot associated with unmethylated intensity
signature(object = "MethyLumiSet")
: Get the assayData slot associated with unmethylated intensity
signature(object = "MethyLumiSet", what, ...)
:
QC plots of various controltypes
signature(object = "MethyLumiSet")
:
determine the character vector of control types from the QCdata
information
signature(object = "MethyLumiSet")
: ...
signature(object = "MethyLumiSet")
: ...
signature(x = "MethyLumiSet", y = "MethyLumiSet")
: ...
signature(object = "MethyLumiSet")
: ...
signature(object = "MethyLumiSet", value = "MethyLumiQC")
: ...
signature(eset = "MethyLumiSet")
: ...
signature(x = "MethyLumiSet", channel = "character")
: ...
signature(x = "MethyLumiSet", channel = "missing")
: ...
signature(x = "MethyLumiSet", channel = "character")
: ...
signature(x = "MethyLumiSet", channel = "missing")
: ...
signature(x = "MethyLumiSet", channel = "character", allele = "character")
: ...
signature(x = "MethyLumiSet", channel = "missing", allele = "missing")
: ...
signature(x = "MethyLumiSet", channel = "character")
: ...
signature(x = "MethyLumiSet", channel = "missing")
: ...
signature(x = "MethyLumiSet", channel = "character")
: ...
signature(x = "MethyLumiSet", channel = "missing")
: ...
signature(object = "MethyLumiSet")
: ...
signature(object = "MethyLumiSet", channel = "character")
: ...
signature(object = "MethyLumiSet", channel = "missing")
: ...
signature(object = "MethyLumiSet", channel = "character")
: ...
signature(object = "MethyLumiSet", channel = "missing")
: ...
signature(object = "MethyLumiSet", channel = "character")
: ...
signature(object = "MethyLumiSet", channel = "missing")
: ...
signature(object = "MethyLumiSet")
: ...
signature(x = "MethyLumiSet")
: ...
signature(object = "MethyLumiSet")
: ...
signature(object = "MethyLumiSet")
: ...
signature(object = "MethyLumiSet")
: ...
signature(eset = "MethyLumiSet")
: ...
Sean Davis & Tim Triche, Jr.
methylumiR
, normalizeMethyLumiSet
,
methylumIDAT
, MethyLumiQC
,
eSet
showClass("MethyLumiSet")
showClass("MethyLumiSet")
This is an example MethyLumiSet
object.
data(mldat)
data(mldat)
data(mldat)
data(mldat)
The Illumina GoldenGate methylation platform uses two colors, one to represent the unmethylated state and the other to represent the methylated state. This function corrects that dye bias and recalculates the betas based on the corrected intensities.
For HumanMethylation27 data, the function does nothing.
For HumanMethylation450 data, the function delegates to normalizeViaControls() the task of scaling red and green intensities against a reference array (chip) which uses the closest-to-equal chip (i.e., which.min(abs(R.G.ratio - 1))).
The code to do this is based on code from the 'minfi' package and uses the built-in red and green normalization control probes on the hm450 arrays to scale the channels of the samples, so that a consistent degree of dye bias is maintained for Infinium II probes across an experiment or set of experiments.
normalizeMethyLumiSet(x, beta.cuts = c(0.2, 0.8), mapfun = c("atan", "ratio"))
normalizeMethyLumiSet(x, beta.cuts = c(0.2, 0.8), mapfun = c("atan", "ratio"))
x |
A MethyLumiSet object |
beta.cuts |
Two numeric values with the first less than the second and between 0 and 1, representing the beta cutoffs that will be used when determining the median intensities to which to correct. See details below. |
mapfun |
Either "atan" or "ratio". See details below. |
For HumanMethylation450 data, the function delegates to normalizeViaControls() the task of scaling red and green intensities against a reference array (chip) which defaults to the first chip in a set. The code to do this is based on code from the 'minfi' package and uses the built-in normalization controls to scale the channels of the samples, so that a consistent degree of dye bias is maintained for Infinium II probes across an experiment or set of experiments. The remainder of the documentation below is specific to GoldenGate data.
The Illumina GoldenGate methylation platform uses two colors, one to represent the unmethylated state and the other to represent the methylated state. This function corrects that dye bias and recalculates the betas based on the corrected intensities.
As a first step, the medians for each of Cy3 and Cy5 are calculated at high and low betas, representing the (nearly) fully methylated state and the (nearly) fully unmethylated states. Values of Cy3 and Cy5 that are negative are set to zero for this process. Then, the Cy5 medians are adjusted to match those of the Cy3 channel, thereby correcting the dye bias.
To map the new intensities back to betas, one of two map functions can be used. The default is the atan(Cy3/Cy5). The ratio maps using the function (Cy3/Cy3+Cy5). The differences should be very small, but we feel that the atan map function is probably the mathematically appropriate way of doing this.
A new "MethyLumiSet" that contains the corrected betas and the adjusted intensities.
Sean Davis <[email protected]>
## Read in sample information samps <- read.table(system.file("extdata/samples.txt", package = "methylumi"),sep="\t",header=TRUE) ## Perform the actual data reading ## This is an example of reading data from an ## Sentrix Array format file (actually two files, ## one for data and one for QC probes) mldat <- methylumiR(system.file('extdata/exampledata.samples.txt',package='methylumi'), qcfile=system.file('extdata/exampledata.controls.txt',package="methylumi"), sampleDescriptions=samps) mldatnorm <- normalizeMethyLumiSet(mldat)
## Read in sample information samps <- read.table(system.file("extdata/samples.txt", package = "methylumi"),sep="\t",header=TRUE) ## Perform the actual data reading ## This is an example of reading data from an ## Sentrix Array format file (actually two files, ## one for data and one for QC probes) mldat <- methylumiR(system.file('extdata/exampledata.samples.txt',package='methylumi'), qcfile=system.file('extdata/exampledata.controls.txt',package="methylumi"), sampleDescriptions=samps) mldatnorm <- normalizeMethyLumiSet(mldat)
The Illumina methylation platforms all show a significant dye bias. The plotSampleIntensities method shows the density plots for the two channels allowing direct visualization of the effect.
plotSampleIntensities(x,beta.cuts,s)
plotSampleIntensities(x,beta.cuts,s)
x |
an object of class MethyLumi or a subclass |
beta.cuts |
cutoffs for low and high beta values |
s |
sample number to plot |
data(mldat) plotSampleIntensities(mldat,s=1)
data(mldat) plotSampleIntensities(mldat,s=1)
The qcplot
function simply generates a plot of the control probe information for a given controlType
.
qcplot(object,controltype,...) controlTypes(object,...)
qcplot(object,controltype,...) controlTypes(object,...)
object |
An object of class |
controltype |
A single character value representing the bead type to plot from the quality control data. The available types are accessible via the |
... |
passed to plot function |
The descriptions of the various control types can be obtained from the Illumina methylation user's guides.
Sean Davis <[email protected]>
data(mldat) controlTypes(mldat) qcplot(mldat,controlTypes(mldat)[3])
data(mldat) controlTypes(mldat) qcplot(mldat,controlTypes(mldat)[3])
Total convenience function for processing IDATs like tcga
tcgaPipeline(IDATs)
tcgaPipeline(IDATs)
IDATs |
character() of idat files |
The function varFilter
removes features exhibiting
little variation across samples. Such non-specific filtering can be
advantageous for downstream data analysis.
varFilter(eset, var.func=IQR, var.cutoff=0.5, filterByQuantile=TRUE, ...)
varFilter(eset, var.func=IQR, var.cutoff=0.5, filterByQuantile=TRUE, ...)
eset |
An |
var.func |
The function used as the per-feature filtering statistics. |
var.cutoff |
A numeric value indicating the cutoff value for
variation. If |
filterByQuantile |
A logical indicating whether |
... |
Unused, but available for specializing methods. |
This function is a counterpart of functions nsFilter
and
varFilter
available from the genefilter
package. See
R. Bourgon et. al. (2010) and nsFilter
for detail.
It is proven that non-specific filtering, for which the criteria does
not depend on sample class, can increase the number of discoverie.
Inappropriate choice of test statistics, however, might have adverse
effect. limma
's moderated -statistics, for example, is based on
empirical Bayes approach which models the conjugate prior of
gene-level variance with an inverse of
distribution scaled
by observed global variance. As the variance-based filtering removes
the set of genes with low variance, the scaled inverse
no longer provides a good fit to the data passing the filter,
causing the
limma
algorithm to produce a posterior
degree-of-freedom of infinity (Bourgon 2010). This leads to two
consequences: (i) gene-level variance estimate will be ignore, and (ii)
the -value will be overly optimistic (Bourgon 2010).
The function featureFilter
returns a list consisting of:
eset |
The filtered |
filter.log |
Shows many low-variant features are removed. |
Chao-Jen Wong [email protected]
R. Bourgon, R. Gentleman, W. Huber, Independent filtering increases power for detecting differentially expressed genes, PNAS, vol. 107, no. 21, pp:9546-9551, 2010.
data(mldat) ## keep top 75 percent filt <- varFilter(mldat, var.cutoff=0.25) filt$filter.log dim(filt$eset)
data(mldat) ## keep top 75 percent filt <- varFilter(mldat, var.cutoff=0.25) filt$filter.log dim(filt$eset)