Installation instructions for ArrayPipe version 1.x: ---------------------------------------------------- TABLE OF CONTENTS OVERVIEW PREREQUISITES INSTALLATION CONFIGURATION USAGE DATA INPUT SUPPORT 1) OVERVIEW A paper on the ArrayPipe Web Server has been published in the Web Server edition 2004 of Nucleic Acid Research. Please cite it if you use ArrayPipe in your research: Hokamp K, Roche FM, Acab M, Rousseau ME, Kuo B, Goode D, Aeschliman D, Bryan J, Babiuk LA, Hancock RE, Brinkman FS (2004) Nucleic Acids Research 32 (Web Server issue):W457-459 The standalone version of ArrayPipe is distributed under the Perl Artistic Licence (see the LICENSE file included in the download) by the Brinkman Laboratory, Simon Fraser University, Burnaby, B.C., Canada. This standalone version of ArrayPipe has initially been developed for the Linux environment. This document describes the installation of the ArrayPipe version 1.x command line program and the ArrayPipe web server. For further information, please contact arraypipe-REMOVECAPSemail@sfu.ca. 2) PREREQUISITES ArrayPipe has several prerequisites that must be installed for a fully functional version. 1. A Linux distribution. ArrayPipe has been tested and found to work on the following Linux distributions: RedHat 7.3, RedHat 9.0, Fedora Core 1, SuSE 9.0. 2. Perl version 5.005_03 or higher (5.6.x or higher recommended). The latest version of Perl can be obtained from: http://www.cpan.org 3. The Perl GD.pm module (obtainable at http://cpan.perl.org) 4. A working installation of R (freely available at http://www.r-project.org) 5. A working installation of BioConductor (freely available at http://www.bioconductor.org) 6. Ghostscript (freely available from www.cs.wisc.edu/~ghost) ArrayPipe can also be installed as a server, which allows running the program from a Web browser. This option is highly recommended if ArrayPipe is going to be used extensively on a continuous basis. If you plan on setting up ArrayPipe to act as a server, you also need to have Apache version 1.3.x or higher installed (for more information on apache, please consult the corresponding website at: http://www.apache.org) A prior working installation of Apache is assumed in this document. 3) INSTALLATION 1. download the latest package from the ArrayPipe website (http://www.pathogenomics.ca/arraypipe) 2. unpack the archive: tar zxvf arraypipe_X.XX.tgz (where X.XX stands for the version number) This creates a new directory (arraypipe_X.XX). 3. change into this directory and make sure the program (arraypipe.pl) is executable: cd arraypipe_X.XX; chmod +x arraypipe.pl 4. You will also find the c++ code for a permutation program that is part of one module in ArrayPipe. If you plan to use this module, you need to compile this program, e.g.: g++ permutationTest.cpp -o permutationTest The final location of the executable needs to be specified in the configuration for ArrayPipe (see below) 5. Another program that you can use with ArrayPipe is 'pathexpressplot.pl'. It can be called from the web-based spreadsheet generated by ArrayPipe. The final location of the executable needs to be specified in the configuration for ArrayPipe (see below) 6. move the program(s) into a location of your choice, i.e. /usr/local/bin for the standalone version or into the web-server's cgi-bin directory in case you plan to run ArrayPipe through the web Next you need to set some configuration parameters, as specified in the next section. 4) CONFIGURING ARRAYPIPE With the package comes an example configuration file (arraypipe.config) that pre-defines some important variables, such as locations of programs and output directories as well as user-specific settings. Each of the variables is documented and tells you what needs to be changed. ArrayPipe searches for the configuration file in the following locations: 1. /etc/arraypipe.config 2. current directory (./arraypipe.config) 3. specified through environmental variable 'ARRAYPIPE_CONFIG' 4. home directory (~/.arraypipe.config) 5. specified through command line option --config All configuration files that are found are processed in the above order, i.e. the last one found overwrites values from the previous ones. Do not place the configuration file into a web-readable location where the settings might get exposed to others! To check that the program is working start it a) from the command line: Start the program with the '--help' option: arraypipe.pl --help Unless it is in a standard location such as /usr/local/bin you might have to specify the full or relative path, e.g.: /home/smith/arraypipe_X.XX/arraypipe.pl --help b) from a Web browser: Point your browser to the location in the cgi-directory where the program was stored, i.e.: http://localhost/cgi-bin/arraypipe.pl You should see a login page for ArrayPipe; if an error occurs, try to start it from the command-line or check in the http server log file (e.g. /var/log/httpd/error_log) for error messages. For proper functioning of ArrayPipe, you need to specify at least the following parameter(s): # determine a directory where the results will be written to - if you plan # to run ArrayPipe through the web this must be accessible by the web server, # e.g.: mkdir /srv/www/htdocs/arraypipe # set this directory as the tmp_directory in your # arraypipe configuration file tmp_dir = /srv/www/htdocs/arraypipe The following steps apply only if you are running ArrayPipe through the web: # make sure the variable 'cgi_link' in the arraypipe configuration file # points to the according Web URL, e.g.: cgi_link = http://localhost/cgi-bin/arraypipe.pl # make sure it is writable by the webserver user (or all), e.g.: chmod 777 /srv/www/htdocs/arraypipe # specify in your arraypipe configuration file how this directory # appears through the web-server, e.g.: tmp_dir_html = /arraypipe 5) USING ARRAYPIPE: a) from the command line: The command line version of ArrayPipe does not provide much interaction, but is rather suited to repeat analysis processes that have been set up through the web. You need to start each command line with the '--BATCH' parameter. You can list input files individually or by specifying a directory which con- tains all input files. The following examples demonstrate some simple analyses: Example I: box plot, MA plot and chip visualization arraypipe.pl --BATCH --file data1,data2 --action action_14_signal_boxplot,action_20_MA_plot,action_02_fg_plot Example II: background correction, subgrid loess, t-test, merging and data retrieval (making use of duplicate spots per array): arraypipe.pl --BATCH --file data1,data2 --action filter_03_fg_min_percentile_fg,filter_06a_limma_loess_printtip,filter_35_student_ttest,filter_12_merge_all_reps,action_50_output --param student_ttest_1_dups=yes,merge_all_reps_dups=yes All output is written to an HTML file in a new directory. A description of the various modules and parameters available can be obtained by starting ArrayPipe with the --listing parameter: arraypipe.pl --listing -> information on available modules arraypipe.pl --listing action_02_fg_plot -> information on parameters available for module 'Chip Visualization (FG)' Please see output from arraypipe.pl --help for more information. b) from a Web browser: Please follow the instructions provided in the on-line tutorial at http://www.pathogenomics.ca/arraypipe/tutorial/ 6) DATA INPUT As descriped in the ArrayPipe tutorial, a variety of formats are automatically recognized. However, the easiest way to specify settings for both the web-based and command line usage, the ArrayPipe format can be used. It contains several header fields that describe layout of the array as well as column headers to be used for specific data types, e.g.: # arraypipe format version 1.0 # BIO_REP = BIO1 # TECH_REP = TECH1 # CH1FG = F635 Median # CH1BG = B635 Median # CH1_ANNOTATE = Ctrl # CH1_LABEL = Cy3 # CH2FG = F532 Median # CH2BG = B532 Median # CH2_ANNOTATE = TEST1 # CH2_LABEL = Cy5 # COL = 21 # MCOL = 5 # MROW = 5 # ROW = 43 # ORGANIZATION = by-subgrid # ARRAY_TYPE = Pyxis 8000 # SPOT_ID = ID # FLAG = Flags # ALIAS = test1 # DATA SECTION: ID F635 Median B635 Median F532 Median B532 Median Flags Spot1 21332 449 4398 388 0 ... The data itself is listed in tab-delimited format, one row per spot. 7) SUPPORT: If you encounter bugs or problems, please write to the following address: arraypipe-REMOVECAPSemail@sfu.ca (primary contact Karsten Hokamp). It would be helpful to include as many details and error or warning messages as possible! You might also consider subscribing to the ArrayPipe Update mailing list to keep informed of new releases. For that, send an e-mail to maillist@sfu.ca with the subject "subscribe arraypipe-update".