Main Content

zonebackadj

Perform background adjustment on Affymetrix microarray probe-level data using zone-based method

Syntax

BackAdjustedData = zonebackadj(Data)
[BackAdjustedData, ZoneStruct] = zonebackadj(Data)
[BackAdjustedData, ZoneStruct, Background] = zonebackadj(Data)
... = zonebackadj(Data, ...'NumZones', NumZonesValue, ...)
... = zonebackadj(Data, ...'Percent', PercentValue, ...)
... = zonebackadj(Data, ...'SmoothFactor', SmoothFactorValue, ...)
... = zonebackadj(Data, ...'NoiseFrac', NoiseFracValue, ...)
... = zonebackadj(Data, ...'CDF', CDFValue, ...)
... = zonebackadj(Data, ...'Mask', MaskValue, ...)
... = zonebackadj(Data, ...'Showplot', ShowplotValue, ...)

Input Arguments

Data Either of the following:
  • MATLAB® structure containing probe intensities from an Affymetrix® CEL file, such as returned by affyread when used to read a CEL file.

  • Array of MATLAB structures containing probe intensities from multiple Affymetrix CEL files.

NumZonesValue Scalar or two-element vector that specifies the number of zones to use in the background adjustment. If a scalar, it must be a square number. If a two-element vector, the first element specifies the number of rows and the second element specifies the number of columns in a nonsquare grid. Default is 16.
PercentValueValue that specifies a percentage, P, such that the lowest P percent of ranked intensity values from each zone is used to estimate the background for that zone. Default is 2.
SmoothFactorValueValue that specifies the smoothing factor used in the calculation of the weighted average of the contributions of each zone to the background of a point. Default is 100.
NoiseFracValueValue that specifies the noise fraction, NF, such that the background-adjusted value is given by max((Intensity - WeightedBackground), NF*LocalNoiseEstimate). Default is 0.5.
CDFValueEither of the following:
  • Character vector or string specifying a file name or path and file name of an Affymetrix CDF library file. If you specify only a file name, the file must be on the MATLAB search path or in the current folder.

  • MATLAB structure containing information from an Affymetrix CDF library file, such as returned by affyread when used to read a CDF file.

The CDF library file or structure specifies control cells, which are not used in the background estimates.
MaskValueLogical vector that specifies which cells to mask and not use in the background estimates. In the vector, 0 = not masked and 1 = masked. Defaults are the values in the Masked column of the Probes field of the CEL file.
ShowplotValue

Controls the plotting of an image of the background estimates. Choices are true or false (default).

Output Arguments

BackAdjustedDataMatrix or cell array of vectors containing background-adjusted probe intensity values.
ZoneStructMATLAB structure containing the centers of the zones used to perform the background adjustment and the estimates of the background values at the center of each zone.
BackgroundMatrix or cell array of vectors containing the estimated background values for each probe.

Description

BackAdjustedData = zonebackadj(Data) returns the background-adjusted probe intensities from Data, which contains probe intensities from Affymetrix CEL files. Details of the background adjustment are described in Statistical Algorithms Description Document.

[BackAdjustedData, ZoneStruct] = zonebackadj(Data) also returns a structure containing the centers of the zones used to perform the background adjustment and the estimates of the background values at the center of each zone.

[BackAdjustedData, ZoneStruct, Background] = zonebackadj(Data) also returns a matrix or cell array of vectors containing the estimated background values for each probe.

... = zonebackadj(Data, ...'PropertyName', PropertyValue, ...) calls zonebackadj with optional properties that use property name/property value pairs. You can specify one or more properties in any order. Each PropertyName must be enclosed in single quotation marks and is case insensitive. These property name/property value pairs are as follows:

... = zonebackadj(Data, ...'NumZones', NumZonesValue, ...) specifies the number of zones to use in the background adjustment. NumZonesValue can be either a scalar that is a square number or a two-element array in which the first element specifies the number of rows and the second element specifies the number of columns in a nonsquare grid. Default is 16.

... = zonebackadj(Data, ...'Percent', PercentValue, ...) specifies a percentage, P, such that the lowest P percent of ranked intensity values from each zone is used to estimate the background for that zone. Default is 2.

... = zonebackadj(Data, ...'SmoothFactor', SmoothFactorValue, ...) specifies the smoothing factor used in the calculation of the weighted average of the contributions of each zone to the background of a point, thus providing a smooth transition between zones. Default is 100.

... = zonebackadj(Data, ...'NoiseFrac', NoiseFracValue, ...) specifies the noise fraction, such that the background-adjusted value is given by max((Intensity - WeightedBackground), NF*LocalNoiseEstimate), where NF is NoiseFracValue. Default is 0.5.

... = zonebackadj(Data, ...'CDF', CDFValue, ...) specifies an Affymetrix CDF library file or structure, which specifies control cells, which are not used in the background estimates.

