<?xml version='1.0'?>
<!DOCTYPE art SYSTEM 'http://www.biomedcentral.com/xml/article.dtd'>
<art>
   <ui>gb-2003-4-11-r76</ui>
   <ji>GBJ</ji>
   <fm>
      <dochead>Method</dochead>
      <bibl>
         <title>
            <p>Application of independent component analysis to microarrays</p>
         </title>
         <aug>
            <au id="A1">
               <snm>Lee</snm>
               <fnm>Su-In</fnm>
               <insr iid="I1"/>
            </au>
            <au id="A2" ca="yes">
               <snm>Batzoglou</snm>
               <fnm>Serafim</fnm>
               <insr iid="I2"/>
               <email>serafim@cs.stanford.edu</email>
            </au>
         </aug>
         <insg>
            <ins id="I1">
               <p>Department of Electrical Engineering, Stanford University, Stanford, CA94305-9010, USA</p>
            </ins>
            <ins id="I2">
               <p>Department of Computer Science, Stanford University, Stanford, CA94305-9010, USA</p>
            </ins>
         </insg>
         <source>Genome Biology</source>
         <issn>1465-6906</issn>
         <pubdate>2003</pubdate>
         <volume>4</volume>
         <issue>11</issue>
         <fpage>R76</fpage>
         <url>http://genomebiology.com/2003/4/11/R76</url>
         <xrefbib>
            <pubidlist>
               <pubid idtype="doi">10.1186/gb-2003-4-11-r76</pubid>
               <pubid idtype="pmpid">14611662</pubid>
            </pubidlist>
         </xrefbib>
      </bibl>
      <history>
         <rec>
            <date>
               <day>10</day>
               <month>3</month>
               <year>2003</year>
            </date>
         </rec>
         <revrec>
            <date>
               <day>27</day>
               <month>6</month>
               <year>2003</year>
            </date>
         </revrec>
         <acc>
            <date>
               <day>4</day>
               <month>9</month>
               <year>2003</year>
            </date>
         </acc>
         <pub>
            <date>
               <day>24</day>
               <month>10</month>
               <year>2003</year>
            </date>
         </pub>
      </history>
      <cpyrt>
         <year>2003</year>
         <collab>Lee and Batzoglou; licensee BioMed Central Ltd. This is an Open Access article: verbatim copying and redistribution of this article are permitted in all media for any purpose, provided this notice is preserved along with the article's original URL.</collab>
      </cpyrt>
      <shorttitle>
         <p>Application of independent component analysis to microarrays</p>
      </shorttitle>
      <shortabs>
         <p>Linear and nonlinear independent component analysis (ICA) was used to project microarray data into statistically independent components that correspond to putative biological processes, and to cluster genes according to over- or under-expression in each component.</p>
      </shortabs>
      <abs>
         <sec>
            <st>
               <p>Abstract</p>
            </st>
            <p>We apply linear and nonlinear independent component analysis (ICA) to project microarray data into statistically independent components that correspond to putative biological processes, and to cluster genes according to over- or under-expression in each component. We test the statistical significance of enrichment of gene annotations within clusters. ICA outperforms other leading methods, such as principal component analysis, <it>k</it>-means clustering and the Plaid model, in constructing functionally coherent clusters on microarray datasets from <it>Saccharomyces cerevisiae</it>, <it>Caenorhabditis elegans </it>and human.</p>
         </sec>
      </abs>
   </fm>
   <meta>
      <classifications>
         <classification type="BMC" subtype="man_spc_id" id="30010002">Bioinformatics</classification>
         <classification type="BMC" subtype="man_spc_id" id="30010013">Methods</classification>
         <classification type="BMC" subtype="man_spc_id" id="30010010">Genome studies</classification>
         <classification type="BMC" subtype="man_spc_id" id="30010015">Model organisms</classification>
      </classifications>
   </meta>
   <bdy>
      <sec>
         <st>
            <p>Background</p>
         </st>
         <p>Microarray technology has enabled high-throughput genome-wide measurements of gene transcript levels, promising to provide insight into biological processes involved in gene regulation. To aid such discoveries, mathematical and computational tools are needed that are versatile enough to capture the underlying biology, and simple enough to be applied efficiently on large datasets.</p>
         <p>Analysis tools fall broadly in two categories: supervised and unsupervised approaches <abbrgrp><abbr bid="B1">1</abbr></abbrgrp>. When prior knowledge can group samples into different classes (for example, normal versus cancer tissue), supervised approaches can be used for finding gene expression patterns (features) specific to each class, and for class prediction of new samples <abbrgrp><abbr bid="B2">2</abbr><abbr bid="B3">3</abbr><abbr bid="B4">4</abbr><abbr bid="B5">5</abbr></abbrgrp>. Unsupervised (hypothesis-free) approaches are important for discovering novel biological mechanisms, for revealing genetic regulatory networks and for analyzing large datasets for which little prior knowledge is available. Here we apply linear and nonlinear independent component analysis (ICA) as a versatile unsupervised approach for microarray analysis, and evaluate its performance against other leading unsupervised methods.</p>
         <p>Unsupervised analysis methods for microarray data can be divided into three categories: clustering approaches, model-based approaches and projection methods. Clustering approaches group genes and experiments with similar behavior <abbrgrp><abbr bid="B6">6</abbr><abbr bid="B7">7</abbr><abbr bid="B8">8</abbr><abbr bid="B9">9</abbr><abbr bid="B10">10</abbr></abbrgrp>, making the data simpler to analyze <abbrgrp><abbr bid="B11">11</abbr></abbrgrp>. Clustering methods group genes that behave similarly under similar experimental conditions, assuming that they are are functionally related. Most clustering methods do not attempt to model the underlying biology. A disadvantage of such methods is that they partition genes and experiments into mutually exclusive clusters, whereas in reality a gene or an experiment may be part of several biological processes. Model-based approaches first generate a model that explains the interactions among biological entities participating in genetic regulatory networks, and then train the parameters of the model on expression datasets <abbrgrp><abbr bid="B12">12</abbr><abbr bid="B13">13</abbr><abbr bid="B14">14</abbr><abbr bid="B15">15</abbr><abbr bid="B16">16</abbr></abbrgrp>. Depending on the complexity of the model, one challenge of model-based approaches is the lack of sufficient data to train the parameters, and another challenge is the prohibitive computational requirement of training algorithms.</p>
         <p>Projection methods linearly decompose the dataset into components that have a desired property. There are largely two kinds of projection methods: principal component analysis (PCA) and ICA. PCA projects the data into a new space spanned by the principal components. Each successive principal component is selected to be orthonormal to the previous ones, and to capture the maximum information that is not already present in the previous components. PCA is probably the optimal dimension-reduction technique according to the sum of squared errors <abbrgrp><abbr bid="B17">17</abbr></abbrgrp>. Applied to expression data, PCA finds principal components, the eigenarrays, which can be used to reduce the dimension of expression data for visualization, filtering of noise and for simplifying the subsequent computational analyses <abbrgrp><abbr bid="B18">18</abbr><abbr bid="B19">19</abbr></abbrgrp>.</p>
         <p>In contrast to PCA, ICA decomposes an input dataset into components so that each component is statistically as independent from the others as possible. A common application of ICA is in blind source separation (BSS) problems <abbrgrp><abbr bid="B20">20</abbr></abbrgrp>: suppose that there are <it>M </it>independent acoustic sources - such as speech, music, and others - that generate signals simultaneously, and <it>N </it>microphones around the sources. Each microphone records a mixture of the <it>M </it>independent signals. Given <it>N </it>mixed vectors as the signals received from the microphones, where <it>N </it>&#8805; <it>M</it>, ICA retrieves <it>M </it>independent components that are close approximations of the original signals up to scaling. ICA has been used successfully in BSS of neurobiological signals such as electroencephalographic (EEG) and magnetoencephalographic (MEG) signals <abbrgrp><abbr bid="B21">21</abbr><abbr bid="B22">22</abbr><abbr bid="B23">23</abbr></abbrgrp>, functional magnetic resonance imaging (fMRI) data <abbrgrp><abbr bid="B24">24</abbr></abbrgrp> and for financial time series analysis <abbrgrp><abbr bid="B25">25</abbr><abbr bid="B26">26</abbr></abbrgrp>. ICA can also be used to reduce the effects of noise or artifacts of the signal <abbrgrp><abbr bid="B27">27</abbr></abbrgrp> because usually noise is generated from independent sources. Most applications of ICA assume that the source signals are mixed linearly into the input signals, and algorithms for linear ICA have been developed extensively <abbrgrp><abbr bid="B28">28</abbr><abbr bid="B29">29</abbr><abbr bid="B30">30</abbr><abbr bid="B31">31</abbr><abbr bid="B32">32</abbr></abbrgrp>. In several applications nonlinear mixtures may provide a more realistic model and several methods have been developed recently for performing nonlinear ICA <abbrgrp><abbr bid="B33">33</abbr><abbr bid="B34">34</abbr><abbr bid="B35">35</abbr></abbrgrp>. Liebermeister <abbrgrp><abbr bid="B36">36</abbr></abbrgrp> first proposed using linear ICA for microarray analysis to extract expression modes, where each mode represents a linear influence of a hidden cellular variable. However, there has been no systematic analysis of the applicability of ICA as an analysis tool in diverse datasets, or comparison of its performance with other analysis methods.</p>
         <p>Here we apply linear and nonlinear ICA to microarray data analysis to project the samples into independent components. We cluster genes in an unsupervised fashion into non-mutually exclusive clusters, based on their load in each independent component. Each retrieved independent component is considered a putative biological process, which can be characterized by the functional annotations of genes that are predominant within the component. To perform nonlinear ICA, we applied a methodology that combines the simplifying kernel trick <abbrgrp><abbr bid="B37">37</abbr></abbrgrp> with a generalized mixing model. We systematically evaluate the clustering performance of several ICA methods on five expression datasets, and find that overall ICA is superior to other leading clustering methods that have been used to analyze the same datasets. Among the different ICA methods, the natural-gradient maximum-likelihood estimation (NMLE) method <abbrgrp><abbr bid="B28">28</abbr><abbr bid="B29">29</abbr></abbrgrp> is best in the two largest datasets, while our nonlinear ICA method is best in the three smaller datasets.</p>
      </sec>
      <sec>
         <st>
            <p>Results</p>
         </st>
         <sec>
            <st>
               <p>Mathematical model of gene regulation</p>
            </st>
            <p>We model the transcription level of all genes in a cell as a mixture of independent biological processes. Each process forms a vector representing levels of gene up-regulation or down-regulation; at each condition, the processes mix with different activation levels to determine the vector of observed gene expression levels measured by a microarray sample (Figure <figr fid="F1">1</figr>). Mathematically, suppose that a cell is governed by <it>M </it>independent biological processes <it>S </it>= (<it>s</it><sub>1</sub>, ..., <it>s</it><sub><it>M</it></sub>)<sup><it>T</it></sup>, each of which is a vector of <it>K </it>gene levels, and that we measure the levels of expression of all genes in <it>N </it>conditions, resulting in a microarray expression matrix <it>X </it>= (<it>x</it><sub>1</sub>,..., <it>x</it><sub><it>N</it></sub>)<sup><it>T</it></sup>. We define a model whereby the expression level at each different condition <it>j </it>can be expressed as linear combinations of the <it>M </it>biological processes: <it>x</it><sub><it>j </it></sub>= <it>a</it><sub><it>j</it>1</sub><it>s</it><sub>1</sub>+...+<it>a</it><sub><it>jM</it></sub><it>s</it><sub><it>M</it></sub>. We can express this model concisely in matrix notation (Equation 1).</p>
            <p>
               <graphic file="gb-2003-4-11-r76-i1.gif"/>
            </p>
            <fig id="F1">
               <title>
                  <p>Figure 1</p>
               </title>
               <caption>
                  <p>Model of gene expression within a cell</p>
               </caption>
               <text>
                  <p>Model of gene expression within a cell. Each genomic expression pattern at a given condition, denoted by <it>x</it><sub><it>i</it></sub>, is modeled as linear combination of genomic expression programs of independent biological processes. The level of activity of each biological process is different in each environmental condition. The mixing matrix <it>A </it>contains the linear coefficients <it>a</it><sub><it>ij</it></sub>, where <it>a</it><sub><it>ij </it></sub>= activity level of process <it>j </it>in condition <it>i</it>. The example shown uses data generated by Gasch <it>et al</it>. <abbrgrp><abbr bid="B48">48</abbr></abbrgrp>.</p>
               </text>
               <graphic file="gb-2003-4-11-r76-1"/>
            </fig>
            <p>When the matrix <it>X </it>represents log ratios <it>x</it><sub><it>ij </it></sub>= log<sub>2</sub>(<it>R</it><sub><it>ij</it></sub>/<it>G</it><sub><it>ij</it></sub>) of red (experiment) and green (reference) intensities (Figure <figr fid="F1">1</figr>), Equation 1 corresponds to a multiplicative model of interactions between biological processes. More generally, we can express <it>X </it>= (<it>x</it><sub>1</sub>,..., <it>x</it><sub><it>N</it></sub>)<sup><it>T </it></sup>as a post-nonlinear mixture of the underlying independent processes (Equation 2, where <it>f(.)</it> is a nonlinear mapping from <it>N </it>to <it>N </it>dimensional space).</p>
            <p>
               <graphic file="gb-2003-4-11-r76-i2.gif"/>
            </p>
            <p>A nonlinear mapping <it>f(.)</it> could represent interactions among biological processes that are not necessarily linear. Examples of nonlinear interactions in gene regulatory networks include the AND function <abbrgrp><abbr bid="B38">38</abbr></abbrgrp> or more complex logic units <abbrgrp><abbr bid="B39">39</abbr></abbrgrp>, toggle switch or oscillatory behavior <abbrgrp><abbr bid="B40">40</abbr></abbrgrp>, multiplicative effects resulting from expression cascades; for further examples see also <abbrgrp><abbr bid="B41">41</abbr></abbrgrp>.</p>
            <p>Since we assume that the underlying biological processes are independent, we can view each of the vectors <it>s</it><sub>1</sub>,..., <it>s</it><sub><it>M </it></sub>as a set of <it>K </it>samples of an independent random source. Then, ICA can be applied to find a matrix <it>W </it>that provides the transformation <it>Y </it>= (<it>y</it><sub>1</sub>,..., <it>y</it><sub><it>M</it></sub>)<sup><it>T </it></sup>= <it>WX </it>of the observed matrix <it>X </it>under which the transformed random variables <it>y</it><sub>1</sub>,..., <it>y</it><sub><it>M</it></sub>, called the independent components, are as independent as possible <abbrgrp><abbr bid="B42">42</abbr></abbrgrp>. Assuming certain mathematical conditions are satisfied (see Discussion), the retrieved components <it>y</it><sub>1</sub>,..., <it>y</it><sub><it>M </it></sub>are close approximations of <it>s</it><sub>1</sub>,..., <it>s</it><sub><it>M </it></sub>up to permutation and scaling.</p>
         </sec>
         <sec>
            <st>
               <p>Methodology</p>
            </st>
            <p>Given a matrix <it>X </it>of <it>N </it>microarray measurements of <it>K </it>genes, we perform the following steps:</p>
            <p><b>Step 1 - ICA-based decomposition. </b>Use ICA to express <it>X </it>according to Equation 1 or 2, as a mixture of independent components <it>y</it><sub>1</sub>, ..., <it>y</it><sub><it>M</it></sub>. Each component <it>y</it><sub><it>i </it></sub>is a vector of <it>K loads y</it><sub><it>i </it></sub>= (<it>y</it><sub><it>i</it>1</sub>, ..., <it>y</it><sub><it>iK</it></sub>) where the <it>j</it><sup><it>th </it></sup>load corresponds to the <it>j</it><sup><it>th </it></sup>gene on the original expression data.</p>
            <p><b>Step 2 - clustering. </b>Cluster the genes according to their relative loads <it>y</it><sub><it>ij </it></sub>in the components <it>y</it><sub>1</sub>, ..., <it>y</it><sub><it>M</it></sub>. A gene may belong to more than one cluster and some genes may not belong to any clusters.</p>
            <p><b>Step 3 - measurement of significance. </b>Measure the enrichment of each cluster with genes of known functional annotations.</p>
            <sec>
               <st>
                  <p>ICA-based decomposition</p>
               </st>
               <p>Prior to applying ICA, we normalize the expression matrices <it>X </it>to contain log ratios <it>x</it><sub><it>ij </it></sub>= log<sub>2</sub>(<it>R</it><sub><it>ij</it></sub>/<it>G</it><sub><it>ij</it></sub>) of red and green intensities and we remove any samples that are closely approximated as linear combinations of other samples. We find as many independent components as samples in the input dataset, that is, <it>M </it>= <it>N </it>(see Discussion). The algorithms we use for ICA are described in Methods.</p>
            </sec>
            <sec>
               <st>
                  <p>Clustering</p>
               </st>
               <p>Based on our model, each component is a putative genomic expression program of an independent biological process. Our hypothesis is that genes showing relatively high or low expression levels within the component are the most important for the process. First, for each independent component, we sort genes by the loads within the component. Then we create two clusters for each component: one cluster containing <it>C</it>% of all genes with larger loads, and one cluster containing <it>C</it>% of genes with smaller loads.</p>
               <p>Cluster <sub>i,1 </sub>= {gene j | <it>y</it><sub><it>ij </it></sub>= (C% &#215; K)<sup>th </sup>largest load in <it>y</it><sub><it>i</it></sub>}</p>
               <p>Cluster <sub>i,2 </sub>= {gene j | <it>y</it><sub><it>ij </it></sub>= (C% &#215; K)<sup>th </sup>smallest load in <it>y</it><sub><it>i</it></sub>} &#160;&#160;&#160; (3)</p>
               <p>In Equation 3, <it>y</it><sub><it>i </it></sub>is the <it>i</it><sup><it>th </it></sup>independent component, a vector of length <it>K</it>; and <it>C </it>is an adjustable coefficient.</p>
            </sec>
            <sec>
               <st>
                  <p>Measurement of biological significance</p>
               </st>
               <p>For each cluster, we measure the enrichment with genes of known functional annotations.</p>
               <p>In our datasets we measured the biological significance of each cluster as follows. For datasets 1-4, we used the Gene Ontology (GO) <abbrgrp><abbr bid="B43">43</abbr></abbrgrp> and the Kyoto Encyclopedia of Genes and Genomes (KEGG) <abbrgrp><abbr bid="B44">44</abbr></abbrgrp> annotation databases. We combined all annotations in 502 gene categories for yeast, and 996 categories for <it>C. elegans </it>(see Methods). For dataset 5, we used the seven categories of tissues annotated by Hsiao <it>et al</it>. <abbrgrp><abbr bid="B45">45</abbr></abbrgrp>. We matched each ICA cluster with every category and calculated the <it>p </it>value, that is, the chance probability of the observed intersection between the cluster and the category (see Methods for details). We ignored categories with <it>p </it>values greater than 10<sup>-7</sup>. Assuming that there are at most 1,000 functional categories and roughly 500 ICA clusters, any <it>p </it>value larger than 1/(500 &#215; 1,000) = 2 &#215; 10<sup>-6 </sup>is not significant.</p>
            </sec>
         </sec>
         <sec>
            <st>
               <p>Evaluation of performance</p>
            </st>
            <sec>
               <st>
                  <p>Expression datasets</p>
               </st>
               <p>We applied ICA on the following five expression datasets (Table <tblr tid="T1">1</tblr>): dataset 1, budding yeast during cell cycle and CLB2/CLN3 overactive strain <abbrgrp><abbr bid="B46">46</abbr></abbrgrp>, consisting of spotted array measurements of 4,579 genes in 22 experimental conditions; dataset 2, budding yeast during cell cycle <abbrgrp><abbr bid="B47">47</abbr></abbrgrp> consisting of Affymetrix oligonucleotide array measurements of 6,616 genes in synchronized cell cultures at 17 time points; dataset 3, yeast in various stressful conditions <abbrgrp><abbr bid="B48">48</abbr></abbrgrp> consisting of spotted array measurements of 6,152 genes in 173 experimental conditions that include temperature shocks, hyper- and hypoosmotic shocks, exposure to various agents such as peroxide, menadione, diamide, dithiothreitol, amino acid starvation, nitrogen source depletion and progression into stationary phase; dataset 4, <it>C. elegans </it>in various conditions <abbrgrp><abbr bid="B8">8</abbr></abbrgrp> consisting of spotted array measurements of 11,917 genes in 179 experimental conditions and 17,817 genes in 374 experimental conditions that include growth conditions, developmental stages and a variety of mutants; and dataset 5, normal human tissue <abbrgrp><abbr bid="B45">45</abbr></abbrgrp> consisting of Affymetrix oligonucleotide array measurements of 7,070 genes in 59 samples of 19 kinds of tissues. We used KNNimpute <abbrgrp><abbr bid="B49">49</abbr></abbrgrp> to fill in missing values. For each dataset, first we decomposed the expression matrix into independent components using ICA, and then we performed clustering of genes based on the decomposition.</p>
               <tbl id="T1" hint_layout="double">
                  <title>
                     <p>Table 1</p>
                  </title>
                  <caption>
                     <p>The five datasets used in our analysis</p>
                  </caption>
                  <tblbdy cols="5">
                     <r>
                        <c ca="left">
                           <p>Source (paper, datasets)</p>
                        </c>
                        <c ca="left">
                           <p>Array type</p>
                        </c>
                        <c ca="left">
                           <p>Description</p>
                        </c>
                        <c ca="center">
                           <p>Number of genes</p>
                        </c>
                        <c ca="center">
                           <p>Number of experiments</p>
                        </c>
                     </r>
                     <r>
                        <c cspan="5">
                           <hr/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>
                              <abbrgrp>
                                 <abbr bid="B46">46</abbr>
                                 <abbr bid="B52">52</abbr>
                              </abbrgrp>
                           </p>
                        </c>
                        <c ca="left">
                           <p>Spotted</p>
                        </c>
                        <c ca="left">
                           <p>Budding yeast during cell cycle and CLB2/CLN3 overactive strain</p>
                        </c>
                        <c ca="center">
                           <p>4,579</p>
                        </c>
                        <c ca="center">
                           <p>22</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>
                              <abbrgrp>
                                 <abbr bid="B47">47</abbr>
                                 <abbr bid="B54">54</abbr>
                              </abbrgrp>
                           </p>
                        </c>
                        <c ca="left">
                           <p>Oligonucleotide</p>
                        </c>
                        <c ca="left">
                           <p>Budding yeast during cell cycle</p>
                        </c>
                        <c ca="center">
                           <p>6,616</p>
                        </c>
                        <c ca="center">
                           <p>17</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>
                              <abbrgrp>
                                 <abbr bid="B48">48</abbr>
                                 <abbr bid="B56">56</abbr>
                              </abbrgrp>
                           </p>
                        </c>
                        <c ca="left">
                           <p>Spotted</p>
                        </c>
                        <c ca="left">
                           <p>Yeast in various stressful conditions</p>
                        </c>
                        <c ca="center">
                           <p>6,152</p>
                        </c>
                        <c ca="center">
                           <p>173</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>
                              <abbrgrp>
                                 <abbr bid="B8">8</abbr>
                                 <abbr bid="B59">59</abbr>
                              </abbrgrp>
                           </p>
                        </c>
                        <c ca="left">
                           <p>Spotted</p>
                        </c>
                        <c ca="left">
                           <p><it>C. elegans </it>in various conditions</p>
                        </c>
                        <c ca="center">
                           <p>17,817</p>
                        </c>
                        <c ca="center">
                           <p>553</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>
                              <abbrgrp>
                                 <abbr bid="B45">45</abbr>
                                 <abbr bid="B53">53</abbr>
                              </abbrgrp>
                           </p>
                        </c>
                        <c ca="left">
                           <p>Oligonucleotide</p>
                        </c>
                        <c ca="left">
                           <p>Normal human tissue including 19 kinds of tissues</p>
                        </c>
                        <c ca="center">
                           <p>7,070</p>
                        </c>
                        <c ca="center">
                           <p>59</p>
                        </c>
                     </r>
                  </tblbdy>
                  <tblfn>
                     <p>For each dataset, the source of the dataset, the type of microarray, the organism, a short description of the experimental conditions, the number of genes, and the number of experiments, are shown.</p>
                  </tblfn>
               </tbl>
               <p>We evaluated the performance of ICA in finding components that result in gene clusters with biologically coherent annotations, and compared our results with the performance of other methods that were used to analyze the same datasets. In particular, we compared with the following methods: PCA, which Alter <it>et al</it>. <abbrgrp><abbr bid="B18">18</abbr></abbrgrp> applied to the analysis of the yeast cell cycle data (dataset 1) and Misra <it>et al</it>. <abbrgrp><abbr bid="B19">19</abbr></abbrgrp> applied to the analysis of human tissue data (dataset 5); <it>k</it>-means clustering, which Tavazoie <it>et al</it>. <abbrgrp><abbr bid="B10">10</abbr></abbrgrp> applied to the yeast cell cycle data (dataset 2); the Plaid model <abbrgrp><abbr bid="B14">14</abbr></abbrgrp> applied to the dataset of yeast cells under stressful conditions (dataset 3); and the topographical map-based method (topomap) that Kim <it>et al</it>. <abbrgrp><abbr bid="B8">8</abbr></abbrgrp> applied to the <it>C. elegans </it>data (dataset 4). In all comparisons we applied the natural-gradient maximum-likelihood estimation (NMLE) ICA algorithm <abbrgrp><abbr bid="B28">28</abbr><abbr bid="B29">29</abbr></abbrgrp> for linear ICA, and a kernel-based nonlinear BSS algorithm <abbrgrp><abbr bid="B34">34</abbr></abbrgrp> for nonlinear ICA. The single parameter in our method was the coefficient <it>C </it>in Equation 3, with a default <it>C </it>= 7.5%.</p>
               <p>Detailed results and gene lists for all the clusters that we obtained with our methods are provided in the web supplements in <abbrgrp><abbr bid="B50">50</abbr></abbrgrp>.</p>
            </sec>
            <sec>
               <st>
                  <p>Comparison of ICA with PCA</p>
               </st>
               <p>Alter <it>et al</it>. <abbrgrp><abbr bid="B18">18</abbr></abbrgrp> introduced the use of PCA in microarray analysis. They decomposed a matrix <it>X </it>of <it>N </it>experiments &#215; <it>K </it>genes into the product <it>X </it>= <it>U &#931; V</it><sup><it>T </it></sup>of a <it>N </it>&#215; <it>L </it>orthogonal matrix <it>U</it>, a diagonal matrix <it>&#931;</it>, and a <it>K </it>&#215; <it>L </it>orthogonal matrix <it>V</it>, where <it>L </it>= <it>rank</it>(<it>X</it>). The columns of <it>U </it>are called the eigengenes, and the columns of <it>V </it>are called the eigenarrays. Both eigenarrays and eigengenes are uncorrelated. Alter <it>et al</it>. <abbrgrp><abbr bid="B18">18</abbr></abbrgrp> hypothesized that each eigengene represents a transcriptional regulator and the corresponding eigenarray represents the expression pattern in samples where the regulator is overactive or underactive.</p>
               <p>ICA expresses <it>X </it>as a product <it>X </it>= <it>AS </it>(Equations 1 and 2), where <it>S </it>is an <it>L </it>&#215; <it>K </it>matrix whose rows are statistically-independent profiles of gene expression. The main mathematical difference between ICA and PCA is that PCA finds <it>L </it>uncorrelated expression profiles, whereas ICA finds <it>L </it>statistically-independent expression profiles. Statistical independence is a stronger condition than uncorrelatedness. The two mathematical conditions are equivalent for Gaussian random variables, such as random noise, but different for non-Gaussian variables. We hypothesized that biological processes have highly non-Gaussian distributions, and therefore will be best separated by ICA. To test this hypothesis we compared ICA with PCA on datasets 1 and 5, which Alter <it>et al</it>. <abbrgrp><abbr bid="B18">18</abbr></abbrgrp> and Misra <it>et al</it>. <abbrgrp><abbr bid="B19">19</abbr></abbrgrp>, respectively, analyzed with PCA.</p>
               <p>Alter <it>et al</it>. <abbrgrp><abbr bid="B18">18</abbr></abbrgrp> preprocessed dataset 1 with normalization and degenerate subspace rotation, and subsequently applied PCA to recover 22 eigengenes and 22 eigenarrays. The expression matrix they used consists of ratios <it>x</it><sub><it>ij </it></sub>= (<it>R</it><sub><it>ij</it></sub>/<it>G</it><sub><it>ij</it></sub>) between the red and green intensities. Since a logarithm transformation is the most commonly used method for variance normalization <abbrgrp><abbr bid="B51">51</abbr></abbrgrp>, we used data processed to contain log-ratios <it>x</it><sub><it>ij </it></sub>= log<sub>2</sub>(<it>R</it><sub><it>ij</it></sub>/<it>G</it><sub><it>ij</it></sub>) between red and green intensities obtained from <abbrgrp><abbr bid="B52">52</abbr></abbrgrp>. We applied ICA to the microarray expression matrix <it>X </it>without any preprocessing, and found 22 independent components. We compared the biological coherence of 44 clusters consisting of genes with significantly high or low expression levels within the independent components, with clusters similarly obtained from the principal components of Alter <it>et al</it>. <abbrgrp><abbr bid="B18">18</abbr></abbrgrp>. (We used the most favorable clustering coefficient <it>C </it>for each of the principal components and independent components, see Methods); <it>C </it>was fixed to 17.5 for ICA but it was varied from five to 45 with an interval of 2.5 for PCA and the result for <it>C </it>= 37.5 (best) is illustrated in Figure <figr fid="F2">2a</figr>, while three of others are illustrated in Figure <figr fid="F2">2b</figr>. For each cluster, we calculated <it>p </it>values with every functional category from GO and KEGG, and retained functional categories with <it>p </it>value &lt; 10<sup>-7</sup>. This resulted in 13 functional categories covered only with PCA clusters, 27 only with ICA clusters, and 33 with both. Categories covered by either method but not both, typically had high <it>p </it>values (low significance). For functional categories detected by either ICA or PCA clusters, we made a scatter plot to compare the negative log of the best <it>p </it>values of each category (Figure <figr fid="F2">2a</figr>). In the majority of the functional categories ICA produced significantly lower <it>p </it>values than PCA did. For instance, among the functional categories with <it>p </it>value &lt; 10<sup>-7</sup>, ICA outperformed PCA in 28 out of 33 cases, with a median difference of 7.3 in -log<sub>10 </sub>(<it>p </it>value) in the 33 cases. In Figure <figr fid="F2">2a</figr>, about a half of the functional categories (13 out of 28) represented around the diagonal or under the diagonal have close connection (parent or child) within the GO tree with another category for which ICA has much smaller <it>p </it>value than PCA. This means that if we look at a group of similar functional categories instead of a single category, most of the groups have considerably smaller <it>p </it>values with ICA than with PCA. We listed the five most significant ICA clusters based on the smallest <it>p </it>value of functional categories within the clusters in the web supplement <abbrgrp><abbr bid="B50">50</abbr></abbrgrp>. Cluster 13 is driven from the seventh independent component contained 915 genes that are annotated in KEGG, of which 96 are annotated as 'ribosome'-related (out of 111 total 'ribosome'-related genes in KEGG). The same cluster is highly enriched with genes annotated in GO as 'protein biosynthesis', 'structural constituent of ribosome' and 'cytosolic ribosome'. A plausible hypothesis is that the corresponding independent component represents the expression program of a biological mechanism related to protein synthesis.</p>
               <fig id="F2">
                  <title>
                     <p>Figure 2</p>
                  </title>
                  <caption>
                     <p>Comparison of linear ICA (NMLE), nonlinear ICA with Gaussian RBF kernel (NICAgauss), and PCA, on the yeast cell cycle spotted array data (dataset 1)</p>
                  </caption>
                  <text>
                     <p>Comparison of linear ICA (NMLE), nonlinear ICA with Gaussian RBF kernel (NICAgauss), and PCA, on the yeast cell cycle spotted array data (dataset 1). For each functional category within GO and KEGG, the value of -log<sub>10 </sub>(<it>p </it>value) with the smallest <it>p </it>value from one method is plotted against the corresponding value from the other method. <b>(a) </b>Gene clusters based on the linear ICA components are compared with those based on PCA when <it>C </it>for PCA is fixed to its optimal value 37.5. <b>(b) </b>Gene clusters based on the linear ICA components are compared with those based on PCA with different values of <it>C</it>. <b>(c) </b>Gene clusters based on the nonlinear ICA components are compared with those based on linear ICA. <b>(d) </b>Gene clusters based on the nonlinear ICA components are compared with those based on PCA. Overall, nonlinear ICA performed slightly better than NMLE, and both methods performed significantly better than PCA.</p>
                  </text>
                  <graphic file="gb-2003-4-11-r76-2"/>
               </fig>
               <p>We also applied ICA to another yeast cell cycle dataset using a different synchronization method produced by Spellman <it>et al</it>. <abbrgrp><abbr bid="B46">46</abbr></abbrgrp> and to which PCA is applied by Alter <it>et al</it>. <abbrgrp><abbr bid="B18">18</abbr></abbrgrp>. For this dataset, ICA outperformed PCA in finding significant clusters (data shown in the web supplement <abbrgrp><abbr bid="B50">50</abbr></abbrgrp>).</p>
               <p>We also applied nonlinear ICA to the same dataset. First, we mapped the input data from the 22-dimensional input space to a 30-dimensional feature space (see Methods). We found 30 independent components in the feature space and produced 60 clusters from these components. We compared the biological coherence of nonlinear ICA clusters to linear ICA clusters and to PCA clusters (Figure <figr fid="F2">2c,d</figr>). Overall, nonlinear ICA performed significantly better than the other methods. The five most significant clusters are shown in the web supplement <abbrgrp><abbr bid="B50">50</abbr></abbrgrp>. Similarly to linear ICA, the most significant nonlinear ICA cluster was enriched with genes annotated as 'protein biosynthesis', 'structural constituent of ribosome', 'cytosolic ribosome' and 'ribosome' with the smallest <it>p </it>value being 10<sup>-61 </sup>for 'ribosome' compared to the <it>p </it>value of 10<sup>-51 </sup>for the corresponding ICA cluster.</p>
               <p>Misra <it>et al</it>. <abbrgrp><abbr bid="B19">19</abbr></abbrgrp> applied PCA to dataset 5 of 7,070 genes in 19 kinds of human normal tissue (containing 59 microarray experiments) produced by Hsiao <it>et al</it>. <abbrgrp><abbr bid="B45">45</abbr></abbrgrp> available at <abbrgrp><abbr bid="B53">53</abbr></abbrgrp>. The dataset they used contains 40 experiments; 19 additional microarray experiments have been performed subsequently by Hsiao <it>et al</it>. <abbrgrp><abbr bid="B45">45</abbr></abbrgrp>. After applying PCA and a filtering method, Misra <it>et al</it>. <abbrgrp><abbr bid="B19">19</abbr></abbrgrp> obtained 425 genes upon which they reapplied PCA and plotted a scatter plot with loadings (expression levels) of these genes in the two most dominant principal components (eigenarrays). By visual inspection they observed three linear clusters on the resulting two-dimensional plot, enriched for liver-specific, brain-specific and muscle-specific genes, respectively (no <it>p </it>values were provided), as annotated by Hsiao <it>et al</it>. <abbrgrp><abbr bid="B45">45</abbr></abbrgrp>. We removed three experiments that made the expression matrix <it>X </it>to be nearly singular, and applied ICA on the remaining 56 experiments, resulting in 56 independent components. We generated 112 clusters using our default clustering parameter (<it>C </it>= 7.5%), and measured the enrichment of each of the seven tissue-specific categories annotated by Hsiao <it>et al</it>. <abbrgrp><abbr bid="B45">45</abbr></abbrgrp> within each cluster. The three most significant independent components were enriched for liver-specific, muscle-specific and vulva-specific genes with <it>p </it>values of 10<sup>-133</sup>, 10<sup>-127 </sup>and 10<sup>-101</sup>, respectively. The fourth most significant cluster was brain-specific (<it>p </it>value = 10<sup>-86</sup>). In the ICA liver cluster, 214 genes were liver-specific (out of a total of 293), as compared with the 23 liver-specific genes identified by Misra <it>et al</it>. <abbrgrp><abbr bid="B19">19</abbr></abbrgrp>. The ICA muscle cluster of 258 genes contains 211 muscle-specific genes compared to 19 muscle-specific genes identified by Misra <it>et al</it>. <abbrgrp><abbr bid="B19">19</abbr></abbrgrp>. The ICA brain cluster consisting of 277 genes contains 258 brain-specific genes compared to 19 brain-specific genes identified by Misra <it>et al</it>. <abbrgrp><abbr bid="B19">19</abbr></abbrgrp>. We generated a three-dimensional scatter plot of the coefficients of all genes annotated by Hsiao <it>et al</it>. <abbrgrp><abbr bid="B45">45</abbr></abbrgrp> on the three most significant ICA components (Figure <figr fid="F3">3</figr>). We observe that the liver-specific, muscle-specific and vulva-specific genes are strongly biased to lie on the x-, y- and z-axes of the plot, respectively.</p>
               <fig id="F3">
                  <title>
                     <p>Figure 3</p>
                  </title>
                  <caption>
                     <p>Three independent components of the human normal tissue data (dataset 5)</p>
                  </caption>
                  <text>
                     <p>Three independent components of the human normal tissue data (dataset 5). Each gene is mapped to a point based on the value assigned to the gene in the 14<sup>th </sup>(<it>x</it>-axis), 15<sup>th </sup>(<it>y</it>-axis) and 55<sup>th </sup>(<it>z</it>-axis) independent components, which are enriched with liver-specific (red), muscle-specific (orange), and vulva-specific (green) genes, respectively. Genes not annotated as liver-, muscle- or vulva-specific are colored yellow.</p>
                  </text>
                  <graphic file="gb-2003-4-11-r76-3"/>
               </fig>
               <p>We applied nonlinear ICA to this dataset (dataset 5) and the four most significant clusters from nonlinear ICA with Gaussian radial basis function (RBF) kernel were muscle-specific, liver-specific, vulva-specific and brain-specific with <it>p </it>values of 10<sup>-157</sup>, 10<sup>-125</sup>, 10<sup>-112 </sup>and 10<sup>-70</sup>, respectively.</p>
            </sec>
            <sec>
               <st>
                  <p>Comparison of ICA with <it>k</it>-means clustering</p>
               </st>
               <p>Tavazoie <it>et al</it>. <abbrgrp><abbr bid="B10">10</abbr></abbrgrp> applied <it>k</it>-means clustering to the yeast cell cycle data generated by Cho <it>et al</it>. <abbrgrp><abbr bid="B47">47</abbr></abbrgrp> (dataset 2) and available at <abbrgrp><abbr bid="B54">54</abbr></abbrgrp>. First they excluded two experiments due to less efficient labeling of the mRNA during chip hybridization, and then selected 3,000 genes that exhibited the greatest variation across the 15 remaining experiments. They generated 30 clusters with <it>k</it>-means clustering, after normalizing the variance of the expression of each gene across the 15 experiments. We used the same expression dataset and normalized the variance in the same manner, but we did not remove the two problematic experiments. Instead, we removed one experiment that made the input matrix nearly singular, which destabilizes ICA algorithms. We obtained 16 independent components, and constructed 32 clusters with our default clustering parameter (<it>C </it>= 7.5%). We collected functional categories detected with a <it>p </it>value &lt; 10<sup>-7 </sup>by ICA clusters only (4), or <it>k</it>-means clusters only (16), or both (44). Categories covered by either method but not both typically had high <it>p </it>values. For functional categories detected by both ICA and <it>k</it>-means clusters, we made a scatter plot to compare the negative log of the best <it>p </it>values of the two approaches (Figure <figr fid="F4">4a</figr>). In the majority of the functional categories ICA produced significantly lower <it>p </it>values. Among the functional categories with <it>p </it>value &lt; 10<sup>-7 </sup>(or 10<sup>-10</sup>), ICA outperformed <it>k</it>-means clustering in 30 out of 44 (27 out of 30) cases, with a median difference of 6.1 (8.9) in - log<sub>10 </sub>(<it>p </it>value). The seven most significant clusters are shown in Table <tblr tid="T2">2</tblr>. In Figure <figr fid="F4">4a</figr>, several functional categories are represented around the diagonal. Some of them have close connections within the GO tree with other categories for which ICA has much smaller <it>p</it>-values than PCA. This means that if we look at a group of similar functional categories instead of a single category, most of the groups would have smaller <it>p </it>values with ICA than with PCA. When adjusting the parameter <it>C </it>in our method (Equation 3) from four to 14, we found similar results, with ICA still significantly outperforming <it>k</it>-means clustering (results shown in web supplement <abbrgrp><abbr bid="B50">50</abbr></abbrgrp>).</p>
               <fig id="F4">
                  <title>
                     <p>Figure 4</p>
                  </title>
                  <caption>
                     <p>Comparison of linear ICA (NMLE), nonlinear ICA with Gaussian RBF kernel (NICAgauss), and <it>k</it>-means clustering on the yeast cell cycle oligonucleotide array data (dataset 2)</p>
                  </caption>
                  <text>
                     <p>Comparison of linear ICA (NMLE), nonlinear ICA with Gaussian RBF kernel (NICAgauss), and <it>k</it>-means clustering on the yeast cell cycle oligonucleotide array data (dataset 2). For each GO and KEGG functional category, the largest -log<sub>10</sub>(<it>p </it>value) within clusters from one method is plotted against the corresponding value from the other method. <b>(a) </b>Gene clusters based on the linear ICA components are compared with those based on <it>k</it>-means clustering. <b>(b) </b>TP (True Positives) of gene clusters based on the linear ICA components are compared with those of gene clusters based on <it>k</it>-means clustering. Functional categories for which clusters from NMLE have larger <it>p </it>values than those from <it>k</it>-means clustering algorithm are colored in purple. <b>(c) </b>SN (Sensitivity) of gene clusters based on the linear ICA components are compared with gene clusters based on <it>k</it>-means clustering. Functional categories corresponding to the ones in purple in Figure 4b are colored in purple. <b>(d) </b>Gene clusters based on the nonlinear ICA components are compared with those based on linear ICA. <b>(e) </b>Gene clusters based on the nonlinear ICA components are compared with those based on <it>k</it>-means clustering. Overall, nonlinear ICA performed better than NMLE and both methods performed better than <it>k</it>-means clustering.</p>
                  </text>
                  <graphic file="gb-2003-4-11-r76-4"/>
               </fig>
               <tbl id="T2" hint_layout="double">
                  <title>
                     <p>Table 2</p>
                  </title>
                  <caption>
                     <p>The seven most significant linear ICA clusters from the yeast cell cycle data (Dataset 2)</p>
                  </caption>
                  <tblbdy cols="5">
                     <r>
                        <c ca="left">
                           <p>Cluster</p>
                        </c>
                        <c ca="center">
                           <p>Number of ORFs</p>
                        </c>
                        <c ca="left">
                           <p>GO/KEGG functional categories</p>
                        </c>
                        <c ca="center">
                           <p>Number of ORFs within functional category</p>
                        </c>
                        <c ca="center">
                           <p><it>p </it>value (log<sub>10</sub>)</p>
                        </c>
                     </r>
                     <r>
                        <c cspan="5">
                           <hr/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>1</p>
                        </c>
                        <c ca="center">
                           <p>215</p>
                        </c>
                        <c ca="left">
                           <p>Protein biosynthesis (175)</p>
                        </c>
                        <c ca="center">
                           <p>93</p>
                        </c>
                        <c ca="center">
                           <p>-60.1</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>217</p>
                        </c>
                        <c ca="left">
                           <p>Structural constituent of ribosome (118)</p>
                        </c>
                        <c ca="center">
                           <p>83</p>
                        </c>
                        <c ca="center">
                           <p>-67.6</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>157</p>
                        </c>
                        <c ca="left">
                           <p>Cytosolic ribosome (94)</p>
                        </c>
                        <c ca="center">
                           <p>83</p>
                        </c>
                        <c ca="center">
                           <p>-73.1</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>229</p>
                        </c>
                        <c ca="left">
                           <p>Ribosome (96)</p>
                        </c>
                        <c ca="center">
                           <p>83</p>
                        </c>
                        <c ca="center">
                           <p>-82.5</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>5</p>
                        </c>
                        <c ca="center">
                           <p>208</p>
                        </c>
                        <c ca="left">
                           <p>Cell cycle (220)</p>
                        </c>
                        <c ca="center">
                           <p>61</p>
                        </c>
                        <c ca="center">
                           <p>-19.5</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>202</p>
                        </c>
                        <c ca="left">
                           <p>DNA-directed DNA polymerase (13)</p>
                        </c>
                        <c ca="center">
                           <p>7</p>
                        </c>
                        <c ca="center">
                           <p>-4.7</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>115</p>
                        </c>
                        <c ca="left">
                           <p>Replication fork (30)</p>
                        </c>
                        <c ca="center">
                           <p>16</p>
                        </c>
                        <c ca="center">
                           <p>-9.6</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>229</p>
                        </c>
                        <c ca="left">
                           <p>Cell cycle (58)</p>
                        </c>
                        <c ca="center">
                           <p>18</p>
                        </c>
                        <c ca="center">
                           <p>-6.6</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>11</p>
                        </c>
                        <c ca="center">
                           <p>2,072</p>
                        </c>
                        <c ca="left">
                           <p>Sulfur amino acid metabolism (12)</p>
                        </c>
                        <c ca="center">
                           <p>11</p>
                        </c>
                        <c ca="center">
                           <p>-11.1</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>211</p>
                        </c>
                        <c ca="left">
                           <p>Structural constituent of cytoskeleton (25)</p>
                        </c>
                        <c ca="center">
                           <p>11</p>
                        </c>
                        <c ca="center">
                           <p>-5.9</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>125</p>
                        </c>
                        <c ca="left">
                           <p>Spindle (32)</p>
                        </c>
                        <c ca="center">
                           <p>18</p>
                        </c>
                        <c ca="center">
                           <p>-10.62</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>9</p>
                        </c>
                        <c ca="center">
                           <p>209</p>
                        </c>
                        <c ca="left">
                           <p>Ribosome biogenesis (38)</p>
                        </c>
                        <c ca="center">
                           <p>15</p>
                        </c>
                        <c ca="center">
                           <p>-7.1</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>207</p>
                        </c>
                        <c ca="left">
                           <p>RNA binding (75)</p>
                        </c>
                        <c ca="center">
                           <p>7</p>
                        </c>
                        <c ca="center">
                           <p>-3.4</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>111</p>
                        </c>
                        <c ca="left">
                           <p>Nucleus (334)</p>
                        </c>
                        <c ca="center">
                           <p>54</p>
                        </c>
                        <c ca="center">
                           <p>-7.3</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>7</p>
                        </c>
                        <c ca="center">
                           <p>198</p>
                        </c>
                        <c ca="left">
                           <p>Glutamine family amino acid biosynthesis (11)</p>
                        </c>
                        <c ca="center">
                           <p>8</p>
                        </c>
                        <c ca="center">
                           <p>-6.8</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>99</p>
                        </c>
                        <c ca="left">
                           <p>Mitochondrion (353)</p>
                        </c>
                        <c ca="center">
                           <p>22</p>
                        </c>
                        <c ca="center">
                           <p>-3.8</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>3</p>
                        </c>
                        <c ca="center">
                           <p>209</p>
                        </c>
                        <c ca="left">
                           <p>Protein folding (26)</p>
                        </c>
                        <c ca="center">
                           <p>11</p>
                        </c>
                        <c ca="center">
                           <p>-5.7</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>212</p>
                        </c>
                        <c ca="left">
                           <p>Heat shock protein (14)</p>
                        </c>
                        <c ca="center">
                           <p>9</p>
                        </c>
                        <c ca="center">
                           <p>-6.7</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>11</p>
                        </c>
                        <c ca="center">
                           <p>199</p>
                        </c>
                        <c ca="left">
                           <p>DNA unwinding (10)</p>
                        </c>
                        <c ca="center">
                           <p>6</p>
                        </c>
                        <c ca="center">
                           <p>-4.5</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>192</p>
                        </c>
                        <c ca="left">
                           <p>ATP-dependent DNA helicase (7)</p>
                        </c>
                        <c ca="center">
                           <p>6</p>
                        </c>
                        <c ca="center">
                           <p>-6.0</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>85</p>
                        </c>
                        <c ca="left">
                           <p>Pre-replicative complex (8)</p>
                        </c>
                        <c ca="center">
                           <p>6</p>
                        </c>
                        <c ca="center">
                           <p>-5.7</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>216</p>
                        </c>
                        <c ca="left">
                           <p>Cell cycle (58)</p>
                        </c>
                        <c ca="center">
                           <p>13</p>
                        </c>
                        <c ca="center">
                           <p>-3.6</p>
                        </c>
                     </r>
                  </tblbdy>
                  <tblfn>
                     <p>The cluster IDs are shown, where cluster <it>C</it><sub><it>i,1</it></sub>in Equation 3 is denoted by 2<it>i-1</it> and a cluster <it>C</it><sub><it>i</it>,2 </sub>is denoted by 2<it>i</it>. The number of genes in the cluster that have at least one annotation in GO or KEGG are listed along with the functional category with the smallest <it>p</it>-value among those in each annotation system. Four annotation systems are used: biological process (GO), molecular function (GO), cellular component (GO) and KEGG. Numbers in parentheses show the number of genes within the functional category that are present in the microarray data. Functional categories with <it>p</it>-values higher than 10<sup>-3 </sup>are discarded, and those with values higher than 10<sup>-7 </sup>are not considered to be significant. The number of genes shared by the cluster and the functional category is shown with the log<sub>10 </sub>of the <it>p</it>-values corresponding to each functional category for the cluster.</p>
                  </tblfn>
               </tbl>
               <p>To understand whether ICA clusters typically outperform <it>k</it>-means clusters because of larger overlaps with the GO category, or because of fewer genes outside the GO category, we defined two quantities: True Positive (TP) and Sensitivity (SN). They are determined as: <it>TP </it>= <it>k</it>/<it>n </it>and <it>SN </it>= <it>k</it>/<it>f</it>, where <it>k </it>is the number of genes that are shared by the functional category, the cluster <it>n </it>is the number of genes within the cluster that are in any functional category and <it>f </it>is the number of genes within the functional category that appear in the microarray dataset. For all functional categories appeared in Figure <figr fid="F4">4a</figr>, we compared TP and SN of ICA clusters with those of <it>k</it>-means clusters in Figure <figr fid="F4">4b</figr> and <figr fid="F4">4c</figr>, respectively. From Figure <figr fid="F4">4b</figr> and <figr fid="F4">4c</figr>, we see that ICA-based clusters usually cover more of the functional category (more sensitive), while they are comparable with <it>k</it>-means clusters in the percentage of the cluster's genes contained in the functional category (equally specific). We also applied nonlinear ICA to the same dataset. We first mapped the input data from the 16-dimensional input space to a 20-dimensional feature space (see Methods), found 20 independent components in the feature space and produced 40 clusters from these components. Comparison of the biological coherence of nonlinear ICA clusters to ICA clusters and to <it>k</it>-means clusters (Figure <figr fid="F4">4d,e</figr>) showed that overall nonlinear ICA performed significantly better than the other methods. The seven most significant nonlinear ICA clusters are shown in our web supplement <abbrgrp><abbr bid="B50">50</abbr></abbrgrp>.</p>
            </sec>
            <sec>
               <st>
                  <p>Comparison of ICA with Plaid model</p>
               </st>
               <p>Lazzeroni and Owen <abbrgrp><abbr bid="B14">14</abbr></abbrgrp> proposed the Plaid model for microarray analysis. The Plaid model takes the input expression data in the form of a matrix <it>X</it><sub><it>ij </it></sub>(where <it>i </it>ranges over <it>N </it>samples and <it>j </it>ranges over <it>K </it>genes). It linearly decomposes <it>X </it>into component matrices, namely layers, each containing non-zero values only for subsets of genes and samples in the input <it>X </it>that are considered to be member genes and samples of that layer. Genes that show a similar expression pattern through a set of samples, together with those samples, are assigned to be members of that layer. Each gene is assigned a load value representing the activity level of the gene in that layer. We downloaded the Plaid software from <abbrgrp><abbr bid="B55">55</abbr></abbrgrp>, and applied it to the analysis of yeast stress data of 6,152 genes in 173 experiments (dataset 3) obtained by Gasch <it>et al</it>. <abbrgrp><abbr bid="B48">48</abbr></abbrgrp> available at <abbrgrp><abbr bid="B56">56</abbr></abbrgrp>. We imputed dataset 3 after eliminating 868 environmental stress response (ESR) genes defined by Gasch <it>et al</it>. <abbrgrp><abbr bid="B48">48</abbr></abbrgrp> - because clustering of the ESR genes is trivial - and obtained 173 layers. To check the biological coherence of each layer, we grouped genes showing significant activity level in each layer into clusters. For each layer, we grouped the top <it>C</it>% of up-regulated/down-regulated genes into a cluster. The value of <it>C </it>was varied from 2.5 to 42.5 with an interval of five. The setting that maximized the average <it>p </it>value of the functional categories was <it>C </it>= 32.5, with <it>p </it>value of &lt;10<sup>-20</sup>. (We used the most favorable clustering coefficient <it>C </it>for the Plaid model, see Methods.)</p>
               <p>We applied ICA to the dataset (5,284 genes, 173 experiments), after we had also eliminated the 868 ESR genes that are easy to cluster. We found 173 independent components, constructed 346 clusters by using our default clustering parameters (<it>C </it>= 7.5, in Equation 3), and performed the same <it>p </it>value comparison of statistical significance with the Plaid model (Figure <figr fid="F5">5</figr>). Figure <figr fid="F5">5a</figr> compared ICA with the Plaid model when <it>C </it>is the optimal value (<it>C </it>= 32.5), and Figure <figr fid="F5">5b</figr> compared ICA with the Plaid model with <it>C </it>from 2.5 to 45. In Figure <figr fid="F5">5a</figr>, when <it>C </it>= 32.5, in the 56 functional categories detected by both the Plaid model and ICA with <it>p </it>value &lt;10<sup>-7</sup>, the ICA clusters had smaller <it>p </it>values for 51 out of 56 functional categories. We list the five most significant clusters from our model in Table <tblr tid="T3">3</tblr>. In Table <tblr tid="T3">3</tblr>, clusters are characterized by functional categories related to various kinds of processes for synthesis of ATP (that is, energy metabolism), whereas clusters in Table <tblr tid="T2">2</tblr> are characterized by biological events occurring during the cell cycle, most of which are catabolic processes consuming ATP. This result is consistent with the fact that the many cellular stresses induce ATP depletion, which induces a drop in the ATP:AMP ratio and leads to expression of genes associated with energy metabolism <abbrgrp><abbr bid="B57">57</abbr><abbr bid="B58">58</abbr></abbrgrp>. We also applied our approach to the dataset without removing ESR genes and the results were significantly better (see our webpage at <abbrgrp><abbr bid="B50">50</abbr></abbrgrp>).</p>
               <fig id="F5">
                  <title>
                     <p>Figure 5</p>
                  </title>
                  <caption>
                     <p>Comparison of linear ICA (NMLE) with the Plaid models, on the yeast stress spotted array dataset (dataset 3)</p>
                  </caption>
                  <text>
                     <p>Comparison of linear ICA (NMLE) with the Plaid models, on the yeast stress spotted array dataset (dataset 3). For each GO and KEGG functional category, the largest -log<sub>10</sub>(<it>p </it>value) within clusters from one method is plotted against the corresponding value from the other method. <b>(a) </b>Gene clusters based on the NMLE components are compared with those based on the Plaid model when <it>C </it>for the Plaid model is fixed to its optimal value 32.5. <b>(b) </b>Gene clusters based on the linear ICA components are compared with those based on the Plaid model with different values of <it>C</it>.</p>
                  </text>
                  <graphic file="gb-2003-4-11-r76-5"/>
               </fig>
               <tbl id="T3" hint_layout="double">
                  <title>
                     <p>Table 3</p>
                  </title>
                  <caption>
                     <p>The six most significant linear ICA clusters from the yeast in various stress conditions data (Dataset 3)</p>
                  </caption>
                  <tblbdy cols="5">
                     <r>
                        <c ca="left">
                           <p>Cluster</p>
                        </c>
                        <c ca="center">
                           <p>Number of ORFs</p>
                        </c>
                        <c ca="left">
                           <p>GO and KEGG functional category</p>
                        </c>
                        <c ca="center">
                           <p>Number of ORFs within functional category</p>
                        </c>
                        <c ca="center">
                           <p><it>p</it>-value (log<sub>10</sub>)</p>
                        </c>
                     </r>
                     <r>
                        <c cspan="5">
                           <hr/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>17</p>
                        </c>
                        <c ca="center">
                           <p>378</p>
                        </c>
                        <c ca="left">
                           <p>Protein biosynthesis (181)</p>
                        </c>
                        <c ca="center">
                           <p>76</p>
                        </c>
                        <c ca="center">
                           <p>-37.3</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>407</p>
                        </c>
                        <c ca="left">
                           <p>Structural constituent of ribosome (73)</p>
                        </c>
                        <c ca="center">
                           <p>63</p>
                        </c>
                        <c ca="center">
                           <p>-57.8</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>225</p>
                        </c>
                        <c ca="left">
                           <p>Mitochondrion (286)</p>
                        </c>
                        <c ca="center">
                           <p>137</p>
                        </c>
                        <c ca="center">
                           <p>-77.7</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>423</p>
                        </c>
                        <c ca="left">
                           <p>Translation (76)</p>
                        </c>
                        <c ca="center">
                           <p>32</p>
                        </c>
                        <c ca="center">
                           <p>-15.5</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>15</p>
                        </c>
                        <c ca="center">
                           <p>346</p>
                        </c>
                        <c ca="left">
                           <p>Amino acid and derivative metabolism (84)</p>
                        </c>
                        <c ca="center">
                           <p>58</p>
                        </c>
                        <c ca="center">
                           <p>-47.0</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>379</p>
                        </c>
                        <c ca="left">
                           <p>Oxidoreductase (141)</p>
                        </c>
                        <c ca="center">
                           <p>39</p>
                        </c>
                        <c ca="center">
                           <p>-11.9</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>423</p>
                        </c>
                        <c ca="left">
                           <p>Metabolism of other amino acids (62)</p>
                        </c>
                        <c ca="center">
                           <p>26</p>
                        </c>
                        <c ca="center">
                           <p>-12.7</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>1</p>
                        </c>
                        <c ca="center">
                           <p>363</p>
                        </c>
                        <c ca="left">
                           <p>TCA intermediate metabolism (19)</p>
                        </c>
                        <c ca="center">
                           <p>18</p>
                        </c>
                        <c ca="center">
                           <p>-18.9</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>381</p>
                        </c>
                        <c ca="left">
                           <p>Oxidoreductase (141)</p>
                        </c>
                        <c ca="center">
                           <p>52</p>
                        </c>
                        <c ca="center">
                           <p>-22.1</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>198</p>
                        </c>
                        <c ca="left">
                           <p>Mitochondrion (286)</p>
                        </c>
                        <c ca="center">
                           <p>77</p>
                        </c>
                        <c ca="center">
                           <p>-22.9</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>421</p>
                        </c>
                        <c ca="left">
                           <p>Oxidative phosphorylation (137)</p>
                        </c>
                        <c ca="center">
                           <p>35</p>
                        </c>
                        <c ca="center">
                           <p>-24.2</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>65</p>
                        </c>
                        <c ca="center">
                           <p>377</p>
                        </c>
                        <c ca="left">
                           <p>Protein catabolism (123)</p>
                        </c>
                        <c ca="center">
                           <p>35</p>
                        </c>
                        <c ca="center">
                           <p>-11.1</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>377</p>
                        </c>
                        <c ca="left">
                           <p>Threonine endopeptidase (30)</p>
                        </c>
                        <c ca="center">
                           <p>20</p>
                        </c>
                        <c ca="center">
                           <p>-15.1</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>194</p>
                        </c>
                        <c ca="left">
                           <p>26S proteasome (41)</p>
                        </c>
                        <c ca="center">
                           <p>26</p>
                        </c>
                        <c ca="center">
                           <p>-18.2</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>423</p>
                        </c>
                        <c ca="left">
                           <p>Proteasome (32)</p>
                        </c>
                        <c ca="center">
                           <p>21</p>
                        </c>
                        <c ca="center">
                           <p>-15.5</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>61</p>
                        </c>
                        <c ca="center">
                           <p>375</p>
                        </c>
                        <c ca="left">
                           <p>Main pathways of carbohydrate metabolism (51)</p>
                        </c>
                        <c ca="center">
                           <p>27</p>
                        </c>
                        <c ca="center">
                           <p>-16.5</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>395</p>
                        </c>
                        <c ca="left">
                           <p>Transporter (218)</p>
                        </c>
                        <c ca="center">
                           <p>37</p>
                        </c>
                        <c ca="center">
                           <p>-4.8</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>184</p>
                        </c>
                        <c ca="left">
                           <p>Cytosol (125)</p>
                        </c>
                        <c ca="center">
                           <p>32</p>
                        </c>
                        <c ca="center">
                           <p>-9.1</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>421</p>
                        </c>
                        <c ca="left">
                           <p>Glycolysis/gluconeogenesis (36)</p>
                        </c>
                        <c ca="center">
                           <p>24</p>
                        </c>
                        <c ca="center">
                           <p>-17.9</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>75</p>
                        </c>
                        <c ca="center">
                           <p>386</p>
                        </c>
                        <c ca="left">
                           <p>Cell-cell fusion (90)</p>
                        </c>
                        <c ca="center">
                           <p>32</p>
                        </c>
                        <c ca="center">
                           <p>-12.8</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>390</p>
                        </c>
                        <c ca="left">
                           <p>Transmembrane receptor (14)</p>
                        </c>
                        <c ca="center">
                           <p>6</p>
                        </c>
                        <c ca="center">
                           <p>-3.3</p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>189</p>
                        </c>
                        <c ca="left">
                           <p>External protective structure (66)</p>
                        </c>
                        <c ca="center">
                           <p>16</p>
                        </c>
                        <c ca="center">
                           <p>-4.3</p>
                        </c>
                     </r>
                  </tblbdy>
                  <tblfn>
                     <p>The cluster IDs are shown where cluster <it>C</it><sub><it>i,1</it></sub>in Equation 3 is denoted by 2<it>i-1</it> and a cluster <it>C</it><sub><it>i</it>,2 </sub>is denoted by 2<it>i</it>. The number of genes in the cluster that have at least one annotation in GO or KEGG are listed, along with the functional category with the smallest <it>p</it>-value among those in each annotation system. Numbers in parentheses show the number of genes within the functional category that are present in the microarray data. Functional categories with <it>p</it>-values higher than 10<sup>-3 </sup>are discarded, and those with values higher than 10<sup>-7 </sup>are not considered to be significant. The number of genes shared by the cluster and the functional category is shown with the log<sub>10 </sub>of the <it>p</it>-values corresponding to each functional category for the cluster.</p>
                  </tblfn>
               </tbl>
            </sec>
            <sec>
               <st>
                  <p>Comparison of ICA with topomap-based clustering</p>
               </st>
               <p>Kim <it>et al</it>. <abbrgrp><abbr bid="B8">8</abbr></abbrgrp> assembled a large and diverse dataset of 553 <it>C. elegans </it>microarray experiments produced by 30 laboratories (available at <abbrgrp><abbr bid="B59">59</abbr></abbrgrp>). This dataset contains experiments from many different conditions, as well as several experiments on mutant worms. Of the total, 179 of the experiments contain 11,917 gene measurements, while 374 of the experiments contain 17,817 gene measurements. Kim <it>et al</it>. <abbrgrp><abbr bid="B8">8</abbr></abbrgrp> clustered the genes with a versatile topographical map (topomap) visualization approach that they developed for analyzing this dataset. Their approach resembles two-dimensional hierarchical clustering, and is designed to work well with large collections of highly diverse microarray measurements. Using their method, they found by visual inspection 44 clusters (the mounts) that show significant biological coherence.</p>
               <p>The ICA method is sensitive to large amounts of missing values, while methods for imputing missing values are also not appropriate in such cases. We applied ICA to the 250 experiments that had missing values for &lt; 7,000 out of the 17,661 genes, removed four experiments that make the expression matrix to be nearly singular, and generated 492 clusters by using our default parameters. In total, 333 GO and KEGG categories were detected by both ICA and topomap clusters with <it>p </it>values &lt;10<sup>-7 </sup>(Figure <figr fid="F6">6</figr>). Categories covered by either method, but not both, typically had high <it>p </it>values. We observe that the two methods perform very similarly, with most categories having roughly the same <it>p </it>value in the ICA and in the topomap clusters. The topomap clustering approach performs slightly better in a larger fraction of the categories. Still, we consider this performance a confirmation that ICA is a widely applicable method that requires minimal training, as in this case the missing values and high diversity of the data make clustering especially challenging.</p>
               <fig id="F6">
                  <title>
                     <p>Figure 6</p>
                  </title>
                  <caption>
                     <p>Comparison of linear ICA (NMLE) versus topomap-based clustering on the <it>C. elegans </it>spotted array dataset (dataset 4)</p>
                  </caption>
                  <text>
                     <p>Comparison of linear ICA (NMLE) versus topomap-based clustering on the <it>C. elegans </it>spotted array dataset (dataset 4). For each functional category within GO and KEGG, the value of -log<sub>10 </sub>(<it>p </it>value) with the smallest <it>p </it>value from NMLE is plotted against the corresponding value from the topomap method. <b>(a) </b>Gene clusters based on the NMLE components are compared with those based on the Topomap method. The two methods performed comparably, as most points of low <it>p </it>values fall on the <it>x </it>= <it>y </it>axis. <b>(b) </b>TP (True Positives) of functional categories from gene clusters based on the NMLE components are compared with those of functional categories from gene clusters based on the topomap method. Functional categories for which clusters from NMLE have larger <it>p </it>values than those from topomap method are colored in purple. <b>(c) </b>SN (Sensitivity) of functional categories from gene clusters based on the linear NMLE and topomap clusters. Functional categories corresponding to the ones in purple in Figure 6b are colored in purple.</p>
                  </text>
                  <graphic file="gb-2003-4-11-r76-6"/>
               </fig>
               <p>We also carried out a comparison of the <it>TP </it>and <it>SN </it>quantities. For all functional categories that appeared in Figure <figr fid="F6">6a</figr>, we compared <it>TP </it>and <it>SN </it>of ICA clusters with those of topomap-driven clusters in Figure <figr fid="F6">6b</figr> and <figr fid="F6">6c</figr>, respectively. Again, typically, ICA clusters cover more genes from the functional category than the corresponding topomap clusters.</p>
            </sec>
            <sec>
               <st>
                  <p>Comparison of different linear and nonlinear ICA algorithms</p>
               </st>
               <p>We tested six linear ICA methods: Natural Gradient Maximum Likelihood Estimation (NMLE) <abbrgrp><abbr bid="B28">28</abbr><abbr bid="B29">29</abbr></abbrgrp>; Joint Approximate Diagonalization of Eigenmatrices (JADE) <abbrgrp><abbr bid="B30">30</abbr></abbrgrp>; Fast Fixed Point ICA with three decorrelation and nonlinearity approaches (different measures of non-Gaussianity: FP, FPsym and FPsymth) <abbrgrp><abbr bid="B31">31</abbr></abbrgrp>; and Extended Information Maximization (ExtIM) <abbrgrp><abbr bid="B32">32</abbr></abbrgrp>. We also tested two variations of nonlinear ICA: Gaussian radial basis function (RBF) kernel (NICAgauss) and polynomial kernel (NICApoly). For each dataset, we compared the biological coherence of clusters generated by each method. Among the six linear ICA algorithms, NMLE performed well in all datasets. Among both linear and nonlinear methods, the Gaussian kernel nonlinear ICA method was the best in datasets 1 and 2, the polynomial kernel nonlinear ICA method was best in dataset 5. NMLE, FPsymth and ExtM were best in the large datasets, 3 and 4. In Figure <figr fid="F7">7</figr>, we compare the NMLE method with three other ICA methods. We show the remaining comparisons in our web supplement <abbrgrp><abbr bid="B50">50</abbr></abbrgrp>. Overall, the linear ICA algorithms consistently performed well in all datasets. The nonlinear ICA algorithms performed best in the small datasets, but were unstable in the two largest datasets.</p>
               <fig id="F7">
                  <title>
                     <p>Figure 7</p>
                  </title>
                  <caption>
                     <p>Comparison of NMLE with other ICA approaches</p>
                  </caption>
                  <text>
                     <p>Comparison of NMLE with other ICA approaches. Comparison of the NMLE ICA algorithm with three other ICA approaches on two yeast cell cycle data (dataset 1 and 2), yeast stress data (dataset 3), and <it>C. elegans </it>data (dataset 4). Eight different ICA algorithms and variations (Table <tblr tid="T4">4</tblr>) were compared. The full comparison is shown in the web supplement. Overall, NMLE, ExtIM and FPsymth performed similarly except in the dataset 2. NICApoly performed comparably with NICAgauss. Both nonlinear approaches were better than NMLE in the two smaller datasets, but performed relatively poorly in the two larger datasets.</p>
                  </text>
                  <graphic file="gb-2003-4-11-r76-7"/>
               </fig>
               <tbl id="T4" hint_layout="double">
                  <title>
                     <p>Table 4</p>
                  </title>
                  <caption>
                     <p>Methods for performing ICA that we compared</p>
                  </caption>
                  <tblbdy cols="6">
                     <r>
                        <c ca="left">
                           <p>Algorithm</p>
                        </c>
                        <c ca="left">
                           <p>Variations</p>
                        </c>
                        <c ca="left">
                           <p>Abbreviation</p>
                        </c>
                        <c ca="left">
                           <p>Description</p>
                        </c>
                        <c ca="left">
                           <p>Reference</p>
                        </c>
                        <c ca="left">
                           <p>Software</p>
                        </c>
                     </r>
                     <r>
                        <c cspan="6">
                           <hr/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>Natural Gradient Maximum Likelihood Estimation</p>
                        </c>
                        <c ca="left">
                           <p>-</p>
                        </c>
                        <c ca="left">
                           <p>NMLE</p>
                        </c>
                        <c ca="left">
                           <p>Natural gradient is applied to MLE for efficient learning</p>
                        </c>
                        <c ca="left">
                           <p>
                              <abbrgrp>
                                 <abbr bid="B28">28</abbr>
                                 <abbr bid="B29">29</abbr>
                              </abbrgrp>
                           </p>
                        </c>
                        <c ca="left">
                           <p>
                              <abbrgrp>
                                 <abbr bid="B72">72</abbr>
                              </abbrgrp>
                           </p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>Extended Information Maximization</p>
                        </c>
                        <c ca="left">
                           <p>-</p>
                        </c>
                        <c ca="left">
                           <p>ExtIM</p>
                        </c>
                        <c ca="left">
                           <p>NMLE for separating mix of super- and sub-Gaussian sources</p>
                        </c>
                        <c ca="left">
                           <p>
                              <abbrgrp>
                                 <abbr bid="B32">32</abbr>
                              </abbrgrp>
                           </p>
                        </c>
                        <c ca="left">
                           <p>
                              <abbrgrp>
                                 <abbr bid="B73">73</abbr>
                              </abbrgrp>
                           </p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>Fast Fixed-Point</p>
                        </c>
                        <c ca="left">
                           <p>Kurtosis with deflation</p>
                        </c>
                        <c ca="left">
                           <p>FP</p>
                        </c>
                        <c ca="left">
                           <p>Maximizing non-Gaussianity</p>
                        </c>
                        <c ca="left">
                           <p>
                              <abbrgrp>
                                 <abbr bid="B31">31</abbr>
                              </abbrgrp>
                           </p>
                        </c>
                        <c ca="left">
                           <p>
                              <abbrgrp>
                                 <abbr bid="B74">74</abbr>
                              </abbrgrp>
                           </p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="left">
                           <p>Symmetric orthogonalization</p>
                        </c>
                        <c ca="left">
                           <p>Fpsym</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="left">
                           <p>Tanh nonlinearity with symmetric orthogonalization</p>
                        </c>
                        <c ca="left">
                           <p>Fpsymth</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>Joint Approximate Diagonalization of Eigenmatrices</p>
                        </c>
                        <c ca="left">
                           <p>-</p>
                        </c>
                        <c ca="left">
                           <p>JADE</p>
                        </c>
                        <c ca="left">
                           <p>Using higher-order cumulant tensor</p>
                        </c>
                        <c ca="left">
                           <p>
                              <abbrgrp>
                                 <abbr bid="B30">30</abbr>
                              </abbrgrp>
                           </p>
                        </c>
                        <c ca="left">
                           <p>
                              <abbrgrp>
                                 <abbr bid="B75">75</abbr>
                              </abbrgrp>
                           </p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>Nonlinear ICA</p>
                        </c>
                        <c ca="left">
                           <p>Gaussian RBF kernel</p>
                        </c>
                        <c ca="left">
                           <p>NICAgauss</p>
                        </c>
                        <c ca="left">
                           <p>Kernel-based approach</p>
                        </c>
                        <c ca="left">
                           <p>
                              <abbrgrp>
                                 <abbr bid="B34">34</abbr>
                                 <abbr bid="B37">37</abbr>
                                 <abbr bid="B50">50</abbr>
                              </abbrgrp>
                           </p>
                        </c>
                        <c ca="left">
                           <p>
                              <abbrgrp>
                                 <abbr bid="B50">50</abbr>
                              </abbrgrp>
                           </p>
                        </c>
                     </r>
                     <r>
                        <c>
                           <p/>
                        </c>
                        <c ca="left">
                           <p>Using polynomial kernel</p>
                        </c>
                        <c ca="left">
                           <p>NICApoly</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                     </r>
                  </tblbdy>
                  <tblfn>
                     <p>Eight methods are based on five algorithms. The method's name, variations, abbreviation, short description, references and software that we use, are listed.</p>
                  </tblfn>
               </tbl>
               <p>The Extended Infomax ICA algorithm <abbrgrp><abbr bid="B32">32</abbr></abbrgrp> can automatically determine whether the distribution of each source signal is super-Gaussian, with a sharp peak at the mean and long tails (such as the Laplace distribution), or sub-Gaussian, with a small peak at the mean and short tails (such as the uniform distribution). Interestingly, the application of Infomax ICA to all the expression datasets uncovered no source signal with sub-Gaussian distribution. A likely explanation is that the microarray expression datasets are mixtures of super-Gaussian sources rather than of sub-Gaussian sources. This finding is consistent with the following intuition: underlying biological processes are super-Gaussian, because they affect sharply the relevant genes, typically a fraction of all genes (long tails in the distribution), and leave the majority of genes relatively unaffected (sharp peak at the mean of the distribution).</p>
               <p>There have been several empirical comparisons of ICA algorithms using various real datasets <abbrgrp><abbr bid="B27">27</abbr><abbr bid="B60">60</abbr></abbrgrp>. Even though many of the ICA algorithms have close theoretical connections, they often reveal different independent components in real world problems. The reasons for such discrepancies are usually deviations between the assumed ICA model and the underlying behavior of real data. Discrepancies can often result from noise or wrong estimation of the source distributions. Such factors affect the convergence of each ICA algorithm differently, and therefore it is useful to apply several different ICA algorithms <abbrgrp><abbr bid="B27">27</abbr></abbrgrp>. In our case, overall, the different ICA algorithms perform similarly. NMLE, ExtIM, and FPsymth algorithms yielded similar results except in dataset 2 where NMLE performed best. Interestingly, dataset 2 is the only one in this comparison where the data comes from oligonucleotide microarrays (Affymetrix), where the distribution is highly unbalanced and required application of variance normalization (see Methods).</p>
            </sec>
         </sec>
      </sec>
      <sec>
         <st>
            <p>Discussion</p>
         </st>
         <p>ICA is a powerful statistical method for separating mixed independent signals. We proposed applying ICA to decompose microarray data into independent gene expression patterns of underlying biological processes and to group genes into clusters that are mutually non-exclusive with statistically significant functional coherence. Our clustering method outperformed several leading methods on a variety of datasets, with the added advantage that it requires setting only one parameter, namely the percentage ranking <it>C </it>beyond which a gene is considered to be associated with a component's cluster. We observed that performance was not very sensitive to that parameter, suggesting that ICA is robust enough to be used for clustering with little human intervention. The empirical performance of ICA in our tests supports the hypothesis that statistical independence is a good criterion for separating mixed biological signals in microarray data.</p>
         <p>Linear ICA models a microarray expression matrix <it>X </it>as a linear mixture <it>X </it>= <it>AS </it>of independent sources. ICA decomposition attempts to find a matrix <it>W </it>such that <it>Y </it>= <it>WX </it>= <it>WAS </it>recovers the sources <it>S </it>(up to scaling and permutation of the components). The three main mathematical conditions for a solution to exist are <abbrgrp><abbr bid="B42">42</abbr></abbrgrp>: the number of observed mixed signals is larger than, or equal to the number of independent sources, that is, <it>N </it>= <it>M </it>in Equation 1; the columns of the mixing matrix <it>A </it>are linearly independent; and there is, at most, one source signal with Gaussian distribution. In microarray analysis, the first condition may mean that when too few separate microarray experiments are conducted, some of the important biological processes of the studied system may collapse into a single independent component. If the number of sources is known to be smaller than the number of observed signals, PCA is usually applied prior to ICA, to reduce the dimension of the input space. Because we expect the true number of concurrent biological processes inside a cell to be very large, we attempted to find the maximum number of independent components in our tests, which is equal to the rank of <it>X</it>. We also experimented with adjusting the number of independent components by randomly sampling a certain number of experiments and by using dimensional reduction using PCA for the datasets 1, 2 and 3 (results shown in the web supplement at <abbrgrp><abbr bid="B50">50</abbr></abbrgrp>). Both random sampling and PCA dimensional reduction led to worse performance in terms of <it>p </it>values as the number of dimensions decreased. The main conclusion that we can draw from this drop in performance is to exclude a scenario where a small number of linearly mixing independent biological processes drove the expression of most genes in these datasets. The second condition, that the columns of the mixing matrix <it>A </it>are linearly independent, is easily satisfied by removing microarray experiments that can be expressed as linear combinations of other experiments, that is, those that make the matrix <it>X </it>singular. The third condition, that there is, at most, one source signal with Gaussian distribution, is reasonable for analyzing biological data: the most typical Gaussian source is random noise, whereas biological processes that control gene expression are expected to be highly non-Gaussian, sharply affecting a set of relevant genes, and leaving most other genes relatively unaffected. Moreover, the ability of ICA to separate a single Gaussian component may prove ideal in separating the experimental noise from expression data. This is a topic for future research.</p>
         <p>ICA is a projection method for data analysis, but it can be interpreted also as a model-based method, where the underlying model explains the gene levels at each condition as mixtures of several statistically-independent biological processes that control gene expression. Moreover, ICA naturally leads to clustering, with each gene assigned to the clusters that correspond to independent components where the gene has a significantly high expression level. An advantage of ICA-based clustering is that each gene can be placed in zero, one or several clusters.</p>
         <p>ICA is very similar to PCA, as both methods project a data matrix into components in a different space. However, the goals of the two methods are different. PCA finds the uncorrelated components of maximum variance, and is ideal for compressing data into a lower-dimensional space by removing the least significant components. ICA finds the statistically independent components, and is ideal for separating mixed signals. It is generally understood that ICA recovers more interesting (that is, non-Gaussian) signals than PCA does in the financial time series data <abbrgrp><abbr bid="B25">25</abbr></abbrgrp>. If the input comprises a mixture of signals generated by independent sources, independent components are close approximates of the individual source signals; otherwise, ICA is the projection-pursuit technique that finds the projection of the high-dimensional dataset exhibiting the most interesting behavior <abbrgrp><abbr bid="B44">44</abbr></abbrgrp>. Thus, ICA can be trusted to find statistically interesting features in the data, which may reflect underlying biological processes.</p>
         <p>We applied a new method for performing nonlinear ICA, based on the kernel trick <abbrgrp><abbr bid="B37">37</abbr></abbrgrp> that is usually applied in Support Vector Machine (SVM) learning <abbrgrp><abbr bid="B61">61</abbr></abbrgrp>. Our method can deal with more general nonlinear mixture models (generalized post-nonlinear mixture models), and reduces the computation load so as to be applicable to larger datasets. Using nonlinear ICA we were able to improve performance in the three smaller datasets. However, the algorithm was still unstable in the two larger datasets. Using a Gaussian kernel, the method performed very poorly in these datasets; using a polynomial kernel, it performed comparably to linear ICA. Overall we demonstrated that nonlinear ICA is a promising method that, if applied properly, can outperform linear ICA on microarray data.</p>
         <p>In nonlinear mixture models, the nonlinear mapping <it>f(.)</it> represents complex nonlinear relationships between biological processes <it>s</it><sub>1 </sub>...<it>s</it><sub><it>M </it></sub>and gene expression data <it>x</it><sub>1...</sub><it>x</it><sub><it>N</it></sub>. In our nonlinear ICA algorithm, the nonlinear step based on kernel method is expected to map the data <it>x</it><sub>1</sub>...<it>x</it><sub><it>N </it></sub>from the input space to a higher dimensional feature space where these nonlinear operations become linear so that the relationship between biological processes <it>s</it><sub>1 </sub>...<it>s</it><sub><it>M </it></sub>and the mapped data <it>&#936;</it>(<it>x</it><sub>1</sub>),..., <it>&#936;</it>(<it>x</it><sub><it>N</it></sub>) becomes linear. Kernel-based nonlinear mapping has many advantages compared to other nonlinear mapping methods because it is versatile enough to cover a wide range of nonlinear operations, and at the same time reduces the computational load drastically <abbrgrp><abbr bid="B34">34</abbr></abbrgrp>. One challenge in general is to choose the best kernel for a specific application <abbrgrp><abbr bid="B62">62</abbr><abbr bid="B63">63</abbr></abbrgrp>. A common practice is to try several different kernels, and decide on the best one empirically <abbrgrp><abbr bid="B3">3</abbr><abbr bid="B34">34</abbr></abbrgrp>. Finding which kernels best model observed nonlinear gene interactions is a direction for future research.</p>
         <p>The linear mixture model that we proposed has the advantage of simplicity - it is expected to perform well in finding first-order features in the data, such as when a single transcription factor up-regulates a given subset of genes. Nonlinear ICA may prove capable of capturing multi-gene interactions, such as when the cooperation of several genes, or the combination of presence of some genes and absence of others, is necessary for driving the expression of another set of genes. In future research, we will attempt to capture such interactions with nonlinear modeling, and to deduce such models from the components that we obtain with nonlinear ICA. Currently our ICA model does not take into account time in experiments such as the yeast cell cycle data. A direction for future research is to incorporate a time model in our approach, whenever the microarray measurements represent successive time points.</p>
         <p>It has been suggested that ICA be used for projection pursuit (PP) problems <abbrgrp><abbr bid="B64">64</abbr></abbrgrp> where the goal is to find projections containing the most interesting structural information for visualization or linear clustering. ICA is applicable in this context because directions onto which the projections of the data are as non-Gaussian as possible are considered interesting <abbrgrp><abbr bid="B60">60</abbr></abbrgrp>. Unlike the BSS problem, in the projection pursuit context inputs are not necessarily modeled as linear mixtures of independent signals. In dataset 5, we can see difference between ICA and PCA in finding interesting structures. Using a previous version of dataset 5 containing 40 out of the 59 samples, Misra <it>et al</it>. <abbrgrp><abbr bid="B19">19</abbr></abbrgrp> constructed a scatter plot illustrating the two most dominant principal components. On that plot, there were three linearly structured clusters of genes, each turning out to be related to a tissue-specific property. Two of them were not aligned with any principal components. The corresponding plot derived by ICA in Figure <figr fid="F3">3</figr> shows that the directions of the three most dominant independent components are exactly aligned with the linear structures of genes so that we can say that each component corresponds to a tissue sample. It is known that by applying ICA, separation can be achieved along a direction corresponding to one projection, which is not the case with PCA <abbrgrp><abbr bid="B60">60</abbr></abbrgrp>. Nonlinear ICA can similarly be understood to be a PP method that finds nonlinear directions that are interesting in the sense of forming highly non-Gaussian distributions.</p>
         <p>In practice, microarray expression data usually contain missing values and may have unsymmetrical distribution. In addition, there maybe false positives due to experimental errors (for example, weak signal, bad hybridization and artifact) and intrinsic error caused by dynamical fluctuations in photoelectronics, image processing, pixel-averaging, rounding error and so on. In the datasets we used in the current analysis, missing values comprise 1.427%, 3.187% and 8.55% for datasets 1, 3 and 4, respectively. The datasets have undergone log transform normalization so that equivalent fold changes in either direction have the same absolute value. Moreover, they do not have symmetrical distribution (shown in the web supplement <abbrgrp><abbr bid="B50">50</abbr></abbrgrp>). Missing values, unbalanced data or intrinsic errors are common challenges of many statistical techniques including ICA. Several strategies have been proposed to address these problems. In the context of microarrays and ICA, we point to the following solutions.</p>
         <p>For missing data, a traditional way is to fill in missing values by mean imputation. However, this approach can induce some bias to the input data. The algorithm we apply, KNNimpute, is an improved version of this principle <abbrgrp><abbr bid="B49">49</abbr></abbrgrp>. A more principled approach is to estimate density of missing data and use the estimate to fill in missing values; Expectation-Maximization (EM) algorithm is an example for this approach <abbrgrp><abbr bid="B65">65</abbr></abbrgrp>. Chan <it>et al. </it><abbrgrp><abbr bid="B65">65</abbr></abbrgrp> proposed a variational Bayesian method to perform ICA on high-dimensional data containing missing values. The Bayesian ICA they proposed successfully performed with input data with missing values. New ICA algorithms with additional capability to basic ICA algorithm have been developed and it is important to develop or modify existing algorithms for use of ICA to handle wide range of gene expression datasets.</p>
         <p>For noisy and asymmetric data, there are three potential approaches: applying data normalization and error estimation techniques; applying preprocessing step for ICA; and using advanced ICA algorithms. In the first approach, there have been approaches for normalizing spotted/oligonucleotide microarray data by estimating intrinsic errors on the data <abbrgrp><abbr bid="B66">66</abbr><abbr bid="B67">67</abbr><abbr bid="B68">68</abbr></abbrgrp>. Applying these approaches to the dataset before ICA might help reduce errors. In the second approach, one of the successful applications of ICA is the analysis of neurobiological data such as MEG, EEG and fMRI. However, there are limitations of using ICA for these data because neurobiological data contain a lot of sensory noise and the number of independent component is unknown. Therefore, many strategies have been proposed to overcome this problem in this area. For example, Ikeda <it>et al</it>. <abbrgrp><abbr bid="B69">69</abbr></abbrgrp> proposed a novel preprocessing step that can estimate the amount of the sensory noise and the number of sources by using factor analysis as a preprocessing step for ICA to MEG signals. In the third approach, most of the fMRI data have skewed distribution. Algorithms have been developed that support unsymmetrical source distribution <abbrgrp><abbr bid="B24">24</abbr></abbrgrp> and those that do not require assumption on the source distribution. Stone <it>et al</it>. <abbrgrp><abbr bid="B24">24</abbr></abbrgrp> applied skewed probability distribution for fMRI data as a way of adopting realistic physical assumption and showed improved performance of ICA. Applying these approaches to microarray analysis is an interesting future direction. Finally, a direction for future research is to use ICA as a preprocessing step, followed with subsequent analyses, such as clustering or classification methods, on the transformed space. Sophisticated clustering methods may produce more coherent groups of genes than our simple clustering scheme that groups genes with high coefficients in each component separately. Here we demonstrated that ICA transforms the data into a space whose axes have significant functional coherence, potentially making further analyses considerably more effective than when applied to the original microarray data.</p>
      </sec>
      <sec>
         <st>
            <p>Methods</p>
         </st>
         <sec>
            <st>
               <p>Data treatment</p>
            </st>
            <p>The five datasets we used in this analysis were treated as follows.</p>
            <sec>
               <st>
                  <p>Yeast cell cycle dataset by Spellman <it>et al</it></p>
               </st>
               <p>The yeast cell-cycle dataset in <abbrgrp><abbr bid="B46">46</abbr></abbrgrp> was preprocessed to contain log-ratios <it>x</it><sub><it>ij </it></sub>= log<sub>2</sub>(<it>R</it><sub><it>ij</it></sub>/<it>G</it><sub><it>ij</it></sub>) between red and green intensities. ICA was applied on the 22 experiments with 4,579 genes that were analyzed by Alter <it>et al</it>. <abbrgrp><abbr bid="B18">18</abbr></abbrgrp>.</p>
            </sec>
            <sec>
               <st>
                  <p>Yeast cell cycle dataset by Cho <it>et al</it></p>
               </st>
               <p>Variance normalization was applied to the yeast cell-cycle dataset in <abbrgrp><abbr bid="B47">47</abbr></abbrgrp> for the 3,000 most variant genes (as in <abbrgrp><abbr bid="B10">10</abbr></abbrgrp>). The 17th experiment, which made the expression matrix close to singular, was removed.</p>
            </sec>
            <sec>
               <st>
                  <p>Yeast stress data</p>
               </st>
               <p>The yeast stress dataset in <abbrgrp><abbr bid="B48">48</abbr></abbrgrp> was preprocessed to contain log-ratios <it>x</it><sub><it>ij </it></sub>= log<sub>2</sub>(<it>R</it><sub><it>ij</it></sub>/<it>G</it><sub><it>ij</it></sub>) between red and green intensities. As in Segal <it>et al</it>. <abbrgrp><abbr bid="B15">15</abbr></abbrgrp>, we eliminated 868 environmental stress response (ESR) genes defined by Gasch <it>et al</it>. <abbrgrp><abbr bid="B48">48</abbr></abbrgrp> for which clustering is trivial and applied ICA to the remaining genes and experiments.</p>
            </sec>
            <sec>
               <st>
                  <p><it>C. elegans</it> data</p>
               </st>
               <p>Experiments in the <it>C. elegans </it>dataset <abbrgrp><abbr bid="B8">8</abbr></abbrgrp> that contained more than 7,000 missing values were discarded. The 250 remaining experiments were used, containing expression levels for 17,817 genes preprocessed to be log-ratios <it>x</it><sub><it>ij </it></sub>= log<sub>2</sub>(<it>R</it><sub><it>ij</it></sub>/<it>G</it><sub><it>ij</it></sub>) between red and green intensities.</p>
            </sec>
            <sec>
               <st>
                  <p>Human normal tissue</p>
               </st>
               <p>The expression levels of each gene in the human normal tissue <abbrgrp><abbr bid="B45">45</abbr></abbrgrp> were normalized across the 59 experiments, and the logarithms of the resulting values were taken. Experiments 57, 58 and 59 were removed because they made the expression matrix nearly singular.</p>
            </sec>
         </sec>
         <sec>
            <st>
               <p>Gene annotation database</p>
            </st>
            <p>For the yeast and <it>C. elegans </it>datasets (datasets 1, 2, 3 and 4), we used the functional categories defined by four different annotation systems: three tree ontologies developed by the GO Consortium <abbrgrp><abbr bid="B43">43</abbr></abbrgrp> and one from KEGG <abbrgrp><abbr bid="B44">44</abbr></abbrgrp>. For budding yeast, we used 502 functional categories from GO and KEGG annotations: 243 functional categories from biological process (GO), 120 from molecular function (GO), 81 from cellular component (GO) and 58 from KEGG biological pathway annotation. For <it>C. elegans</it>, we used 974 functional categories: 194 categories from biological process, 458 from molecular function, 231 from cellular component, and 91 from KEGG annotations. For the human dataset (dataset 5), we used the functional annotations compiled by Hsiao <it>et al</it>. <abbrgrp><abbr bid="B45">45</abbr></abbrgrp>: brain (618), kidney (91), liver (279), lung (75), muscle (317), prostate (46) and vulva (103). For each cluster, we reported functional categories with <it>p </it>values smaller than 10<sup>-7</sup>.</p>
         </sec>
         <sec>
            <st>
               <p>Calculating statistical significance</p>
            </st>
            <p>We measured the likelihood that a functional category and a cluster share the given number of genes by chance, based on the following quantities: the number of genes that are shared by the functional category and the cluster (<it>k</it>), the number of genes within the cluster that are in any functional category (<it>n</it>), the number of genes within the functional category that appear in the microarray dataset (<it>f</it>) and the total number of genes that appear both in the microarray dataset and in any functional category (<it>g</it>). Based on the hypergeometric distribution, the probability <it>p </it>that at least <it>k </it>genes are shared by the functional category and the cluster is given by Equation 4.</p>
            <p>
               <graphic file="gb-2003-4-11-r76-i3.gif"/>
            </p>
         </sec>
         <sec>
            <st>
               <p>Algorithms for ICA</p>
            </st>
            <p>The ICA problem can be formulated as</p>
            <p><it>Y </it>= <it>WX </it>&#160;&#160;&#160; (5)</p>
            <p>where <it>X </it>represents an original expression dataset of <it>N </it>experiments &#215; <it>K </it>genes. The goal of ICA is to find <it>W </it>so that components, that is, rows of <it>Y</it>, are statistically as independent as possible. To perform ICA, we used an ICA algorithm driven by maximum likelihood estimation (MLE), a statistical approach for finding estimations of unknown parameters that result in the highest probability for observations <abbrgrp><abbr bid="B27">27</abbr></abbrgrp>. Applying a well-known principle of density of linear transformation to Equation 5 leads to</p>
            <p>
               <graphic file="gb-2003-4-11-r76-i4.gif"/>
            </p>
            <p>where <it>p</it><sub><it>x </it></sub>and <it>p</it><sub><it>y </it></sub>are probability density functions of the original dataset <it>X </it>and the components <it>Y</it>, respectively and <it>p</it><sub><it>i </it></sub>is the probability density function of the <it>i</it><sup>th </sup>row of <it>Y</it>. The second equality is based on the assumption that the rows of <it>Y</it> are independent and so <it>p</it><sub><it>y </it></sub>may be factored. The log likelihood <it>L</it>(<it>W</it>) of Equation 6 is given in Equation 7.</p>
            <p>
               <graphic file="gb-2003-4-11-r76-i5.gif"/>
            </p>
            <p>Based on the gradient descent rule, a learning algorithm for finding the matrix <it>W </it>that maximizes the log-likelihood <it>L</it>(<it>W</it>) is defined as follows.</p>
            <p>
               <graphic file="gb-2003-4-11-r76-i6.gif"/>
            </p>
            <p>The above learning rule was first derived by Bell and Sejnowski <abbrgrp><abbr bid="B29">29</abbr></abbrgrp> from another approach called the Information Maximization (Infomax) approach and can be derived from negentropy maximization <abbrgrp><abbr bid="B70">70</abbr></abbrgrp>. Amari <it>et al</it>. <abbrgrp><abbr bid="B28">28</abbr></abbrgrp> proposed that the natural gradient method makes the above learning rule more efficient and modified the above learning rule.</p>
            <p>&#916;<it>W </it>&#8733; [(<it>W</it><sup><it>T</it></sup>)<sup>-1 </sup>- <it>g</it>(<it>Wx</it>)<it>x</it><sup><it>T</it></sup>] <it>W</it><sup><it>T </it></sup><it>W </it>= [<it>I</it> - <it>g </it>(<it>y</it>) <it>y</it><sup><it>T</it></sup>]<it>W </it>&#160;&#160;&#160; (9)</p>
            <p>In the above learning rule, there is one unknown parameter, <it>g</it>(<it>y</it>), a function of the probability density of the sources. In practice, it is enough to decide whether the distribution of the sources is super-Gaussian or sub-Gaussian <abbrgrp><abbr bid="B42">42</abbr></abbrgrp>. Super-Gaussian distributions have a high peak at the mean and long tails (for example, the Laplace distribution). Sub-Gaussian distributions have a low peak at the mean and short tails (for example, the uniform distribution). In our application, since independent components are expected to be genomic expression levels of biological processes, a super-Gaussian distribution is appropriate: a biological process is likely to affect a few relevant genes strongly (long tails), and the rest weakly (high peak at the mean, usually = 0). We choose <it>g</it>(<it>y</it>) to be a sigmoid function, <it>g</it>(<it>u</it>) = 2 <it>tanh</it>(<it>u</it>), when we compared various ICA algorithms.</p>
         </sec>
         <sec>
            <st>
               <p>Nonlinear ICA model</p>
            </st>
            <p>Our nonlinear ICA algorithm defines a nonlinear mixture model, called a generalized post-nonlinear mixture model, described in Equation 10.</p>
            <p>
               <graphic file="gb-2003-4-11-r76-i7.gif"/>
            </p>
            <p>where <it>f(.)</it> is a nonlinear mapping from <it>N </it>to <it>N </it>dimensional space. If <it>f(.)</it> operates componentwise, the above model is a post-nonlinear mixture model on which most research on nonlinear ICA has so far centered.</p>
            <p>In general, an approach for nonlinear ICA of the above mixture models consists of two steps <abbrgrp><abbr bid="B27">27</abbr><abbr bid="B71">71</abbr></abbrgrp>: a nonlinear step and a linear step. A nonlinear step maps input <it>X </it>= [<it>x</it><sub>1</sub>, ..., <it>x</it><sub><it>N</it></sub>]<sup><it>T </it></sup>to another space, called a feature space. A linear step decomposes the mapped data into statistically independent components that are ideally identical to <it>S </it>= [<it>s</it><sub>1</sub>, ..., <it>s</it><sub><it>M</it></sub>]<sup><it>T</it></sup>. Here, the key is to construct an appropriate feature space such that a nonlinear relationship between biological processes <it>s</it><sub>1</sub>, ..., <it>s</it><sub><it>M </it></sub> and expression data <it>x</it><sub>1</sub>, ..., <it>x</it><sub><it>N </it></sub>in the input space correspond to a linear relationship between <it>s</it><sub>1</sub>, ..., <it>s</it><sub><it>M </it></sub>and the mapped <it>x</it><sub>1</sub>, ..., <it>x</it><sub><it>N </it></sub>in the feature space.</p>
            <p>Harmeling <it>et al</it>. <abbrgrp><abbr bid="B34">34</abbr></abbrgrp> proposed a technique for constructing a feature space and finding its orthonormal basis using a kernel method, called the kernel trick <abbrgrp><abbr bid="B37">37</abbr></abbrgrp> that makes their approach computationally efficient. We adopted this approach for the nonlinear step and used NMLE for the linear step. Our approach for nonlinear ICA is as follows.</p>
            <p><b>Step 1 - construct a feature space. </b>We find orthonormal basis of a feature space using a kernel method with Gaussian RBF kernels and polynomial kernels</p>
            <p><b>Step 2 - map the input data to the feature space. </b>We map the expression data <it>X </it>of <it>N </it>experiments &#215; <it>K </it>genes in the <it>N</it>-dimensional input space into &#936; in the <it>L</it>-dimensional (<it>L </it>><it>N</it>) feature space.</p>
            <p><b>Step 3 - apply linear ICA. </b>We decompose the mapped data <it>&#936;</it> in the feature space into statistically independent components using the NMLE algorithm.</p>
            <sec>
               <st>
                  <p>Construction of a feature space</p>
               </st>
               <p>Denoting by <it>x</it>[<it>i</it>] the <it>i</it><sup><it>th </it></sup>column of <it>X</it>, the kernel method proposed by Harmeling <it>et al</it>. <abbrgrp><abbr bid="B34">34</abbr></abbrgrp> constructs an <it>L</it>-dimensional feature space where a dot product of two mapped inputs <it>&#934;(x[i]</it>) and <it>&#934;(x[j]</it>) in the feature space is determined by a kernel function <it>k</it>(.,.) in the input space (Equation 11).</p>
               <p><it>k </it>(<it>x</it>[<it>i</it>], <it>x</it>[<it>j</it>]) = <it>&#934;</it>(<it>x</it>[<it>i</it>])&#183;<it>&#934;</it>(<it>x</it>[<it>j</it>]) &#160;&#160;&#160; 1 &#8804; <it>i</it>, <it>j </it>&#8804; <it>K </it>&#160;&#160;&#160; (11)</p>
               <p>Define <it>L </it>points <it>v</it><sub>1</sub>,..., <it>v</it><sub><it>L </it></sub>in the input space so that their images <it>&#934;</it><sub><it>V </it></sub>= [<it>&#934;</it>(<it>v</it><sub>1</sub>),...,<it>&#934;</it>(<it>v</it><sub><it>L</it></sub>)] form a basis in the feature space. Denoting by <it>&#934;</it><sub><it>X </it></sub>= [<it>&#934;</it>(<it>x</it>[1]),...,<it>&#934;</it>(<it>x</it>[<it>K</it>])], since <it>&#934;</it><sub><it>V </it></sub>is a basis of a feature space ([&#8712;<it>R</it><sup><it>L</it></sup>), <it>span</it>(<it>&#934;</it><sub><it>V</it></sub>) = <it>span</it>(<it>&#934;</it><sub><it>X</it></sub>) and <it>rank</it>(<it>&#934;</it><sub><it>V</it></sub>) = <it>L </it>hold [34]. Then, orthonormal basis is defined as follows:</p>
               <p>
                  <graphic file="gb-2003-4-11-r76-i8.gif"/>
               </p>
               <p>Here, multiplying (<it>&#934;</it><sub><it>V</it></sub><sup><it>T </it></sup><it>&#934;</it><sub><it>V</it></sub>)<sup>-1/2 </sup>with <it>&#934;</it><sub><it>V </it></sub>leads to orthonormal matrix and it does not change the column space of <it>&#934;</it><sub><it>V</it></sub>, that is, <it>rank</it>(<it>&#934;</it><sub><it>V </it></sub>(<it>&#934;</it><sub><it>V</it></sub><sup><it>T </it></sup><it>&#934;</it><sub><it>V</it></sub>)<sup><it>-1/2</it></sup>) is still <it>L</it>. The <it>L </it>points <it>v</it><sub>1</sub>,..., <it>v</it><sub><it>L </it></sub>can be selected from <it>x[1]</it>,...<it>x[K]</it> if they fulfill <it>rank</it>(<it>&#934;</it><sub><it>V</it></sub>) &#8776; <it>L</it>, which implies that <it>&#934;</it><sub><it>V</it></sub><sup><it>T </it></sup><it>&#934;</it><sub><it>V </it></sub>is full rank <abbrgrp><abbr bid="B34">34</abbr></abbrgrp>. To determine the best basis of the feature space, we randomly sample <it>L </it>input vectors from <it>x[1]</it>,..., <it>x[K]</it>, obtain <it>v</it><sub>1</sub>,..., <it>v</it><sub><it>L</it></sub>, and calculate the conditional number of <it>&#934;</it><sub><it>V</it></sub><sup><it>T </it></sup><it>&#934;</it>. We repeat this random sampling 1,000 times and choose the input vectors, <it>v </it>= {<it>v</it><sub>1</sub>, ..., <it>v</it><sub><it>L</it></sub>}, that results in the smallest conditional number, so that <it>&#934;</it><sub><it>V</it></sub><sup><it>T </it></sup><it>&#934;</it><sub><it>V </it></sub>becomes close to full rank. From Equation 11, we can use a kernel function <it>k(.,.)</it> when calculating <it>&#934;</it><sub><it>V</it></sub><sup><it>T </it></sup><it>&#934;</it><sub><it>V </it></sub>(Equation 13).</p>
               <p>
                  <graphic file="gb-2003-4-11-r76-i9.gif"/>
               </p>
            </sec>
            <sec>
               <st>
                  <p>Mapping input data to the feature space</p>
               </st>
               <p>We map all the vectors <it>x[1]</it>,..., <it>x[K]</it> to the feature space with &#926; as a basis. For an input vector <it>x[k]</it>, the coordinates of mapped point <it>&#934;</it>(<it>x</it>[<it>i</it>]), denoted by <it>&#936;</it>(<it>x[i]</it>), are calculated by a kernel function <it>k</it>(.,.).</p>
               <p>
                  <graphic file="gb-2003-4-11-r76-i10.gif"/>
               </p>
               <p>An alternative way to find an orthonormal basis of the feature space is to use kernel principal component analysis <abbrgrp><abbr bid="B61">61</abbr></abbrgrp>. First, calculate <it>L </it>eigenvectors with <it>&#934;</it><sub><it>X </it></sub>= [<it>&#934;</it>(<it>x[1]</it>),...,<it>&#934;</it>(<it>x[K]</it>)] such that (<it>&#934;</it><sub><it>X</it></sub><sup><it>T </it></sup><it>&#934;</it><sub><it>X</it></sub>/<it>K</it>) <it>E</it><sub><it>L </it></sub>= <it>E</it><sub><it>L </it></sub><it>&#923;</it> holds. Then, determine the basis in the feature space, as <it>&#926;</it>: = <it>&#934;</it><sub><it>X</it></sub><it>E</it><sub><it>L </it></sub>(<it>K </it><it>&#923;</it>)<sup>-1/2 </sup>and map the input vectors <it>x[1]</it>,..., <it>x[K]</it> into the feature space defined by these basis as:</p>
               <p>
                  <graphic file="gb-2003-4-11-r76-i11.gif"/>
               </p>
               <p>We tried this alternative method, but the results were generally worse that with random sampling.</p>
            </sec>
            <sec>
               <st>
                  <p>Applying the linear ICA algorithm</p>
               </st>
               <p>We linearly decompose the mapped data <it>&#936;</it> = [<it>&#936;</it>(<it>x[1]</it>),..., <it>&#936;</it>(<it>x[K]</it>)] <it>&#8712;</it><it>R</it><sup><it>L </it>&#215; <it>K </it></sup>into statistically independent components using NMLE.</p>
               <p>The requirements for a valid kernel function that specifies the feature space are described by Muller <it>et al</it>. <abbrgrp><abbr bid="B37">37</abbr></abbrgrp>. We choose a Gaussian radial basis function (RBF) kernel described as <it>k</it>(<it>x,y</it>) = <it>exp</it>(-|<it>x </it>- <it>y</it>|<sup>2</sup>) and a polynomial kernel of degree 2 described as <it>k</it>(<it>x,y</it>) = (<it>x</it><sup><it>T</it></sup><it>y</it>+1)<sup>2</sup>. We refer to nonlinear ICA with Gaussian RBF kernel as <it>NICAgauss</it>, and with polynomial kernel as <it>NICApoly</it>.</p>
            </sec>
         </sec>
         <sec>
            <st>
               <p>Determination of clustering coefficient</p>
            </st>
            <p>The only adjustable parameter in our approach is the clustering coefficient <it>C </it>in Equation 3. When generating clusters, we varied the value from five to 15, and the result for <it>C </it>= 7.5% was reported. The best settings of <it>C </it>for each individual dataset were: 17.5% for dataset 1, 7.5% for dataset 2, 7.5% for dataset 3, 7.5% for dataset 4 and 2% for dataset 5. The best setting of <it>C </it>was determined to be the setting that maximizes the average of the values of - log<sub>10 </sub>(<it>p</it>-value) larger than 20. When comparing ICA with PCA and the Plaid model, <it>C </it>was adjusted from 5 to 45% (C = 37.5% was the optimal) and from 2.5 to 42.5% (C = 32.5% was the optimal), respectively. The favorable comparison of our approach to other methods was not sensitive to the value of <it>C </it>in this range.</p>
         </sec>
      </sec>
   </bdy>
   <bm>
      <ack>
         <sec>
            <st>
               <p>Acknowledgements</p>
            </st>
            <p>We thank Relly Brandman, Chuong Do, Te-won Lee and Yueyi Liu for helpful edits to the manuscript. We thank Audrey Gash, and three anonymous reviewers, for helpful comments that led to a revision of our manuscript.</p>
         </sec>
      </ack>
      <refgrp>
         <bibl id="B1">
            <title>
               <p>The use and analysis of microarray data.</p>
            </title>
            <aug>
               <au>
                  <snm>Butte</snm>
                  <fnm>A</fnm>
               </au>
            </aug>
            <source>Nat Rev Drug Discov</source>
            <pubdate>2002</pubdate>
            <volume>1</volume>
            <fpage>951</fpage>
            <lpage>960</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1038/nrd961</pubid>
                  <pubid idtype="pmpid" link="fulltext">12461517</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B2">
            <title>
               <p>Fuzzy neural network applied to gene expression profiling for predicting the prognosis of diffuse large B-cell lymphoma.</p>
            </title>
            <aug>
               <au>
                  <snm>Ando</snm>
                  <fnm>T</fnm>
               </au>
               <au>
                  <snm>Suguro</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Hanai</snm>
                  <fnm>T</fnm>
               </au>
               <au>
                  <snm>Kobayashi</snm>
                  <fnm>T</fnm>
               </au>
               <au>
                  <snm>Honda</snm>
                  <fnm>H</fnm>
               </au>
               <au>
                  <snm>Seto</snm>
                  <fnm>M</fnm>
               </au>
            </aug>
            <source>Jpn J Cancer Res</source>
            <pubdate>2002</pubdate>
            <volume>93</volume>
            <fpage>1207</fpage>
            <lpage>1212</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">12460461</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B3">
            <title>
               <p>Knowledge-based analysis of microarray gene expression data by using support vector machines.</p>
            </title>
            <aug>
               <au>
                  <snm>Brown</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Grundy</snm>
                  <fnm>WN</fnm>
               </au>
               <au>
                  <snm>Lin</snm>
                  <fnm>D</fnm>
               </au>
               <au>
                  <snm>Cristianini</snm>
                  <fnm>N</fnm>
               </au>
               <au>
                  <snm>Sugnet</snm>
                  <fnm>CW</fnm>
               </au>
               <au>
                  <snm>Furey</snm>
                  <fnm>TS</fnm>
               </au>
               <au>
                  <snm>Ares</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Haussler</snm>
                  <fnm>D</fnm>
               </au>
            </aug>
            <source>Proc Natl Acad Sci USA</source>
            <pubdate>2000</pubdate>
            <volume>97</volume>
            <fpage>262</fpage>
            <lpage>267</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">26651</pubid>
                  <pubid idtype="pmpid" link="fulltext">10618406</pubid>
                  <pubid idtype="doi">10.1073/pnas.97.1.262</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B4">
            <title>
               <p>Molecular classification of cancer: class discovery and class prediction by gene expression monitoring.</p>
            </title>
            <aug>
               <au>
                  <snm>Golub</snm>
                  <fnm>TR</fnm>
               </au>
               <au>
                  <snm>Slonim</snm>
                  <fnm>DK</fnm>
               </au>
               <au>
                  <snm>Tamayo</snm>
                  <fnm>P</fnm>
               </au>
               <au>
                  <snm>Huard</snm>
                  <fnm>C</fnm>
               </au>
               <au>
                  <snm>Gaasenbeek</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Mesirov</snm>
                  <fnm>JP</fnm>
               </au>
               <au>
                  <snm>Coller</snm>
                  <fnm>H</fnm>
               </au>
               <au>
                  <snm>Loh</snm>
                  <fnm>ML</fnm>
               </au>
               <au>
                  <snm>Downing</snm>
                  <fnm>JR</fnm>
               </au>
               <au>
                  <snm>Caligiuri</snm>
                  <fnm>MA</fnm>
               </au>
               <etal/>
            </aug>
            <source>Science</source>
            <pubdate>1999</pubdate>
            <volume>286</volume>
            <fpage>531</fpage>
            <lpage>537</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1126/science.286.5439.531</pubid>
                  <pubid idtype="pmpid" link="fulltext">10521349</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B5">
            <title>
               <p>Support vector machine classification of microarray data.</p>
            </title>
            <aug>
               <au>
                  <snm>Mukherjee</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Tamayo</snm>
                  <fnm>P</fnm>
               </au>
               <au>
                  <snm>Mesirov</snm>
                  <fnm>JP</fnm>
               </au>
               <au>
                  <snm>Slonim</snm>
                  <fnm>D</fnm>
               </au>
               <au>
                  <snm>Verri</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Poggio</snm>
                  <fnm>T</fnm>
               </au>
            </aug>
            <source>Technical Report No. 182, AI Memo 1676</source>
            <publisher>MIT, Cambridge: Massachusetts Institute of Technology</publisher>
            <pubdate>1999</pubdate>
         </bibl>
         <bibl id="B6">
            <title>
               <p>Clustering gene expression patterns.</p>
            </title>
            <aug>
               <au>
                  <snm>Ben-Dor</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Shamir</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Yakhini</snm>
                  <fnm>Z</fnm>
               </au>
            </aug>
            <source>J Comput Biol</source>
            <pubdate>1999</pubdate>
            <volume>6</volume>
            <fpage>281</fpage>
            <lpage>297</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1089/106652799318274</pubid>
                  <pubid idtype="pmpid">10582567</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B7">
            <title>
               <p>Cluster analysis and display of genome-wide expression patterns.</p>
            </title>
            <aug>
               <au>
                  <snm>Eisen</snm>
                  <fnm>MB</fnm>
               </au>
               <au>
                  <snm>Spellman</snm>
                  <fnm>PT</fnm>
               </au>
               <au>
                  <snm>Brown</snm>
                  <fnm>PO</fnm>
               </au>
               <au>
                  <snm>Botstein</snm>
                  <fnm>D</fnm>
               </au>
            </aug>
            <source>Proc Natl Acad Sci USA</source>
            <pubdate>1998</pubdate>
            <volume>95</volume>
            <fpage>14863</fpage>
            <lpage>14868</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">24541</pubid>
                  <pubid idtype="pmpid" link="fulltext">9843981</pubid>
                  <pubid idtype="doi">10.1073/pnas.95.25.14863</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B8">
            <title>
               <p>A gene expression map for <it>Caenorhabditis elegans</it>.</p>
            </title>
            <aug>
               <au>
                  <snm>Kim</snm>
                  <fnm>SK</fnm>
               </au>
               <au>
                  <snm>Lund</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Kiraly</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Duke</snm>
                  <fnm>K</fnm>
               </au>
               <au>
                  <snm>Jiang</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Stuart</snm>
                  <fnm>JM</fnm>
               </au>
               <au>
                  <snm>Eizinger</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Wylie</snm>
                  <fnm>BN</fnm>
               </au>
               <au>
                  <snm>Davidson</snm>
                  <fnm>GS</fnm>
               </au>
            </aug>
            <source>Science</source>
            <pubdate>2001</pubdate>
            <volume>293</volume>
            <fpage>2087</fpage>
            <lpage>2092</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1126/science.1061603</pubid>
                  <pubid idtype="pmpid" link="fulltext">11557892</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B9">
            <title>
               <p>Interpreting patterns of gene expression with self-organizing maps: method and application to hematopoietic differentiation.</p>
            </title>
            <aug>
               <au>
                  <snm>Tamayo</snm>
                  <fnm>P</fnm>
               </au>
               <au>
                  <snm>Slonim</snm>
                  <fnm>D</fnm>
               </au>
               <au>
                  <snm>Mesirov</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Zhu</snm>
                  <fnm>Q</fnm>
               </au>
               <au>
                  <snm>Kitareewan</snm>
                  <fnm>E</fnm>
               </au>
               <au>
                  <snm>Dmitrovsky</snm>
                  <fnm>E</fnm>
               </au>
               <au>
                  <snm>Sander</snm>
                  <fnm>ES</fnm>
               </au>
               <au>
                  <snm>Golub</snm>
                  <fnm>TR</fnm>
               </au>
            </aug>
            <source>Proc Natl Acad Sci USA</source>
            <pubdate>1999</pubdate>
            <volume>96</volume>
            <fpage>2907</fpage>
            <lpage>2912</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">15868</pubid>
                  <pubid idtype="pmpid" link="fulltext">10077610</pubid>
                  <pubid idtype="doi">10.1073/pnas.96.6.2907</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B10">
            <title>
               <p>Systematic determination of genetic network architecture.</p>
            </title>
            <aug>
               <au>
                  <snm>Tavazoie</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Hughes</snm>
                  <fnm>JD</fnm>
               </au>
               <au>
                  <snm>Campbell</snm>
                  <fnm>MJ</fnm>
               </au>
               <au>
                  <snm>Cho</snm>
                  <fnm>RJ</fnm>
               </au>
               <au>
                  <snm>Church</snm>
                  <fnm>GM</fnm>
               </au>
            </aug>
            <source>Nat Genet</source>
            <pubdate>1999</pubdate>
            <volume>22</volume>
            <fpage>281</fpage>
            <lpage>285</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1038/10343</pubid>
                  <pubid idtype="pmpid" link="fulltext">10391217</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B11">
            <title>
               <p>Practical approaches to analyzing results of microarray experiments.</p>
            </title>
            <aug>
               <au>
                  <snm>Kaminski</snm>
                  <fnm>N</fnm>
               </au>
               <au>
                  <snm>Friedman</snm>
                  <fnm>N</fnm>
               </au>
            </aug>
            <source>Am J Respir Cell Mol Biol</source>
            <pubdate>2002</pubdate>
            <volume>27</volume>
            <fpage>125</fpage>
            <lpage>132</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">12151303</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B12">
            <title>
               <p>Regulatory element detection using correlation with expression.</p>
            </title>
            <aug>
               <au>
                  <snm>Bussermaker</snm>
                  <fnm>HJ</fnm>
               </au>
               <au>
                  <snm>Li</snm>
                  <fnm>H</fnm>
               </au>
               <au>
                  <snm>Siggia</snm>
                  <fnm>ED</fnm>
               </au>
            </aug>
            <source>Nat Genet</source>
            <pubdate>2001</pubdate>
            <volume>27</volume>
            <fpage>167</fpage>
            <lpage>174</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1038/84792</pubid>
                  <pubid idtype="pmpid" link="fulltext">11175784</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B13">
            <title>
               <p>Using Bayesian networks to analyze expression data.</p>
            </title>
            <aug>
               <au>
                  <snm>Friedman</snm>
                  <fnm>N</fnm>
               </au>
               <au>
                  <snm>Linial</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Nachman</snm>
                  <fnm>I</fnm>
               </au>
               <au>
                  <snm>Pe'er</snm>
                  <fnm>D</fnm>
               </au>
            </aug>
            <source>J Comput Biol</source>
            <pubdate>2000</pubdate>
            <volume>7</volume>
            <fpage>601</fpage>
            <lpage>620</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1089/106652700750050961</pubid>
                  <pubid idtype="pmpid">11108481</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B14">
            <title>
               <p>Plaid models for gene expression data.</p>
            </title>
            <aug>
               <au>
                  <snm>Lazzeroni</snm>
                  <fnm>L</fnm>
               </au>
               <au>
                  <snm>Owen</snm>
                  <fnm>A</fnm>
               </au>
            </aug>
            <source>Statistica Sinica</source>
            <pubdate>2002</pubdate>
            <volume>12</volume>
            <fpage>61</fpage>
            <lpage>86</lpage>
         </bibl>
         <bibl id="B15">
            <title>
               <p>Decomposing gene expression into cellular processes.</p>
            </title>
            <aug>
               <au>
                  <snm>Segal</snm>
                  <fnm>E</fnm>
               </au>
               <au>
                  <snm>Battle</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Koller</snm>
                  <fnm>D</fnm>
               </au>
            </aug>
            <source>In Proceedings of the Eighth Pacific Symposium on Biocomputing: January 3-7 2003</source>
            <publisher>Kauai, Hawaii: World Scientific Publishing Company;</publisher>
            <editor>Altman RB, Durker AK, Hunter L, Jung TA, Klein TE</editor>
            <pubdate>2003</pubdate>
            <fpage>89</fpage>
            <lpage>100</lpage>
         </bibl>
         <bibl id="B16">
            <title>
               <p>From promoter sequence to expression.</p>
            </title>
            <aug>
               <au>
                  <snm>Segal</snm>
                  <fnm>E</fnm>
               </au>
               <au>
                  <snm>Barash</snm>
                  <fnm>Y</fnm>
               </au>
               <au>
                  <snm>Simon</snm>
                  <fnm>I</fnm>
               </au>
               <au>
                  <snm>Friedman</snm>
                  <fnm>N</fnm>
               </au>
               <au>
                  <snm>Koller</snm>
                  <fnm>D</fnm>
               </au>
            </aug>
            <source>In Proceedings of the Sixth Annual International Conference on Research in Computational Molecular Biology: April 18-21 2002</source>
            <publisher>Washington DC: ACM Press</publisher>
            <editor>Myers G, Hannenhalli S, Saukoff D, Istrail S, Pevzner P, Waterman M</editor>
            <pubdate>2002</pubdate>
            <fpage>263</fpage>
            <lpage>272</lpage>
         </bibl>
         <bibl id="B17">
            <aug>
               <au>
                  <snm>Jolliffe</snm>
                  <fnm>IT</fnm>
               </au>
            </aug>
            <source>Principle Component Analysis.</source>
            <publisher>New York: Springer-Verlag</publisher>
            <pubdate>1986</pubdate>
         </bibl>
         <bibl id="B18">
            <title>
               <p>Singular value decomposition for genome-wide expression data processing and modeling.</p>
            </title>
            <aug>
               <au>
                  <snm>Alter</snm>
                  <fnm>O</fnm>
               </au>
               <au>
                  <snm>Brown</snm>
                  <fnm>PO</fnm>
               </au>
               <au>
                  <snm>Botstein</snm>
                  <fnm>D</fnm>
               </au>
            </aug>
            <source>Proc Natl Acad Sci USA</source>
            <pubdate>2000</pubdate>
            <volume>97</volume>
            <fpage>10101</fpage>
            <lpage>10106</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">27718</pubid>
                  <pubid idtype="pmpid" link="fulltext">10963673</pubid>
                  <pubid idtype="doi">10.1073/pnas.97.18.10101</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B19">
            <title>
               <p>Interactive exploration of microarray gene expression patterns in a reduced dimensional space.</p>
            </title>
            <aug>
               <au>
                  <snm>Misra</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Schmitt</snm>
                  <fnm>W</fnm>
               </au>
               <au>
                  <snm>Hwang</snm>
                  <fnm>D</fnm>
               </au>
               <au>
                  <snm>Hsiao</snm>
                  <fnm>L</fnm>
               </au>
               <au>
                  <snm>Gullans</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Stephanopoulos</snm>
                  <fnm>G</fnm>
               </au>
               <au>
                  <snm>Stephanopoulos</snm>
                  <fnm>G</fnm>
               </au>
            </aug>
            <source>Genome Res</source>
            <pubdate>2002</pubdate>
            <volume>12</volume>
            <fpage>1112</fpage>
            <lpage>1120</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1101/gr.225302</pubid>
                  <pubid idtype="pmpid" link="fulltext">12097349</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B20">
            <title>
               <p>Blind separation of sources, part I: an adaptive algorithm based on neuromimetic architecture.</p>
            </title>
            <aug>
               <au>
                  <snm>Jutten</snm>
                  <fnm>C</fnm>
               </au>
               <au>
                  <snm>Herault</snm>
                  <fnm>J</fnm>
               </au>
            </aug>
            <source>Signal Processing</source>
            <pubdate>1991</pubdate>
            <volume>24</volume>
            <fpage>1</fpage>
            <lpage>10</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1016/0165-1684(91)90079-X</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B21">
            <title>
               <p>Independent component analysis of electroencephalographic data.</p>
            </title>
            <aug>
               <au>
                  <snm>Makeig</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Bell</snm>
                  <fnm>AJ</fnm>
               </au>
               <au>
                  <snm>Jung</snm>
                  <fnm>TP</fnm>
               </au>
               <au>
                  <snm>Sejnowski</snm>
                  <fnm>TJ</fnm>
               </au>
            </aug>
            <source>In Proceedings of the Advances in Neural Information Processing Systems: November 27-December 2 1995; Denver, Colorado</source>
            <publisher>Cambridge (MA): MIT Press</publisher>
            <editor>Touretzky D, Mozer M, Hasselmo M</editor>
            <pubdate>1996</pubdate>
            <fpage>145</fpage>
            <lpage>151</lpage>
         </bibl>
         <bibl id="B22">
            <title>
               <p>Extraction of ocular artifacts from EEG using independent component analysis.</p>
            </title>
            <aug>
               <au>
                  <snm>Vigario</snm>
                  <fnm>R</fnm>
               </au>
            </aug>
            <source>Electroenceph Clin Neurophysiol</source>
            <pubdate>1997</pubdate>
            <volume>103</volume>
            <fpage>395</fpage>
            <lpage>404</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1016/S0013-4694(97)00042-8</pubid>
                  <pubid idtype="pmpid">9305288</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B23">
            <title>
               <p>Independent component analysis for identification of artifacts in magnetoencephalographic recordings.</p>
            </title>
            <aug>
               <au>
                  <snm>Vigario</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Jousmaki</snm>
                  <fnm>V</fnm>
               </au>
               <au>
                  <snm>Hamalainen</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Hari</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Oja</snm>
                  <fnm>E</fnm>
               </au>
            </aug>
            <source>In Proceedings of the Advances in Neural Information Processing Systems: Dec 1-6 1997; Denver, Colorado</source>
            <publisher>Cambridge (MA): MIT Press</publisher>
            <editor>Jordan M, Kearns M, Solla S</editor>
            <pubdate>1998</pubdate>
            <fpage>229</fpage>
            <lpage>235</lpage>
         </bibl>
         <bibl id="B24">
            <title>
               <p>Spatiotemporal independent component analysis of event-related fMRI data using skewed probability density functions.</p>
            </title>
            <aug>
               <au>
                  <snm>Stone</snm>
                  <fnm>JV</fnm>
               </au>
               <au>
                  <snm>Porrill</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Porter</snm>
                  <fnm>NR</fnm>
               </au>
               <au>
                  <snm>Wilkinson</snm>
                  <fnm>ID</fnm>
               </au>
            </aug>
            <source>NeuroImage</source>
            <pubdate>2002</pubdate>
            <volume>15</volume>
            <fpage>407</fpage>
            <lpage>421</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1006/nimg.2001.0986</pubid>
                  <pubid idtype="pmpid" link="fulltext">11798275</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B25">
            <title>
               <p>A first application of independent component analysis to extracting structure from stock returns.</p>
            </title>
            <aug>
               <au>
                  <snm>Back</snm>
                  <fnm>AD</fnm>
               </au>
               <au>
                  <snm>Weigend</snm>
                  <fnm>AS</fnm>
               </au>
            </aug>
            <source>Int J Neural Syst</source>
            <pubdate>1997</pubdate>
            <volume>8</volume>
            <fpage>473</fpage>
            <lpage>484</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1142/S0129065797000458</pubid>
                  <pubid idtype="pmpid">9730022</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B26">
            <title>
               <p>Independent component analysis for parallel financial time series</p>
            </title>
            <aug>
               <au>
                  <snm>Kiviluoto</snm>
                  <fnm>K</fnm>
               </au>
               <au>
                  <snm>Oja</snm>
                  <fnm>E</fnm>
               </au>
            </aug>
            <source>In Proceedings of the Fifth International Conference on Neural Information Processing: October 21-23 1998</source>
            <publisher>Kitakyushu, Japan: MIT Press</publisher>
            <editor>Kearns M, Solla S, Cohn D</editor>
            <pubdate>1999</pubdate>
            <fpage>895</fpage>
            <lpage>898</lpage>
         </bibl>
         <bibl id="B27">
            <aug>
               <au>
                  <snm>Hyv&#228;rinen</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Karhunen</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Oja</snm>
                  <fnm>E</fnm>
               </au>
            </aug>
            <source>Independent Component Analysis.</source>
            <publisher>New York: John Wiley &amp; Sons</publisher>
            <pubdate>2001</pubdate>
         </bibl>
         <bibl id="B28">
            <title>
               <p>Natural gradient works efficiently in learning.</p>
            </title>
            <aug>
               <au>
                  <snm>Amari</snm>
                  <fnm>S</fnm>
               </au>
            </aug>
            <source>Neural Comput</source>
            <pubdate>1998</pubdate>
            <volume>10</volume>
            <fpage>251</fpage>
            <lpage>276</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1162/089976698300017746</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B29">
            <title>
               <p>An information-maximization approach to blind separation and blind decovolution.</p>
            </title>
            <aug>
               <au>
                  <snm>Bell</snm>
                  <fnm>AJ</fnm>
               </au>
               <au>
                  <snm>Sejnowski</snm>
                  <fnm>TJ</fnm>
               </au>
            </aug>
            <source>Neural Comput</source>
            <pubdate>1995</pubdate>
            <volume>7</volume>
            <fpage>1129</fpage>
            <lpage>1159</lpage>
            <xrefbib>
               <pubid idtype="pmpid">7584893</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B30">
            <title>
               <p>High-order contrasts for independent component analysis.</p>
            </title>
            <aug>
               <au>
                  <snm>Cardoso</snm>
                  <fnm>JF</fnm>
               </au>
            </aug>
            <source>Neural Comput</source>
            <pubdate>1999</pubdate>
            <volume>11</volume>
            <fpage>157</fpage>
            <lpage>192</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1162/089976699300016863</pubid>
                  <pubid idtype="pmpid" link="fulltext">9950728</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B31">
            <title>
               <p>Fast and robust fixed-point algorithms for independent component analysis.</p>
            </title>
            <aug>
               <au>
                  <snm>Hyv&#228;rinen</snm>
                  <fnm>A</fnm>
               </au>
            </aug>
            <source>IEEE Transactions on Neural Networks</source>
            <pubdate>1999</pubdate>
            <volume>10</volume>
            <fpage>626</fpage>
            <lpage>634</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1109/72.761722</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B32">
            <title>
               <p>Independent component analysis using an extended Infomax algorithm for mixed subgaussian and supergaussian sources.</p>
            </title>
            <aug>
               <au>
                  <snm>Lee</snm>
                  <fnm>TW</fnm>
               </au>
               <au>
                  <snm>Girolami</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Sejnowski</snm>
                  <fnm>TJ</fnm>
               </au>
            </aug>
            <source>Neural Comput</source>
            <pubdate>1999</pubdate>
            <volume>11</volume>
            <fpage>417</fpage>
            <lpage>441</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1162/089976699300016719</pubid>
                  <pubid idtype="pmpid" link="fulltext">9950738</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B33">
            <title>
               <p>Blind separation of sources: a nonlinear neural algorithm.</p>
            </title>
            <aug>
               <au>
                  <snm>Burel</snm>
                  <fnm>G</fnm>
               </au>
            </aug>
            <source>Neural Networks</source>
            <pubdate>1992</pubdate>
            <volume>5</volume>
            <fpage>937</fpage>
            <lpage>947</lpage>
         </bibl>
         <bibl id="B34">
            <title>
               <p>Kernel feature spaces and nonlinear blind source separation.</p>
            </title>
            <aug>
               <au>
                  <snm>Harmeling</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Zieche</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Kawanabe</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Muller</snm>
                  <fnm>K</fnm>
               </au>
            </aug>
            <source>Proceedings of the Advances in Neural Information Processing Systems: December 3-8 2001; Vancouver, British Columbia, Canada</source>
            <publisher>Cambridge (MA): MIT Press</publisher>
            <editor>Dietterich TG, Becker S, Ghahramani Z</editor>
            <pubdate>2002</pubdate>
            <fpage>761</fpage>
            <lpage>768</lpage>
         </bibl>
         <bibl id="B35">
            <title>
               <p>Nonlinear independent component analysis: existence and uniqueness results.</p>
            </title>
            <aug>
               <au>
                  <snm>Hyv&#228;rinen</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Pajunen</snm>
                  <fnm>P</fnm>
               </au>
            </aug>
            <source>Neural Networks</source>
            <pubdate>1999</pubdate>
            <volume>12</volume>
            <fpage>429</fpage>
            <lpage>439</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1016/S0893-6080(98)00140-3</pubid>
                  <pubid idtype="pmpid" link="fulltext">12662686</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B36">
            <title>
               <p>Linear modes of gene expression determined by independent component analysis.</p>
            </title>
            <aug>
               <au>
                  <snm>Liebermeister</snm>
                  <fnm>W</fnm>
               </au>
            </aug>
            <source>Bioinformatics</source>
            <pubdate>2002</pubdate>
            <volume>18</volume>
            <fpage>51</fpage>
            <lpage>60</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1093/bioinformatics/18.1.51</pubid>
                  <pubid idtype="pmpid" link="fulltext">11836211</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B37">
            <title>
               <p>An introduction to kernel-based learning algorithms.</p>
            </title>
            <aug>
               <au>
                  <snm>Muller</snm>
                  <fnm>KR</fnm>
               </au>
               <au>
                  <snm>Mika</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Ratsch</snm>
                  <fnm>G</fnm>
               </au>
               <au>
                  <snm>Tsudat</snm>
                  <fnm>K</fnm>
               </au>
               <au>
                  <snm>Scholkopf</snm>
                  <fnm>B</fnm>
               </au>
            </aug>
            <source>IEEE Transactions on Neural Networks</source>
            <pubdate>2001</pubdate>
            <volume>12</volume>
            <fpage>181</fpage>
            <lpage>201</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1109/72.914517</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B38">
            <source>The Lactose Operon</source>
            <publisher>New York: Cold Spring Harbor Laboratory, Cold Spring Harbor</publisher>
            <editor>Beckwith JR, Zipser E</editor>
            <pubdate>1970</pubdate>
         </bibl>
         <bibl id="B39">
            <title>
               <p>Genomic <it>cis</it>-regulatory logic: experimental and computational analysis of a sea urchin gene.</p>
            </title>
            <aug>
               <au>
                  <snm>Yuh</snm>
                  <fnm>CH</fnm>
               </au>
               <au>
                  <snm>Bolouri</snm>
                  <fnm>H</fnm>
               </au>
               <au>
                  <snm>Davidson</snm>
                  <fnm>EH</fnm>
               </au>
            </aug>
            <source>Science</source>
            <pubdate>1998</pubdate>
            <volume>279</volume>
            <fpage>1896</fpage>
            <lpage>1902</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1126/science.279.5358.1896</pubid>
                  <pubid idtype="pmpid" link="fulltext">9506933</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B40">
            <title>
               <p>Development of genetic circuitry exhibiting toggle switch or oscillatory behavior in <it>Escherichia coli</it>.</p>
            </title>
            <aug>
               <au>
                  <snm>Atkinson</snm>
                  <fnm>MR</fnm>
               </au>
               <au>
                  <snm>Savageau</snm>
                  <fnm>MA</fnm>
               </au>
               <au>
                  <snm>Myers</snm>
                  <fnm>JT</fnm>
               </au>
               <au>
                  <snm>Ninfa</snm>
                  <fnm>AJ</fnm>
               </au>
            </aug>
            <source>Cell</source>
            <pubdate>2003</pubdate>
            <volume>113</volume>
            <fpage>597</fpage>
            <lpage>607</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">12787501</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B41">
            <title>
               <p>Design principles for elementary gene circuits: elements, methods, and examples.</p>
            </title>
            <aug>
               <au>
                  <snm>Savageau</snm>
                  <fnm>MA</fnm>
               </au>
            </aug>
            <source>Chaos</source>
            <pubdate>2001</pubdate>
            <volume>11</volume>
            <fpage>142</fpage>
            <lpage>159</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1063/1.1349892</pubid>
                  <pubid idtype="pmpid" link="fulltext">12779449</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B42">
            <title>
               <p>Survey on independent component analysis.</p>
            </title>
            <aug>
               <au>
                  <snm>Hyv&#228;rinen</snm>
                  <fnm>A</fnm>
               </au>
            </aug>
            <source>Neural Computing Surveys</source>
            <pubdate>1999</pubdate>
            <volume>2</volume>
            <fpage>94</fpage>
            <lpage>128</lpage>
         </bibl>
         <bibl id="B43">
            <title>
               <p>Creating the gene ontology resource: design and implementation.</p>
            </title>
            <aug>
               <au>
                  <snm>The Gene Ontology</snm>
                  <fnm>Consortium</fnm>
               </au>
            </aug>
            <source>Genome Res</source>
            <pubdate>2001</pubdate>
            <volume>11</volume>
            <fpage>1425</fpage>
            <lpage>1433</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1101/gr.180801</pubid>
                  <pubid idtype="pmpid" link="fulltext">11483584</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B44">
            <title>
               <p>KEGG for computational genomics.</p>
            </title>
            <aug>
               <au>
                  <snm>Kanehisa</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Goto</snm>
                  <fnm>S</fnm>
               </au>
            </aug>
            <source>In Current Topics in Computational Molecular Biology</source>
            <publisher>Cambridge (MA): MIT Press</publisher>
            <editor>Jiang T, Xu Y, Zhang MQ</editor>
            <pubdate>2002</pubdate>
            <fpage>301</fpage>
            <lpage>315</lpage>
         </bibl>
         <bibl id="B45">
            <title>
               <p>A Compendium of gene expression in normal human tissues reveals tissue-specific genes and distinct expression patterns of housekeeping genes.</p>
            </title>
            <aug>
               <au>
                  <snm>Hsiao</snm>
                  <fnm>L</fnm>
               </au>
               <au>
                  <snm>Dangond</snm>
                  <fnm>F</fnm>
               </au>
               <au>
                  <snm>Yoshida</snm>
                  <fnm>T</fnm>
               </au>
               <au>
                  <snm>Hong</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Jensen</snm>
                  <fnm>RV</fnm>
               </au>
               <au>
                  <snm>Misra</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Dilon</snm>
                  <fnm>W</fnm>
               </au>
               <au>
                  <snm>Lee</snm>
                  <fnm>K</fnm>
               </au>
               <au>
                  <snm>Clark</snm>
                  <fnm>K</fnm>
               </au>
               <au>
                  <snm>Harverty</snm>
                  <fnm>P</fnm>
               </au>
               <etal/>
            </aug>
            <source>Physiol Genomics</source>
            <pubdate>2001</pubdate>
            <volume>7</volume>
            <fpage>97</fpage>
            <lpage>104</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">11773596</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B46">
            <title>
               <p>Comprehensive identification of cell cycle-regulated genes of the yeast <it>Saccharomyces cerevisiae </it>by microarray hybridization.</p>
            </title>
            <aug>
               <au>
                  <snm>Spellman</snm>
                  <fnm>PT</fnm>
               </au>
               <au>
                  <snm>Sherlock</snm>
                  <fnm>G</fnm>
               </au>
               <au>
                  <snm>Zhang</snm>
                  <fnm>MQ</fnm>
               </au>
               <au>
                  <snm>Iyer</snm>
                  <fnm>VR</fnm>
               </au>
               <au>
                  <snm>Anders</snm>
                  <fnm>K</fnm>
               </au>
               <au>
                  <snm>Eisen</snm>
                  <fnm>MB</fnm>
               </au>
               <au>
                  <snm>Brown</snm>
                  <fnm>PO</fnm>
               </au>
               <au>
                  <snm>Botstein</snm>
                  <fnm>D</fnm>
               </au>
               <au>
                  <snm>Futcher</snm>
                  <fnm>B</fnm>
               </au>
            </aug>
            <source>Mol Biol Cell</source>
            <pubdate>1998</pubdate>
            <volume>9</volume>
            <fpage>3273</fpage>
            <lpage>3297</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">25624</pubid>
                  <pubid idtype="pmpid" link="fulltext">9843569</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B47">
            <title>
               <p>A genome-wide transcriptional analysis of the mitotic cell cycle.</p>
            </title>
            <aug>
               <au>
                  <snm>Cho</snm>
                  <fnm>RJ</fnm>
               </au>
               <au>
                  <snm>Campbell</snm>
                  <fnm>MJ</fnm>
               </au>
               <au>
                  <snm>Winzeler</snm>
                  <fnm>EA</fnm>
               </au>
               <au>
                  <snm>Steinmetz</snm>
                  <fnm>L</fnm>
               </au>
               <au>
                  <snm>Conway</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Wodicka</snm>
                  <fnm>L</fnm>
               </au>
               <au>
                  <snm>Wolfsberg</snm>
                  <fnm>TG</fnm>
               </au>
               <au>
                  <snm>Gabrielian</snm>
                  <fnm>AE</fnm>
               </au>
               <au>
                  <snm>Landsman</snm>
                  <fnm>D</fnm>
               </au>
               <au>
                  <snm>Lockhart</snm>
                  <fnm>DJ</fnm>
               </au>
               <etal/>
            </aug>
            <source>Mol Cell</source>
            <pubdate>1998</pubdate>
            <volume>2</volume>
            <fpage>65</fpage>
            <lpage>73</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">9702192</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B48">
            <title>
               <p>Genomic expression programs in the response of yeast cells to environmental changes.</p>
            </title>
            <aug>
               <au>
                  <snm>Gasch</snm>
                  <fnm>AP</fnm>
               </au>
               <au>
                  <snm>Spellman</snm>
                  <fnm>PT</fnm>
               </au>
               <au>
                  <snm>Kao</snm>
                  <fnm>CM</fnm>
               </au>
               <au>
                  <snm>Carmel-Harel</snm>
                  <fnm>O</fnm>
               </au>
               <au>
                  <snm>Eisen</snm>
                  <fnm>MB</fnm>
               </au>
               <au>
                  <snm>Storz</snm>
                  <fnm>G</fnm>
               </au>
               <au>
                  <snm>Botstein</snm>
                  <fnm>D</fnm>
               </au>
               <au>
                  <snm>Brown</snm>
                  <fnm>PO</fnm>
               </au>
            </aug>
            <source>Mol Biol Cell</source>
            <pubdate>2000</pubdate>
            <volume>11</volume>
            <fpage>4241</fpage>
            <lpage>4257</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">15070</pubid>
                  <pubid idtype="pmpid" link="fulltext">11102521</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B49">
            <title>
               <p>Missing value estimation methods for DNA microarrays.</p>
            </title>
            <aug>
               <au>
                  <snm>Troyanskaya</snm>
                  <fnm>O</fnm>
               </au>
               <au>
                  <snm>Cantor</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Sherlock</snm>
                  <fnm>G</fnm>
               </au>
               <au>
                  <snm>Brown</snm>
                  <fnm>PO</fnm>
               </au>
               <au>
                  <snm>Hastie</snm>
                  <fnm>T</fnm>
               </au>
               <au>
                  <snm>Tibshirani</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Botstein</snm>
                  <fnm>D</fnm>
               </au>
               <au>
                  <snm>Altman</snm>
                  <fnm>RB</fnm>
               </au>
            </aug>
            <source>Bioinformatics</source>
            <pubdate>2001</pubdate>
            <volume>17</volume>
            <fpage>520</fpage>
            <lpage>525</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1093/bioinformatics/17.6.520</pubid>
                  <pubid idtype="pmpid" link="fulltext">11395428</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B50">
            <title>
               <p>Additional data files for "Application of independent component analysis to microarrays"</p>
            </title>
            <url>http://www.stanford.edu/~silee/ICA/</url>
         </bibl>
         <bibl id="B51">
            <title>
               <p>Microarray data normalization and transformation.</p>
            </title>
            <aug>
               <au>
                  <snm>Quackenbush</snm>
                  <fnm>J</fnm>
               </au>
            </aug>
            <source>Nat Genet</source>
            <pubdate>2002</pubdate>
            <volume>32</volume>
            <fpage>496</fpage>
            <lpage>501</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1038/ng1032</pubid>
                  <pubid idtype="pmpid" link="fulltext">12454644</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B52">
            <title>
               <p>Yeast cell cycle analysis project</p>
            </title>
            <url>http://cellcycle-www.stanford.edu</url>
         </bibl>
         <bibl id="B53">
            <title>
               <p>HuGE Index (Human Gene Expression Index)</p>
            </title>
            <url>http://www.hugeindex.org</url>
         </bibl>
         <bibl id="B54">
            <title>
               <p>Additional data files for "Systematic determination of genetic network architecture"</p>
            </title>
            <url>http://arep.med.harvard.edu/network_discovery/</url>
         </bibl>
         <bibl id="B55">
            <title>
               <p>Plaid models, for microarrays and DNA expression</p>
            </title>
            <url>http://www-stat.stanford.edu/~owen/plaid/</url>
         </bibl>
         <bibl id="B56">
            <title>
               <p>Web supplement to "Genomic expression programs in the response of yeast cells to environmental changes"</p>
            </title>
            <url>http://www-genome.stanford.edu/yeast_stress</url>
         </bibl>
         <bibl id="B57">
            <title>
               <p>The AMP-activated protein kinase: fuel gauge of the mammalian cell?</p>
            </title>
            <aug>
               <au>
                  <snm>Hardie</snm>
                  <fnm>DG</fnm>
               </au>
               <au>
                  <snm>Carling</snm>
                  <fnm>D</fnm>
               </au>
            </aug>
            <source>Eur J Biochem</source>
            <pubdate>1997</pubdate>
            <volume>246</volume>
            <fpage>259</fpage>
            <lpage>273</lpage>
            <xrefbib>
               <pubid idtype="pmpid">9208914</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B58">
            <title>
               <p>Roles of the AMP-activated/SNF1 protein kinase family in the response to cellular stress.</p>
            </title>
            <aug>
               <au>
                  <snm>Hardie</snm>
                  <fnm>DG</fnm>
               </au>
            </aug>
            <source>Biochem Soc Symp</source>
            <pubdate>1999</pubdate>
            <volume>64</volume>
            <fpage>13</fpage>
            <lpage>27</lpage>
            <xrefbib>
               <pubid idtype="pmpid">10207618</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B59">
            <title>
               <p>Supplemental Data for "A gene expression map for <it>C. elegans</it>"</p>
            </title>
            <url>http://cmgm.stanford.edu/~kimlab/topomap</url>
         </bibl>
         <bibl id="B60">
            <title>
               <p>An experimental comparison of neural algorithms for independent component analysis and blind separation.</p>
            </title>
            <aug>
               <au>
                  <snm>Giannakopoulos</snm>
                  <fnm>X</fnm>
               </au>
               <au>
                  <snm>Karhunen</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Oja</snm>
                  <fnm>E</fnm>
               </au>
            </aug>
            <source>Int J Neural Syst</source>
            <pubdate>1999</pubdate>
            <volume>9</volume>
            <fpage>99</fpage>
            <lpage>114</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1142/S0129065799000101</pubid>
                  <pubid idtype="pmpid">10529083</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B61">
            <aug>
               <au>
                  <snm>Scholkopf</snm>
                  <fnm>B</fnm>
               </au>
               <au>
                  <snm>Burges</snm>
                  <fnm>CJC</fnm>
               </au>
               <au>
                  <snm>Smola</snm>
                  <fnm>AJ</fnm>
               </au>
            </aug>
            <source>Advances in Kernel Methods - Support Vector Learning.</source>
            <publisher>Cambridge (MA): MIT press</publisher>
            <pubdate>1999</pubdate>
         </bibl>
         <bibl id="B62">
            <title>
               <p>Improving support vector machine classifiers by modifying kernel functions.</p>
            </title>
            <aug>
               <au>
                  <snm>Amari</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Wu</snm>
                  <fnm>S</fnm>
               </au>
            </aug>
            <source>Neural Networks</source>
            <pubdate>1999</pubdate>
            <volume>12</volume>
            <fpage>783</fpage>
            <lpage>789</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1016/S0893-6080(99)00032-5</pubid>
                  <pubid idtype="pmpid" link="fulltext">12662656</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B63">
            <title>
               <p>Dynamically adapting kernels in support vector machines.</p>
            </title>
            <aug>
               <au>
                  <snm>Cristianini</snm>
                  <fnm>N</fnm>
               </au>
               <au>
                  <snm>Campbell</snm>
                  <fnm>C</fnm>
               </au>
               <au>
                  <snm>Shawe-Taylor</snm>
                  <fnm>J</fnm>
               </au>
            </aug>
            <source>In Proceedings of the Advances in Neural Information Processing Systems: December 1-3 1998; Denver, Colorado</source>
            <publisher>Cambridge (MA): MIT Press</publisher>
            <editor>Kearns M, Solla S, Cohn D</editor>
            <pubdate>1999</pubdate>
            <fpage>204</fpage>
            <lpage>210</lpage>
         </bibl>
         <bibl id="B64">
            <title>
               <p>A class of neural networks for independent component analysis.</p>
            </title>
            <aug>
               <au>
                  <snm>Karhunen</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Oja</snm>
                  <fnm>E</fnm>
               </au>
               <au>
                  <snm>Wang</snm>
                  <fnm>L</fnm>
               </au>
               <au>
                  <snm>Vigario</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Joutsensalo</snm>
                  <fnm>J</fnm>
               </au>
            </aug>
            <source>IEEE Trans On Neural Networks</source>
            <pubdate>1997</pubdate>
            <volume>8</volume>
            <fpage>486</fpage>
            <lpage>504</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1109/72.572090</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B65">
            <title>
               <p>Handling missing data with variational Bayesian learning of ICA</p>
            </title>
            <aug>
               <au>
                  <snm>Chan</snm>
                  <fnm>K</fnm>
               </au>
               <au>
                  <snm>Lee</snm>
                  <fnm>TW</fnm>
               </au>
               <au>
                  <snm>Sejnowsji</snm>
                  <fnm>T</fnm>
               </au>
            </aug>
            <source>In Proceedings of the Advances in Neural Information Processing Systems: 10-12 Dec 2002; Vancouver, British Columbia, Canada</source>
            <publisher>Cambridge (MA): MIT Press</publisher>
            <pubdate>2003</pubdate>
            <inpress/>
         </bibl>
         <bibl id="B66">
            <title>
               <p>Ratio-based decision and the quantitative analysis of cDNA microarray images.</p>
            </title>
            <aug>
               <au>
                  <snm>Chen</snm>
                  <fnm>Y</fnm>
               </au>
               <au>
                  <snm>Dougherty</snm>
                  <fnm>ER</fnm>
               </au>
               <au>
                  <snm>Bittner</snm>
                  <fnm>ML</fnm>
               </au>
            </aug>
            <source>J Biomed Opt</source>
            <pubdate>1997</pubdate>
            <volume>2</volume>
            <fpage>364</fpage>
            <lpage>374</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1117/1.429838</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B67">
            <title>
               <p>A variance-stabilizing transformation for gene-expression microarray data.</p>
            </title>
            <aug>
               <au>
                  <snm>Durbin</snm>
                  <fnm>BP</fnm>
               </au>
               <au>
                  <snm>Hardin</snm>
                  <fnm>JS</fnm>
               </au>
               <au>
                  <snm>Hawkins</snm>
                  <fnm>DM</fnm>
               </au>
               <au>
                  <snm>Rocke</snm>
                  <fnm>DM</fnm>
               </au>
            </aug>
            <source>Bioinformatics</source>
            <pubdate>2002</pubdate>
            <volume>18 Suppl 1</volume>
            <fpage>S105</fpage>
            <lpage>S110</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">12169537</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B68">
            <title>
               <p>A model for measurement error for gene expression arrays.</p>
            </title>
            <aug>
               <au>
                  <snm>Rocke</snm>
                  <fnm>D</fnm>
               </au>
               <au>
                  <snm>Durbin</snm>
                  <fnm>B</fnm>
               </au>
            </aug>
            <source>J Comput Biol</source>
            <pubdate>2001</pubdate>
            <volume>8</volume>
            <fpage>557</fpage>
            <lpage>569</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1089/106652701753307485</pubid>
                  <pubid idtype="pmpid" link="fulltext">11747612</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B69">
            <title>
               <p>Independent component analysis for noisy data - MEG data analysis.</p>
            </title>
            <aug>
               <au>
                  <snm>Ikeda</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Toyama</snm>
                  <fnm>K</fnm>
               </au>
            </aug>
            <source>Neural Networks</source>
            <pubdate>2000</pubdate>
            <volume>13</volume>
            <fpage>1063</fpage>
            <lpage>1074</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="doi">10.1016/S0893-6080(00)00071-X</pubid>
                  <pubid idtype="pmpid" link="fulltext">11156188</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B70">
            <title>
               <p>Generalized independent component analysis through unsupervised learning with emergent bussgang properties.</p>
            </title>
            <aug>
               <au>
                  <snm>Girolami</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Fyfe</snm>
                  <fnm>C</fnm>
               </au>
            </aug>
            <source>In Proceedings of the IEEE International Conference on Neural Networks; June 9-12 1997</source>
            <publisher>Houston: IEEE Press</publisher>
            <editor>Karaayannis NB</editor>
            <pubdate>1997</pubdate>
            <fpage>1788</fpage>
            <lpage>1791</lpage>
         </bibl>
         <bibl id="B71">
            <title>
               <p>Source separation in post-nonlinear mixtures.</p>
            </title>
            <aug>
               <au>
                  <snm>Taleb</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Jutten</snm>
                  <fnm>C</fnm>
               </au>
            </aug>
            <source>IEEE Transaction on Signal Processing</source>
            <pubdate>1999</pubdate>
            <volume>47</volume>
            <fpage>2807</fpage>
            <lpage>2820</lpage>
            <xrefbib>
               <pubid idtype="doi">10.1109/78.790661</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B72">
            <title>
               <p>Download the EEGLAB Toolbox for Matlab</p>
            </title>
            <url>http://www.sccn.ucsd.edu/~scott/ica-download-form.html</url>
         </bibl>
         <bibl id="B73">
            <title>
               <p>Download Extended InfoMax for Matlab (4.2c or 5.0)</p>
            </title>
            <url>http://www.cnl.salk.edu/~tewon/ICA/Code/ext_ica_download.html</url>
         </bibl>
         <bibl id="B74">
            <title>
               <p>The FASTICA Package for MatLab</p>
            </title>
            <url>http://www.cis.hut.fi/projects/ica/fastica</url>
         </bibl>
         <bibl id="B75">
            <title>
               <p>Blind Source Separation and Independent Component Analysis</p>
            </title>
            <url>http://www.tsi.enst.fr/~cardoso/guidesepsou.html</url>
         </bibl>
      </refgrp>
   </bm>
</art>
