Top Banner
BioMed Central Page 1 of 18 (page number not for citation purposes) BMC Bioinformatics Open Access Methodology article Methodological study of affine transformations of gene expression data with proposed robust non-parametric multi-dimensional normalization method Henrik Bengtsson* 1 and Ola Hössjer 2 Address: 1 Mathematical Statistics, Centre for Mathematical Sciences, Lund University, Box 118, SE-221 00 Lund, Sweden and 2 Mathematical Statistics at the Mathematics Department, Stockholm University, SE-106 91 Stockholm, Sweden Email: Henrik Bengtsson* - [email protected]; Ola Hössjer - [email protected] * Corresponding author Abstract Background: Low-level processing and normalization of microarray data are most important steps in microarray analysis, which have profound impact on downstream analysis. Multiple methods have been suggested to date, but it is not clear which is the best. It is therefore important to further study the different normalization methods in detail and the nature of microarray data in general. Results: A methodological study of affine models for gene expression data is carried out. Focus is on two-channel comparative studies, but the findings generalize also to single- and multi-channel data. The discussion applies to spotted as well as in-situ synthesized microarray data. Existing normalization methods such as curve-fit ("lowess") normalization, parallel and perpendicular translation normalization, and quantile normalization, but also dye-swap normalization are revisited in the light of the affine model and their strengths and weaknesses are investigated in this context. As a direct result from this study, we propose a robust non-parametric multi-dimensional affine normalization method, which can be applied to any number of microarrays with any number of channels either individually or all at once. A high-quality cDNA microarray data set with spike-in controls is used to demonstrate the power of the affine model and the proposed normalization method. Conclusion: We find that an affine model can explain non-linear intensity-dependent systematic effects in observed log-ratios. Affine normalization removes such artifacts for non-differentially expressed genes and assures that symmetry between negative and positive log-ratios is obtained, which is fundamental when identifying differentially expressed genes. In addition, affine normalization makes the empirical distributions in different channels more equal, which is the purpose of quantile normalization, and may also explain why dye-swap normalization works or fails. All methods are made available in the aroma package, which is a platform-independent package for R. Published: 01 March 2006 BMC Bioinformatics 2006, 7:100 doi:10.1186/1471-2105-7-100 Received: 18 May 2005 Accepted: 01 March 2006 This article is available from: http://www.biomedcentral.com/1471-2105/7/100 © 2006 Bengtsson and Hössjer; licensee BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0 ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
18

BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

Oct 08, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BioMed CentralBMC Bioinformatics

ss

Open AcceMethodology articleMethodological study of affine transformations of gene expression data with proposed robust non-parametric multi-dimensional normalization methodHenrik Bengtsson*1 and Ola Hössjer2

Address: 1Mathematical Statistics, Centre for Mathematical Sciences, Lund University, Box 118, SE-221 00 Lund, Sweden and 2Mathematical Statistics at the Mathematics Department, Stockholm University, SE-106 91 Stockholm, Sweden

Email: Henrik Bengtsson* - [email protected]; Ola Hössjer - [email protected]

* Corresponding author

AbstractBackground: Low-level processing and normalization of microarray data are most importantsteps in microarray analysis, which have profound impact on downstream analysis. Multiplemethods have been suggested to date, but it is not clear which is the best. It is therefore importantto further study the different normalization methods in detail and the nature of microarray data ingeneral.

Results: A methodological study of affine models for gene expression data is carried out. Focus ison two-channel comparative studies, but the findings generalize also to single- and multi-channeldata. The discussion applies to spotted as well as in-situ synthesized microarray data. Existingnormalization methods such as curve-fit ("lowess") normalization, parallel and perpendiculartranslation normalization, and quantile normalization, but also dye-swap normalization are revisitedin the light of the affine model and their strengths and weaknesses are investigated in this context.As a direct result from this study, we propose a robust non-parametric multi-dimensional affinenormalization method, which can be applied to any number of microarrays with any number ofchannels either individually or all at once. A high-quality cDNA microarray data set with spike-incontrols is used to demonstrate the power of the affine model and the proposed normalizationmethod.

Conclusion: We find that an affine model can explain non-linear intensity-dependent systematiceffects in observed log-ratios. Affine normalization removes such artifacts for non-differentiallyexpressed genes and assures that symmetry between negative and positive log-ratios is obtained,which is fundamental when identifying differentially expressed genes. In addition, affinenormalization makes the empirical distributions in different channels more equal, which is thepurpose of quantile normalization, and may also explain why dye-swap normalization works or fails.All methods are made available in the aroma package, which is a platform-independent package forR.

Published: 01 March 2006

BMC Bioinformatics 2006, 7:100 doi:10.1186/1471-2105-7-100

Received: 18 May 2005Accepted: 01 March 2006

This article is available from: http://www.biomedcentral.com/1471-2105/7/100

© 2006 Bengtsson and Hössjer; licensee BioMed Central Ltd.This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Page 1 of 18(page number not for citation purposes)

Page 2: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

BackgroundThe objective of most gene-expression measurements is toassess the expression levels of (all or a subset of) genes inone or several cell populations. Typically, mRNA abun-dances are measured, although techniques for measuringprotein-levels also exist. The microarray technique [1] pro-vides a way to measure mRNA transcripts for a largenumber of genes simultaneously, typically in the order of103 – 105 or more. Microarrays have well defined immo-bilized regions, which each consists of clones or synthe-sized sequences of DNA specific to a unique gene. Werefer to these (non-hybridized) regions or spots as probes[2]. A cocktail of cDNA created from the RNA extract fromthe cell population in study is then, for a few hours,hybridized to the DNA on the microarray after which excesscDNA is washed off. The result is that each region of themicroarray contains a certain amount of hybridized DNAunique to the corresponding gene. By first labeling thecDNA strands in the sample cocktail with a radioactive ora fluorescent probe, the amount of hybridized DNA canbe measured utilizing radioactive sensitive film or a color-sensitive scanner, respectively.

By measuring the gene expression for a specific gene, wetry to assess how active that gene is (measured on somescale). Because it is hard to identify an absolute scale tomeasure on, often, but also for various other reasons, areference is used to obtain a relative scale. As even genesfrom the same sample are not directly comparable to eachother, each gene gets its own reference, which is typicallythe same gene from a reference sample. With thisapproach, we can obtain gene-expression ratios for everygene, which for instance can be used to test the hypothesisif a gene (in the test sample) is differentially expressed or not(compared to the gene in the reference sample). This is thecore idea behind the two-channel microarray technology,in which the test and the reference cDNA cocktails arehybridized simultaneously and in a competitive way tothe same array. The same idea has been adopted by single-channel hybridization technologies where the compari-son instead is done numerically in the data analysis step.Even if gene-by-gene references are used, the measure-ments are not perfect and they are likely to contain sys-tematic errors, which possibly vary from measurement tomeasurement, and the obtained gene-expression ratiosmay still be biased and not comparable to each other.What we ultimately would like to do is to measure all con-trol and all reference samples under identical conditions.The aforementioned two-color microarray technologytries, in some sense, to do this by measuring the control/reference pairs for each gene in one hybridization(although it is not clear if the gain from co-hybridizingtwo samples with different labels is larger than hybridiz-ing twice with identical labels and then scanning the sam-ples separately).

In this paper, we present an affine model that explainsmany of the systematic effects frequently observed whengene-expression levels from two (or more) samples arecompared. The main contributors to such systematiceffects are offsets in the individual channel signals, whichgive non-linear systematic effects in ratios. We will notprovide an error model, but only a deterministic model.The main reason for this is that an error-free model makesit easier to understand the impact that channel offsetshave on the downstream analysis regardless of gene-expression technology used. This is especially of interestas these are often implicitly assumed to be small and of noeffect, which we believe is a too strong assumption. Theimpact of channel offsets is much larger that the noise,which is why we allow us to assume zero noise in the dis-cussion. Although some error models have been suggestedfor microarray data [3], we believe research beyond thisarticle is required before we can understand and correctlymodel the various error sources introduced in the micro-array process.

The outline of this paper is as follows. In the Model sec-tion, a general model that incorporates all steps of anygene-expression technology is given. By dissecting thegeneric model and focusing more on the microarray tech-nologies, an affine model is introduced. Here is also thewidely adopted and accepted log-ratio log-intensity trans-form under affine transformations formalized. TheResults section consists of three main parts. In the first, weshow how the affine transform introduces intensity andfold-change dependent biases in the log-ratios. In the sec-ond part, we revisit common normalization methods, towhich dye-swap and background correction may also becounted, and discuss them using the affine model. In thethird and concluding part, we suggest a novel and multi-purpose robust normalization method to back-transformdata to the linear (proportional) space. We end the paperwith a Discussion section where we give similarities toother normalization methods followed by a Conclusionssection. Details on calculations and the data set used aregiven in the Methods appendix.

ResultsGeneral modelConsider an experiment with genes i = 1,..., I from RNAextracts c = 1,..., C. For example, in oligonucleotide micro-arrays each slide measures the gene-expression levels ofexactly one RNA extract whereas for a two-color microar-rays each slide measures two RNA extracts, one in eachchannel. From now on, we refer to the RNA extracts orreplicates of such as channels. Let xc,i be the true gene-expression level of gene i in channel c and let yc, i be thecorresponding observed gene-expression level. The rela-tionship between the observed and the true expressionlevels can be written as

Page 2 of 18(page number not for citation purposes)

Page 3: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

yc,i = fc(xc,i) + εc,i (1)

where fc is a channel specific measurement function, which

includes all steps in the gene-expression acquisition proc-

ess. Most generally, we have that E [εc,i] = 0 and V [εc,i] =

, where the variance can take any form. Importantly,

the properties of εc are not well understood and depends

on platform used, but also which part of the process thatis studied. For this reason and because of the many inter-esting effects that the affine transformation (presentedbelow) generates by itself, we conduct this study under theassumption of noise-free data. Relationship (1) may bespecified for subsets of genes or probes, e.g. print tip [4],microtiter plate or clone library [5] groups. Spatialdependencies may also be modeled. However, to simplifythe discussion that follows, we avoid such details.

Since inference is ideally based on xc,i, the inverse of fc hasto be identified, something that, in theory, is possible if itis strictly increasing. Violation of this constraint has beenobserved in, for instance, two-color microarray data. Thiscan be due to too high concentrations of fluorophores,which sometimes quenches the signal so much that thesignal decreases when the concentration increases [6,7].Extreme saturation in the scanner, which is commonlyobserved when the PMT gain is set too high, results in cen-sored signals, which in turn prevents a unique inverse ofthe measurement function to be found. This paper doesnot discuss saturation further, because we believe that sat-uration can and should be avoided.

Dissection of the overall measurement functionFormally, each step in the microarray process can be seenas a function that takes a set of input objects and outputsanother set of objects. The sequential nature of the processmakes it possible to think of the measurement function fcas a composite function (function of functions); fc = fc,S � fc,S-

1 � � � fc,1, where S is the number of steps in the process.For instance, and of course simplified, it could be that fc,1models the extraction of the RNA from the cell, fc,2 modelsthe reverse transcription of RNA into cDNA and so on.Some of these submeasurement functions are shared by sev-eral channels and others are channel specific or even genespecific. Moreover, there may be joining subfunctions too,e.g. the hybridization of labeled cDNA sequences to theprobes on the array. In this paper, measurement functionsof different channels are treated independently.

A first-order Taylor series expansion of an arbitrary meas-urement function fc(xc,i), has the form

fc(xc,i) = ac + bcxc,i + Rc(xc,i), ∀c,i. (2)

From the above dissection of a measurement functions, itis easy to argue that some of the subfunctions may intro-duce offset (bias) and that there for this reason ought tobe an offset in fc (we will use the terms bias and offsetinterchangeably). For instance, the offset terms may bedue to non-uniformity of the reverse transcription, thelabeling [7] or the hybridization, due to dark noise in thePMT [8] or laser scatter light in the scanner, backgroundnoise, non-uniformity of the scanned glass slide [9], orthreshold effects etc. In [10] it is shown how various back-ground estimates based on different image analysis meth-ods may introduce bias. Similarly, we have shown thatdifferent scanners may introduce bias [11].

The affine measurement functionIn order to focus on the effects of ac and bc, but alsobecause it results in the simplest parametric measurementfunction possible, we assume Rc(xc,i) in (2) to be small.The affine measurement function is

fc(xc,i) = ac + bcxc,i, ∀c,i, (3)

with unique inverse

where ac is the overall offset (bias) and bc> 0 is the overallscale factor in channel c. The ac parameters are commonlypositive, but under certain circumstances, for instance, asdemonstrated later, when two different measuring tech-niques are compared, the effective offset may be negative.Modeling microarray data by an affine transform is notnovel [3,12-14], but the reasons for it might have beendifferent in those papers.

The log-ratio log-intensity transformIn two-color but also in oligonucleotide microarray exper-iments, it is convenient to do statistical analysis on thelog-ratios and the log-intensities [15] of the gene-expres-sion levels in two channels instead of on the expressionlevels directly. For gene i we have that

For simplicity, we denoted channels 1 and 2 by R and G,which are mnemonics for the red and the green dyes com-monly used in two-color microarray data. A rationale for

σ c i,2

x f yy a

bc ic i c c i

c i c

c, ,

,( ) , , ,= =−

∀ ( )−1 4

My

y

f x

f xiR i

G i

R R i

G G i= = ( )log log

( )

( ),

,

,

,2 2 5

A y y

f x f x

i R i G i

R R i G G i

= ⋅

= ⋅( )

1212

62

2

log ( )

log ( ( ) ( )).

, ,

, ,

Page 3 of 18(page number not for citation purposes)

Page 4: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

this bijective transform (if the observed signals are posi-tive) is that the main measure of interest, the fold change,is contained in one variable. However, since the transformis based on observed expression levels and not the trueones, M alone does indeed not carry all information aboutthe biological fold change. This can be seen if the true foldchange for an arbitrary gene i is considered;

ri = xR,i/xG,i (7)

where ri > 0. Dropping gene index i in (5) and (6), M andA can be written as functions of xG and r, i.e. M = gr(xG)and A = hr(xG). Thus,

which shows that M is a function of A (and r). Hence, anddiscussed thoroughly below, commonly observed inten-sity-dependent effects in the log-ratios may contain valu-able information, and consequently, applyingnormalization methods without care may result in loss ofinformation and introduced bias.

Log-ratios as a function of log-intensities with affine transformationsUnder an affine transformation, the relationship betweenthe observed log-ratios and the observed log-intensitiesfor a fixed fold change r, omitting gene index i, is

where α(r) = aR - rβaG quantifies how much M depends onA at the given fold change, and β = bR/bG is the relative scalefactor between the two channels compared. See Methodsfor details. Recall that log2r is the variable of interest. Thederivative of M with respect to A for a fixed fold change r is

M m A g h Ar r r= = ( )−( ) ( ( )),1 8

M m A r

r r r

r

r

A

= = +

++ +

− +

( ) log log

log( ) [ ( )]