... = zonebackadj(Data, ...'Mask', MaskValue, ...) specifies a logical vector of that specifies which cells to mask and not use in the background estimates. In the vector, 0 = not masked and 1 = masked. Defaults are the values in the Masked column of the Probes field of the CEL file.

... = zonebackadj(Data, ...'Showplot', ShowplotValue, ...) plots an image of the background estimates. Choices are true or false (default).

Examples

collapse all

For this example, you need some sample data files from here. This example uses the sample data from the E. coli Antisense Genome Array. Extract the data files from the DTT archive using the Data Transfer Tool.

You also need to download the corresponding library files for the sample. For this example, Ecoli_ASv2.CDF and Ecoli_ASv2.GIN are used as for the E. coli Antisense Genome Array. You may already have these files if you have any Affymetrix GeneChip software installed on your machine. If not, get the library files by downloading the E. coli Antisense Genome Array zip file from here.

Read the contents of a CEL file into a MATLAB structure.

celStruct = affyread('Ecoli-antisense-121502.CEL');

Read the contents of a CDF file into a MATLAB structure.

cdfStruct = affyread('C:\LibFiles\Ecoli_ASv2.CDF');

Use the zonebackadj function to return a matrix or cell array of vectors containing the estimated background values for each probe.

[baData,zones,background] = zonebackadj(celStruct,'cdf',cdfStruct);

Create a table of intensity values for the argG_b3172_at probe set.

psvals = probesetvalues(celStruct, cdfStruct, 'argG_b3172_at',...
         'background',background)
psvals =

   1.0e+03 *

  Columns 1 through 7

    5.2120         0         0    0.0454    0.4300    0.1770    0.1690
    5.2120    0.0010         0    0.0455    0.4310    0.1770    0.1273
    5.2120    0.0020         0    0.0455    0.4320    0.1770    0.1270
    5.2120    0.0030         0    0.0455    0.4330    0.1770    0.1333
    5.2120    0.0040         0    0.0455    0.4340    0.1770    0.2123
    5.2120    0.0050         0    0.0455    0.4350    0.1770    0.1495
    5.2120    0.0060         0    0.0455    0.4360    0.1770    0.0503
    5.2120    0.0070         0    0.0456    0.4370    0.1770    0.1525
    5.2120    0.0080         0    0.0456    0.4380    0.1770    0.1645
    5.2120    0.0090         0    0.0456    0.4390    0.1770    0.1260
    5.2120    0.0100         0    0.0456    0.4400    0.1770    0.0540
    5.2120    0.0110         0    0.0456    0.4410    0.1770    0.0833
    5.2120    0.0120         0    0.0457    0.4420    0.1770    0.0955
    5.2120    0.0130         0    0.0457    0.4430    0.1770    0.1100
    5.2120    0.0140         0    0.0457    0.4440    0.1770    0.2510

  Columns 8 through 14

    0.0354    0.0250         0         0    0.4300    0.1780    0.1635
    0.0218    0.0300         0         0    0.4310    0.1780    0.1003
    0.0237    0.0300         0         0    0.4320    0.1780    0.1750
    0.0259    0.0360         0         0    0.4330    0.1780    0.0940
    0.0433    0.0360         0         0    0.4340    0.1780    0.1718
    0.0275    0.0360         0         0    0.4350    0.1780    0.1540
    0.0112    0.0300         0         0    0.4360    0.1780    0.0460
    0.0377    0.0360         0         0    0.4370    0.1780    0.1070
    0.0312    0.0360         0         0    0.4380    0.1780    0.0973
    0.0234    0.0360         0         0    0.4390    0.1780    0.1213
    0.0112    0.0360         0         0    0.4400    0.1780    0.0540
    0.0174    0.0360         0         0    0.4410    0.1780    0.0623
    0.0171    0.0300         0         0    0.4420    0.1780    0.0840
    0.0196    0.0360         0         0    0.4430    0.1780    0.0925
    0.0460    0.0360         0         0    0.4440    0.1780    0.1118

  Columns 15 through 20

    0.0241    0.0300         0         0    0.0010    0.0020
    0.0146    0.0360         0         0    0.0010    0.0020
    0.0286    0.0360         0         0    0.0010    0.0020
    0.0227    0.0300         0         0    0.0010    0.0020
    0.0365    0.0300         0         0    0.0010    0.0020
    0.0303    0.0300         0         0    0.0010    0.0020
    0.0098    0.0250         0         0    0.0010    0.0020
    0.0210    0.0360         0         0    0.0010    0.0020
    0.0219    0.0360         0         0    0.0010    0.0020
    0.0253    0.0360         0         0    0.0010    0.0020
    0.0129    0.0360         0         0    0.0010    0.0020
    0.0125    0.0360         0         0    0.0010    0.0020
    0.0186    0.0300         0         0    0.0010    0.0020
    0.0220    0.0360         0         0    0.0010    0.0020
    0.0207    0.0360         0         0    0.0010    0.0020

References

Version History

Introduced in R2007b