Read RGList or EListRaw from Image Analysis Output Files
Reads an RGList from a set of two-color microarray image analysis output files, or an EListRaw from a set of one-color files.
read.maimages(files=NULL, source="generic", path=NULL, ext=NULL, names=NULL, columns=NULL, other.columns=NULL, annotation=NULL, green.only=FALSE, wt.fun=NULL, verbose=TRUE, sep="\t", quote=NULL, ...) read.imagene(files, path=NULL, ext=NULL, names=NULL, columns=NULL, other.columns=NULL, wt.fun=NULL, verbose=TRUE, sep="\t", quote="\"", ...)
files |
character vector giving the names of the files containing image analysis output or, for Imagene data, a character matrix of names of files.
Alternatively, it can be a data.frame containing a column called |
source |
character string specifying the image analysis program which produced the output files. Choices are |
path |
character string giving the directory containing the files. The default is the current working directory. |
ext |
character string giving optional extension to be added to each file name |
names |
character vector of unique names to be associated with each array as column name.
Can be supplied as |
columns |
list, or named character vector.
For two color data, this should have fields |
other.columns |
character vector of names of other columns to be read containing spot-specific information |
annotation |
character vector of names of columns containing annotation information about the probes |
green.only |
logical, for use with |
wt.fun |
function to calculate spot quality weights |
verbose |
logical, |
sep |
the field separator character |
quote |
character string of characters to be treated as quote marks |
... |
any other arguments are passed to |
These are the main data input functions for the LIMMA package.
read.maimages
reads either single channel or two-color microarray intensity data from text files.
read.imagene
is specifically for two-color ImaGene intensity data created by ImaGene versions 1 through 8, and is called by read.maimages
to read such data.
read.maimages
is designed to read data from any microarray platform except for Illumina BeadChips, which are read by read.ilmn
, and Affymetrix GeneChip data, which is best read and pre-processed by specialist packages designed for that platform.
read.maimages
extracts the foreground and background intensities from a series of files, produced by an image analysis program, and assembles them into the components of one list.
The image analysis programs Agilent Feature Extraction, ArrayVision, BlueFuse, GenePix, ImaGene, QuantArray (Version 3 or later), Stanford Microarray Database (SMD) and SPOT are supported explicitly.
Almost all these programs write the intensity data for each microarray to one file.
The exception is ImaGene, early versions of which wrote the red and green channels of each microarray to different files.
Data from some other image analysis programs not mentioned above can be read if the appropriate column names containing the foreground and background intensities are specified using the columns
argument.
(Reading custom columns will work provided the column names are unique and there are no rows in the file after the last line of data.
Header lines are ok.)
For Agilent files, two possible foreground estimators are supported: source="agilent.median"
use median foreground while source="agilent.mean"
uses mean foreground.
Background estimates are always medians.
The use of source="agilent"
defaults to "agilent.median"
.
Note that this behavior is new from 9 March 2012.
Previously, in limma 3.11.16 or earlier, "agilent"
had the same meaning as "agilent.mean"
.
For GenePix files, two possible foreground estimators are supported as well as custom background: source="genepix.median"
uses the median foreground estimates while source="genepix.mean"
uses mean foreground estimates.
The use of source="genepix"
defaults to "genepix.mean"
.
Background estimates are always medians unless source="genepix.custom"
is specified.
GenePix 6.0 and later supply some custom background options, notably morphological background.
If the GPR files have been written using a custom background, then source="genepix.custom"
will cause it to be read and used.
For SPOT files, two possible background estimators are supported:
source="spot"
uses background intensities estimated from the morphological opening algorithm.
If source="spot.close.open"
then background intensities are estimated from morphological closing followed by opening.
ArrayVision reports spot intensities in a number of different ways.
read.maimages
caters for ArrayVision's Artifact-removed (ARM) density values using source="arrayvision.ARM"
or for
Median-based Trimmed Mean (MTM) density values with "arrayvision.MTM"
.
ArrayVision users may find it useful to read the top two lines of their data file to check which version of density values they have.
SMD data should consist of raw data files from the database, in tab-delimited text form.
There are two possible sets of column names depending on whether the data was entered into the database before or after September 2003.
source="smd.old"
indicates that column headings in use prior to September 2003 should be used.
Intensity data from ImaGene versions 1 to 8 (source="imagene"
) is different from other image analysis programs in that the read and green channels were written to separate files.
read.maimages
handles the special behaviour of the early ImaGene versions by requiring that the argument files
should be a matrix with two columns instead of a vector.
The first column should contain the names of the files containing green channel (cy3) data and the second column should contain names of files containing red channel (cy5) data.
Alternately, files
can be entered as a vector of even length instead of a matrix.
In that case, each consecutive pair of file names is assumed to contain the green (cy3) and red (cy5) intensities respectively from the same array.
The function read.imagene
is called by read.maimages
when source="imagene"
, so read.imagene
does not need to be called directly by users.
ImaGene version~9 (source="imagene9"
) reverts to the same behavior as the other image analysis programs.
For ImaGene~9, files
is a vector of length equal to the number of microarrays, same as for other image analysis programs.
Spot quality weights may be extracted from the image analysis files using a weight function wt.fun.
wt.fun
may be any user-supplied function which accepts a data.frame argument and returns a vector of non-negative weights.
The columns of the data.frame are as in the image analysis output files.
There is one restriction, which is that the column names should be refered to in full form in the weight function, i.e., do not rely on name expansion for partial matches when refering to the names of the columns.
See QualityWeights
for suggested weight functions.
The argument other.columns
allows arbitrary columns of the image analysis output files to be preserved in the data object.
These become matrices in the component other
component.
For ImaGene data, the other column headings should be prefixed with "R "
or "G "
as appropriate.
R |
matrix containing the red channel foreground intensities for each spot for each array. |
Rb |
matrix containing the red channel background intensities for each spot for each array. |
G |
matrix containing the green channel foreground intensities for each spot for each array. |
Gb |
matrix containing the green channel background intensities for each spot for each array. |
weights |
spot quality weights, if |
other |
list containing matrices corresponding to |
genes |
data frame containing annotation information about the probes, for example gene names and IDs and spatial positions on the array, currently set only if |
targets |
data frame with column |
source |
character string giving the image analysis program name |
printer |
list of class |
All image analysis files being read are assumed to contain data for the same genelist in the same order. No checking is done to confirm that this is true. Probe annotation information is read from the first file only.
Gordon Smyth, with speed improvements suggested by Marcus Davy
Ritchie, ME, Phipson, B, Wu, D, Hu, Y, Law, CW, Shi, W, and Smyth, GK (2015). limma powers differential expression analyses for RNA-sequencing and microarray studies. Nucleic Acids Research 43, e47. http://nar.oxfordjournals.org/content/43/7/e47
Web pages for the image analysis software packages mentioned here are listed at http://www.statsci.org/micrarra/image.html
read.maimages
uses read.columns
for efficient reading of text files.
As far as possible, it is has similar behavior to read.table
in the base package.
read.ilmn
reads probe or gene summary profile files from Illumina BeadChips.
An overview of LIMMA functions for reading data is given in 03.ReadingData.
# Read all .gpr files from current working directory # and give weight 0.1 to spots with negative flags ## Not run: files <- dir(pattern="*\\.gpr$") RG <- read.maimages(files,"genepix",wt.fun=wtflags(0.1)) ## End(Not run) # Read all .spot files from current working director and down-weight # spots smaller or larger than 150 pixels ## Not run: files <- dir(pattern="*\\.spot$") RG <- read.maimages(files,"spot",wt.fun=wtarea(150)) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.