source: trunk/se/lu/thep/affymetrix/INSTALL @ 345

Last change on this file since 345 was 345, checked in by Jari Häkkinen, 16 years ago

Fixes #67 and #68. Added information on how to install in Microsoft Windows. Also improved the docs.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-trac-wiki
File size: 10.0 KB
RevLine 
[123]1$Id: INSTALL 345 2007-06-27 19:47:01Z jari $
2
[272]3----------------------------------------------------------------------
4{{{
[123]5Copyright (C) 2006 Jari Häkkinen
[281]6Copyright (C) 2007 Jari Häkkinen, Peter Johansson
[123]7
[272]8This file is part of se.lu.thep.affymetrix package for BASE,
9http://baseplugins.thep.lu.se/wiki/se.thep.lu.se.affymetrix
[123]10
[272]11se.lu.thep.affymetrix package for BASE is free software; you can
12redistribute it and/or modify it under the terms of the GNU General
13Public License as published by the Free Software Foundation; either
14version 2 of the License, or (at your option) any later version.
[123]15
[272]16se.lu.thep.affymetrix package for BASE is distributed in the hope that
17it will be useful, but WITHOUT ANY WARRANTY; without even the implied
18warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
19the GNU General Public License for more details.
[123]20
21You should have received a copy of the GNU General Public License
22along with this program; if not, write to the Free Software
23Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
24USA.
[273]25}}}
[272]26----------------------------------------------------------------------
[123]27
28
[272]29= Installation Guide for se.lu.thep.affymetrix =
30
[284]31This file contains installation information for two plug-ins: RMAExpress
[272]32and Plier.
33
[345]34
[272]35== 0. Introduction ==
[123]36
[272]37=== Short intro: ===
[123]38
[284]39The route for successful first time installation of this RMAExpress plug-in is
[272]40  i. Install the plug-in.
41  i. Install wxWidgets.
42  i. Install RMAExpressConsole.
43  i. Make BASE aware of the new plug-in.
[228]44
[284]45The route for successful first time installation of this Plier plug-in is
[272]46  i. Install the plug-in.
47  i. Install apt-probeset-summarize.
48  i. Make BASE aware of the new plug-in.
[228]49
[345]50Upgrading the plug-in is even easier, see item 5 below.
[228]51
[272]52=== Longer intro: ===
[228]53
[284]54There are two supported ways to install this Affymetrix package, you
[189]55either download a pre-compiled package or you checkout the latest
56source from the subversion repository. The below instructions covers
57both installation options since major parts of the installation is the
58same for the different cases. There is also a source package available
59for download but installation from that package is currently not
60supported, it is supplied for reference only.
[123]61
[272]62Note, the underlying algorithms RMA and Plier are not part of this
63package. This package contains the plug-in code needed for hooking up
64RMAExpress and Plier to BASE as a plug-in. The underlying binaries,
65RMAExpress and Plier, must be installed for the corresponding plug-in
66to work. See more in item 1.ii below.
[156]67
[274]68If you are upgrading a previously installed RMAExpress or Plier
[345]69plug-in for BASE you can safely skip to item 5 below.
[124]70
[156]71
[272]72== 1. Pre-requisites ==
[124]73
[274]74=== BASE 2 ===
[345]75
[274]76This plug-in package will only work with BASE 2.0 or later, i.e. BASE
771.2.x is not (and will never be) supported.
[124]78
[345]79''Compile time access to BASE core jar file.''
80
81This is only needed for compilation and installation from a subversion
82tree or a source package, i.e., it is not needed when installing a
83pre-compiled package.
84
85Specifically, the BASE2Core.jar file in use by the server running the
86BASE web application must be available at compile/install time.
87
88
[274]89=== RMAExpressConsole and apt-probeset-summarize ===
[282]90
91''RMAExpressConsole''
92
[274]93Pre-requisite for RMAExpress plug-in (both binary package and
[345]94subversion tree installs) to work is that RMAExpressConsole is
95installed.
[124]96
[272]97RMAExpressConsole is available in the RMAExpress package written by
98Ben Bolstad, and the official RMAExpress web site is
[124]99http://rmaexpress.bmbolstad.com/
[123]100
[345]101(Microsoft Windows instructions) RMAExpressConsole is a part of the
102Microsoft Windows pre-built binary package available from the
103RMAExpress web site. Install the package and locate the
104RMAExpressConsole.exe, wxbase26_gcc_custom.dll, and
105wxmsw26_core_gcc_custom.dll files (these will be copied to the plug-in
106location later).
107
108(Linux and MacOSX instructions) You must download and compile
109RMAExpressConsole. This requires that wxWidgets (a.k.a. wxWindows) is
110installed on your system. wxWidgets is found at
111http://www.wxwidgets.org. The compilation of RMAExpressConsole is
112straightforward (at least on OpenSuSE 10.0 and 10.2, and MacOSX
11310.4.9). Download the source for v1.0beta1 and unpack the tar
[280]114file. Unfortunately the source will not work out of the box in some
115operating systems. You have to add
116{{{
117#include <cmath>
118}}}
[283]119to `RawDataVisualize.cpp` before issuing 'make'. After this patch
[280]120RMAExpressConsole will be compiled (together with some other binaries
121which are of no interest here.
[123]122
[282]123''apt-probeset-summarize''
124
[345]125Pre-requisite for Plier plug-in (both binary package and subversion
126tree installs) to work is that apt-probeset_summarize is installed.
[282]127
[272]128apt-probeset-summarize is available in the Affymetrix Power Tools
[274]129(APT) package available through Affymetrix home page
[272]130http://www.affymetrix.com/support/developer/powertools/index.affx
[125]131
[274]132APT is available as a Windows installer package and pre-built binaries
133for Linux and Mac OS-X. If you prefer building yourself, the source
134code is available as well. Though, it should be noted, we have
135experienced some problems building APT and at the time being we have
136not succeeded.
137
[345]138''Installation of external binaries''
[282]139
[345]140You should install the external binaries, RMAExpressConsole (with the
141DLLs in case of Microsoft Windows install) and apt-probeset-summarize,
142such that they are readable for the user running your BASE application
143server. The name of the binaries MUST be `RMAExpressConsole` and
144`apt-probeset-summarize`, respectively. Also binaries must be copied
145into the same directory as the plug-in (see item 2 or 3 below
146depending on whether you perform a pre-compiled or source package
147installation). These two conditions are hard coded in the plug-ins.
[272]148
[345]149The install of the BASE plug-in it-self will succeed even if this
150requisite is not fulfilled, but execution of the plug-in within BASE
151will fail.
[123]152
[282]153
[273]154== 2. Compilation and installation from a subversion tree ==
[123]155
[189]156You should skip this section if you downloaded a pre-compiled package.
[123]157
[345]158When installing from a subversion working copy you must compile the
159plug-in, do
[123]160
[273]161  `make`
[189]162
[273]163This assumes that BASE is installed in `/usr/local/base`. If this is not
[135]164the case do
[123]165
[273]166  `make BASEROOT=<base-dir>`
[123]167
[273]168where `<base-dir>` is to be replaced with the path to BASE. When the
[189]169compilation finishes you install the plug-in into the BASE application
170server file system with
[135]171
[273]172  `make install`    or    `make BASEROOT=<base-dir> install`
[135]173
[189]174The plug-in will install in the recommended directory
[273]175`<base-dir>/www/plugins/se/lu/thep/affymetrix`, i.e., if you prefer
[189]176another location please refer to the Makefile (which supports further
177options).
[124]178
[273]179For advanced users only: `<base-dir>` can really be any directory
[189]180readable for the user running your tomcat server. This may be handy if
181you run several servers on one machine but only want one common
182directory hierarchy for the plug-ins. Or, if you update the BASE
183application frequently and in the process create new directories for
184the newer application. More information about this is available in the
185Makefile.
186
187Remember the plug-in location for configuration of BASE below.
188
189
[273]190== 3. Installation from a pre-compiled package ==
[189]191
[345]192You should skip this section if you use the subversion repository or a
193source package.
[189]194
[345]195Install the plug-in in the BASE application server file system. If
[273]196BASE is installed in `/usr/local/base` simply do
[124]197
[273]198  `make install-precompiled`
[123]199
[135]200If BASE is installed elsewhere, do
201
[273]202  `make BASEROOT=<base-dir> install-precompiled`
[135]203
[273]204where `<base-dir>` is to be replaced by the path to BASE. The plug-in
[123]205will install in the recommended directory
[273]206`<base-dir>/www/plugins/se/lu/thep/affymetrix`, i.e., if you prefer
[189]207another location please refer to the Makefile (which supports further
208options).
[123]209
[273]210For advanced users only: `<base-dir>` can really be any directory
[125]211readable for the user running your tomcat server. This may be handy if
212you run several servers on one machine but only want one common
213directory hierarchy for the plug-ins. Or, if you update the BASE
214application frequently and in the process create new directories for
[135]215the newer application. More information about this is available in the
216Makefile.
[124]217
[153]218Remember the plug-in location for configuration of BASE below.
[125]219
220
[273]221== 4. BASE configuration ==
[124]222
[345]223=== Make BASE aware of the new plug-ins ===
[125]224
[282]225You need to perform the below steps for both plug-ins in this
226package. Currently there is no way to install all plug-ins in one
227package.
228
[284]229 * Log in to BASE with plug-in administrative privileges.
[127]230
[273]231 * Choose 'Administrate' -> 'Plugins' -> 'Definitions'.
[127]232
[273]233 * Click on 'New...'. This will open up the 'Create plugin' pop-up
[282]234   window. Type `se.lu.thep.affymetrix.RMAExpress` in the 'Class'
[189]235   field and
[282]236   `/path/to/base/www/plugins/se/lu/thep/affymetrix/affymetrix.jar" in
[284]237   the 'Path' field. Obviously, if you have chosen another location
[282]238   for the jar above you should adapt to that. Click on the 'Save'
239   button.
[127]240
[282]241 * Share the plug-in to all users/roles/groups that should have access
242   to it (sharing it to group 'Everyone' should be sufficient in most
243   cases).
[127]244
[295]245 * Redo the third and fourth step above for Plier where you use
246   `se.lu.thep.affymetrix.Plier` in the class field.
[127]247
[273]248 * That's it, now you need to BASE skills to actually make use of the
[282]249   plug-in.
[125]250
[345]251
[281]252== 5. Updating a plug-in in BASE. ==
[127]253
[273]254You may update the underlying binaries (RMAExpress or
255apt-probeset-summarize) or the plug-in.
[153]256
[273]257=== Updating RMAExpressConsole or apt-probeset-summarize ===
[156]258
[273]259Installing a new binary is trivial, just replace the old binary with
[282]260the new binary. However, make sure that the input and output formats
261has not changed.
[156]262
[273]263=== Update RMAExpress or Plier plug-ins for BASE ===
[156]264
[284]265This is straightforward:
[156]266
[345]267 - Replace the old jar-file and
[156]268
[345]269 - Log in to BASE with plug-in administrative privileges.
[156]270
[345]271 - Choose 'Administrate' -> 'Plugins' -> 'Definitions'.
[156]272
[345]273 - Locate the plug-in (RMAExpress or Plier) in the list and click on it.
[156]274
[345]275 - Click on the 'Unload' button if it is available. This will
276   remove the old plug-in from the application.
[156]277
[345]278 - Click on 'Edit...'. This will open up the 'Edit plugin'
279   pop-up window. No parameter changes are need, just click on
280   the 'Save' button.
[156]281
[345]282 - Done.
Note: See TracBrowser for help on using the repository browser.