EzArray Home

Download and install EzArray on local server

Note: EzArray runs on Linux server and requires MySQL. In addition, R and Bioconductor should be pre-installed. Experienced users can get EzArray work on Windows and Mac OS X. However, we have not completely tested EzArray on these platforms yet. The most recent EzArray version is v2.3.
  1. Install and configure Apache and MySQL on Linux (see Appendix 1).
    • Make sure you have installed tcl/tk.
    • Make sure the command /user/sbin/sendmail works.
    • Make sure you have enabled "innodb" in mysql.
  2. Install and configure R and Bioconductor (see Appendix 2).
  3. Request a free EzArray license:
  4. Download the most recent version of EzArray and sample data (please save files instead of open them in browser):
  5. Install EzArray:
    • Login system as root with shell command "su". Then change to the folder where EzArray program (ezarray.tar.gz) is stored.
    • Uncompress EzArray to the document root folder (here we assume it is /opt/lampp/htdocs, make changes to fit your system) of your website with shell command:
      # tar xzvf ezarray.tar.gz -C /opt/lampp/htdocs
      A new folder "bxaf" should have been created under /opt/lampp/htdocs/.
    • Create a MySQL database "ezarray" and user "ezarray" with any password. Grant all privileges of database "ezarray" to user "ezarray". Here are shell command and the SQL scripts:
      # /opt/lampp/bin/mysql -h localhost -u root
      mysql> CREATE USER 'ezarray'@'localhost' IDENTIFIED BY 'MySQL Password';
      mysql> CREATE DATABASE IF NOT EXISTS `ezarray`;
      mysql> GRANT ALL PRIVILEGES ON `ezarray`.* TO 'ezarray'@'localhost';
      mysql> FLUSH PRIVILEGES;
      mysql> quit;
    • Create EzArray MySQL database tables and import all data. The sql file to be executed is in folder /opt/lampp/htdocs/bxaf/Data/sql/. You can use shell command to do so:
      # /opt/lampp/bin/mysql -h localhost -D ezarray -u ezarray -p < /opt/lampp/htdocs/bxaf/Data/sql/ezarray.sql
    • Make sure the folders /opt/lampp/htdocs/bxaf/config/ and /opt/lampp/htdocs/bxaf/Data/ are writable by Apache users (check your httpd.conf settings. Here we assume they are "nobody"). If not, you can simply change the owner and group of the entire folder /opt/lampp/htdocs/bxaf/ to the Apache user and group:
      chown -R nobody /opt/lampp/htdocs/bxaf/
      chgrp -R nobody /opt/lampp/htdocs/bxaf/
    • Set up EzArray: In your browser, enter the corresponding URL of EzArray such as http://localhost/bxaf/ (or http://server.domain.name/bxaf/). Follow instructions to enter MySQL settings and other parameters.
    • For security reasons, please remove "setup.php" file (if not automatically deleted) and change the configure file /opt/lampp/htdocs/bxaf/config/bxaf_config.php to read-only:
      # rm /opt/lampp/htdocs/bxaf/setup.php
      # chmod 555 /opt/lampp/htdocs/bxaf/config/bxaf_config.php
    • Enter EzArray lisense key when prompted.
    • You've done installing EzArray! Enjoy using EzArray in your browser with the corresponding URL such as http://localhost/bxaf/ (or http://server.domain.name/bxaf/).
    • To get the GEO module works, please follow instructions in file /opt/lampp/htdocs/bxaf/ezarray/geo.txt
    • If your R command is not in /usr/bin/R, please edit file to fit your settings: /opt/lampp/htdocs/bxaf/ezarray/ezarray_config.php.

Appendix 1: Install and configure Apache and MySQL on Linux

There are different flavors of Linux systems. Please refer to related documents to get Linux installed and configured. Most Linux systems come with Apache and MySQL. If you like to use them, that will be fine. If you don't have Apache and MySQL installed/configured yet, we suggest you to install XAMPP instead.

  • Download XAMPP for Linux: http://www.apachefriends.org/en/xampp-linux.html
  • Login the system as root with shell command "su".
  • Extract the downloaded archive file to /opt with command like this "tar xvfz xampp-linux-1.6.5a.tar.gz -C /opt". Notice that, the file you downloaded may have different name.
  • Tune XAMPP security with command "/opt/lampp/lampp security". Please keep your passwords in a safe place in case you've forgot them!
  • Perform tunes to files "httpd.conf", "my.cnf", and "php.ini". These files should be in folder "/opt/lampp/etc/" by default.
    • Edit file "httpd.conf": remove "Indexes" from the Options of the DocumentRoot so that it looks like:
          Options FollowSymLinks Includes ExecCGI
    • Edit file "my.cnf": enable Storage Engine "InnoDB" by deleting the row "skip-innodb".
    • Edit file "php.ini" and change the values of these variables to fit your computer settings:
      • max_execution_time = 300
      • memory_limit = 128M
      • upload_max_filesize = 128M
      • post_max_size = 128M
    • Start XAMPP with command "/opt/lampp/lampp startapache" and "/opt/lampp/lampp startmysql" (you must be root). You can add these commands to file "/etc/rc.local" so that xampp starts automatically after system rebooting.