( ) [

2 2

2

2 212

14

2

12

14

β

α α β

α α(( )]r r A2 22

9

+

( )β

Affine transformation of the red and the green signalsFigure 1Affine transformation of the red and the green signals. Left: Affine transformation of the red and the green signals for

= {(aG, aR) = (200, 20), (bG, bR) = (1.4, 0.8)}. The observed log-ratios as a function of the observed log-intensities for differ-

ent fold changes. The blue dot-dash curve corresponds to the non-differentially expressed genes and the thinner curves above and below this curve represent log2r = ± 1, ± 2,... as labeled to the right of the curves. The lines in the gray grid, which is rotated 45 degrees (in (2A, M)), show the levels where the true signals log2 xR and log2 xG are equal to ..., -1, 0, 1,..., 16. These levels have been labeled to the left of the grid. No observations can lie outside this grid. Right: Real-world example of an affine transformation. The same slide was scanned four times at four different PMT settings. For each of the six scan pairs, the within-channel log-ratio and log-intensities were calculated. Data shown is from the red channel, which was estimated to have an off-set of aR = 20.3 for all scans.

0 5 10 15

−15

−10

−5

05

1015

A = log2(yRyG) 2

M=

log 2

(yR

y G)

135

79

11

13

15

13579

1113

15

+8

−8

+6

−6

+4

−4

+2

−2

0

0 5 10 15

−15

−10

−5

05

1015

AR = log2(yR(v)

yR(w)) 2

MR

=lo

g 2(y

R(v)

y R(w) )

°°

°

°

°°°°°

°

°

°°

°

°°°

°

°°

°

°°

°°

°

°

°°°°°

°

°°°°°°°

°°

°°

°°°°°°

°

°°

°°

°°°°

°

°°

°

°

°

°°°

°°

°°

°

°°

°°° °

°°°

°°°°°

°

°°° °°°

°°°

°

°

°°°°°°°°°°

°

°

°°

°

° °°°°°

°

°°°

°

°

°

°

°°°°

°

°°°

°°

°°°

°°°°

°°°°° °

°°°

°°°

°

°°

°°°

°

°

°

°

°

° °°°

°°

°

°

°°

°°

°

°°

°°

° °°°°

°

°°

°°

°°

°° °

°°

°°

°

° °

°

° °

°°

°°°°°

°° °°

°°°°

°

°

°° °°°°

°

°°°

°

°°°°

°°

°°°° °

°

°

°°

°

°

°°°°

°°°

°°°

°

°°°°

°°

°°°

°

°°

°°°

°°°

°

°

°°

°

°° °

°°° °°°

°

° °°°

°°°

°

°°°°

°

°

°°

°°

°

°°

°°

°

° °°°°°°

°°

° °

°

°

°

°

°°

°

° °°°

°

°°

°° °°

°

°

°°°°

°°°

°° °

°°°

°°

°°

°°°

°

°°

°

° °

°°°

°°

°°°

°

°

°°°

°

°°

°

°°

°°°°

°

°°

°°

°°°

°°

°

°°

°

°

°

°°

°°

°

°° °

°°

°°°°

°°

°

°

°°

°°°°°

°

°°° °

°°

°

°

°

°

°° ° °°

°

°

°

°

°

°°

°

°°°°

°°°°°°

°°

°

°°°°°°° °°°

°°

°

°

°

°°°

°°

°°°°

°°°

°

°°°

°°°

°°°°°°

°

° °

°°

°

°°°

°

° °°

°°

°°°

°

°°

°

°

°

°°

°

°°°°°° °

°°

°°

°

°

°

°°°

°°

°°°

°°

°

°

°°

°°°

°°

°

°°°°°

°°

°°°°

°°°°°

°

°

°°

°°°

°

°

°°

°

°

°°°°°

°°°

°°

°

°

°°°

°°

°

°°°

°°°°°

° °°°

°°

°

°

°

° °°° °

°°

° °°°

°°

°°

°°°°°

°°

°

° °°

°°°

°°°°

°°°

°°°

°

°° °°

°°°°

°°°°°°

°°°

°°

°

°

°°

°

°

°°

°°

°

°°

°°°

° °°

° °°°° °°°°

°°

°

°

°

°

°°°° °

°

° °°°° °°°°°

°°

° °

°°°

°°

°

°

°

°°

°°

°

°

°

°

° ° °

°

°

°

°°°°°

°

°

°

°

°

°

°°

° °

°°°°°

°°

°

°°°°°

°° °°° °°

°

°°°

°°

°°

°° °

°°

°°

° °°°

°

° ° °°

°

° °°°°°

°°

°°

°

°

°

° °°

°

°°° °

°°

°

°

°

°

°

°

°°

°°

°°°°

°

°°

°°

°°°°

°°

°

°°

° ° °°°

°

°°

°

°°°

°°

°°

°°°

°°

° °°°

°°

°°°

°

°

°° °°

°°

° °°°°

°°

°°°°

°

°

°

°°°°°°

°

° °°

°°

°

°

°

°°

°°°°°

°

°°

°

°

°

°

°° °°°°

°° °°°

°°

°°°

°

°°°

°

°

°°° °°°

°°

°°

°°

°°

°°

°°

°°°

°° °

°°

°

° °

°

°°° °

°°°

°°°

°

°

°

°

°°°°°°

°°

°°°

°°

°

°°°

°°

°

°°°°

°

°

°°

° °

°

° °

°°

°°

°°

°

°° °°

°°

°° °°

°°°°

°

°

°°°

°°°

°°

°°

°

°°°°°

° °

°°°°

°

°

°

°°

°° °

°°

°°

°°°

°

°°

°°

°°°

°

°

°

° °°

°° °

°

°

°°°

°°

°° °°

°

°

°° °

°°

°°°

°°

° °

°

°

°°

°

°

°°°

°°

°°

°°

°°

°

°°

°

°°°

°

°

°°°

°

°°

°°

° °

°

°°

°°

°°

°

°°°°°°

°

°°

°

°°°

° °°°

°°

°°° °°

°

°

°°

°°°°°°

°°

°

°

°°°°

°

°

°

°°°°°

°

°°° ° °

°°°

°

°°

°°

°°°

°°

°

°°°°

°°

°°

°°

°°

°°°

°°°°

°°°

°

°°°°°

°°

°

°°°

°°

°

°

°

°

°

°

°

°°°

°°°°

°°°

°°°

°°°

°°

° °°°

°°

°

°°

°°

°°°°

°° °

°°

°

°°°°

°

°°°°

°

° °°

°°

°

°

°

°°°°

°

°°

°°°

° °°

° °

°°°°°

°°

°

°°°

°

°°°°°

°°°°°°

°

°°°

°°

°°°

°°°

°

°

°

°

°

°°

°

°

°

°°

°°

°

°°° °

°°

°

°°

°

°°°

°

°°

°°

°°°°

°

° °°°°

°

°° °°

°°°

°°

°°°

°

°

°°

°°°

°°

°°

°

°°°

°

°

°

°

°°

°°

°°

°°°

°

°

°

°° °

°°°°

°

°°°

°°° °

°

°°

°°

°°

°

°°

°

°

°°

°°

°° °°

°°°

°° °

°°

°°°°

°°°° °

°°

° °°

°°

°

°°°°°° ° °°

°

°°

°

°

°°°°

°

°°°°

°

°

°°

°

°°°°°

°

°

°°°

°°°

°

°

°

°

°°

° °°°

°

°°°°° °°

°°

°°

°

°°

°°

°°

°

°

°

°°

°

°

°°° °°°° °

°

°

°

°

°°

°°°°°

°

°°

°°

°°°

°°°°°°°°°

°

°

°°°

°°°

°°

° °

°

°°°°

°°

°

°°

°°

°°°

°

°°°

°°°° °

°

°

°

°°°

° °°°°°°°

°°°

°°

°°°

°°

°

°° °

°°

°°

°°°°°

°°

°

°

°°

°°

°

°°°

°°

°°

°°°

°°

°°

°

°°°°

°°

°

°

°°

°°°

°°°°°°°°

°°

°°°

°°

°°°°

° ° °

°

°

°°°°°

°°°

°°°°°°

°° °°°

°°°°°

°°°

° °°°°

°°°°

° °

°°

°

°° °

°°°

°°

°°

°°

°

°°°

°°°

°°

°

°

° °°°

°

°

°

°°

°

°°

°

°°°

°°

°°

°°

°

° °

°

°°

° ° °°°

°°°°

°

°

°

°

°°

°°°°

°

° °

°°°

°

°°°

°°°

° °°°

°

°

°° °°°°°°°°

°°°°

°°

°°°° °

°

°

°

°°°° °

°

°°

°°

°° °

°°°

°°

°

°°

°

°

°

°

°

°° °°

°

°°

°

°

°°

°

°

°°

°°

°

°°

°

°°°°

°

°°

°°°°

°°

°°

°

° °°

°°

°°

°°°°°

°

°

°

°°°°°

°

°

°

° °°°

°°

°

°

° °

°° °

°

°°°

°

°

°°°°°

°

°

° °° °

°°

°

°°°°°°

°°°

°°

°°° °°°

°

° °°

°°

°°°

°°°

°

°°° °°

°°°

°°

°°°

°° °

°

°

°°

°°°

° °°

°°

°

°°

°

°°°

°

°°°

°° °°

°

°°

°

°°°

°°

°°°°

°°°

°°°°°°

°°

°°°

°

°

°° °

°°

°°

°°

°

°

°

°°°°

°°°

°°

°°° °°°

°

°

°

°°

°°

°°°

°

°° °° °

°

°

°

°°

°

°

°

°°

°°°

°

°

°°

°°

° ° °°

°

°°

°° °

°°

°°

°

°°°

° °°°°°°

° °°

°

°° °

°°

°°°

°°

°°

°

°

°° ° °

°°°°°°

°

°°

°°

°°°

°

°

°

°

°°°°° °

°°°°°°°°°

°°

°°°°

°°

°

°

°°°

°

°°°

°°°

°°°°°

°

°°°

°

°°

°

°°°°

°°

°

°

°

°°

°°°°°°°

°°°

°°°

°

°°°

°°°°°

°°

°

°°°

°

°°°°

°°

°°°

°°

°°°

°°

°°°

° °°

°°

°°°°°

°° ° °

° ° °° °

° °

°°° °°°°

°

°°°

°°

°

°°

°

°°

°

°°°

°

°°

°

°°

°°°°°°

°° °

°

°°°

°°°°° °

°°

°°

°°

°

°

°

°°°

°

°

°

°

°

°°°

°°°°

°°

°

°°°°

° °

°°

°

°°

°°°

°°°°°

°°

°°

°

°

°° °

°

°

°°

°

°

°°°° °

°

°°°°°

°°°°

°°°

°

°

°°°

°°

°°

°°

°° °°°

°°

°°

°°

°° °

°

°

°°

°

°

°

°

°°°

°°

°° °

°

°

°°

°

°°

°

°

° °°°

° ° °°

°

°

°° °°°°

°

°

°

°

°

°

°

° °

°° °°°°

°°

°°

°

°°°° ° °°

° °

°

°

°°°°

°°°

°

°

°°

°°°

°° °°

°

°°

° °°°° °

°°°°

°° °

°°°

° °°

°

°°

°°°

°°

°°

°°

°°

°

°° °°

°°

°°

°°

°°

°°°°°

°

°

°°

°°° °

°

°

° °°

°°°

°

°

°

°

°

°°

°

°

°°

°

°°°°°

°

°

°

°

°°°°

°°°°

°

°°

°

° °°

°°

°

°°

°°

°

° °°°°°°

°°°°

°

°

°°

°°°°

°°

°°°°°°

°

°

°°°°

°°°

°°°

°° °

° °°°°

°°

°

°

°°°

°°°°

°°°°

°

°°

°

°

°

°

°

°°

°

°°° °°°

°

°°°

°°

°°

° °

°°°

° °°

°

°°

°°

°

°°° °

°°°

°

°°

°

°°

° °° °

° °°

°

°

°

°°

°

°°

°°° °°°°

°

°

°

°

°°° °

°°°°°

°°

°°

°°

°°

°°°°

°

°

°°°

°° °

°°

°

°°

°°

°°°

°

°°°

° °°

°°

°°

° °°°

°°

°

°°

°°°

°

°

° °°

°°

°°

°

°°°°°°°°

°

° °°°

°

°°

°° °

°°

°° °°

°

°

°°°°

°

°°° °

°°°

°

°

°°

°°°

° °°

°° °°

°°

°°

°°

°

° °°°°°

°

°

°°°

°

°

°

°

°

°°°

°°

°° °°

°

°

°°

°°

°°°

°°

°

°°°

°°

°°

°°°

°

°

°°°

° °°

°°

°

°

°° °

°

°°°

° °°°

°

°°°

°

°

°

°°°

°°

°°

°

°° °°°

°°°°°°

°

°

°

°°

°°°°

°

°°

°°°°

°°

°

°

°

°

°°°

°°

°°

° ° °°

° °°

°° °° °

°°°

°

° °°°

°°

°

°

°

° °

°

°

°°

°°°

°

°°

°°°

°

°°°

°

°°

°°°°° °

°°°°

° °°°°° ° °

°°

°°

°

°° °

°

°°

°°°

°°

° °

°°°

° °°°

°°

°°

°°

°

°° °°°°

°°

°° °°

°°

°°°°

°°°

°°

°°

°

°°

°

°

°°

°°°

°

°

°

°°°°°°°°°

°

°

°°

°

°°

°°

°

°°°

°° °

°

°

°°

°

°°°°

°

°

°

°°

°°

°° °

°

°°°° °°

°°

°°

°

°

°

°°

°

° °°

°°° ° ° °

°°

°°

°

°°

°

°°

°° °

°°

°°

°

°°

°

°°

°°°°°

°°

°

°

°

°

°

°

°

°°

°

°

°

°

°

°°

°°

°°

°°°°°

° °°° °° °

°°

°°

°

°°°

° °°

°

°

°°

°

°°°°

°

°°

°°

°°

°

°°

°°°

°°

°°°

°

°°°

°°

°

°

°°°

°

°°°

°°°

°°°°°

°°

° °

°°

°°

°

°°°°

°°

°

°

°

°

°°°

°

°°

°

°°

°

°°

°°

°°

°

°°°°°°°°°

°°°

°°

°

°°°°°

°°°°°°

°

°°

°

°°°°°°

°

°°°°

°°°

°

°°

°°°°°°

°

°

°

°

°

°°°°

°

°

° °°°

°

°°

°

°°°

°

°

°°

°

°

°°°

°

°°°

°

°

°

°

°

°°

°°

°

°

°

°

°

°

° °

°°°°°°

°°

°

°°°°°

°

°°

°

°

°°°

°°

°

°°

°°

°°°°°°

°°

°°°°

°

°° °

°° °

°°°

°°

°°

°°

°

°°°°

°

°

°°°°

°°

°

°°

° °

° °°

°

°°°

°°°°

°

°°

°°

°

° °

°°°

°°°

°°°°°

°°°°

°°°°°

°

°

°°

°°

°°°°

°

°°

°°°°

°°

°

°

°

°

°

°

°

°°

°°

°

°

°° °°°

°°° °°°

°

°°°°°

° °

°° °

°°

°

°°°

°°°

°°

°

°°

°

°

°°

°°

°°

°°°

°°°

°°

°°

°

°°°

°

°

°°°

° °°

°°°°°

°°

°°°

°

° °

°°

°°

°° °°

°°°

°

°°

°°°

°°

°°

°°

°°°

°°

°°

°

°

°

°

°

°

°°

°°°

°°°

° °°°°

°°

°°°

°°

°

°

°°

°°°°

°°

°°°°

°

°

°

°

°

°

°

°

°° °

°

°

°

°°

°

°°°°°

°°°°°

°°°

°°°

°

°°°°°

° °°

°°

°°°

°°

°°°

°°

°

°

°

°°

°°°

°°°

°

°

°

°°°

°°°°

°°

°°°°°

°

°°

°

°

°

°°

°°

°°

°°°

°°°

°

°°°

°°

°°°

°°°°°

°°°

°°

°°

°°

°°°

°

°°

°°

°°

°°

°°°°

°°

°

°°

°°°

°°

°°

°°°°

°°

°

°

°

°° °

°°°°

°°

°°

°°°

°°°°°°°

°°

°°°

°°°

°°

° °

°°

°°°

° °

°

°°

°°°

°

°°°

°

°°°

°

°°

°

°°°

°°

°°

°°

°°

°°°

° °°

°°

°°°

°°°

°° °

°

°°°

°°

°°°

°

°°

°°

°°

°

°°

°°°°°°°°°

°

°

°° °°°

°°

°°

°°

°

°°°

°°°°

°°

°°°

°°

°°

°°

°

°°°°

°

°

°

°

°° °

°

°°

°

°° °°

°°

°°°°

°

°

°°°°°°

°° ° °°

°°°°

°

°

°

°

°°°

°

°°

°°

°

°°°°°°

°°

°°

°

°°°°°

°°

°°°

°

°

°

°

°°

°

°°

°°°°°

°°°

°°

° °

°°

°°°

°°

°°°

°°

°°

°

°°

°

°

°°

°°

°°

°°°° °°

°°

°°°°

°

°

°°

°°

°°

° °

°

°°°°

°°°

°°

°°°

°

°°

°

°°°°

°

°°°

°

°

°°

°°

°

°

°°°

°°

°

°

°

°°°

°°

°

°°°

°°

°°°°°

°°°

°°

°°

°°°

°

°

°°

°

°°°

°°°

°°°

°°°°°

°

°

°

°

°°

°°°°

°° °°°°

°° °°

°°

°

°

°°

°

°

°

°

°°°°° °

° °°

°

°°°

°°

°

°°

°°

°°

°

°°

°

°°° °°

°

° °°°

°°°°°°

°° °

°°

° °

°°

°°°°°°

°°

°°°°

°°

°°

°

°°

°

°°

°°

°°°°°

°°

°°°° °°

°°°

°°°

° °°°

°°°°°

°

°

°°°°°

°°°°° °°°

° °°°°°°

°°°

°° °

°°°°°°

°° ° °

°°°°°

° °

° °°

°°

°°° °°°°°° °°°

°° °° °°

°°°°

°

°°° °°°

°°°°°°

°°

°°

° ° °°°°

°°° °°

°°

°°° °

° °°

°° °° °° °°°°°

°°°°° °°

°° °° ° °°° °°°

°°

°°

°° °°° ° °°

°°°

°° °°

°°°

° °°°°

°° °°°°°

°° °°°

° °

°

° °°

° °

° °°°° °°

°° °°°°°°

°

°°

°° °

°°°

°°°°

°° ° ° °°° °°° °°

°

°°°

°°° °°°°

° °°° °°°°°

°°°°

°°

°°

°°°°° °

°°

°° ° °° °° °° °° °°

° °°°°°°

°°°

° °°

° ° °

°° °

°°°°

°° °° °°° ° °°

° °°

°°

°° ° °

° °° °°° °

°° °°

°

°

° °° ° °°° °° °

°°°

°°° °

°°°

°°°

°° °

°°°

° °

°° °°

°° ° °° °°

°°°

°°°°

°° ° °°

°°°°°

°

°°°

°°

°°

°°

°° ° °

°°°°°° °°

°°

° ° °°°°°°

°°° °°°°

°°

°°°

° °°°

°°

°°

° °°

°°°°

° °° °°° °°°

°° ° °°° ° °°°°

°°

°°

°° ° °°°°°°

° °°°

°°° °°° °°°°

°°

°° °

°°°

° °°°° °

°°

°°°° °

° °°

°

°

°°°

°°° °°° °

°° °

°

°°

°°° °°°

°° ° °°

°

°°

°°° °

° °°

°°° °° °°°°° °° °°° °

°°

°°°° ° °

°° °°

°°° ° °° °°°

°°°° °°°

°°

°

°° °° °°°°° °° °

° °°°

°° °

°° °°°

° °° ° °°°°° °° °°°°

°° °°

°°°

°°°°

°°°

°°°

°° ° ° °°°° °°°°°°° °°

°°°

°°

° °°

°°°

°°°

°°°°°

° ° °° °°° ° °°°° °° °°

°°

°°°° °

°° °°°° ° °°°°

°°° °

°° °°°°

°°

°°°°

°°

°°

° ° °°

°°

°°°°° °°

°°

°°

°° ° °° °° °°

°° °

°°°°°°

° °° ° °°°

°°°

°°° °°° °°

°° °° °°

°

°° °

°°°

° °°° °°° °°° °

°°

°°°

°° °° °° °°

°°

°°

°°°

°°°

°°°° °°°°

°°°° °°° °°

° ° °

°

° °° °

°

°°°°

° ° °°°

°°°

°°

°°°

° ° °°° °°° ° °° °° °° °°°°

°°°°°°

°°°°

°°°°

° °°° °°

°°

°°°°°°°

°° °°

°°°

°° °°°°

°° °° °°

°°°° °°° °

°°

°°° °°° °°

°°° °°°

°°°°°°°

°° °°° °° °

°°°

° °°°°

° °°°

°°

°°°° °°°°

°°°°

°°°°°°

°°

°°°°

°° °°°

°°°

°°

°°

°°°

°°°° ° °°°°° °

°°° °°

°°

°° °°° ° °° °° °

° °°°°° °

°°°°°

°°

°°

°° ° °°

°°

°°° °° °

°°°°°

°°

°° °°

°° °°

°°

°°°°°° ° °°

°°° °

°°

°°°

° °° °

°°°° °

°° °°°

°° ° °°°°

°°

°°

°°°°

°

°°°

°°°

°°° °

°° °

° °° °

°°°°°

°°°

°°

°°°°

°°

°°°°

°°° °°

°°

°°°°°°°°°°°

°°°°°

°°

°°°°° °°

°°° °

°°

°°°

°°

°°

°°°°°

°

°°°°°

° ° °°°

°°

°°°

°°° ° °°°°

°°°°°°°

°°°°

°° °

°

° °°

°°

°°°

°°°°°

°° °°° °°°°° ° °°° °

°°

° °°°

°°°°°° °

°°°

°° °°°

°° °° °° °°

°°°°°

°°°°°

° °°°° ° °

°° °°

°°°°°

°°

°° °°

°°°°°°°°°°°

°°° °°

°° °°

°°°°

°°

°°

°° °°°

°°°°

°°° ° °

° ° °°

° °° ° °°

°°° ° °°°° °° °

°° °°

°° °°°°°

°°°°°

°°

°°° ° °°

°°

°°

°°°°

°°

°°°° ° °°

°°°°

°° °° °° °°°

°°°°

°°° °

°°°

° ° °°°° °

°°

°°

°°

°° °° °°° °

°°° °

°°°°

°°°° °°°° °

°°°

°°°°°°° ° °°

°°°

°

°°° °°°

°°°°

°°

°° °°°°°° °

°°°°°

°°°

°

°°

°°

° °°°°

°°°°° °°°°° °

°° ° °°

°°°

°°

° °°

°°°° °°° ° °

°°

°

°

°°°°°°°

°°°

° °°°°

°°°°°°°°°

°° °

° °° °°°

°°

°°°

° °° °°°

°°°

° °°°°

°°°°°

°° °°

°°

°°°° °°°°°°°

°° °°°

°° °°° °°°°

°° ° °°°°°° °°

°° °°°

°°

°°°°° °°

°°° °°°° °

° °°° ° °

°

°° °°°

° °°°°°° °°°

°°°

°°°°°°

°° ° °

°°

°°° °° °°°

°°°°°°

°° °°°°° °°°

°°°

° °° ° ° °°°° ° °°°

°°

° °°° °°

°°°°° °

°°° °°°

°°°

°° °°° °

°°°

° °° ° °°° °° °°°

°°°

° °°

° °° ° °°° °°°°

°°

°°

° °° °°°°

° °

° ° °°

°°°°°°

° °°°

°

°°° °°°°

° °°° °°°°°°

°°°° °

°

°°

°°°° °°

°°

°°°° °° °° °°

°°° °

°°

°

°° ° °° °°°

°°

°°°

°°

°°° °

°°°

°°°° °

° °°°

°°° °°

°°

° °°° °

°°

°°°°°

°°

°° °°°°

°°

°° ° °°°

°°

°° °

°° ° °° °°

°°

°°° °° °°

° °° °°°

°°°°° °°

° °°°

° °°° °°°

°° °°

°°°°°° °°

°°

°° °°°°°°°°°°

°° °°

°° °°° ° ° °°

°°

°°°

°°

° ° °°

°°°° °°

°°

°°

°°° ° °° °°°

° °°°°°°° °°°

°° °°

°°

° °°

°

°°°°

°°

°°

°°° °° °°°°° °°°°

°°

°°°

°° °°°

°°°

°

° °°

°

°°° °

°

°° °°° °°

°

°°

°°

° ° °°

°°° °° °

°° ° °°°°

°° °°°°

° °° °

°

°°° °° ° °°° °°

°°°° °° ° °

°°°°°

°°

°° °°°° °

°°

°°

°°°°° °

°°°°°° °°° ° °°°°

°° °

°

°

°°°

°° °°

°°°

°°°° ° °° °°

°° °

°° ° °°°

°°

°

°°

° °°°°°°°

°°°

°°°°

°°°

°°°°°°°

°° °°

°°°°°

°°°°

°

°°°°

°° ° °

°° ° ° °°° °°°°°

°°° °° ° °° ° ° °° °°

°°°°°

° °°°

°°

° °°

°°°

°° °°

° °°° °

° °°°°°

°° °°

°°°°

°°°° °°°° °°° °

°°°°

° °

°°

°

°

°°°

°°°°°

°°

°°° °

° °°°

°°° °°°°°°°°

°°

°° °°

°° °

°°

°° °

°°°

°°°

°°°°

°°

°°°° °°°

°

°°°° ° °

°°

° °° ° °°°

°°°°

°°°° °

°°° ° °

°°

°°° °

°° °° °

°°

°°°

°°°

°° °°° ° ° °°

°°

°°°° °°°

°°

°°

°° °°

°° °°°°° °

°°

°°° °° ° ° °° °

°°

°°° °

°°°°

°°° °°°

°° °° °

°°

° ° °°° °° °

°°° ° °

°°°

° °°°

°°°°° ° °

° °°°

°°°

°° °°

°° °°

°° °°° °°°° °

°°°

°°° °°

°° °°

° °°°

°°

°°

°°

°°

° °°

°°° ° °°°

°°

° °°°

°°°°

°°

°°

° ° °°

°°

°°° °°

° °°°°°°

°°°°°

°°

° °°°°

°°° °°°°° °°

°°°°

°°°°°°

° °° ° °°

° °° °°

°°° °

°°°°

°°°°°

°°

°°

°°

°°°

°°°

° °°°°

° °°°°° ° ° °°°°

° °°°

°° °°°

° °° °°°

°°

°° °° ° ° °°°

° °°°°

°°

°°

°°° °° ° °°°

°

°

°°

°°° °°°°°°°°°

°°° °°

°°° ° °

°°°°

°° °

°°°

°°°°

°°°

°°°°

° °°°°

°°

° °°°

° °°°

°°°°

°°

° °°° °°°

°

°°°° °°° °° ° °°°

°°° ° ° °

°°° ° °°

°

°

°°°°

°° °° °

° °°°

°°

°° °

°° °°

°° °°°°

°° ° °°

° °°°°°

°°

°° °°

°°

°°

° °°

°° °° °

°°

°° °

°°°° °°°

°°°°° °

°°° °°

°°

°° ° ° °°

°°°

°° ° °°

°°°° °° °°°°°

°°

°° °

°°°°

°°

°° °° °°°°°° °

°°

°°°

°°°°°

°°°°°°

°°°

°°

°°

°°

°°°

° ° ° °°° ° ° °°°° °

°°°

°° °°°

°° °°

°

° °°

°° °°°°°° °°°

°°

°°°°°°

°°° °° °°

°° °° °°°°°

° °°°

°°

°°

° °°

°°°° °°°

° °°°°

° °°°° °°°

°°

°°° °°°°° ° °° ° °° °° °° ° °°°

°°

° °°

°°°

°°°

°°°

°°

°°°°°°°°°°

°°

°° °

° °°° °

°°°

°° °

°

°°

°°

°°°°°

°°

°° °° °° °°

°°°° °°°°

°°

°°

°° °

°° ° °°° ° ° ° °° °°°

°°

°°

°°°

° °°° °°

°°

°

°°° °°°°

°°

°°° °

°

°°

°°

°°°

°°

°°° °° °°

°°° ° °° °°° °° °

°°

° °°

°°°° °° °

°°

° °°

°°° °°°

°°°°

°°

°°°°

° °°°°°

°°°

°°°

°

°°°°

°°°° °° °°°°°

°°° °

°°°°°

°° °°° °°

°

°

°°° °

°

°°

°° °

°°°

°°°°

°

°°°°°°°°°°

°° °°°

°°°°° °°°°°°

°°°

°° ° °°°°

°° °° °° °°°

°° °°° °°° °°

°°

°°°°°

°°

° °°° °° ° °

° °° °

°°°

°

°

°° °°

°°°°

°°

°°

° °° °°

°°

°°

°° °

°°°

°°°

°°°

°° °°°

°

°° °

°°°°

°°

°

° °°°° °° °°° °°

° °° °°

°° °° ° °° °°

°°°°

°°°

° °°

°°

°° °° °

° °°° ° ° °

° °°°

° °° °°° °

°

°°°

°°

° °°° ° °°°° °° °°

°°°° °° °°°

°

°°° °°

°°°° °°

°°°

°°°

°°

° °°

°°

°° °° ° ° °

°° °°°

°°° °°° °°°° °°

° °°° °

°°

°

° °°°°° °°

°° °°

°° °

°° °°

°°° °°

°°

° °° °°°°

°

°°

°° ° °°°°°°

°°°° °

° °° °°

°

°°°° ° °

°°°

°° °°° °

°°

°° ° °°

°°°°

° °°

°°

°°

°°

°°

°°°° ° ° °°°°

° °°

°°°°°

°°

°°°°° °

°°

°°° °°

°°

°°

°°

°° °°

°°

°°°

°°°°°

° °° °°° °°°°° °

°°°°°

° °°°°

°° °°°° °°°

°

°° °

°°° °°

°°°

°°

°°°° °°°°

°°°° °°°

°° °

°°

°° °°

°°°

°°°°

°°°

°° °°°

°°°

°°°° °°° °

° °°

°°

° °°°°

°°° °°

°°°

°°°°°

°°

° °°°°

° °°°

°°° ° °°

°°

°

°° °° °° °° °

°°° °°°°°° °°°

°°°°°

°°° °°° °

° ° °° ° ° °°

°°° °°°

°°°°

° °°°

°°°

° °°°°

°°°°

°°° °°

°°°° °

°°°

°°°

°° °°°°°°

°

°°°°

°°

°°°° °

°°°°° °° °°° °

°°

°° °°°

°°°°

°°°

° °°°°° °

°°° °° °

°° °°°

°°°

°°°

°

°°

°° °°

°°

°°

° °°°°°°

°°°°

°°° °°°°° ° °°°°°

°°

°°

°° °°

°

° °°°°

°°°° °°°

°°°°

°° ° °°°°

°°°

°°

°

°

° °°°

°°°° °°°°°

°°

° °°°

°°°°

°° °°

°°

°° °

°°

°

°°°

°°° °

°° ° ° °°°°

°°°°°

°°°

°°°°

° °°°°°°

°° °° °° °°

°° ° °° °°°

°°° °

°°

°°°

°°

°° °°°°

°°

°°°°

°°

°°°°

° °°°°°°

° °°

°°°°

° ° °°°

° °°°°°

° °°° °°

°°°°°

°°

°

°

°°°

°°° °°°°°°

°° °°°° °

°° °°

°°

°°°° °° °° °° °°°

° °° °°

°°

°°°

°°°

°°° ° °° °° °° °

° °° °°°°

° °°° ° °

°°°°°°° °

° °°°°°

°°°°

°°°

°° °

°°°°° °°° °°

°°° °° °°°

°°° ° °°° °°° °°° °°

°°°° °°°°° °°° ° °°° °°°°°

°° ° °

° °°°°°

°° ° °° °°°° ° °°

° °° ° °°° °°°

°° ° °°°

°° °°°

°°

°°° °°

°°°

°° ° °°° ° °° °° °° °°°°° °° ° °°°° °°° °

° °° °° °° °° °°°°° °°°°

° °°°° °° ° °°° °°° °° °° °° °°° ° °° °°° °° °° °°

° ° ° °°° °° °°° °° °° °°° ° °°

° °° ° °° ° °°° °°° ° °°°°°° °°

°° °°

°° °°°° °°° ° ° °°° °°° °° °°°

°° °° °° °°° °° ° °°°°°

°°°°° °

°° °°°°°° °° °° ° °° °° °° °° °° ° °°°°°° °°° °° °° ° °

°°

°° °°° °° °° °°° ° °° °°°

°°°

° ° °° °° °° ° °°° ° °°

°° °° ° °°° ° ° °°°° °° ° °°°° °°°

°° °

°°° ° °° °°° °°° °° °°° °°°°°° °° ° °°°°° °° °°° °° °° °

° ° °° ° °

°°°°° ° °°° °° ° °°°°° °° °

° °°°°°° °°°° °° °° °° °° ° °° °°° ° °° °

°°

°° °°° °°°°° °°° °° °

°°°° °

°° °°°°

°°°

°°° ° °°° °°°°°

°° ° °°° °° °° °° °° °° °°° °° °° °°

°°° °°° °°° ° °° ° °° °° °° °°°°°° °° °° °° °

°°

°° °

°°°°° °

°°°° °° °°° ° °° °°°° ° °° ° °° °°°

° °° °°°°° °°

°°° °°° °° °° °°°° ° °° °° °°°

°° °°° °

°° ° °° ° °°°°°°° °°°°

°°

°°°° °

°°°°

°°° °

°°°° ° ° °° °° °°°° °°° °° °°

° °°° °° °°°

°°° °°°°° ° ° °°°°° ° °°°° °° °°

°° °° °° °° ° °°°° ° °°°°°°

° °°

° °°°° °°

°°°° °° °° ° ° °° °° °°°°° °° °° °° °° ° °° °° °°°° °

°°°° °°°

°° ° °°°

°°° °°° ° °° °°° ° °° °° °°

°°

°°° ° °°° °°° °°° °° °° °° °°°° °° °° °° °° °

°°°°° °° °° °°°° °°°° °°° °° ° °°

°° °° ° °°°°

°° ° °°° °°°° °°°° ° ° °°° °°° ° °° °° °° °° °° °°°°° °° °° °

°°°° ° °°° ° °° °°° °°°°°° ° °°° °° °° °°°° °° °° °° °°°

° °°° °° °

°°°°°° °

°°°° °

°°°°° °°°° °° °

°° °° ° °°° ° °°°° ° °°°°° °°°° °°°°°

°°° °°° °°°

°°°°°

° °° °°° ° °° °°° °°°

°°° °° ° °°° °° °° °° °° °°

° ° °°° ° °° °° °° °°°°° ° °°° °° °° °° °° ° °°

°° °°°°

° °°°

°°°°

°°° °° °° °

° °° °°°°°° ° °°° °° °° °° °°° ° ° °° °°° ° °

° °°° °° ° °°°° °° °

° °°°°

°° °°° °°°° ° °° ° °° °

° °°

°° °°°°°°°

°°°° ° °°° °°°° ° ° °°°

°°° °°° °°° °° °

°°° °°° °°°°° °° °°° °

°°

° °°° °° °°°° °° °

°° °° °° ° °°° °° °°° °°° ° °°°° °°°°° °°° °°° °° °°

° °°°

° °° °° °°°° °° °°° °°° °° ° °°° °° °° °° °

°°°° °° °°° °°° °°°

°°°° °

° °°°° °° °

° °°°°

°°°° °

° ° °°°

° °°°°°

° °°° °°°°°°° °°°°°° °°° °°

°° °° °° °°°

°°° °°

°

°°

°° °°

° °° ° °° ° °° °

°

°° °° °°° ° °°°° °° °°° °° °° °°°°°°°°°° °°

°°°° °° °° ° °°°°

°° °°

°

°° ° °°°°° ° °° °° °° °°° °°

°° °° ° °° °°° ° ° °

°

° °° °° °° °° ° °° °°° °° °° °°°°°°°°° °

°°° °° °°

°°°°°

°°° °° °°°

°°

°° °°° °°°° °° °° °°°°° ° °° °°°° °° °

°°

°°°° °°°

°°°° °° °°°° ° °

°°

° °°°° °° °° °° °°° ° °°° ° °°

°°°

° °°°°°° °°° ° °°°° °°°

°°°°°° °°

°° °°

°° °

° ° °°° ° °° °°°

°° °° °°°°

°°°°° °°

° °°°°° °° °°°°°°°

°° °°° °° °°° °°°°

°°° °°

°°° ° °° °° °

°° °°°°°°° °° °°° °° °°

°° °°° ° °

°°° °°° ° °°°°°°

° °° °

°°°

°°°°°° ° ° °° °°°° °° °°° °°°°

°° °° °°°°° °°°

°° °° °° ° ° °°°° ° °°°

°° ° °°° °°°

°° °° °°° ° °°°°°

°° ° °°° °° °° ° °° °°

°° °° °°°°

°° ° °°

° °° ° °°° °°°° °° °°

° °° °°°° ° °° ° ° °°°°

°°°° °° °° °

°° ° °°°° °°° °°°°° °°

°°° °°

°° °° °° °°°° °° °°°° °° °°°

°° °° °

°°°

° °° °°° °° °° °° °° °° °°° °°° °° °° °°° °°° °°°

° ° °°° °°°°° °°° °° °° °° °° °

°°° ° °°°° °°

° °°° ° °° °°

°° °°° °° °° ° °° °°° °°°° ° °

° ° °°° ° °°° °°°°° °°°° °°°° °°

° ° °° °°°°° °°°°° °° °° °° °°° ° ° °°° °° °° °° °° °° °°°° °° °° °°°°° ° °° °°°° °° °°°°° °°° °° °

° °° ° °°° °°°° °° °° °°° °° °° ° °° ° °°°° °° °°° ° °°°° °°

°° °

°°

°°° °

°°° °°° °

° °°

° °° ° ° °°° °° °° °°° ° °°°° °°°

°°° ° °°° °° °° °

°° °°° °°°° °° °° ° °

°°°°° ° °°° °° °° °

°°° °°°°°

° °°°°°°° °°° ° °°°° °° °°

° °°° °° °°°° °°° °° ° °° °° °

° ° °° ° °°° ° °° °°° °°°

° °°°°° ° °°

° °°°°

°°°°°°° °° °° °°°

°° °°° °°°°°° °° ° °°° ° ° °°° °°°°° °° ° °° ° °° ° ° °°°° °°°° °° °° °

°°° °

° °° °°° ° °° ° °° °° °°°°° °° °°

°°°°

°°°° ° °°° °°° °° °° °° °° °

°°

°°° °°°°° ° °°° ° °

° °°° °°° °°°°°°°

°°° °° °

°°° °° °°

° °°

°°°° °° °°°°° °°°° °°° °°

°°°° °

° °° ° ° ° °°°°° °°°°°° °° °°

° °° °° °° °°° °° °° °°°

°°°°

°° °°° ° ° °°° °°°

°° ° °° °° °° °° ° °°°° °°° ° °° ° °°° °° ° ° °° °° °°

°° ° °°° °° °° °°°° ° °° °°

°

° ° °°° °° ° °°° °°°

°°° °°

° °° °°° ° °° ° °°°°

°° ° °°°

° °°°

° °°° °°°° °° °°°°° °

°° ° °°° °° °

°°° °°

°° °° ° °°°°° °° °° °° °°°

°°°° °° °° ° ° °° °° °° ° °°° °

°°°°° °°° ° °° °° °°°° °°° °°°°° °°

°°°° °°°°°

°° °

° ° °°° °°

°°

°°° °° °°° °°°° °° °° °° °° °° °°° ° °°°°

° °°°°° ° ° °°°

°° °° °°° °°°

° °° °°°°° °° °° ° ° °°

°° °°° °

°°°° °°° °° ° °°° °

°°° °°° °°°° °° °

°°° °° °°° °° ° °

° °°°° ° °°° °° ° °°°°

°° °°°° °° °°° °

° ° °°° ° °°° °°° °° ° °°° ° °° °°

°°° °°° °° ° °°°° °°

° ° °°°

° ° °° °°

°°° °° °°° °°°

°°°° °° °

°° °° °° °°°° °° ° °

° ° °°°°°°

° °° °° °° °° ° °°° ° °

° °°°° ° °°° °° °°° °°°° ° °° °° °°°

°°° ° ° °° °°°

°° °

°° °°°° °° °° °°°° °° ° °°°° °°°°°°° °°°°°° ° °° °°

°°°°° °°° °°° °°° °° °

°°°°

°°°° ° ° °°° ° ° °°°° °

°° °°° °°°°° ° °° ° °° °° °

°°° °° °°°

°° °°°°

°°°°°

°° °° °° °° °°°° ° ° °

°°°° °° ° °°

°°°° °°° ° °°° ° ° °°

°° ° °°° °° °° °°°°

°° °°

°°° °° °° ° °°°

° ° ° °° °°° °°°

°°°° °° °°°°°°°°° °° °° °° ° °° °° °°° ° °°°° °° °°°°

°°° °° °° °° °° °°°° °°° °°°

°° °° °°° ° °°°° ° ° °° °°°°°° °

° °°° ° °° °°° °°

° °°°°°°° °

°°° °° °° °° °° °

°°

°°° °° °°°°° ° °° °°° °° °

°°

° °°°°°

° °° °° °°

°° °°° °° °°° °° °° °°°°

° °°°° °°°° °°°

°°°°

° °°°° ° ° °°°° °°°°

° °°°°°°° °°° °°

°°

°°° ° °°

°° ° °° °°

°° °° °°°

°°°°°°°° °° °° °

°° ° °° °° °°° °

°°° °° ° °°°° °° °° °° °°°

°° °°° °°° °° °° °° °°° °° ° °°° °° ° °

° ° ° °° °°°°

°° ° °°°° °° °° °

° °° ° °°

°°

°° ° °°°°° °°°° °°° ° °

° °°° °

°°° °°°

°° ° °°° °° °°° °°° °° °° °

° °° ° °° °° °°° °

°° °° °°°

°°° °° °°

°°° ° ° °° °° °

° °° °°° ° °°° °°° ° °°

°° °°°° °° °° °°°° °°°

°° °°

°° °°° °°°

° °° °°°°°

°°° °° °° °° °° ° ° °° ° °°° °°°°°° °°°°°

°° ° °° °° ° °° °° °°° °° °° °° °° ° °° °°

° °° °°° °° °° ° °°° °°

°°° ° °°°

°°° °° °° °° °

° °°°°°°°

° °° °° °° °°°

° °°°° ° °° ° °°°

° °°°

° °° °°

°° ° °°° ° ° °°°° ° °° °°°° °° °°

°°°

° °°° °°° °° °°

°° °°

°° °° °°°

°°°°°° °° °° ° °° °° °°° °°

°°°°°

°°°°

°° °° °° °°° °° ° °

°°° °°

°°°

°° °°°° °°°° °°°

° °°°°° ° °° °° °° °°° °°°° °° °

°° °°°

°° ° °°°° °°° °° ° °°° ° °°°°

°°° °°

°°° °°°°° °°

° °°°°° °°°°°° ° °°° °°

°° °° °° °° ° °°°

°°°°°° °°° °°

°°°°°° °° ° °° ° °° ° ° °° °°°

° ° °°°° °° °°° °°°

° °°°°°°°° °°° °°° ° °° ° °°°° °° °° °° °°°°°

°°°° °° °° °° °° °°°° °° °°° °° °° ° °°° °

°°° °° °° °°°°° ° °°°

°° °° ° °°°°°°

°°

°°

°° °° °°°° °° ° °°°° °°°°° °°°°

°°°°° ° °°°°° °° °° °° °° °

° °°° °°°°° °° °°°° °°° ° °° °°°°°° °° °° °° °°°°

° °°°° °° ° ° °°°

°° °°

° ° °°° °°

° °° °°

°°° °°°

° °° °° °°°° °°°°

°°°°

°°°°° °°

°°°° °°°° °° °° °° ° °°°°° °° ° ° °° °°° °

° °° °°°° °° °°°°

°° °°°° ° °°°°°°°° °°° ° °° ° °° °° °° °°°° °° ° °°

°° °°° °° °°°°° °°° °° °

°°°°° °°°° °

°° °° °° °°° ° °° °° °° °°° ° °° °° °°° °° °°°°°° ° °° °° °

°°° °° °°° °° ° °° ° °

°° °°°°°°° °°°° °

°°°°°

°° °° ° °°°°°

°°°

°

°°°°

°

°°

°°°

°° °°

°°

°°°

°°°

°°°°°°

°°°°°°°° °

°°°°°°°°°° ° °° °°°°°

°° ° °

°

°

°°°°

°°°

°°°

°°° °°°°°°°°°°

°°°°°°°°°

°° °° °°°°°°°°

°°

°°

°°°°

°°°°

°°°° °°

°°° °°

°

°°° °

°°° °

°°°°°

°°°° °°°° °° °°

°°°°°°

°°

°

°° °°° ° °

°°

°°°°

°°°°° °

°°°°

°°°

°°°°°° °

°° °°

°° °

°° °

°°°°° °°

° ° °°°° °°

°

°°°°°°°

°°°°

°°°°° °°

°°°° °

°°

°°°

°°

° °°°°°°° °°

°°°°

°°°°

° °°°

°°°°°°

°°

°° °°° °

°°° °°°

°° °°°

°°°°

°° °°°

°° °

°°

°

°°°°

°

°°°°°° °°°

°°

°°

°

°° °°

° °°°

°°

°°° ° °

° °°°°° °°°°° °

°°° °° °°

°°°°

°°°

°°°°° ° °

°°°°°

°° °°°

°° °°°°°°

°°°

°°

°°°°°°

°° °°

°

°°

° °°

° ° ° °°°°°° °°

°°

°° °

°°°°°

° °° °°°°

°

°°

°°° °°°

°°

°°

° °°

° °°°° °

°°°°°°°

°°°°°°°°°° °° °°

°

°°°°° °°°°

°°°°

°° °°°

°°°°°°°°

° °°°

°°°°

°°°

°°°

°°°°

° °°

°°

°°°

°°°°°°°°°

° °°

°°

°° °°°°°° °

°°

° °°°°

°

°°° °

°°°°

°°

°°°°

°°°°° °°

°°°°°

°

° ° °°

°°°°°° °°°

°°°

°

°°°°°

° °° °°°°°°° °° °°

°

°°

°° °°°°°° °

°° °

°°°°°°°°° °°°

° °°

°°°

°°°°°°° °°°°

° °°°

°°° °°°°°°° °° °°° °

°° °

°°

°°°

°°

°°°°° °°

°° °°°

° °°°° °° °

°°

°°° °° °

°° °°°° °

°°°°°° ° °°° °

°°°°

°°°

°°°

°°

°° °

°

°°

°

°°°°°°

°°

°

°°

°°

° °

°°° °° °° °

°°°° °° ° °° ° °°°

°°° °°°°

°° °°° ° °° °° °

°°°

°°

°°°°°

°°°

°°°

°

°

°

°°°

°

° °° °°°

°°°

°

°°

°°°°°

°

°°°

°°°°°°°°°°°

°° °° °

°

°°

°° °

°°°°° °

°°° °°°

°°

°°° ° ° °°

°°

°° °°

° °°°°°° °°

°°°°°

°

°°°° °°°

° °°°

°°

°°

°°°

°°°°°

°°

°°°

°°

°° °°°°

°° °° °° °°° °

°°°

°°

°°°°°

°°°°

°°° °°°

°°° °°°°

°°°

°°°

°°°

°°° °°°° °

°°°

°

°°

°°° °°°°°

°°° °°°

°°°°°

°°°° °°

°°°

°°

°° °

° °°°°°°

°° ° °°

°°°°°°°°°

°

°°° °

°°° °

°°

°°

°°°°°

°°°°

°°°°

°°° °° ° °° °° °°° °

°°°°

°°° °°

°

° °°°° °

°

°

° °°°°

°° ° °°

°

°°°

°°°°°° °° °

°

°°° °

°

° °°°°°°°

°°°°

°°° °°°°

°

°°°

°°°

°°° °

°°

°

°° °

°°

°°°°°°

°°° °°°°

°°°°

°°°° ° °°

°°

°°°°°°°°°°°°

°°°°°

°°

°°°°°°°

°° °°

°°°°

°°° °°°°°°

°

°° °°°° °°

°°°

°°°°

°°° °

°°°°

°°°°°

°°

°°°

°°

°°

° °

°

°°

°°° °

°°°°°

°° °°° °

°°°

°° °°°

°°

°° °°°

°°°°°° °

°°°

°°°° °°°°°°

°°° °°

°°

°°°° °°

°°

°°°°° °°°° °°°°°°

°°

°°°

°°°°°°°°°

°°°

°° °° °°°° °°°°

°

° °°

°°

°

°

°°°

°°

°°°

° °

° ° °° °

°

°°°

°

°°°

° °°°° °° °°°°°

°° °°°°°

°°°°°

°

°

°°

°°°

° °°°°

°°°°

°

°

°

°°

°° °°

°°° °°

°°

° °° °°°

°°°°

°°

°°

°°°°° °

°°

°°

°°

°°

°°°° °°°°

°°°°

°°°

°°°°°°

° °°°°°°

°°°

°°°°°° ° °°

°°°

°

°°°

°°° °°°°

°

°°° °

°°°° ° °°

°°°° °°

°

°

°°

°°

°°°°°

°°° °° °°°° °°°

° ° °°°°

°°

°°

°°°

°°° °°° ° °

°

°°

°°°

°°°°°

°

°° °°°°°

°°°°°°°°°

°°

°

° °° °°

°° °°

°°°°° °°°

°° °° °°°°

°°°°° °° °

°

°

°°° °°°°°°°°°

°° °°° °°

°°

°

°°°

°°°°

°°°°°° °°

°

°

°°

° °°°°°

°°°° °°°

°°

°° °°

°°°° °

°°

° °°° °°°

°°°° °°°°

°°°

°°°°°°

° ° °°

°°°°°°°°°

°°°°°°

°° °°°°°°°°

°°°

°°°° ° °° °°° °

°°°

° ° °°° °° °°°

°°°

°° °°°°°°°

°°°°°

°

°°

° °°

°° °

°° °°°°°°°° ° °

°° °

° ° °°° °°°°

°°

°

°°

°° °°°°

° °° °°

°°°°

°°°°

°° °°

°

°°°°°°°°

°°°

°°°°

°° °°° °°

°°

°°°° °°°° °°

°°

°°

°° °°°

°°

°°

°°

°° °

°° °

°° °°

°°°

°°

°

°° °

°°°

°°°°°

°°°° °°°°°

°

° ° °°° °

°°°° °°°°

°°

° °°°°°

°°

°°°°

°°°

°° °

°°°°

°°

°°

°°°° °°

°°

° °° °°°

°°°°° °° °

°°° °

°°° °°°°

° °°

°° °°°°

°°°

° °° °°°°°°°

°°°

°° °

°°

°°°° °° °°

° °°

°° °° ° ° °

° °°°°°°

°°°°

°°° °°° °°°

°°°°°°°°°°° °° °

°

°° °

°°°

°°°°

°°

°

°°°° °°

°°°

°° ° °°°°

°°

°°

°°°°

°°°°

°° °°

°°

°°°

°°

°°

°°°

°°

°° °°° ° °°

°°°

°° °°°°

°°

°° °°°°°°

°°°° °°

°° °°

° °°°

°°°°

°°

°° ° °

°°°°°°°

°°°°

°° °

°

°

°

°

°°°° °°°°°°°°°°°

°°

°°°°

°°°°

°°°

°

° °°°° °°°°°°°

° °°

°

°°°

°°°°°° °

°

°°°°°°°°°°°°° °°°°°°°°°°°°°°

°°°° °°°°°

°°°°° °°°°

°° ° °°°° ° °°°

°°°°° °°°°° ° °°°

° °

°°°°°°°°

°°°°

°°

°°

°°

°

°°°°

°

°°°

° °°°°°°°

°°°°°°°

°°°°° °°

°°°

°°

°°

°°°°

°

°°

°

°

°°°°°°

°°°°

°°° °° °

°°°

°°°

°°°°°°°°° °° °°

°°°°

°°°

°°

°°°°°°

°°°°° °°°°°°

°°°°°°° °

° °°°

°° °°°

°°

°°

°°

°° °

°°

°°

°

°

°

°°°

°°

°

°° °

°

°°

°

°°° °°

° °°°

° ° °°°

°

°°°°°°

°°

°°

°

°°

° °

°°°°°° ° °° °

°°°°° ° ° °° °

°

°°°°° °°°

°°

°°°°°°°°°

°°°

° °°°° °

°° °°° °°°°°

° °°°

°°

°°°°°

° °°°

°°°

°° °°

°°°°

°° °°° °°°°

°°

°°°°°°

°

°° °°

°°°°

°°

°°

°°°°

° °°

°°°° °°

°°

°°°°° °°°°

°°°° ° °

°

°°°°° °

°°

° °°°°°° °°°°°

°°° °°°°

°°

° °°°°° °°

°°°°

°°°°°°°°° ° °°°°° °°

°°° °

° °°°°

°°° °°

°°

°

°

°

°°°

°°° ° °°°

°°

°°°°°° ° °°°°

° °°

°°°°°° °

°° °°°°°

°°°

° °° °

°°

° °°°

°

°°°°

°°°°°°°°°

°

°°

°°°°°°°°°° °° °

°°

° °°° °°°

°°

°°°°° °°°

°°°

°°°°°°°°° ° °

°°°

°°° °°°°°°

°°°°

°°

°° °

°°°°°

°

°°°° °

°° °°° °

°°°

°° ° ° °°° ° °°°

°°

°°°°°°°° °

°°°°

°° °

°°°° °°°

° °°°°

°°

°°° ° °°°°°

°°

°°°

°°

°°

°° °°

°°°°°° °

°°

°

°° °°°

°°°

°°° °°

° °°°°

°°

°°° ° °°°

°°

°° ° °°

°°°°°° °°

°°°°

°° ° °°

°°

°°°°°°°

°

°°°°°° °

°°

°° °°°°

°

°°°°°°

°°°

°

°

°°°°

° °

°°° ° °°°°°

°° °° °

°°°°° °°°

°°°°

°° °

°°

°°°°°

°

° °°°°°°°°°

°°°°°°°°° °° °°°°°°

° ° °°°

°°

°° ° °°

°°°° °°°

° °°°°

° °°°

°°°

°°°

°°

° °°°°° °°°°

°° °° °° °

°°°° °

° °°

°°°

°°°

°°°°

°°

°°°°°°°°°

°°

°° °

°°

°°

°

°°°°° °°

°° °°

°°°°

°°

°°°

°°°° °

°°°°° °

°°°°°°

°°

° °°

° ° °°°°° ° °°

°°°°°°

°°

°°°°

°° °°°

° °°

°° °°°°° °°

°°

°°

°

°°

° °°°

°°

°°° °°

°°

°°°°°° °°°°°°

°° °°

°°°°

° °°

°° °° °

°°°°

°°°°° °°

°° °°°° ° °°°°

°°°°°°

°°

°°°°°°°°°°°°°°°

°°°

°°°

°°°

°°°°°°°

°

°°

°°°°°°°° °

°°°

°°°

°

°

°°°°°°°°°°°° °°°

°°°°° °°°°°°

°°°

°

°°°°°°°

° °° °°°°° °°

°°° °°°

°°

°°

°

°°°°°

°° °

°°°

°°

°

°° °°

°

°°

°°

°°° °°°°

°

°°

°°

°°°°°

°°

°°

°° °

°°°° °°°°°

°°°°°

°

°°°

°°°°

°°°°°°

°°°°°°°°

°° °°°°°

° °° ° °°°°

°°° °°°

°°

°°

°°

°°°°

°°

°° ° °

° °°°

°

°

°°°°°°° °°°

°°

°° °

°°° °°°°°°°° °°°°

°°°°°

°°

°°

°°

°°°°°°°°°°°°°°

°°

°

°

°°

°°

°° °°

° °°°° °°°°°° °

°°°°°° °°

° °° °

°°°

°°°° °°

°

°°°

°° ° °° °°° °° °°° °

°°

° °°

°°°

°°°° ° °°°°°°°° °

°°° °° °

°°°

°°°°°

°°°°

°°°°°

°°

°°°°°

°°°°

°°

°°

°°

° °°°° °°°°° ° °°°° °

°°

°°°°°

° °°°°

°°°°° °°°°

°°

°°

°°

°

°° °

°°

°°°°

°°°°°° °°° °°°°

°°°

°°°°°°°°

°°°

°° °°°°°°°°° °

°°°° °°°°°

°°

°°°°°°°°

°°

°°°°° °° ° °°

°°

°° °

°°

°°°° °°

°

°° °°°°°° °°°°°°°°°° °°°° °°°°°

°°

°° °°°°°°°°°° °

°°°°°

°°°

°°° ° °°° °

°°° °

°°° °° ° °°°°°°°°°°°°

°°°°°°°° °°

° °°° °° °

° °

°°°°°°

°

°°°°

°°°

°°°

° °°°

°°°°

°°°°° °°°° °

° °°

°°°°°

°°°°

°°°°°

°°°° °°°

°°°

°

° °°°°°° °°° °°

°°°°°° °°°°

°°°

°°°°°°°

°°°°°°°

°°

°°°°°

°° °°

°°

°° °° °

°

°

°°°°°°

°°°°°

°°°°°°°

°° ° °°°°° °°

°°

°°

°°°

°°°°

°

°°°° °° °°°°

°

°°°°°

°°°°°°

°°

°

°°°°°

°°° °°°°°°°

° °°°

°°°°°°

°°° °° °

°

°°°

°

°°°°

°° °° °° °°

°°°°°°°°

°°°°

°°

° °°°°°° °° °

° °°°°

°

° ° °°°°°

°°°°

°°

°°°°°

°° °°°°

°°

°°°°°°

°°°° °

°°°°°°

°°°°° °°

°° °°

°°

°°

°°°°°° ° °°

°°°°°°

°°

°°°

° °°° °°°°°°°

° °°°°°°

°°

°

°°

°°°°

°° °° °°

°°°°

°° °

° °°° °°

°°

°°

°°° °°°

° °°°° °°°°°

°° °°° °°°° °°°°

°°°°

°°°°°

°°°

°°°

°°°

°°

°°°

°°

°

°

°°°°

°

°

°

°°

°

°° °°

°°

°

°°

°°

°

°

°°°°°

°

°°°°°°°°

°°°

°°°°° °°

° °°°

°°°°

°°

°°

°

°

°°°

°°

°°

°

°°

°°° °°°°

° °°°°°

°°°

°°°°°°

°

°°

°°

°°°°°° °°

°

°°

°

°°°

°°°

°

°°°° °

°

°

°°°°

°

°°°

°°

°°°

°°°°

°°°° ° °

°°°

°° °°

°°

°°°

°

°°

°

°° °

°°

° °

°

°

°°°

°°

°°°

°° °°

°°

°°

°°° °°

°° °

°°°

°

°° °

°

° °

°°

°°° °°°

° °°°° °°

°

°°

°°°°°

°

°°°

°

°° °°°

°°

°°° °°

°

°°

°°

°°

°° °°° °°

°°

°°°°

°°

°° °

°

°°

°°°

°°°

°

°

°°

°°° °

° °° °°°

°

°°

°°°°

°

°

°°°°

°

°°

°

°°

°

°°

°°

°

°°°°°°°

°°

°°

°°

°

°

°°°

°°°

°

°°

°

°° °°

°°

°°°°

°°°

° ° °

°°°

°°°

°

°°°

°°°

°°

°°

°°

° °

°°°

°

°

°°°°

°°°

°°°°

°°

°

° °°°

°°°

°°

°

°°°

°

°

°°

°°

°

°° °

°°

°°°° °°

°

°

°° °

°°°°

°

°°

°°

°°°

°

°

°°

°° °°

°

°°

°

°

°°

°

°°°°

° °°

°°°°°

°

°°°°°

°° °°°°°

°

°

°

° ° ° °°°°°°

°°°

°°° °

°°°

°°°°°°

°

° °

°°

°

° °°°

° °°

°°

°°°

°°

°

°

°

°

°°

°

°°°°°° °

°°

°°

°

°

°

°°°°°

°°°°

°

°

°°

°°°

°

°°

°°

°°°°

°°

°°°

°

°°°°°

°

°

°°

°°°

°

°

°°

°°

°°° °°°°

° °°°

°

°°°

°°

°

°° °°°°

°°° °°

°°

°

°

°

°°

°°°°°°

°°

°°

°°°

°°°°°°

°°°

° °°

°°°

°°° °°°°°°°

°

°°°

°° °° °°

°°°°°°°

°

°°°

°°

°°

°

°°

°°

°

°°

°°°° °

°°

°°°

° °°°°

°°°

°°

°°° °° °

°

° °°°° °°°°°

°°° °

°° °

°°°

°

°

°°

°°°

°

°

°° °

°

°

°

°

°°°°°

°

°

°

°

°

°

°°

° °

°°° °° °°

°

°°°°°

°°°

° ° °°°

°°°

°°

°°

°° °

°°°

°° °°°

°

°° °°

°°°°°

°°°

°°°

°

°

°

° °°

°

° °°°

°°

°

°°

°

°

°°°

°°°

°°°

°

°°°°

°°°°

°°°

°°

° °° °°

°

°°

°

°°°°

°°

°

°°°

°°°

°°°° °

° °°°

°

°° °

°

°°

°°°°°

°°°°

°°°

°

°

°° ° °°°°

°°°

°°

°

°

°

°°

°°°°°°

° °°

°°

°

°° °

°°°

°° °°°

°

°°° °

°°

°

°

°

°°°°°

°° °°

°°

°°

°°

°°

°°

°°°

°°

°

°°°

°°

°°°

° °

°°°° °°

°

°

°

°

°°° °°°°°

°°°

°°

°

°°°

°°

°

°°°°°

°

°°° °

°

° °

°°

°°°

°°

°° °°

°°

°° °°°°

°°°

°° ° °

°°°

°°

°°°

°°°°°

° °°

°°°

°

°

°

°° °° ° °° °°

°°°°

°°°

°°°°

°°

°

°°°

°° °

°

°

°°°

°°

°° ° °°

°

°

° °

°°°°°

°°

° °

°

°

°°°

°

°°°

°°°°

°

°°°

°

°°

°°

°°

°

°

°°°

°

°°°°

° °

°

°°

°°°

°

°°

° °°°°

°°°

°°°°

° °°°

°°

°°° ° °

°

°

°°°°°°°°

°°

°°

°°°°

°

°°

°°°° °°

°°°°

°

°°°

°

°°

°°

°°°

°°

°

°° °°

°°

°°

°°

°°

°°°

°°°

°°

°°°

°°°°°

°

°°

°°°

°°

°

°°

°

°°

°

°°°

°°°°

°°° °

°°°

°°

°°

° °°°

°°

°

°°

°°°°°°

°° °

°°

°

°°°° °

°°°°°

°°° °°°

°°

°°°°

°°

°

°°

°°° °°°

°°

°°°°°

°°

°°

°°°°°°

°°°°°°

°

°°°° °

°°°°

°°°

°

°°

°

°° °

°

°°°

°°

°°°

° °

° °°

°° °

°°°

°

°°

°°

°°°°

°

° °°°°°

°° °°°°°

°°

°°°

°

°°

°°°

°

°°

°°

°

°°°°

°

°

°°°

°°

°°

°°°

°

°

°°

° °°

°°°

°

°°°

°°° °

°

°°

°° °

°°

°°

°

°

°°

°°

°° °°

°°°

°

° °°°

°°°°

°°°

° °°°° °°

°°

°°°°

°°°°°

°

°

°°

°

°

°°°°

°

°°°°

°

°

°° °

°°°° °

°°

°°°°

°°

°

°

°

°

°°

°°°°

°

°°

°°

°°°

°° °°°°

°°°

°°

°

°

°

°

°°

°

°°° °

°°°

°

°

°

°

°

°°°°°

°°

°

°°

°°

°°°

°°°

°°°°°°

°°°°

°°

°°

°°

° °

°°°°° °°°

°°

°°

°°°°

°°°

°°°

°°

°

°

°

°°°

°°°°

°°°°°

° °°°

°°°

°°

°

°° °

°°

°

°°

°°°° °°

°

°

°°

°

°°

°°°

°°°°°°

°°

°

°° °°

°°°

°°

°

°

°°°

°°

°°°°°

° °°

°°

°°°

°°

°°°°

° ° °

°

°

°°°°°

°°°

°°

°°°°

°° °°°

°°°°°°°

°

°°

°°

°°

° °°°

°

° °°

°° °

°° °° °°°°

°

°°

°°

°°°

°°

°

°

° °°°

°

°

°

°°

°

°

° °

°°°

°°

°°°

°°

° °°

°°

° °°

°° °°°°

°

°

°

°°

°° °°

°°

° °

° ° °°

°°°

°°°° °°

°

°

°

°°°°°°°°°°

°°°°

°°

° °°° °

°

°

°

°° °° °°

°°

°°°

°°

°°° °°

°°°

°

°

°

°

°° °

°°°

°°

°

°

°°

°

°

°°

°° °

°°

°

°°°° °°

°°°

°°°

°°

°

°° °

°° °°

°°°

°°°

°

°

°

°°°°°

°

°

°

°°°°

°°

°°

°°

°°°

°

°°°

°

°

°°°°°

°°

° °°

°°

°

°

°°°°°° °

°°°

°°°

° °°°°

° °°

°°

°°°

°

°°

°

°°° °°

°°°

°°°°

°

°° °

°

°

°°

°°° ° °°

°°

°

°°°

°°°

°

°°°

°°°°

°

°°

°

°°°°

°°

°°°

°°

°

°°°°°°°°

°°

°

°

°

°° °

°°

°°

°°°

°

°

°°°°

°° °

°°

°°° °

°°

°

°

°

°°

°°

°°°

°°°

°° °

°

°

°

°°

°

°

°

°

°

°°

°

°

°

°°

°

°

° ° °°

°

°°°

° °°

°°

°°

°°°

°°°°°

°°°°

°

°

°°

°° °°°

°°°

°°

°

°

°° ° °

°°°°°°

°

°°°°

°°°

°

°

°

°

°°°° ° °°°°°°°°°°

°°

°°°°

°° °

°

°°°

°

°°

°°°

°°° °°°

°

°°°

°

°°°

°°°°°

°°

°

°

°°°°

°°°°° °°°°

° °°

°°°°

°°°°°°

°

°°°

°°°°°

°°

°°°

°°°°°

°° °

°° ° °°

°°

°°°°°

°°

°°°°

°°

°° °

°°° °°°°

°

°°°

°°

°

°°

°

°

°

°

°° °

°

°°

°

°°

°°

°°°°

°° °

°

°°°°°°°° °

°°

°°

°°

°

°

°° °°

°

°

°

°

°

°°°

°°°

°°°

°

°°°°

° °

°°

°

°°°

°°°°°°°

°°

°°

°°

°°

°

°

°

°°°

°°°

°°°°

°°°°°

°°

°°°°

°

°°°°°°

°°

°

°°

°° °°°

°°

°°

°°

°° °

°

°

°

°°

°

°

°

°°°

°°

°° °

°

°

°°

°

°°°

°° °

°°° ° °

°

°

°

°°°°°°

°

°

°

°

°

°°

° °

°°° °°°°

°

°°

°°°°°°°

°° °

°

°

°°°

° °°°

°

°

°°

°°°°

° °°°

°°

° °°°° °

° °°°

° °°

°°°

° °°

°°

°

°°°° °

°°

°°

°°°

°° °°

°°

°°

°°

°°

°°°°°

°

°

°°

°°°°

°

°

°°

°°°°

°

°

°

°°

°°°

°

°°

°

°°°°°

°

°

°

°

°°°°°

°°°

°

°°

°° °

°

°°

°°

°°

°°

°°°°°°

°°°

° °

°

°

°°

°°°°

°°

° °°°°° °°

°°°°

°

°°°°°°°° ° °°°°°°°

°°° °

°°

°°

°°

°°°

°°

°

°

°

°

°°°

°

°°° °°°

°°

°°°°

°°

° °

°°°° °

°

°

°°°°°

°°° °

°° °°

°°°

°°

° °°

°° °°°

°

°°

°°

°°

°°°°°°°

°

°

°

°

°°° °

°°° °°°° °

°

°° °°

°°°°

°

°°

°°°°°

°°

°

°°°

°°°°°

°°°

°°

°°°

° °° °°°°

°

°

°°

°°°

°

°

° °°°°

°°

°

°°°° °

°°°°

°°

°°

°°

°°° °

°°°° °

°°

°

°°°°°

°°°°

°°°°

°

°°

°° °°°°

°°

°°

°°°

°°°

°°°

°°°°

°°

°°°

°

°

°

°

°

° °°

° °°

°°°°

°°

°

°°°°

°°°

°

°°° °°

°°

°°°

°°

°° °° °

°

°°

°

°

°°°

°

°°°°°° °

°

°°°°

°

°

°°°

°

°

°°

°

°°°°

°

°°°°° °°

°

°

°° °°°°

°

°°

°°°°

°°

°

°

°

°°

°°

° °

°°°

° °°

°°

°°

° °° °

°°°°

° ° °°°°°

°

°

° °

°

°°

°°°°

°

° °°° °°

°°°°

°°°°°°°°° °

° °°°°°°° °

°°

°°

°

°

°°

°

°

°°°°

°

°°

°°

°°°

° °°°

°°

°°

°°

°

°

°°°°°

°° °°°°

° °° °

°°

°°°

°°

°°

°

°°

°

°

°°

°°°

°

°

°

°°°°°°°°°

°

°

°°

°

°°

°

°

°

°°°° ° °

°

°

°°

°

°°°

°°

°°

°°°

°°° °

°

°°°° °°° °°

°

°

°

°

°°

°° ° °°

°° °° °

°°°

°°

°°

°°

°°

°°

°°

°°°

°°

°

°°°

°°°°°

°°

°°

°

°

°

°

°°

°

°

°

°

°°° °°

°°

°°°°°°

°°°

°° °

°°°°

°°°°

° °°

°

°°

° °°

°°° °

°°°°

°°

°

°°

°°°° °°°

°

°

°°°

°°

°

°

°°°

°°°

°°

°°°°°

°°

°°

°°

°°

°°°

°°°°°°°

°

°

°

°°° °° °

°

°°

°

°°

°°

°

°

°

°°°

°°° °°°°°° °°

°

°°°°°°

° °°°°°

°°

°

°°°°

°°

°

°°° °

°°°

°

°°

°°°

°°°°

°

°

°

°

°°°°

°

°

° °°

°

°

°° °

°°°

°

°

°°

°

°

°° °°

°°°

°

°°

°

°°°°°

°°

°

°°

°

°°

°°°°°°

°°

°

°° °°°

°

°°

°

°°° °

°°°

°°°

°°°°

°°°°

°°°°°

°

°°

°° °°

°°°°°

°°

°°°

°°°

°°

°

°°°°

°

°°

°°

° °

° °°

°

° °°°°°°°

°°

°°

°

°°

° °°°°

°°°°°°°

°°°

°°°°°

°

°

°°

°°

°°°°°°

°°°

°°°°

°°

°

°

°

°°

°°

°°°

°

°° °°°

°°°°°°

°

°°°°°° °

°° °

°°

°°°

°°°

°°°

°

°

°°

°

° °°

°°°

°°°

°°°

°°

°°

°

°°°

°

°°

°°° °

°°°°°°°

°°

°°

°° °

°°

°°°°°

°

°°°

°

°°

°°°

°°

°°°

°°

°°°

°°

°

°

°

°

°

°°

°°°

°°°°° ° °

°°°

°°

°°

°°°

°

°°

°°°

°°

°°

°°°°

°°

°°

°°

°

°

°° °

°

°

°°

°°

°°°° °

°°°° °

°°°

°°

°

°

°°°°°°

°°

°°°°

°°

°°

°°

°°°

°°

°°

°°°

°°°°

°

°

°°°°°°

°

°°

°°

°°°°

°°

°°

°

°°

°°

°°

°°°

°°°

°

°°°

°° °°°

°°°°°°°°°° °

°°° °°°°

°°°

°° °

°°

°°°°

°°

°°

°

°°°

°°

°°°

°°

° °°

°

°

°

°° °

°°° °°°°

°°

°°°°°° °°°

°°

°°°°°°°°

°°

°°

°°

°° °

°

°°°

° °

°

°°°

°

°

°°°

°°

°°

°°

°°

°°

°°

°°°

°°°° °

° °

°°°

° °°

°° °

°

°°°

°°

°°°°

°°

°°

°° °

°°

°°° °°°°° °

°°

°° °°

°°°

°°°°

°

°°

°°°°°

°°

°°°°°

°°

°°°°°

°° °°

°

°°

° °°

°°

°

°° °°

°°

°°°°

°

°

°°°°°°

°° °

°°°°° °°

°

°

°

°°°

°

° °°°

°

°°°°°

°°°°°

°

°°°°°

°°

°°°°

°

°

°

°°

°

°°

°°°°°°°°°°

°°

°°

°°°

°°°

°°

°°

°°

°

° °°

°

°°

°°°°

°°°° °°

°°°°

°°°

°

°°

°°

°°

° °

°°°°°

°° °°

°°°°

°

° °°

°°°°

°

°°°

°

°°°

°°°

°

°°

°°°

°

°

°°°°°°

°

°°°°

°

°°°°°°°°°

°

° °

°° °°

°°

°°

°°°

°°°

°°°

°°°°°

°

°

°

°

°°

° °°°°

°°°°°

°°

°°

°°°

°°

°

°

°

°

°

°°°°° °

° °°°

°° °

°°

°

°°

°°

°°

°°

°°

°°° °°°

°°°°

°°

°°°

°

°

°° °

° °°°

°°°°°

°°°

°

°°° °°°

°°

°

°°

°

°°

°°

°°°°°

°°

°° °° °°°°° °

°° ° °°°

°°° °°°°

°°°°°°

°°°°°°° ° °°° °°°°° °° ° °° °°°°°

°° ° °

°°

°°°° °

°° °°°

°°° °°°°° °°°° °° °° °

°°°°°°

° °° °°°° °°° ° °° °° °

°°°°°°°

°°°° °

°°

°° °° °° °° °° °° °

°°°°°°°° ° °°

°°°° ° °°° °°° °

°°

°°° °°°

° °°

°°° °° °

° °°

°° °°°°

°° °°° °°

°° °°°

° °° ° °° ° °

° ° °°° °°°° °°°° °°

°° °°°°°°

°°°°

°°° °° °°° °°° °°

°°°

°° °° °° °°° °° ° °°°°° °°

°° °°

°°°°°

°°°°

°°° ° °° °° °° °° °

°° °°°°°

°°

°° ° ° °° °

°°°

°°

°°°°

°°° °°° ° °° ° °° °° °° ° °° °°

°° ° °°° °

°°

°°°° ° °°

°° ° °

°°° °°

° °°°°

°°° °° ° °°° ° °°

°°°

°°° °° °°°°°°°

°°°° ° °°

°°°°°

°

°°°

°°° °° ° °

° ° ° °°°°° ° °°°

°° ° °°°°° °°

°°

°°°°°

°°°°° °°

°° °°

°° °

°° °°° ° °° °°°°° °°° °°°

°° °°° °°°

°°

° ° ° °° °°°°°°° °°° ° °°° °°°°°°° ° °°°

°° °° °° °°

°°

°°° °° °°

°°

°°°

°°° °°° °

°° ° °°

°°

°° °°°°°° °°

°°

°° °° °°° °°°°°°

°°°°°

°° °°°°

°°

°°°°°

°°

° °° °°°° °°°°° °°

°°

°°°°°

°°° °°°°

°°° °° °

° °°°

° ° °°°°°°° °° ° °°°°°°°°°

°°° ° °°°° °°°° °°°° °°°°

° ° ° °° °° °°°°°°° °° °°°

°° ° °° °°° °°°

°°° °° ° ° °°

°°° ° °°°° °° °° °° °° °° °°

° °°°° ° °°°°°° ° °°° °°°°

°°

°°°°°

°°

° ° ° °°

°°

°°°°° °°

°°

°°

°° ° °° °° °° °° °°°°° °° °

°° ° °°° °°° °°° °°° °°° ° °° °° °

°°° °°° ° °°° °°° °°° °° °

°°

°°° °°

°° °°

°°°

°°°° °

°° °°°

° °°°° °°°° °°° °° ° °°

°° °° °

°°°° °°

° °°°

°°° ° °°°° ° ° °°° °°° ° °° °°°° °

°°° °°°°°

°°

°° ° °°°°° °°°° °

°°°°

°°°°°°

° °°° °°°° °°°°

°° °° °°

°°° °

°°°

°°

°°°°°°° °° °°°°

°° °°° °°°°

°° °°° °° °°

°° ° °°°°

° °°° °° °°°° °°°°° °°° °

°°°°

°°°°°°° °° °

°° ° °° ° °° °°° °

°°°° ° °°

°°° °°°° °° °

° °° °°° ° °° °° °° °°°°° °

°°° °°

°°

°° °° ° °° °°

°°° °° ° °°°°° °°°

° °°°° °°

°°

°°°° °° ° °°°

°° °°

°°°°° °° °

°°

°°° °

° °°°°°°°

°°°°

° °°°

°°

°°

° °°°

°°°° ° °

°° °

° ° ° °° °°°°

°° °°° °°°° °

°°°

°°°° ° ° °°

°°°°°°°

° °°°

°°°°°° °° °

°°°° °° °°° ° °°°°°

°°

°°

°°° °° °°° °°

°° ° °°° °° °°°

°°°° °°°

°°°°°° °

°° °°° °° °°

° °° °°

°° °° °°°° °° °°°

°°°°° ° °°° °° °

°°

°° °°°° °° °°°°

°° °° °°°°° °°°° °° °° °

° °° °° °°

°°°° ° °°

°°°°°°°°

°°° ° °°°°°° °°°°°°

°°°°° °° °°

°°°° °° °°

°°

°

°° °° °°° °° ° °° ° °°

°

°°° °°

°°° ° °°°° °

° °°° °° °° °°°°° °°°°°

°°

°

°° °°° °

° °°

°°° °°°

°

°

°° °

°°°°° °°

° °° °° °°° °°°°

°°° °

°°°° ° ° °

°

° °° °° °° °°

° °° °°° °

°°° °°°° °

°°°° °°°° °° °°° °°°°°° ° °°°°° °

°°° °°

°°

°°° °°

°° °°°°° ° °°

°°°° °°°

°°° °°

°°°°°°°

° °° °°°° ° °°°

° °°°°°

°°

°°°

°°° ° °°° ° °

°°

°°

°° °°°°°°

°°° °

°°°°°°°°°°°° °°

°

° °°°

° °° ° °°°° °° °°° °°

°°

°°°° °°°°° °° °

°° °°°

°° °°°°°° ° °° °

°°°° °°°

°°° °°

° ° °°°°°° °° °° °°°

°°

°°°°° °° °°°

°°

°° °° °°° ° °° °

°°°°

° °°°°°° °°°° °°° °°°°°

°° ° °

°°°°

°°° °°°°°

°° °°°° °°°°°°°° °° °

° °° ° ° °° °° ° °° ° °° ° °°° °° °°° °°

°°° ° °°°°° °

°° °°° °° °

°° °

°° °°°

°° °°° °°

°° °

° ° °° ° °°° °°°°

°°

°° ° °° ° °°°

° °° ° ° °

°°°°°°° °° °

°°

°° °°°°° °°° °°°°° °° °°° °°

°°

°° °° °°°° °° °° °° °° °°

° °° °

°°

°°° ° °° °

°°°

°°° °

°°°

°° °°°

°°° °° °°

°°°

°°° °° °°

° °°° ° °°°° °°°°

°°

° °°°

°°°°

°° °°°°°° ° °

°°° °°°

° °°

°°° °° °°° °° °°°

°°°° ° °° ° °°° ° °°° °°°° ° °°°°

°°°°

°°° ° °° °°°°° °°°°°°° °

°°

° °°° ° ° °°°

°°

°° °°

° ° °° °°°° °°

°°

°° °°°° °° °°°

°°°

°°°°° °°°°

° °° °°° °°

°°°°° °

°°

°°°°

°° °°° °° ° °°°

°°

° °°° ° °°°°

°° °° °°

°° °° °°

°°

°°° °

°°

°°°

°° ° °°

°°° °° °°° ° °°

°° °°°°°° ° °°° °°

°° °° ° °°° °°°°

°°

°° ° °° °°°°°

°°° °°

°° °°

°°

°°°°° ° °°°°°°°°°° ° °°°°

°° °°

°

°°°

°° °°°° °°° °° °

°° °°

°°° °° ° °°° ° °°

°°° °°

°°°°° °°° °°°

°°° °°°°°°°° °° °°

°°°°°°°

°°° °°°° °° ° °°° ° ° °°° °°°°°

°°

° °° ° °° ° ° °°°°°° °°

°°°°

°° °° °°

°°

°°° °

°° °

°°

°° °°°°° °° °°

°°°°°°°° °°°° °°°°

°°° °°

°°

°°

°°°°

°° °°° ° °°°° °

° °°°

°°° °°°°°°° °

°° °°°

°°

° °°

°° ° °° °°°°°

°°°°

°°°°

°° °°°°

° °°°° °° °° °

° ° °°°°°°°

°°°° °° °

°° °

°°

°°° °°°

°° °°

°°°

°° ° °° ° °°° ° ° °°

°°

°°°° °°°

°°

°°

°° ° °°°° °°°

° °° ° °°° °° ° ° °° °

°°°°° ° °°° °

°°° °°°

° ° °° °°° ° ° °°° °° ° °°

° °°

° °° ° °°° °°°°° ° °

° ° °°°° °° ° °°°°°°° ° °°° °°°° °

° °°°°° ° °

°° °°°°° °

° °° °°°° °°

° °°°°° °°

°°

°° °°° °

°°°°

°°

°° ° °

°°° °°° °°

° °°°°°° °°° °

°°

°° °°°°

°°° °°°°° °° °°°° °°°°° °° °° ° °°°°° °° °°° °° °°°

°°°° °° °° °

°°

° °°°

°° ° °°°° ° °°

°°° ° ° °°°° ° °° °°° °°° ° °° °

°° °°°° °° ° ° °° °° °°°

°° °°°°°

° °°° °°°°

°°

°°°° °°°° °° °° °°

°° °°° °° ° °° °°°°° °°°

°°°

°°°°°°

°°° ° °° °°° °° °°°° ° °°°

°°° °°

° °°°° °° °° °°° °°° °° ° °°°° °° °° °°° ° ° °° °°

°°°°° °°° °°°°° °°

°° ° °° °°

°° °°°° °°° °

°° °°° °° °

°°° °

°°

° °°

° °°°

° °° °° °° °

°°° °° °°° °°°° ° °

°°° °°

° °°° ° ° °°°°° °°

° °°°°°°°° °°°°°°

°°

° °°°°

°°°

° °°° °°°°°° °°° °°° °°

°°°°°

°°°°°° °°

°° °°°

° °°° ° ° °°° °

° °° °° °°°

°°° °°°°° °

°°

° °°

°° °°°°

°° °°° °° °°°° °°°°°°°°° °° °°°°°° ° ° °°° °°

°°

° °° °°°° °°°

° °°°°

° °°°° ° °°

° °°°° °°°°° ° °°° °° °° °° ° °°°° ° ° °

°°°

°°

°°°°°

°°

°°°° °°°°°°

°°

°° °° °

°° °°

°°° ° °°

°°

°°

°°°°° °° °° °°

°° °° °°°° °°° °°° °°

°°

°° ° ° °°°° ° ° °° °°°° °° °° °°

° ° °° °°° ° °°

°° °°°° °°° °° °

°°

°°

° °°°°°

° °° °° °°°°° ° °° °°° °° °

°° ° °°°°°

°°°°

°°° °° °°° °

° °°° °°

°° °

°°° ° °°°°°

°°° °°°° °°°°

°°°° ° °°°°°

° °°°

° °°°° °°°° °°°°

°° °°°° °

° °°° °

° °°°°°

°°

°° °°°° °°°°°° °°°°°° °° °

° °°°° °°°°

°° °°°°°

° °° °°

°°°°° °°° °°° °

°°

° °°°°

°°

°° °°

°°

°° °

° ° ° °°

°°°

°°° ° °°°°°

° °°

°° °° ° °° °° °

°° °

°°°° °°°°°

°° °°

°°

°°°

° °° °°° °°° °°° °° °°° °°° °° °°

°° °° ° °° °° °°° °

°°°

° °° °°°

°°° °°

°° ° ° ° °° °°

°° °°°°° ° °°° °

°°

° °° °° °°°° °° °°

°°°° °°°°°

°°

°° °°°°°°° °°

°°°° °°° ° °°

°° °° °° ° ° °°

° °°° °°°°°°°°°° °°° °

°° °° °

°° °° °°° °°

°°

°°°

° °°

° °°°°° °°° °° °° °

°°° °° °°° ° °°°°°°°° °°

°° ° ° °°°°°

°°° °°°° °° °°°°

°°°° ° °° ° °°° °

°°

°° °°

°° °° °°°°° ° °°°°

° °° °°°°°

°°° °°°° °

°°°°° °° °° °° °° °° °°

°° °°°

°°°° °° °° ° °° °°°°°

°°°°°°

°°°

°°°° °° °°°°

°°

°° °°° ° °°°°° °

°°

°°° °°°°°°°

° °°°°

° ° °°°

° °°°

° °°°°

°°° °°° °°° °°° °°°° °°° °°° °

°°° °°°°

°°° °° °°°

°°°°°°°

° °°°° ° °

°° °°° ° °°°°

°°° °° °° °° °

°°°

°°°°°° °°°

°°°°°

°°° °° ° °° ° °° ° ° °°

°°°°°°

°°°°

° °°°

°°° ° °°°°

° °°°

°°° °°°° °

° °°°°

° °° °° °°

°°°°°°°°°

°° °°°° °° °°°° °° °°° °° °° ° °°° °°

°°°°

°° °°°°°°

°°°°° °° ° °

°°° °°° ° °°°

°°° °° °

°°

° ° °°°°°°°°°

°°°°°°° °° ° °°°°° °°

°°

°° °°

°° °°°

°°°°° °°

°°°°°

°°° °°°°

°°°°

°°

°°

°°

°°°°° °°°°°°° ° °°° °° °°°

° °°° °° ° °° °°

°°° °°° °

°° ° ° °°°° °°°°°°

°°°°°°

° °°°°°° °° °° °°°°

°° ° °°°°°°

°° ° °° °°° °°

°° °°°°

°° °°°° °°

°°°°

° °°°°°°° °°°°

° °° ° °°°° °°

°°°° °°

° °°°° °°° °

°°

°° °

° °°° °°° °°° °° °°°° ° °° °°

°°

°°°° °° °° °° °°° °°° °

°°

°°

°°°°° °°°° °° °

° °°°° °° °°°

°° ° °° ° °°°

°°°°°

°° °°°° ° °°°° °°° °° °

°°°°°

(800V,500V)(800V,600V)(800V,700V)(500V,600V)(500V,700V)(600V,700V)

1

Page 4 of 18(page number not for citation purposes)

Page 5: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

Consider a fixed r and define α = α(r). Then there are onlytwo parameters in (9) and (10) that determine the shape

of mr (A), namely α and β. Consequently, when aR, aG ≠ 0,

M is independent of A if and only if α = 0, that is, when r= (bGaR)/(bRaG). For this particular value of r, we have that

the observed log-ratio is M = log2 (aR/aG), which is inde-

pendent of scale factors. Moreover, for log-ratios of non-differential expressions, that is log2r = 0, to be independ-

ent of A, it must be true that bGaR = bRaG or, equivalently,

bR/bG = aR/aG. It is also clear from (10) that the scale

parameters cannot introduce any curvature themselves,but only enhance or decrease curvature introduced by theoffset. In addition to this, relative scale different from oneshifts the log-ratios up or down. Moreover, the size of theeffect that the offset terms have on the log-ratios decreasesas the intensity increases. At high intensities the only

observable effect is that from the relative scale betweenthe two channels. The observed log-ratio for non-differen-

tially expressed genes at high intensity is M∞ ≈ log2β. In the

case of a linear transform (aR = aG = 0), α is (always) zero

and M is therefore independent of A for all r. The remain-

ing log-ratio bias is log2β. If aR, aG > 0, the "weakest"

observable data point is (A0, M0) = (1/2·log2(aRaG),

log2(aR/aG)), which is independent of both gene expres-

sion and scale parameters. All fold-change curves con-verge to this point. In the left graph of Figure 1 the effect

of the affine transform = {(aGaR) = (200,20), (bG, bR)

= (1-4, 0.8)} at different fold changes is depicted. The dif-ferent curves plotted are the functions M = mr(A) for dif-

ferent fold changes. Note the asymmetry in curvaturebetween up and down regulation. From the above discus-sion we know that the observed log-ratios are independ-

ent of the log-intensities for log2r ≈ -2.51 with value M0 ≈-3.32. The log-ratio for non-differentially expressed genes

at high intensities is M∞ ≈ -0.81. A real-world example

taken from [11], where the same array was scanned four

dM

dAA

r

r rx rx AR G== −

+( )( )

( )

[ ( )].

α

α β14

210

2 2

1

Bias in the log-ratios introduced by the affine transformFigure 2Bias in the log-ratios introduced by the affine transform. Left: Bias in the log-ratios introduced by the affine transform

. Each line displays the relationship between the observed and the true log-ratios at a certain (observed) log-intensity A.

Each curve is marked with the value of A. We have chosen to truncate the curves when the signals become saturated and the labels for those curves are positioned approximately where they have been truncated. For low intensities there is a great bias (deviance from the diagonal line), especially for large fold changes. At higher intensities the bias is smaller. The curves intersect at the one fold-change level that is independent of the intensity. Right: Real-world example of log-ratios for non-normalized

versus affine normalized (with 5% negative) signals. The affine parameters are ( , , log2 ) = (45.7, 27.0, -0.418). To clarify

the intensity-dependent effect only data points close to A = 0.0, 0.5,...,16 are shown.

−15 −10 −5 0 5 10 15

−15

−10

−5

05

1015

r = log2(xR xG)

M=

log 2

(yR

y G)

15

15

14

14

13

13

12

12

11

11

10

10

9

9

8

8

7

7 6 6 ° °°

°°° °°°

°° °° °

°°

°

°°°°

°

° °

°°

°°°

°°

°°

°°° °

°

°

°

°°

°°

°°

°

°°

°

°°°°

°

°

°°°

°

°°

°°

°

°

°

°

°

°

°

°°

°

°

°

°

° °°°

°°

°

°

°°°

°

°° °°°° °

°°°°°° °

°°

°°°°

°°

°°°

°°°°°°°°°

°°°° °°° °

°

°

°°°

°°° °

°°°°

°°°°

°°

°

°°°

° °°

°°°° °°°

°°°

°°

°°°

°°°° °°

°°

°°

°°

°

°

° °

°

°°°°

°° °°

°°°

°

°°

°°°

°°

°°° °

°° °°°° °°°

°°°°

°

°°°

° °°°

°

°°° °

°°

°°°°

°

°

°°

°°

° °°

°

°° °°°

°

°

°°°

°

°°

°

° °°°

°

°°°

°°

°

°°

°°° °

°

° °°

°

°

°°°

°

°

°°

°°°°

°°°°

°°°° °°°°

°°°

°

°

°

°

°

°°

°°

° °

°

°

°°° °°°

°

° °°

° °°

°°°°

° °° °

° °

°°

°°°

° °

°° °

°°°

° °°°

°° °

°°

°

°

°

°

°

°° °°° °°°°

°°

°

°

°°

°°

°°

°°°°

°°

° °°°°

°

°

°°°°°

°

°°

°°

° ° °°

°

°°

°°°°

°°°

°

°°°°°°

°°° °

°° ° °

°

°

°°°

°°

°

°° °°

°

°

° °

°

°

°

°

° °°°°

°°

°

°

°

°°°

°°

°

°°

°

°

°°

°

° °

°°

°

°°°

°°°

°°

°°°°°

°

°°

°°

°°°

°°

° ° °°

°° °°°

°

°

°°

°°°

°

°°

°°

°°°

°

°°

°

°

°° °

°°

°°°

°

°

°

° °

°

°

°° °

°

°°°

°° °

°

°

° °°

°

°

°

°

° °°°

°°°°

°°

°°

°°°

°°°

°

°°

°

°°°

° °

°°°

°

° °°

°°

°

° °°°

°

°

°

°°

°°°

°°

°°

° °°° °

° °°° °

°

°°

°°°

°

°

°

°°°

°

°

°

°

°° °°° °

°

° °° °

°°

°

°°°

°°

°°°

°

°°

°

°

°°

° °°

°

°

°°°

°°°

° °

°

°°°

° °°

°

°

° °°°°°

°°

°°

°° °

°

°°

°

°

°°

°°

°°

°°°

°

°°

°

°

°°°

°

°

°

°

°°

°

°° °

°° ° ° °° °

°°°° °

°

°°

°° °°°°

°°

°°

°°°°

°

°

°

°°

°

°

°°°

°°

° °°°°

°

°°

°°

°

°° ° °°° °

°°

°°°

°°°

° °

°

°°

°

° °° °

°

°°

°

°°

°

°°

°°° °

°

°

°

°

°° ° °°

°°°°

°°°

°°

°

°°°

°°°°

°°

°

°° °°°

°°

°

°

°°

°°°°

°

°°

°

°°°°

°

°

°°

°°

°

°°°

°

°°

°

°

°°

°°

°°°

°

°°°

°

°°°

°°

° °°°°°

°°

°°

°°

°°

°

°

°

°

°

°

°°

°

°

°° °°

°

°°

° °°°°°° °°°°°°

°°°

°°

°

°°

°°

°°°

°

°

°° ° °°

°° °°°

°°°

°°

°

°

°° °°

°

°

°

°

°

°°

°°°

°

°

°°°

°°°

°

° °

°

°°

°

°°°°

°°°

°°°

°°° °

°

°°°

°°°

°°° °°

°

°°

°°

°°

°

°

°

°

°°°°

°

°

°

°°°

° °

°

°

°

°

°°°

°°

°

°°

° °°°

°°

°

°°°°°°

° °°°° °°°°°°

°°°°°°°

°

°° °°

°

° °°° °°°

°°

°°

°°°° °

°°°°

°°°°

°°°°° °

°° ° °°°

° °°°

° °

°

° °°°°

°°

°

° °°°°

°°

°°°

°

°°

°° ° ° °

°°°°

°°°

°

°

°°

°°

° °

° °°

°

°°

°°

°°

°°

° °°° °°

°

° ° °

°

°°°

°°°

°°

°

°°

° °°

°°

°

°° °° °

°°°

°

°°

°

°

°

°

°°

°

°

°

°

°

°°°

°°

°

° °

°°

° °°

°

°°

°

°°

°

°°

°

°° °°

°

°

°

°°

°°

°°

°

°

°

°

°

°

°°°

°°

°

°°°°°

° °°°°°°°

°°

°°°°

°°°

°

°

°°

°

°°

°°

°°° °°

°°

°°° °

°°°°°°

°°°°

°°

°°

°°

°

°°

°°

°°

°

°

° °°°

°

°

°

°

°

° ° ° °°

°

°°

°°° °°°

°

° °°

°

°

° °°

°°

°

°°°°

°

°

°°

°° °

°

°°°°

°

°

°

°°° °

° °°°

°°°°°

°° °

°

°°°

°

°°

°°°°

°° °°° ° °

°°

°

° °°°

° °

°

°°

°°

°

°°

°°

°

°°

°° ° °

°°

°

°°

°

°°

°°

°

°

°

°°°°° ° °

°°°°°°°

°°°° °

° °

°

°

° °°°

° °°

°

°° °°°°

°° °

°

° °°°

°°

°°

°

°°°

°°°°

°

°°

°°

°°

°°

°°

°° °

°° °

°°°°

°°°

°°° °°

°

°°

°

°°°°

°°°°°

°

°

°

°

°° °°

° °°° °

°°

°° °°

°°°

°°

°°

°°°

°

°

°°

°°

°° °°° °

°°°°

° °°°°° °

°°

°

°°°

°

°

°

°°° ° °

°°

°

°° °°

°°°°

°°°

°

° °

°

°

° °°

°

°°° °

°°

°°

°

°

°° °°

°°

°

°

°

°°

°

°°

°

°

°°

°°

°

°°° °°

°°

°

°°° ° °

°

°° °°

°

°°°

°

°

°°°°°°

°°

° °°

° °

°

°

°

°

°

°

°°

°

°

°

°

°°° °

°

°°°

°°°

°

°°° °°°

°° °

°

°°°

°

°

°°

°

°°

°

° °°

°°°

°°°°°

°

° °°

°

°

°

°°

° °°° °°

°°

°°

°°°

°

°°°°°

°

°

°°

°

°°

° °°

° °

°

°

°°°°°

°°°

°

°

°

°

°

°

°°

°°

°°°°°°°°°

°

°° °°°

°

°

°

°°°

°°

°°

°°°°°° °°

°°

° °°°°

°

°°

°°°

°°

°°

°° °° ° °° °°

°°

°

°

°°°

°°°°

°

°°°°°

°

°°°

°°

°°

°°°

°°

°°

°

°°°

° °°

°° ° °

°° °°°

°

°

°

°°

°

°°°°°

°°

°°

°° °°°

°

°° °°° °°°°

°°

°

°°

°

° °

°°

°°°°

°° °

°

°

°°

°° ° °

°

°°

°° ° °°

°

°°

°°°

°° °

°

°°

°

°

°

°° °°

°°

°

°

° °°°°°

°

°

°

°°

°° °°

°

°°°

°°

°°°

°°

° °°°

°°

°°

°°

°°° °

°°°

° °°°

°°

°

°°

°

°

° °°°

°°°°

°

° °°

°

° °°

°

°

°

°°°°°°° °°°

°

°

° °

°°°

°

°°

°°

°°

°°

°

°°°°

°

°°°

°°°

°°°° °

°°

°°

°°°

°

°°

°

°° °°°

°°

°

°°°

°

°°

°°

°°°

°

°

°

°

°

° °°

°°

°° °

°°°°

°

°°

° °°°°°° °

°°°

°°° °°° °°

°°

°

°

°

°

°°° °° °

°°°

°°

°

° °°°°

° °°

°° °

°°°°

° °°°

°°

°

°

°°°°

° °

°

°

°

°°

°

°°°° °°

°°°°

°°°

°

°

°°°

°°

°°

°

°

°°

°°°

°

° °

°

°°

°

°°

°°

° °°

°

° °°

°°

° °° °°

°°

°

°°°

°°°°

° °

°° °°° °

° °°

°°°°

°°° °°°°

°°

°

°°°°°

°°°° °

°°°

°°

°°°°°

°°°°

°°

°

°

°

°° °°

°°°°

°°

°° °

°

°°

° °°

°°

°°°

° °°

°

°

°°°°

°°

°

°°

°°° °°°°

°°

°° °°°

°

°

°°

°° °

°°

°

°° °°°°°

°

°

°°

°

°°

°

°

°

°°

°°°

°° °

°°

°°°

°°

°°

°° °

°

°

° °°°°

°

°°°

°

°

°°

°°

°

°°°

°°

°

°

° °

°°

°° °°

°

°°°

°°

°

°°° °

°

°°

°°

°° °

°

°

°°

°°°° °

°°°

° °°°

° ° °°

°°

°°

°°°°° °°

°

°°

°

°

°

°°

°

°

°

°°

°°

°°°

°° °°°

°

°

°°°°

°° °° °

° °°° °

°

° °°

°

°

° °°°°

°

° °°

°°°

°°

°° °

°

°° °°

°

°°°°° °

°° °°

°°

°

°°

° °° °°°

°°°

° °

°

° °°

°

°°°°°°

°°

°°

°

°°°

°° °

°

°

°°

° °°

°

°°

°°

°°

°

°

°

°

° °°

°°°

°° °°°° °°

°°°°

°

° °° °°°

°°

°

°°

°°°

° °° °°°°

° °°°°°

°°

°

°

°°

°°

°°°

°° °°° °°

°°°°

°

°°°

°

°° °°°° °

°

°°°°

°°

°°°

°

° °

°° °

°° ° °°°

°°

°°°°°°°° °

°°°°°

° ° °°

°

°° °

°°

°°

°°

° °

°

°

°

°°°

°°

°

°

° °

°

° °°

°

°°°

°

°

°

°

°

°°

°°

°°°°

°

°

°

°

°

°

°

°°

°°

°

°

°°°

°°°° °

°

°

°

°°

°

°

°°°

°°° °°°

°

°

°

°° °

°°°

°° °°°°

°°

°°°°

°

°°°

°°°

°°° °°°

°°°

°°

°°

° °

° °

°

° °°°

°°°° °

°°°

°

°°°

°° °

°

°

°°°

°°° °°

°°

°°°°°°°

°°°

°°

° °°

°

°°°°°°

°°°

°

° °°

°°

°°°°

° °°

°°

°

°°

°

°°

°

°

°°°° °°

°°°°

°°

° °°°

°°

°

°°

°°°

°°

° °°° °

°°°°°

°

°°

°

°°

°°

°

°°° °

°°°

°°

°°°

°

°°°°

°

°°

° °° °°

°°

°°°°°°

°

°

°

°

° °

°

°°° °°

°°

°

° °

°°

°° °°

°°

°°

°°

°°°

°°

°°

°°

°°

°

°

° °°°

°°

°° °° °

°

°°

°° °

°

°

° °° °

°

°

°°

° °°

°°°°°

°

°°°°

° °°

°°°

°°°°° °

° ° °°

°°

°

°°

°°

°° °

°

°°

°°

°°

°°°

°°°°

°°°°°

°°°°

° °

°°

°

°°°

°°° °

°° °°°° °

°°° °

°° °°

° °°

°°

° °° °

°

°

°

°° °°

°

°°

°°°°

°° °°°

°°

°° °° ° °

°

°° °°°

° °°

°° °°

°

°

°

° °°°°°°

°°

°°

° °°

°

°°

°°

°

°°

°

°°

°°°

°

°°°

°°

° °°°°

°°

°

°

°°°

°° °°°

°°

°°°°

°

°

°

°

° °°°

°°°°°°

°°°

°

°

°° °°

°

°°°°

°°°°°

°°°

°

°°

°°°

°

°°°

°°°° °

°°°

°°

°

°°°

°°

°°°°

°°°°

° °°

°

°

° °°°°

°°°°°

°°°°

°°

°

° °°

°°

° °°°°°

°

°°°

°° °

°

° °

°

°°

°

°

° °°

°°

°°

°

°° °°°

°°°°

°°

°°°°°

°°°

°° °° ° °°

° ° °°° °

°°° °°°

° °°°

°°°°° °°°° °

°°

°°°°

°°

°

°°

°° °

°°°°

°

°° °° ° °

° °°

°°

°° °° °° °°

° °°

°°

°

°

°°°°

°

°°

°

°° °

°

°°

°°°° °

°

°

°

°

°° °°

°

°

°°°

°

°°

°° °° °°°

°°

°° °°°

°

°°

°

° °°

°

°° °

°

°°

°

°°°

°

°°°

°°

°°°

°

°

°°

°° °° °

°°°

°°°

°

°°

°°

°°

°°

°° °°

°

°°

°°° °°° ° °

°

°°°°

°°

°°°

°

°°

°°

°° °

°

°

°

°°

°°

°

°°

°° °

°°°

°

°

°°

°°

°

°

°

°

°°

°°°

°

°

°

°

°°°

° ° °°°

°°

° °° °°

°°°

°°

°

°

°°°° °° °

°°

°

°°°

°°°°°

° ° °°

°

°

°°

°°

°°°

°

°°

°°

°

°° °

°

°°

°° ° °°

°°°

°°°

°°°

°°

°°°°°

°°

°°°

° °

°°

°

°° °

°

°°°

° °°°

°°°

°°

°° °

°°

°°°

°

°°°°°

°°

°°°

°°°

°°°

° °° °°

°°°°

° °°°

° ° °°°°

°°°

°° °°

°

°° °°°° °

°°

°°°

°°°° °

°°°

°°° °

°° °°° °

°°°

°°°°

°°°

°° °°° °°

°

°

°

°°°

°°

°

°°°

°°

° °°

°°° °°°°°

°°°

°°°

°°

°°°°

°°

°

°

°°

°°°

°

°

°° °

°

°°

°° °°

°°

°°°

°°

°

°

°°°

°

°

°°°° °

°

°

°°

°

° ° °°°°

°°° °°° °°

°°

°°°°

°

°

°°

°

°°

°

°° ° °°°°

°°° °

°°

°°

° °°°°

°°

°°

°° °

°

°

°

°

°

°°

°

°°° °

°

°°°

° ° °°° °

° °° °

°°

°°

°°

° °°°

°

° °°

° °°

°

°

° °° °°°

°

°

°

°°°

°° °

°°

°°

°° °

°° ° °° °°

°

°° °°°

°°

°

°°

°

°°

°

°°

° °°°

°

°°°°

°

° °°

°°°°°

°

°°

°° °

°

°

°

°

° °°

°° °

°°° °°°

°

°

°°° °°

°°° °

°°° °

°°

°

°

°°°° °

°°°

°° °°

°° °°°

°°°° °

° °

°

°°

°

°°

°°°°°

°

°

°

°

°°°

°°

°

°°°°°°°

°°

°° °°

°

°°

°°° °° °°

° °°

°°

°

°

°

°°°° °°

°

°°°

°

°

°°°°

°°°

°

°°

°

°°°

°°

°

°°

° ° ° °°

°°

°

°°°

°

°

°

°

°

° °°°

° °

°

°°°°

°

°

°° °°°

°°

°°

°

°°°°

°°°

°

°°°°°°°

°°° ° °°

°°°

°°

°°

°°°°

°°

°°

°

°

°°°

°°

°°

°

°°° °

°°

°

°°

°°

°

°° °°

°°

°

°°

°°°

°°

°°

°°

°

° °°

°

°°

°°

°

°°

°

°°

°°

°°

° °°

°°

°

°

°°°

°°

°°

°° °°°°

°°°° °°

°°

°

° °

°

°

°

°°

°

°

°

°° °

°

°

°°°

°°

°° °

°°

°

°

°

°° °° °°

°

°

°°°°°

°

°

°

°°°

°

° °

° °°

°

°°

° °

°°

°°

°

°

°°°

°°°

°

°

°

° °°

°

° °°

°°

°

°°

°° ° °°

° °°°

°

°

°

°

°

°

°° °°

°°

°

°

°°

°

°°°°°

°°

°°°°

°

°° °

° °°°

° °°°

°°

°

°

°°

°

°

°

°

°

°

°°°

°°°

°°

°°

°°°°

°°°

°°

°

°

°°

° °°

°°°

°°°°

°

°

° °°

°°

°

°°° °

°

°

°°

°°

°

° °°

°°

°

° ° °°

° °°°

°

°

°

°

° °°

°

°

°°° °

°°°

°°°

°°

°°

°°°

°°

°

°°

°°

°°

°

°

°°

°°

° °

°

−5 0 5

−5

05

M(affine 5%)

M(ra

w)

1

aG aR β

Page 5 of 18(page number not for citation purposes)

Page 6: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

times at various scanner PMT (sensitivity) settings, isshown in the right plot of Figure 1. Observed within-chan-

nel log-ratios Mc = log2( / ) are plotted against the

within-channel log-intensities Ac = log2( ) /2 for

the red channel (c = R) where and are observa-

tions at two different scanner PMT settings. In this case itturned out that all scans share the same offset. For moredetails, see [11]. For another example, see Figure 9.

Bias in the log-ratios

From (9) we see that the bias in the log-ratios introducedby the affine transform is intensity dependent. This non-linearity can be observed as a propeller shaped graph inFigure 2, where the log-ratios under the affine transform

are plotted against the true log-ratios at different log-

intensity levels. If a regression line is fitted between theaffine transformed log-ratios and the true log-ratios, theslope will always be less than one. Moreover, this is truefor all normalization methods that do not overcompen-sate for channel offsets. This may explain why some stud-ies show that cDNA microarrays tend to compress theabsolute log-ratios compared to oligoarrays and QRT-PCR[16-18] including a recent study [19]; the channel offsetsin cDNA microarrays are probably larger. When [20] com-pared cDNA microarray log-ratios to Northern blot log-ratios for their background correction method they foundsimilar behavior, which emphasizes the close relationshipbetween offset and background estimates. We will returnto this later. The same patterns is seen in an M versus Mscatter plot for non-normalized versus (affine) normal-ized data. See right scatter plot in Figure 2. To visualize theintensity dependency of the log-ratios, only data points atcertain log-intensity levels are plotted. For details on data,see Methods.

Normalization in generalDepending on the design of the microarray experiment,we expect to observe different types of patterns in data. Atypical example is where a subset of the genes studied isexpected to be non-differentially expressed in a test sam-ple compared to a reference sample. However, it is com-mon that the patterns of the observed expression levels arenot in line with the expected patterns of the true expres-sion levels. Whenever this happens various strategies canbe adopted in order to make the normalized data meet theexpectations. Normalization of microarray data is aboutidentifying and removing such artifactual variations thatare not due to noise or natural variability. An example isthe intensity-dependent log-ratio artifact.

In the following section we will, with the affine model inmind, revisit various more or less well known normaliza-tion methods that directly or indirectly remove intensity-dependent artifacts. With the gained knowledge, we thenpropose a generic and robust multi-dimensional normal-ization method for affine transformed data.

To be more precise in what follows, we will refer to meth-ods that correct for differences in observed and expecteddata, that is, conform the signals to a standard or a norm,as normalization methods, where normalization has themeaning of conforming to expectations. Sometimes cali-bration data, also known as control data, which containstrue relative or absolute expression levels, is available.Such data can be used to correct for discrepancies betweenobserved and true expression levels. We refer to methodsthat use calibration (read known) data points to correct forartifacts as calibration methods. To this category we alsocount methods that are based on models for which we canfind the inverse of the measurement function. For precisedefinitions, see the introduction of [21]. Calibrationmethods are not discussed further in this paper.

Typically a normalization method is only capable of esti-mating α = aR - βaG for r = 1 in (9) and not the individualoffset terms. This is because the often used assumption thatmost genes are non-differentially expressed (and/or that thereis an equal amount of up and down regulated genes) willonly help us identify one fold-change curve, namely log2 r= 0. For a normalization method, like most calibrationmethods, to be able to estimate both aR and aG more con-straints are needed and without known data this can onlybe done based on more assumptions. As more research isneeded, we will not elaborate on such additional assump-tions in this paper. Thus, the rest of this paper will onlydiscuss normalization methods based on the commonlyaccepted assumption that it is possible to identify a set ofgenes that can be used to normalize the non-differentiallyexpressed genes.

Curve-fit normalization revisitedWhen [4] first observed the intensity-dependent effects onthe log-ratios they suggested a curve-fit normalizationmethod that is often referred to as lo(w)ess normalization.The simplest version of this assumes that the majority ofthe genes are non-differentially expressed regardless ofexpression level and for this reason the log-ratios areexpected to be centered around zero for all intensities.Under the above assumption, curves estimated usingrobust local regression methods such as lowess [22,23] orloess [24], or curves modeled by smoothing splines [25]will be good approximations for the mr = 1(A) function,which then can be subtracted from the observed log-ratios

M ← M - mr=1 (A) = mr (A) - mr=1(A). (11)

ycv( ) yc

w( )

ycv( ) yc

w( )

ycv( ) yc

w( )

1

Page 6 of 18(page number not for citation purposes)

Page 7: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

Page 7 of 18(page number not for citation purposes)

Curve-fit normalization of affine transformed dataFigure 3Curve-fit normalization of affine transformed data. Curve-fit normalization of transformed data. Left: Log-ratios as

a function of log-intensities for different fold changes. Note that the distance between up- and down-regulated genes at any intensity is the same before and after the normalization. Right: Normalized log-ratios versus true log-ratios. We see that inten-sity-dependent artifacts have been removed for the observed and true log-ratios where all curves intersect (here at (0, 0)).

0 5 10 15

−15

−10

−5

05

1015

A = log2(yRyG) 2

M=

log 2

(yR

y G)

13 5 79

11

13

15

1357

9

1113

15

+8

−8

+6

−6

+4

−4

+2

−2

0

−15 −10 −5 0 5 10 15

−15

−10

−5

05

1015

r = log2(xR xG)

M=

log 2

(yR

y G)

15

15

14

14

13

13

12

12

11

11

10

10

9

9

8

8

7

7 6 6

1

Perpendicular translation normalization of affine transformed dataFigure 4Perpendicular translation normalization of affine transformed data. Perpendicular translation normalization of

transformed data. The optimal amount of normalization shift in the raw data is a = 60, which corresponds to = 80 and

= 140. Left: Log-ratios as a function of log-intensities for certain fold changes. The r = 1 curve (dot-dash blue) is horizontal, that is, for this specific value of r and a the log-ratios are independent of the log-intensities. Right: Normalized log-ratios versus true log-ratios. From this graph it is clear that we obtain the minimum error in log-ratios at zero-fold change. The dotted curves correspond to the minimum and maximum log-intensities possible to observe.

0 5 10 15

−15

−10

−5

05

1015

A = log2(yRyG) 2

M=

log 2

(yR

y G)

1357

9

11

13

15

1357

911

1315

+8

−8

+6

−6

+4

−4

+2

−2

0

−15 −10 −5 0 5 10 15

−15

−10

−5

05

1015

r = log2(xR xG)

M=

log 2

(yR

y G)

15

15

14

14

13

13

12

12

11

11

10

10

9

9

8

8

7

7

1

′aR ′aG

Page 8: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

Under an affine transform, mr(A) and mr=1 (A) are as in(9), but we do not know of a closed form expression for(11). An example of a curve-fit normalization under theaffine transform is depicted in Figure 3. Note that theasymmetry between up- and down-regulated genes is notcorrected for. Moreover, if we look at the overlaid (log2xG,log2xR) grid in the left graph of Figure 3, we find that thecurve-fit normalization warps it and removes the other-wise orthogonal relationship between log2xR and log2xG(if the (2A, M) plane is considered).

Perpendicular translation normalization revisitedThe perpendicular (shift-log) normalization method pro-posed by [13] corrects for differences in the channel off-sets. It normalizes log-ratios using a translation transformwhere a constant, a ∈ �, is added to the signals in onechannel and subtracted from the other;

We refer to this translation normalization transform asthe perpendicular translation normalization, because itmoves (xG, xR) perpendicular to the xR = xG line. From (9),we get that the observed log-ratios mr(A) can be madeindependent of the intensities if and only if

As this is a function of r, it is only for a single fold changeat a time this method can make M independent of A. Themost common choice is r = 1 for which the optimal per-pendicular shift is

which is the weighted difference between aR and aG with

weights bG/(bG + bR) and bR/(bG + bR), respectively. The dis-

tance from the r = 1 curve to the M = 0 curve for the opti-

mal perpendicular shift is log2 β. In other words, the

perpendicular shift normalization will not remove anoverall bias in the log-ratios (although it is not hard to

estimate β afterward). The optimal shift for is a = 60

with log2β = 0.57. The result of this normalization is

depicted in Figure 4. Note that mr(A) after normalization

is constant for r = 1.

As suggested by [13], one way to find the optimal shift ais to minimize the curvature by minimizing the variation

of the log-ratios after applying the shift a. To do thisrobustly, the median absolute deviation (MAD) can beused as a measure of variation;

We have found that the variance of is unnecessarilylarge.

A problem with the perpendicular translation normaliza-tion methods, which is not related to estimator (15), isthat the optimal shift can result in non-positive signalsmaking a huge number of expression ratios invalid. Thenormalization method discussed next does not have thisproblem, but on the other hand, it will not work or workbadly under certain conditions.

Parallel translation normalization revisitedFor historical reasons, but also because it contributes toour discussion about background correction, the shift-logmethod proposed by [26] for stabilizing (read decreasingor shrinking) the variance of the measured log-ratios is ofinterest. A side effect of this method is that it can correctfor intensity-dependent curvature. It is based on a transla-tion transform where the same constant, a ∈ �, is addedto the signals in both channels;

Because (16) moves data (xG, xR) parallel to the xR = xGline, it is referred to as the parallel translation normalization.Again, as this is a function of r, M can only be made inde-pendent of A for one unique r at the time, cf. (9). For r =1 the optimal parallel shift is

which may be estimated as in (15). For example, for

the optimal parallel shift is a = 220 with the r = 1 curve0.57 units below the M = 0 line. The result of this normal-ization is depicted in Figure 5. From the above expression,we also see that an optimal value of a can indeed be neg-ative. For example, if (aG, aR) = (200,140) and (bG, bR) =

(1-4, 0.8), the optimal parallel shift is a = -60, which cor-

responds to an effective shift of ( , ) = (140, 80).

However, it can also result in non-positive signals andtherefore undefined log-ratios. For example, with (aG, aR)

= (20, 200) and (bG, bR) = (1-4, 0.8), the optimal parallel

shift is a = -440, which corresponds to an effective shift of

y a b x a i

y a b x a iR i R R R i

G i G G G i

, ,

, ,

;

; .

← + + ∀← + − ∀ ( )

12

arb a b a

b rbrR G G R

G R=

−+

> ( ), . 0 13

ab a b a

b bR G G R

G R=

−+

( ), 14

1

ˆ argmin ( ( )).a M aa i I

i= ( )≤ ≤

MAD1

15

a

y a b x a i

y a b x a iR i R R R i

G i G G G i

, ,

, ,

;

; .

← + + ∀← + + ∀ ( )

16

ab a b a

b bb bR G G R

G RG R=

−−

≠ ( ), , 17

1

′aG ′aR

Page 8 of 18(page number not for citation purposes)

Page 9: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

( , ) = (-420, -240). Moreover, from (17) we see that

when the scale parameters are equal there is no solution.This is because in such cases data is moved in parallel tothe xR = xG line making it impossible to get closer. As in the

case of the perpendicular shift normalization, the distance

between the r = 1 curve and the M = 0 curve is log2 β.

Hence, a parallel shift normalization will not remove anoverall bias in the log-ratios either and rescaling is neces-sary.

Single-channel translation normalizationA hybrid of the previous two methods is a normalizationmethod that translates the signals in one of the channelsat the time according to

where is the indicator function and a ∈ �. This will notgenerate non-positive signals as only positive translationsare applied. Moreover, because only one channel isshifted an optimal shift will always be found.

Rescale normalizationThe above translation normalization methods removecurvature for non-differentially by adjusting the offsetparameters in α = aR - βaG keeping the relative scale β fixed.Similarly, if the offset parameters are kept fixed, curvaturecan be removed by adjusting the relative scale β. In [11]we show that the scanner may introduce scale (PMT)insensitive (read fixed) biases to the channels. Thus, byadjusting the PMT settings such that the curvature of thepre-scanned data is as small as possible one minimizes |α|= |aR - βaG|. Indeed, this strategy may in practice be usedby many. However, from above we know that this canequally well be done numerically. It is much more impor-tant to adjust the PMT (and laser) settings such that thedynamical range of the signals is as large as possible. Fur-thermore, as scanner settings are often adjusted for eacharray separately, there will be a discrepancy betweenarrays, which in any case has to be normalized for.

Dye-swap normalization revisited

Dye-swap normalization, also known as reverse labeling andpaired-slides normalization, is a balanced experimentaldesign for two-color microarrays that can be used when-ever two technically replicated hybridizations are availa-ble. Consider an experiment with two sets of cellpopulations, A and B, for which relative gene expressions,{ri}i, are to be investigated. After cDNA is obtained

through reverse transcription, the two samples are eachsplit into two identical parts, one which is labeled with a

red fluorescent dye and one which is labeled with a greenfluorescent dye. The red cDNA cocktail from sample A ismixed with the green ditto from sample B and co-hybrid-ized to the DNA on the first array. After scanning, expres-

sion levels are observed. The same

is done for the remaining red-green pair for which

are observed. Dropping gene

index i, the dye-swap normalization suggested by [27] is

and similarly for the log-intensities

Thus, the result of a dye-swap can be written as the average

of two "virtual" hybridizations ( , ) and ( , ).

Moreover, if (and only if) the measurement functions are

equal for each array, that is, and ,

then the observed ratios will be identical to the true ratiosfor non-differentially expressed genes. For this to be true fordifferentially expressed genes we know that they also haveto be linear, that is, affine with zero intercept.

Several authors [28,29] have reported that dye-swap nor-malization does remove curvature, but less successfulresults have also been reported [30]. To better understandthe reasons why and when dye-swap normalization worksor not, we dissect the measurement functions fc of the four

channels c = R1, G1, R2, G2 into (vc � uc � tc � sc) where sc mod-

els the process of all steps up to the step where the (not yetlabeled) cDNA sample is obtained, tc models the labeling,

uc models the following steps including the hybridization,

′aG ′aR

y a b x a i

y a b x a i

R i R R R i

G i G G G i

, ,

, , ,

← + + ⋅ ≥ ∀

← + − ⋅ ∀

(

(a 0);

(a < 0);

18(( )

{( ( ), ( ))}, ,f x f xG B i R A i i1 1

{( ( ), ( ))}, ,f x f xG A i R B i i2 2

M M M

f x

f x

f x

f xR A

G B

R B

G A

= +

= −

12

12

1 2

2 21

1

2

2

( )

log( )

( )log

( )

( )

= +

= ′ +

12

12

2 2

1

1

2

2

1

log( )

( )log

( )

( )

(

f x

f x

f x

f x

M

R A

R B

G A

G B

′′

( )

M2

19

)

A A A

f x f x f x f xR A G B R B G A

= +

=+

=

12

4

1 2

2 21 1 2 2

( )

log ( ( ) ( )) log ( ( ) ( ))

log22 2

1 2

1 2 2 1

412

20( ( ) ( )) log ( ( ) ( ))

( ).

f x f x f x f x

A A

R A R B G A G B+

= ′ + ′

( )

′A1 ′M1 ′A2 ′M2

f fR R1 2= f fG G1 2

=

Page 9 of 18(page number not for citation purposes)

Page 10: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

and vc models the scanning etc. As channel R1 and G2 are

from sample A and the other two are from sample B, we

know that and . Further-

more, if the labeling process is well controlled, we can

assume that and . When

channel R1 and G1 are hybridized to array 1 and the other

two to array 2 we have that and

. Moreover, if the same scanner settings are

used for both arrays and everything else is equal, we have

that and . The overall

measurement functions for the channels are then approx-imately

For the dye-swap normalization to be efficient, we con-clude that we must control the process of extracting the

RNA etc. to an extent such that we can expect sA ≈ sB. More-

over, we must also be able to reproduce hybridizations

well enough such that u1 ≈ u2. If these requirements are

met, data will be self-normalized. Turning to the affine

model, from (19) we have, if and .

that a dye-swap normalization of affine transformationdata gives

and similar for and . For both virtual arrays, the

signals in both channels have undergone identical affinetransformations. We know from before that identicaltransformation in both channels does not introduce cur-vature for the non-differentially expressed genes and thatsymmetry between up- and down-regulated genes is pre-served, cf. perpendicular and parallel shift normalization.If the offsets in any of the two replicated channels are not

equal ( or ), the dye-swap normaliza-

tion will not work.

The above discussion assumed that the same cell sampleshave been replicated. If biological replicates are used, anadditional source of variability is introduced. However, aslong as it is possible to assume that for most genes

and . dye-swap normalization

should still perform well.

In [11] we observed that scanners can introduce channel-

specific offsets that are stable over time, i.e. and

. Assume that everything else is perfect, but the

PMT is adjusted separately for each array resulting in

so that (22) is not obtained. This may

be a reason why dye-swap normalization sometimes fails.

Alternative dye-swap normalizationAn alternative dye-swap normalization method is to aver-age the observed expression levels before taking the loga-rithm

and analogously for A. This approach uses the arithmeticmean of the observed signals whereas the previous dye-swap method used the geometric mean. To be able to saymore about the difference between the two approaches,we turn to the affine transformation for which we have

where a' = aR + aG and b' = bR + bG. Again, we note that thedye-swap method makes the transforms in the resultingtwo virtual channels equal. Comparing the bias in log-intensities between the geometrical and the arithmeticalapproaches, for the latter we have

whereas for the former we have

Because (aR + aG)/2 ≥ , we conclude that the log-

ratio biases are always larger for arithmetic than geometric

s s sR G A1 2= = s s sR G B2 1

= =

t t tR R R1 2≈ ≈ t t tG G G1 2

≈ ≈

u u uR G1 1 1≈ ≈

u u uR G2 2 2≈ ≈

v v vR R R1 2≈ ≈ v v vG G G1 2

≈ ≈

f v u t s

f v u t s

f v u t s

f v u t

R R R A

G G G B

R R R B

G G G

1

1

2

2

1

1

2

2

≈ ssA .

21( )

f fR R1 2= f fG G1 2

=

′ = ++

′ =++

( )

Ma b x

a b x

Ma b x

a b x

R R A

R R B

G G A

G G B

1 2

2 2 22

log ,

log ,

′A1 ′A2

a aR R1 2≠ a aG G1 2

x xA A1 2≈ x xB B1 2

a aR R1 2=

a aG G1 2=

b b b bR R R R1 2 2 1/ /≠

Mf x f x

f x f x

f x f

R A G A

R B G B

R A

=+

+

=+

log( ( ) ( ))/

( ( ) ( ))/

log( )

2

2

1 2

2 1

1

2

2

GG A

R B G B

x

f x f x2

2 1

23( )

( ) ( ),

+

( )

Ma b x

a b x

Aa b x a b x

A

B

A B

=′ + ′′ + ′

=′ + ′ ′ + ′

( )log

log ( )( )

2

2

2

24

Aa aR G

0 2 225=

+ ( )log

A a aR G0 2 26= ( )log .

a aR G

Page 10 of 18(page number not for citation purposes)

Page 11: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

dye swap. However, there are other differences too. Forinstance, if each microarray glass array (the uc functions

above) introduces the same offset to both channels andthis offset is different between arrays, but otherwise every-

thing else is the same, that is, and

, then geometric dye-swap fails whereas

arithmetic dye-swap succeeds to remove curvature.

Two-channel quantile normalizationTwo-channel or in general multi-channel quantile normal-ization [31,32] is based on and relies on the assumption thatthe true gene-expression levels in the two biological samples areapproximately equally distributed. If the measurement func-tions in the two channels, say fR and fG, are different, thenthe distributions of the measured signals in the two chan-nels are different even if underlying distributions of trueexpression levels are identical. By estimating the distribu-tions of the two channels and making them equal, forinstance to an average distribution, the log-ratios for thenon-differentially expressed genes will be unbiased andindependent of the intensities. Thus, making the densityfunctions of measured data equal for the two channels isthe same as making their transformation functions equal,say to fRG, which makes M independent of A for non-dif-ferentially expressed genes. If fRG could be made lineartoo, this would be true for all fold changes.

For affine transformations, two-channel quantile normal-ization removes intensity-dependent effects, because theoffsets aRand aG are identical after normalization. In addi-

tion, the constant log-ratio bias log2β is also removed.

Hence, two-channel quantile normalization can be con-sidered to be both a method that corrects for differencesin offset between two channels, but also a method thatcorrects for biases in the expression ratios. In Figure 6, the

quantile normalization of transformed data is

depicted. The curvature for non-differentially expressedgenes is removed.

Background subtraction as a normalization methodWe have observed that log-ratios of background signalsshow the same intensity-dependent effects as ditto forforeground signals do, which suggests that background sig-nals undergo the same transformation as foreground sig-nals. An example of this is shown in Figure 7, wherebackground and foreground estimates are plotted in thesame M versus A scatter plots. A probable reason for thisis the existence of scanner biases [11]. A widely adoptedrationale for background correction is the assumptionthat the region that defines the spot is contaminated withthe same physical noise that can be observed in the sur-rounding regions. Background noise is believed to be dueto dust particles, DNA contaminated buffers, failed wash-

a a aR R2 1= +

a a aG G2 1= +

1

Parallel translation normalization of affine transformed dataFigure 5Parallel translation normalization of affine transformed data. Parallel translation normalization of transformed

data. The optimal amount of normalization shift in the raw data is a = 220, which corresponds to an effective shift of ( , )

= (420, 240). Left: Log-ratios as a function of log-intensities for certain fold changes. The r = 1 curve (dot-dash blue) is horizon-tal, that is, for this specific value of r and a the log-ratios are independent of the log-intensities. Right: Normalized log-ratios ver-sus true log-ratios. From this graph it is clear that we obtain the minimum error in log-ratios at zero-fold change.

0 5 10 15

−15

−10

−5

05

1015

A = log2(yRyG) 2

M=

log 2

(yR

y G)

13579

11

13

15

13579

1113

15

+8

−8

+6

−6

+4

−4

+2

−2

0

−15 −10 −5 0 5 10 15

−15

−10

−5

05

1015

r = log2(xR xG)

M=

log 2

(yR

y G)

15

15

14

14

13

13

12

12

11

11

10

10

9

9

1

′aG ′aR

Page 11 of 18(page number not for citation purposes)

Page 12: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

ing during printing or hybridization, cross hybridizationetc. [20,33]. This type of background noise is oftenassumed to add to the foreground signal. Thus, in order toobtain true signals, background is subtracted from fore-ground signal as

where is the estimated foreground signal and

is the estimated background signal for channel c and spoti. Under a transformation that is dominated by an affinefunction at lower intensities (of the same level as the back-ground), subtracting the background from the foregroundwill shift the biases toward zero and background sub-tracted signals will have less curvature in the (A,M) planethan non-background subtracted signals (not shown). Inthis sense we can consider background subtraction to be anormalization method. However, just because the log-

ratios as a function of the log-intensities become moreflat, it does not imply that foreground regions are contam-inated by the same noise as in background regions; unnec-essary noise may be introduced. Instead, it may be that thebackground estimates from the image analysis happen tobe close to a non-image-related offset in the foregroundsignals. Moreover, different image analysis software esti-mate the background signal differently based on differentalgorithms such as fixed-size circles, adaptive circles, mor-phological estimates, and pixel intensity distributions.Although comparative studies have been conducted[10,34], it is still not clear which background estimate ismost correct. Some methods give higher background esti-mates than others, which means that they all correct forchannel biases by different amounts, which by the way isanother argument for why there exist channel offsets.makes use of this is [20], which emphasizes that the truesignal can not be negative and uses a Bayesian approach tocorrect for this.

y y yc i c i c i, ,( )

,( )← − ( )fg bg 27

yc i,( )fg yc i,

( )bg

Equalizing the signal densities of the two channels removes the intensity dependency of the log-ratios for non-differentially expressed genesFigure 6Equalizing the signal densities of the two channels removes the intensity dependency of the log-ratios for non-differentially expressed genes. Equalizing the signal densities of the two channels remove the intensity dependency of the log-ratios of non-differentially expressed genes. Left: Equal gene-expression distributions in both channels will under the non-channel balanced affine transform turn into two different densities for the measured data. The (upside-down and dashed)

curve at the bottom shows a hypothetical density function, φx(·), of the true (log) gene-expression levels expected to be equal in both samples. The distributions of the affine transformed signals are shown in the (rotated and dashed) density functions,

, at the left (red and green curves). The average signal density (middle gray curve) to be normalized toward corre-

sponds to a common measurement function (gray function in the main plot). Right: Normalizing the non-equal densities of the two channels makes the log-ratios of the non-differentially expressed genes zero for all intensities.

log2yc = log2fc(x)

φx

log2xφyc

0 5 10 15

−15

−10

−5

05

1015

A = log2(yRyG) 2

M=

log 2

(yR

y G)

1357

9

11

13

15

1357

911

1315

+8

−8

+6

−6

+4

−4

+2

−2

0

1

{ ( )}φy cc⋅

Page 12 of 18(page number not for citation purposes)

Page 13: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

Result of a (relative) negative translationIf too much background is subtracted, or a threshold hasto be passed before the reverse transcription takes place,one can imagine that aG, aR < 0. Negative bias also appliesif the observed signals are compared, not to the true sig-nals, but to the signals obtained by another measuringtechnique that has a larger bias. Examples of such compar-isons can be two-color microarray data compared to oli-gonucleotide (Affymetrix) data or two-color microarraydata compared to QRT-PCR data. Negative bias may alsobe observed when control clones, spike-ins, negative andpositive controls etc. are compared to the genes/ESTs ofinterest. The effect of a negative translation is depicted inFigure 8. The fan-out effect in the fold-change curves forthe lower intensities is due to the negative translation.Note that this should not be mistaken for the fan-outeffect due to decreasing signal-to-noise levels in the sameway as lack of a fan-out effect due to a positive offsetshould not be mistaken for low noise.

Robust affine normalizationFrom the above discussion, it is clear that it is essential tocorrect for channel offsets when normalizing gene expres-sion data. For two-channel data, we can obtain estimatesof aR, aG and β as follows. For non-differentially expressedgenes (without noise) we have that

yR,i = α + βyG,i; ∀i (28)

with α = aR - βaG and β = bR/bG. Define where

yi = (yG,i, yR,i) and let

be our objective function where di(α, β;yi) > 0 is theorthogonal Euclidean distance between yi and the lineL(α, β) with intercept α and slope β. The estimates of αand β are then

With wi = 1 for all observations we obtain standard princi-

pal component analysis (PCA), which minimizes the

orthogonal distances in the L2 norm [35]. With wi ≠ 1,

(sample-) weighted PCA (WPCA), a special case of gener-alized PCA, is obtained [35,36]. With weights wi = 1/

(di( , ; yi) + δ) we can minimize the distances in the L1

norm, if we let δ → 0+. The distance di ( , ; yi), which

equals the sum of squares of the values of all but the firstprincipal component, was first suggested by [37]. Thus,our choice of weight function down-weigh outliers asdefined by [37] in order to obtain a robust estimate of

L(α, β) corresponding to the first principal component.

y y= ={ }i iI

1

Q w di ii

I

i( , ; ) ( , ; )α β α βy y= ( )=∑

1

2 29

( , ) arg min ( , ; ).( , )

α β α βα β

= ( )Q y 30

α β

α β

Transformation of background signalFigure 7Transformation of background signal. Transformation of background signal. Left: An M versus A scatter plot where back-ground signals (blue triangles) and foreground signals (red circles) lye along the same curve, which is evidence that both have been transformed identically. Right: A zoom-in of the left graph. Data is from [50].

0 5 10 15

−15

−10

−5

05

1015

A = log2(yRyG) 2

M=

log 2

(yR

y G)

6.5 7.0 7.5 8.0 8.5

−3

−2

−1

01

A = log2(yRyG) 2

M=

log 2

(yR

y G)

Page 13 of 18(page number not for citation purposes)

Page 14: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

Our procedure is related to principal component analysisapplied to an M-estimator of the covariance (scatter)matrix of data. The main difference is that we use weights

w = w(di) = 1/ (δ + di) based on the orthogonal distance di

from yi to L(α, β) whereas for M-estimation one uses

weights w = w(di) based on a robustified Mahalanobis dis-

tance of yi, which is computed from an M-estimator of the

covariance matrix of data. M-estimation of location andscatter was first defined by [38], and subsequently appliedto principal component analysis by [39]. For other morerecent papers on robust multivariate analysis, see [40,41]and the references therein. Alternative robust estimatorscan be obtained by choosing other weight functions w(di),

but we choose to optimize in L1. Moreover, if one suspects

a non-symmetric distribution of data points around theline, a trimmed version of the weight function may beconsidered. In practice, the above optimization can beperformed by an iterative reweighted principal componentanalysis (IWPCA) scheme. For iteration l = 1,2,..., mini-

mize (29) using WPCA where = 1 and = 1/

(di(α(l),β(l);yi) + δ) with δ being a small positive number to

avoid infinite weights.

As a last step, in order to get estimates of the four param-eters aR, aG, bR, and bG from the two parameter estimates

and , we introduce additional constraints. Let yc,(1) =

miniyc,i for c = {R, G} and choose

to be the estimates of the bias and the scale parameters inmodel (3). Constraint (32) is only correct in the noise-freecase. If we allow noise, say

yc,i = ac + bcxc,i + εc,i, (33)

where E[εc,i] = 0 and V[εc,i] = for c = {R, G}, it is pos-

sible that the bias terms aR and aG are larger than the small-

est observed value in the respective channel. This is

especially important if the distributions of εc,i for c = {R,

G} have heavy negative tails. An alternative, which intro-duces negative estimates, is to replace yc,(1) in (32) with yc,

(j) for some order index (j) such that j - 1 non-positive sig-

nals are obtained in channel c. Choosing an optimal valueon j is currently investigated by the authors, but beyondthis article. Furthermore, it has been observed that thenoise in each channel is roughly proportional to the signal

strength, that is, σc,i ∝ xc,i. Thus, a positive side effect of the

above estimation algorithm is that, contrary to have equalweights for all spots (wi = 1), more weight will be given to

low-intensity spots compared to high-intensity ones. Thismakes the method more robust to saturation and othernon-linear effects that might occur at high intensities,effects for which classical line fits, which rely on homo-scedasticity, would fail. Finally, with backward transfor-

mation (4) based on estimates ( , , , ), data is

translated and rotated such that it falls around the diago-nal line that goes through (0, 0) and (1, 1).

To illustrate the affine normalization method we haveapplied it to six two-color microarray data sets each con-taining 240 spike-in controls designed to have log2 r = (-2,

0, +2) at various intensities. See also Methods. These con-trols were not used to estimate the normalization param-eters. As shown in Figure 9, which is for one of the arrays,there is a small curvature for non-differentially expressedgenes (and spike-ins) before normalization, a curvature

that corresponds to - ≈ +7 > 0 (small positive derivative)at log2 r = 0, cf. (10). More importantly, the intensity

dependent effect is profound for the log2 r = ± 2 controls.

Affine normalization allowing no negative signals

removes curvature (α ≈ 0) for log2 r = 0, but not for the

log2 r = ± 2 controls, which indicates equal affine transfor-

mation in both channels, cf. right graph of Figure 6. If 5%negative signals is allowed, the log-ratios of all controlsbecome roughly independent of intensity, which indi-cates that the observed signals are proportional to the con-centrations of the spike-ins. All six arrays in this studyshow very similar properties.

Generalization to multiple channels and multiple arraysA multi-dimensional version of the above algorithm canbe summarized as follows. Say there are N arrays eachhybridized with K samples (colors) such that there is intotal C = NK channels. Let yi = (y1,i,..., yK,i,..., y(N-1)K + 1,i,...,yNK,i) be the NK observations for gene i. Thus, {yi}i spansan NK-dimensional space. Analogously to the above two-dimensional procedure, we can fit a robust line L throughdata in �NK and constrain the estimate of a = (a1,..., aNK)by enforcing that a <yi; ∀i, where < is the component-wiseinequality. Backward transformation (4) translates and

wi( )1 wi

l( )+1

α β

ˆ

ˆ ˆ

b

b

G

R

=

= ( )1

β 31

ˆ max{ ; ˆ ˆ }

ˆ ˆ ˆ ˆ

,( ) ,( )a a a y a yG G G G G R

R G

= < ∧ + <

= +( )1 132

α β

α α β a

σ c i,2

aG aR bG bR

α

Page 14 of 18(page number not for citation purposes)

Page 15: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

rotates data such that it lies along the diagonal line. Bynormalizing all arrays at once, signals from all hybridiza-tions are brought onto the same scale and no further, socalled, between-slide scale normalization is needed.

To apply the multi-dimensional normalization, theassumption that most genes are non-differentiallyexpressed for all possible hybridization/channel pairsmust be added. For most experimental setups this is not aproblem. For instance, in two-channel microarrays exper-iments it is common to hybridize one test sample and onereference sample, which is selected such that it does notdiffer too much from the test sample, to the same array.The same reference is then used between arrays (in eitherchannel). Thus, since each test-reference pair is "close" toeach other, all test-test pairs should be approximately"close" to each other too. Alternatively, all reference chan-nels can be normalized together. Then, keeping the refer-ence signals fixed, each test channel is normalized towardthe corresponding reference channel.

An implementation of the above algorithm is made avail-able in the R [42] package named aroma [43], which isplatform independent. In addition, the methods are avail-able as an R plugin [44] for BASE [45]. A typically call isnormalizeAffine(rg), which will normalize all arrays andall channels in the microarray object rg at once. The firstparameter that has to be specified in the above algorithm

is δ. However, its value is not critical and we have foundthat for instance δ = 0.02 works well in general and istherefore the default value. The second parameter to bespecified is the number of negative signals allowed afternormalization. By default the method allows 5% negativesignals, but any fraction (or absolute number) of negativesignals can be specified. Moreover, the method can beapplied to any subsets of genes separately such as print-tipgroups, clone groups and spike-ins. Finally, support fordatapoint weights has been implemented so that theinfluence each spot has in the estimation procedure canbe specified (not to be mistaken for the iterative weightsabove). Such weights may for instance be calculated fromspot quality measures obtained by image analysis meth-ods.

DiscussionIf we compare the robust affine normalization methodwith the perpendicular and the parallel translation nor-malization methods optimized by minimizing the curva-ture, we find that there are similarities, becauseminimizing the curvature is identical to finding estimatesof the bias parameters along the line L(α, β; y). Assuminga pure affine transformation, there are also similarities tothe curve-fit method, which fits approximately the sameline (curve) through data. The difference is how data istransformed to meet the assumptions. The affine methodtranslates and rescales data in the original domain

Affine transformation with negative translationFigure 8Affine transformation with negative translation. Affine transformation of the red and the green signals with negative translation where (aG, aR) = (-87, -24), (bG,bR) = (1.4,0.8). Left: Log-ratios as a function of log-intensities for certain fold changes. Right: Translated log-ratios versus true log-ratios. The slope of a line fitted in the M versus M plot will be larger than one, which is due to the negative translation. The grid and the fold-change curves in the left graph, and the intensity curves in the right graph have been truncated such that xR,xG ≥ 1.

0 5 10 15

−15

−10

−5

05

1015

A = log2(yRyG) 2

M=

log 2

(yR

y G)

5

7

9

11

13

15

7

911

1315

+8

−8

+6

−6

+4

−4

+2

−2

0

−15 −10 −5 0 5 10 15

−15

−10

−5

05

1015

r = log2(xR xG)

M=

log 2

(yR

y G)

15 1514

14

13

13

12

12

11

11

10

10

9

9

8

8

7

7

6

6

Page 15 of 18(page number not for citation purposes)

Page 16: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

whereas the curve-fit method operates in a rotated andlog-transformed domain.

Moreover, the translation and the curve-fit methods relyon two-dimensional data (log-ratios) and it is not clearhow to generalize them to multi-dimensional data,although re-iterative versions such as the cyclic loess [31]and the (multi-dimensional) contrast based method [46]have been suggested. Our affine normalization method isnot limited to two-dimensional data, but can be appliedto any number of channels, which means that three andfour-color microarray data can be normalized as easily astwo-color data.

It is interesting to note the close relationship between thequantile and the affine normalization method. In quan-tile normalization data points are shifted such that thesample densities of both channels are made identical. Thisresults in new measurement functions, which may not belinear (or affine), but for which log-ratios for non-differ-entially expressed genes are zero. The affine normaliza-tion method can be though of as a quantile normalizationmethod with special constraints on the underlying densi-ties. An interesting continuation of the affine method andquantile normalization method is to relax the affine con-straint by using other parametric or semi-parametric mod-els. One possibility is to add smoothness constraints tothe transformation functions using smoothing splines[25].

In previous sections, we did not discuss the variance stabi-lizing methods suggested by [12,47,48], which are basedon error models that also contain channel-specific biasterms. Thus, those methods do indeed correct for inten-sity-dependent effects. Because they are based on specificerror models and target hypothesis testing of non-differ-entially expressed genes, but also because they stabilizethe log-ratio variances, they do not fit well into the abovedeterministic discussion. In addition, stabilizing the vari-ance introduces bias for differentially expressed genes,which is not useful if absolute expression levels are ofinterest. However, we do believe that the directions drawnup by their underlying error models are promising.

Moreover, in the spirit of [20], it would be interesting toincorporate an empirical Bayes component to allow fornon-positive signals more naturally.

An interesting study on microarray scanner calibrationcurves was published while submitting this article [19].From their results on under-estimated log-ratios and pro-peller-shaped log-ratio versus log-ratio scatter plots, wesuspect that they observe nothing but affine transformedsignals. It would be of great interest to redo their analysiswith affine normalization.

Finally, offset and scale parameters in (3) can be extendedto incorporate, say, spatial structures by replacing them

Log-ratios versus log-intensities before and after a robust affine normalizationFigure 9Log-ratios versus log-intensities before and after a robust affine normalization. Log-ratios versus log-intensities before and after a robust affine normalization. Left: Non-normalized data. Spike-ins designed to have log2r = +2, 0, and -2 are highlighted in red, yellow and green, respectively. Middle: Affine normalization utilizing constraint (32) resulting in no negative

signals. Parameter estimates used in back transformation are ( , , log2 ) = (39.0, 22.0, -0.418). Right: Affine normaliza-

tion where 5% (default) negative signals has been allowed; Parameter estimates used in back transformation are ( , ,

log2 ) = (45.7, 27.0, -0.418). The rotated binning effects of data points at low intensities are due to (unnecessary) rounding of

average spot pixel intensity to nearest integer by the image analysis software.

0 5 10 15

−15

−10

−5

05

1015

A = log2(yRyG) 2

M=

log 2

(yR

y G)

0 5 10 15

−15

−10

−5

05

1015

A = log2(yRyG) 2

M=

log 2

(yR

y G)

0 5 10 15

−15

−10

−5

05

1015

A = log2(yRyG) 2

M=

log 2

(yR

y G)

aG aR βaG aR

β

Page 16 of 18(page number not for citation purposes)

Page 17: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

with ac(ui) and bc(ui) where ui = (ui,x, ui,y) is the spatialposition of spot i.

ConclusionWe have proposed a robust non-parametric normaliza-tion method for affine transformed gene-expression data,which centers and symmetrizes log-ratios at all intensities.Symmetric log-ratios are fundamental for statistical testson non-differentially expressed genes, typically utilizing t-tests or similar. In addition and contrary to other normal-ization methods (except quantile normalization), whichare exclusively for paired channels, the method appliesequally well to multi-array and multi-channel data. Webelieve that normalization based on affine transforma-tions, such as our proposed IWPCA method, is very prom-ising and has the potential of being used for manymicroarray applications. However, more comparison withother normalization methods is needed to fully under-stand its advantages and disadvantages.

MethodsLog-ratios as a function of log-intensitiesLet xg = bGxG ≥ 0. Equation (6) for affine transformations(3) can then be written as

with β = bR/bG and r = xR/xG. After a few steps, one gets that

It follows that

with α(r) = aR - rβaG. Equation (9) follows immediately.

DataArrays and hybridizationSix arrays were used in this study. The arrays containOperon's Human Array-Ready Oligo Sets™ and 240 Strat-agene SpotReport™ (Alien and Alien Oligo) control spotswith layout of 12-by-4 print-tip groups each containing25-by-25 spots. In total there are 30000 spots on eacharray. The arrays were produced by the SWEGENE DNAMicroarray Resource Centre, Department of Oncology at

Lund University using a MicroGrid II 600R arrayer fittedwith MicroSpot 10 K pins (BioRobotics). Arrays werespotted on UltraGAPS™ coated slides (Corning Incorpo-rated). Printing was performed in a temperature (18–20°C) and humidity (44–49% RH) controlled area. Afterprinting was completed, arrays were left in a desiccator todry for 48 hours, rehydrated for 1 second over steamingwater, snap dried on a hot plate (98°C), UV-cross-linked(800 mJ/cm2) and subsequently hybridized with varioustest and reference RNA samples. Samples and StratageneRNA spikes were labeled, purified and hybridized usingPronto!™ Plus System 6 (Corning Incorporated) accord-ing to manufacturer's instructions.

Scanning and Image analysisThe arrays were scanned on an Agilent G2505A DNAmicroarray scanner (Agilent Technologies) at laser powerand PMT gain both at 100% and scan resolution 10 µm/pixel. The so called dark offset intentionally added to allsignals by the Agilent scanner [[49], p. 18] has been unin-stalled. Multiscan calibration [11] was not used for thisstudy.

The scanned images (65536 gray scales) were analyzedusing the Axon GenePix Pro v4.1.1.40 software (AxonInstruments). The median spot pixel intensity was usedfor the foreground signal. Background estimates were notconsidered in this analysis. No spot signals were dis-carded.

Authors' contributionsHB drafted the first version of the manuscript. Bothauthors contributed equally to the study and the final ver-sion of the manuscript.

AcknowledgementsThis work would not have been achieved without scientific support from Terry Speed at UC Berkeley and Walter and Eliza Hall Institute of Medical Research (WEHI), Patyaksha Wirapati (at the time at WEHI), Gordon Smyth (WEHI), and Halfdan Grage (at the time at Lund University). While at UC Berkeley (2000) and WEHI (2002), HB was financially supported by The Swedish Foundation for International Cooperation in Research and Higher Education (STINT), The Fulbright Commission, The Foundation Blanceflor Boncompagni-Ludovisi née Bildt, The Royal Swedish Academy of Sciences, and The Royal Physiographic Society in Lund. OH was financially supported by the Swedish Research Council. Microarray data was kindly provided by the SWEGENE DNA Microarray Resource Center at the Bio-Medical Center B10 in Lund, supported by the Knut and Alice Wallenberg foundation through the SWEGENE consortium. We also wish to thank the reviewers for feedback improving this manuscript.

References1. Schena M, Shalon D, Davis RW, Brown PO: Quantitative monitor-

ing of gene expression patterns with a complementary DNAmicroarray. Science 1995, 270(5235):467-470.

2. Duggan DJ, Bittner M, Chen Y, Meltzer P, Trent JM: Expression pro-filing using cDNA microarrays. Nature Genetics 1999, 21(1 Sup-plement):10-14.

A a r x a xR g G g= + +12 2log [( )( )]β

x r a r a a r a rg R G R GA= − + + − +

−( ) ( ) ( ) .β β β β1 2 21

214

2

a b x a x

r r r r

a b x a

G G G G g

A

R R R

+ = +

= − + +

+ =

−( ) ( ) [ ( )]β α α β1 2 212

14

2

RR g

A

r x

r r r

+

= + +

β

α α β12

14

22 2( ) [ ( )]

Page 17 of 18(page number not for citation purposes)

Page 18: BMC Bioinformatics BioMed - s u/menu/standard/fil… · BMC Bioinformatics Methodology article Open Access ... gene, which for instance can be used to test the hypothesis if a gene

BMC Bioinformatics 2006, 7:100 http://www.biomedcentral.com/1471-2105/7/100

3. Rocke DM, Durbin B: A Model for Measurement Error forGene Expression Arrays. Journal of Computational Biology 2001,8(6):557-569.

4. Yang YH, Dudoit S, Luu P, Lin DM, Peng V, Ngai J, Speed TP: Nor-malization for cDNA microarray data: a robust compositemethod addressing single and multiple slide systematic vari-ation. Nucelic Acids Research 2002, 30(4):e15.

5. Bengtsson H: Identification and normalization of plate effectsin cDNA microarray data. Preprints in Mathematical Sciences2002:28, Mathematical Statistics, Centre for Mathematical Sciences,Lund University, Sweden; 2002.

6. Ramdas L, Coombes KR, Baggerly K, Abruzzo L, Highsmith WE,Krogmann T, Hamilton SR, Zhang W: Sources of nonlinearity incDNA microarray expression measurements. Genome Biology2001, 2(11):research0047.1-0047.7.

7. Li X, Gu W, Mohan S, Baylink DJ: DNA microarrays: their useand misuse. Microcirculation 2002, 9:13-22.

8. Burle Industries Inc: Photomultiplier Handbook. Lancaster, PA,U.S.A.; 1980.

9. Handran S, Wang C, Aziz D: Assessing Slide Flatness. 2001.10. Bengtsson A, Bengtsson H: Microarray Image Analysis: Back-

ground Estimation using Quantile and Morphological Filters.BMC Bioinformatics 2006, 7(1):96.

11. Bengtsson H, Jönsson G, Vallon-Christersson J: Calibration andassessment of channel-specific biases in microarray datawith extended dynamical range. BMC Bioinformatics 2004,5(177):.

12. Huber W, von Heydebreck A, Sültmann H, Poustka A, Vingron M:Variance stabilization applied to microarray data calibrationand to the quantification of differential expression. Bioinfor-matics 2002, 18(Suppl 1):S96-104.

13. Kerr MK, Afshari CA, Bennett L, Bushel P, Martinez J, Walker NJ,Churchill GA: Statistical analysis of a gene expression micro-array experiment with replication. In Tech rep The Jackson Lab-oratory, Bar Harbor, Maine; 2001.

14. Cui X, Kerr MK, Churchill GA: Data Transformations for cDNAMicroarray Data. In Tech rep The Jackson Laboratory, USA; 2002.

15. Callow M, Dudoit S, Gong E, Speed T, Rubin E: Microarray Expres-sion Profiling Identifies Genes with Altered Expression inHDL-Deficient Mice. Genome Research 2000, 10(12):2022-9.

16. Yue H, Eastman P, Wang B, Minor J, Doctolero M, Nuttall R, Stack R,Becker J, Montgomery J, Vainer M, Johnston R: An evaluation ofthe performance of cDNA microarrays for detectingchanges in global mRNA expression. Nucelic Acids Research2001, 29(8):E41-1.

17. Yuen T, Wurmbach E, Pfeffer RL, Ebersole BJ, Sealfon SC: Accuracyand calibration of commercial oligonucleotide and customcDNA microarrays. Nucelic Acids Research 2002, 30:.

18. Barczak A, Rodriguez MW, Hanspers K, Koth LL, Tai YC, Bolstad BM,Speed TP, Erie DJ: Spotted long oligonucleotide arrays forhuman gene expression analysis. Genome Research 2003,13(7):1775-85.

19. Shi L, Tong W, Su Z, Han T, Han J, Puri RK, Fang H, Frueh FW, Good-said FM, Guo L, Branham WS, Chen JJ, Xu ZA, Harris SC, Hong H,Xie Q, Perkins RG, Fuscoe JC: Microarray scanner calibrationcurves: characteristics and implications. BMC Bioinformatics2005, 6(Suppl 2):S11.

20. Kooperberg C, Fazzio TG, Delrow JJ, Tsukiyama T: Improved back-ground correction for spotted DNA microarrays. Journal ofComputational Biology 2002, 9:55-66.

21. Bengtsson H: Low-level analysis of microarray data. In PhD the-sis Centre for Mathematical Sciences, Division of Mathematical Statis-tics, Lund University; 2004.

22. Cleveland W: Robust locally weighted regression and smooth-ing scatterplots. Journal of American Statistics Association 1979,74:829-836.

23. Cleveland W: LOWESS: A program for smoothing scatter-plots by robust locally weighted regression. The American Stat-istician 1981, 35:54.

24. Cleveland W, Grosse E, Shyu W: Local regression models MIT Press/McGraw-Hill; 1992.

25. Green P, Silverman B: Nonparametric Regression and Generalized LinearModels – A roughness penalty approach Chapman and Hall; 1994.

26. Newton MA, Kendziorski CM, Richmond CS, Blattner FR, Tsui KW:On differential variability of expression ratios: improving sta-

tistical inference about gene expression changes frommicroarray data. Journal of Computational Biology 2001, 8:37-52.

27. Yang YH, Dudoit S, Luu P, Speed TP: Normalization for cDNAmicroarray data. Technical Report 589, Department of Statistics,University of California at Berkeley; 2000.

28. Marton MJ, DeRisi JL, Bennett HA, Iyer VR, Meyer MR, Roberts CJ,Stoughton R, Burchard J, Slade D, Dai H, Jr DEB, Hartwell LH, BrownPO, Friend SH: Drug validation and identification of secondarydrug target effects using DNA microarrays. Nature Medicine1998, 4(11):1293-1301.

29. Kerr MK, Martin M, Churchill GA: Analysis of variance for geneexpression microarray data. Journal of Computational Biology 2000,7:819-837.

30. Tseng GC, Oh MK, Rohlin L, Liao JC, Wong WH: Issues in cDNAmicroarray analysis: quality filtering, channel normalization,models of variations and assessment of gene effects. NucelicAcids Research 2001, 29(12):2549-2557.

31. Bolstad B, Irizarry R, Astrand M, Speed T: A comparison of nor-malization methods for high density oligonucleotide arraydata based on variance and bias. Bioinformatics 2003,19(2):185-93.

32. Yang YH, Thome NP: Normalization for Two-color cDNAMicroarray Data. In Science and Statistics: A Festschrift for TerrySpeed, Monograph Series Volume 40. Edited by: Goldstein DR. IMS Lec-ture Notes; 2003:403-418.

33. Schena M: Microarrays Analysis Hoboken, New Jersey: John Wiley &Sons, Inc.; 2003.

34. Yang YH, Buckley M, Dudoit S, Speed T: Comparison of methodsfor image analysis on cDNA microarray data. Journal of Com-putational and Graphical Statistics 2002, 11:108-136.

35. Jolliffe I: Principal Component Analysis Springer series in statistics,Springer-Verlag New York Inc.; 1986.

36. Greenacre M: Theory and Applications of Correspondence Analysis Lon-don and Orlando: Academic Press; 1984.

37. Rao CR: The use and interpretation of principal componentanalysis in applied research. Sankhya Series A 1964, 26:329-358.

38. Maronna RA: Robust M-Estimators of Multivariate Locationand Scatter. The Annals of Statistics 1976, 4:51-67.

39. Campbell NA: Robust procedures in multivariate analysis. I.Robust covariance estimation. Applied Statistics 1980,29(3):231-237.

40. Croux C, Haesbroeck G: Principal Component Analysis basedon Robust Estimators of the Covariance or CorrelationMatrix: Influence Functions and Efficiencies. 2000,87:603-618.

41. Pison G, Rousseeuw PJ, Filzmoser P, Croux C: Robust factor anal-ysis. J Multivar Anal 2003, 84:145-172.

42. R Development Core Team: R: A language and environment forstatistical computing. R Foundation for Statistical Computing,Vienna, Austria; 2005. [ISBN 3-900051-07-0]

43. Bengtsson H: aroma – An R Object-oriented Microarray Anal-ysis environment. Preprint in Mathematical Sciences 2004:18,Mathematical Statistics, Centre for Mathematical Sciences, Lund Uni-versity, Sweden; 2004.

44. Bengtsson H: aroma.Base – A generic R plugin dispatcher forBASE. online 2005 [http://www.maths.lth.se/bioinformatics/].

45. Saal LH, Troein C, Vallon-Christersson J, Gruvberger S, Borg Å,Peterson C: BioArray Software Environment (BASE): a plat-form for comprehensive management and analysis of micro-array data. Genome Biology 2002, 3(8):SOFTWARE0003.

46. Åstrand M: Contrast Normalization of OligonucleotideArrays. Journal of Computational Biology 2003, 10:95-102.

47. Durbin B, Hardin J, Hawkins D, Rocke D: A variance-stabilizingtransformation for gene-expression microarray data. Bioinfor-matics 2002, 18:S105-S110.

48. Rocke DM, Durbin B: Approximate variance-stabilizing trans-formations for gene-expression microarray data. Bioinformat-ics 2003, 19(8):966-72.

49. Agilent Technologies Inc.: Agilent G2565AA and AgilentG2565BA Microarray Scanner System – User Manual. third,Palo Alto, CA; 2002. [G2566-90007]

50. Jögi A, Vallon-Christersson J, Holmquist L, Åke Borg HA, Påhlman S:Human neuroblastoma cells exposed to hypoxia: inductionof genes associated with growth, survival, and aggressivebehavior. Experimental Cell Research 2004, 295(2):469-87.

Page 18 of 18(page number not for citation purposes)