Appendix 2: Install and configure R and Bioconductor

  • Download the most recent version of R from CRAN. The R FAQ and the R Installation and Administration Manual contain detailed instructions for installing R on various platforms (Linux, OS X, and Windows being the main ones). If the source codes are downloaded, run these commands as root to compile and install R:
    • # tar xzvf R-2.6.1.tar.gz
    • # cd R-2.6.1
    • # ./configure
    • # make
    • # make install
  • Go to Bioconductor website and follow the installation instructions to get Bioconductor installed:
    • Start the R program. On Windows and OS X, this will usually mean double-clicking on the R application. On Unix-like systems, type "R" at a shell prompt.
    • Use R scripts to install Bioconductor packages. The first three commands are essential, the rest packages may be installed automatically when needed. Please make sure your R settings allow automated package installtion by Apache users.
      • source("http://bioconductor.org/biocLite.R")
      • biocLite();
      • biocLite(c("webbioc", "gplots", "gdata", "RColorBrewer", "GEOquery", "ag", "celegans", "drosophila2", "drosgenome1", "hu6800", "hcg110", "hgfocus", "hu35ksuba", "hu35ksubb", "hu35ksubc", "hu35ksubd", "hgu133plus2", "hgu133a", "hgu133b", "hgu133a2", "hgu95a", "hgu95av2", "hgu95b", "hgu95c", "hgu95d", "hgu95e", "u133x3p", "moe430a", "moe430b", "mouse4302", "mouse430a2", "mu11ksuba", "mu11ksubb", "mu19ksuba", "mu19ksubb", "mu19ksubc", "mgu74a", "mgu74av2", "mgu74b", "mgu74bv2", "mgu74c", "mgu74cv2", "rae230a", "rae230b", "rat2302", "rgu34a", "rgu34b", "rgu34c", "rnu34", "rtu34", "xenopuslaevis", "yeast2", "ygs98", "zebrafish"));
      • biocLite(c("adme16cod", "ag", "agahomology", "agcdf", "agprobe", "ath1121501", "ath1121501cdf", "ath1121501probe", "athhomology", "barley1cdf", "barley1probe", "bovinecdf", "bovineprobe", "bsubtiliscdf", "bsubtilisprobe", "btahomology", "canine2", "canine2cdf", "canine2probe", "caninecdf", "canineprobe", "celegans", "celeganscdf", "celegansprobe", "celhomology", "cfahomology", "chicken", "chickencdf", "chickenprobe", "cinhomology", "citruscdf", "citrusprobe", "cMAP", "cyp450cdf", "dmehomology", "drehomology", "drosgenome1", "drosgenome1cdf", "drosgenome1probe", "drosophila2", "drosophila2cdf", "drosophila2probe", "ecoli2cdf", "ecoli2probe", "ecoliasv2cdf", "ecoliasv2probe", "ecolicdf", "ecoliprobe", "egohomology", "ggahomology", "gmahomology", "GO", "gp53cdf", "h10kcod", "h20kcod", "hcg110", "hcg110cdf"));
      • biocLite(c("hcg110probe", "hgfocus", "hgfocuscdf", "hgfocusprobe", "hgu133a", "hgu133a2", "hgu133a2cdf", "hgu133a2probe", "hgu133acdf", "hgu133aprobe", "hgu133atagcdf", "hgu133atagprobe", "hgu133b", "hgu133bcdf", "hgu133bprobe", "hgu133plus2", "hgu133plus2cdf", "hgu133plus2probe", "hgu95a", "hgu95acdf", "hgu95aprobe", "hgu95av2", "hgu95av2cdf", "hgu95av2db", "hgu95av2probe", "hgu95b", "hgu95bcdf", "hgu95bprobe", "hgu95c", "hgu95ccdf", "hgu95cprobe", "hgu95d", "hgu95dcdf", "hgu95dprobe", "hgu95e", "hgu95ecdf", "hgu95eprobe", "hguatlas13k", "hgubeta7", "hguDKFZ31", "hgug4100a", "hgug4101a", "hgug4110b", "hgug4111a", "hgug4112a", "hguqiagenv3", "hi16cod", "hivprtplus2cdf", "hs25kresogen", "hsahomology", "hthgu133acdf", "htratfocuscdf", "hu35ksuba", "hu35ksubacdf", "hu35ksubaprobe", "hu35ksubb", "hu35ksubbcdf", "hu35ksubbprobe", "hu35ksubc"));
      • biocLite(c("hu35ksubccdf", "hu35ksubcprobe", "hu35ksubd", "hu35ksubdcdf", "hu35ksubdprobe", "hu6800", "hu6800cdf", "hu6800probe", "hu6800subacdf", "hu6800subbcdf", "hu6800subccdf", "hu6800subdcdf", "humanCHRLOC", "humanLLMappings", "HuO22", "hvuhomology", "hwgcod", "illumHumanv1", "illumHumanv2", "illumMousev1", "illumMousev1.1", "illumRatv1", "indac", "JazaeriMetaData", "KEGG", "klahomology", "lumiHumanV1", "lumiHumanV2", "lumiMouseV1", "lumiRatV1", "m10kcod", "m20kcod", "maizecdf", "maizeprobe", "medicagocdf", "medicagoprobe", "mgrhomology", "mgu74a", "mgu74acdf", "mgu74aprobe", "mgu74av2", "mgu74av2cdf", "mgu74av2probe", "mgu74b", "mgu74bcdf", "mgu74bprobe", "mgu74bv2", "mgu74bv2cdf", "mgu74bv2probe", "mgu74c", "mgu74ccdf", "mgu74cprobe", "mgu74cv2", "mgu74cv2cdf", "mgu74cv2probe", "mguatlas5k", "mgug4104a"));
      • biocLite(c("mgug4122a", "mi16cod", "mm24kresogen", "mmuhomology", "moe430a", "moe430acdf", "moe430aprobe", "moe430b", "moe430bcdf", "moe430bprobe", "mouse4302", "mouse4302cdf", "mouse4302probe", "mouse430a2", "mouse430a2cdf", "mouse430a2probe", "mouseCHRLOC", "mouseLLMappings", "mpedbarray", "mu11ksuba", "mu11ksubacdf", "mu11ksubaprobe", "mu11ksubb", "mu11ksubbcdf", "mu11ksubbprobe", "Mu15v1", "mu19ksuba", "mu19ksubacdf", "mu19ksubb", "mu19ksubbcdf", "mu19ksubc", "mu19ksubccdf", "Mu22v3", "mu6500subacdf", "mu6500subbcdf", "mu6500subccdf", "mu6500subdcdf", "mwgcod", "ncrhomology", "Norway981", "omyhomology", "OperonHumanV3", "osahomology", "paeg1acdf", "paeg1aprobe", "PartheenMetaData", "pedbarrayv10", "pedbarrayv9", "pfahomology", "PFAM", "plasmodiumanophelescdf", "plasmodiumanophelesprobe", "poplarcdf", "poplarprobe", "porcinecdf", "porcineprobe", "ptrhomology", "r10kcod", "rae230a"));
      • biocLite(c("rae230acdf", "rae230aprobe", "rae230b", "rae230bcdf", "rae230bprobe", "rat2302", "rat2302cdf", "rat2302probe", "ratCHRLOC", "ratLLMappings", "rgu34a", "rgu34acdf", "rgu34aprobe", "rgu34b", "rgu34bcdf", "rgu34bprobe", "rgu34c", "rgu34ccdf", "rgu34cprobe", "rguatlas4k", "rgug4105a", "rgug4130a", "rhesuscdf", "rhesusprobe", "ri16cod", "ricecdf", "riceprobe", "rnohomology", "rnu34", "rnu34cdf", "rnu34probe", "Roberts2005Annotation", "rtu34", "rtu34cdf", "rtu34probe", "rwgcod", "saureuscdf", "saureusprobe", "scehomology"));
      • biocLite(c("SHDZ", "soybeancdf", "soybeanprobe", "spohomology", "sschomology", "sugarcanecdf", "sugarcaneprobe", "taehomology", "test1cdf", "test2cdf", "test3cdf", "test3probe", "tomatocdf", "tomatoprobe", "u133aaofav2cdf", "u133x3p", "u133x3pcdf", "u133x3pprobe", "vitisviniferacdf", "vitisviniferaprobe", "vvihomology", "wheatcdf", "wheatprobe", "xenopuslaevis", "xenopuslaeviscdf", "xenopuslaevisprobe", "xlahomology", "xtrhomology", "ye6100subacdf", "ye6100subbcdf", "ye6100subccdf", "ye6100subdcdf", "YEAST", "yeast2", "yeast2cdf", "yeast2probe", "ygs98", "ygs98cdf", "ygs98probe", "zebrafish", "zebrafishcdf", "zebrafishprobe", "zmahomology"));