~ubuntu-branches/ubuntu/raring/bioperl/raring

« back to all changes in this revision

Viewing changes to INSTALL

  • Committer: Bazaar Package Importer
  • Author(s): Charles Plessy
  • Date: 2008-03-18 14:44:57 UTC
  • mfrom: (4 hardy)
  • mto: This revision was merged to the branch mainline in revision 6.
  • Revision ID: james.westby@ubuntu.com-20080318144457-1jjoztrvqwf0gruk
* debian/control:
  - Removed MIA Matt Hope (dopey) from the Uploaders field.
    Thank you for your work, Matt. I hope you are doing well.
  - Downgraded some recommended package to the 'Suggests' priority,
    according to the following discussion on Upstream's mail list.
    http://bioperl.org/pipermail/bioperl-l/2008-March/027379.html
    (Closes: #448890)
* debian/copyright converted to machine-readable format.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# $Id: INSTALL,v 1.28 2003/12/13 15:51:19 jason Exp $
2
 
 
3
 
Bioperl Install Directions
4
 
 
5
 
o System requirements
6
 
 
7
 
 - Tested on all common forms of Unix, Win9X/NT/2000, Mac OS X 
8
 
   (see the PLATFORMS file for more details)
9
 
 
10
 
 - perl 5.005 or later *.
11
 
 
12
 
 - ANSI C or Gnu C compiler for optional extra XS extensions 
13
 
 
14
 
 - External modules: Bioperl uses functionality provided in other
15
 
   Perl modules.  Some of these are included in the standard perl
16
 
   install and some need to be obtained from the CPAN (www.cpan.org)
17
 
   site.  The list of external modules is included at the bottom of
18
 
   the INSTALL document and in the bptutorial.pl tutorial.  The
19
 
   Bioperl Bundle (Bundle::BioPerl) available through CPAN can make
20
 
   this process even easier.  Simply install the bundle in your CPAN
21
 
   shell and all necessary modules will be installed.
22
 
 
23
 
 - Bioperl on ActiveState for Windows - An ActiveState PPM distribution
24
 
   is available for bioperl v. 1.0.  Issue the following commands in
25
 
   your PPM shell to install Bioperl (ActiveState Perl v. 5.6*).
26
 
 
27
 
     PPM>repository add Bioperl http://bioperl.org/DIST/
28
 
 
29
 
   Get the number of the Bioperl repository:
30
 
 
31
 
     PPM>repository
32
 
 
33
 
   Set the Bioperl repository, find Bioperl, install Bioperl:
34
 
 
35
 
     PPM>repository set <Bioperl repository number>
36
 
     PPM>search *
37
 
     PPM>install <bioperl package number>
38
 
  
39
 
   As of this writing the Bundle::BioPerl bundle is not found in any
40
 
   ActiveState package but the following command should work in 
41
 
   Command Prompt:
42
 
 
43
 
     >perl -MCPAN -e "install Bundle::BioPerl"
44
 
 
45
 
   Do not use a Unix make to install Perl modules this way, use nmake. 
46
 
   See "DEPENDENCIES AND Bundle::BioPerl" below for more information
47
 
   on this useful bundle.
48
 
 
49
 
 - Additional information using Bioperl with MacOS can be 
50
 
   found at http://bioperl.org/Core/mac-bioperl.html
51
 
 
52
 
 - Additional information using Bioperl with OS X can be 
53
 
   found at http://www.tc.umn.edu/~cann0010/Bioperl_OSX_install.html
54
 
 
55
 
 - External programs
56
 
   Bioperl can interface with some external programs for executing
57
 
   analyses.  These include clustalw and t_coffee for Multiple
58
 
   Sequence Alignments (Bio::Tools::Run::Alignment::Clustalw and
59
 
   Bio::Tools::Run::TCoffee) and blastall,blastpgp, & bl2seq for BLAST
60
 
   analyses (Bio::Tools::Run::StandAloneBlast), and to all the
61
 
   programs in the EMBOSS suite (Bio::Factory::EMBOSS).
62
 
 
63
 
   Additionally Bioperl can submit and retrieve jobs from the NCBI
64
 
   Blast queue via the Bio::Tools::Run::RemoteBlast module.
65
 
  
66
 
   See the documentation for these modules for more information
67
 
 
68
 
 - Environment Variables
69
 
 
70
 
   [optional]
71
 
 
72
 
   Some modules which run external programs need certain environment
73
 
   variables set.  If you do not have a local copy of the specific
74
 
   executeable you do not need to set these variables.  Additionally
75
 
   the modules will attempt to locate the specific applications in
76
 
   your runtime PATH variable. You may also need to set an environment
77
 
   variable to tell BioPerl about your network configuration if your
78
 
   site uses a firewall.
79
 
 
80
 
   Setting environment variables on unix means adding a line like the
81
 
   following to your shell initialization:
82
 
 
83
 
   (for bash,sh)  export BLASTDIR=/data1/blast
84
 
   (for csh,tcsh) setenv BLASTDIR /data1/blast
85
 
 
86
 
   The environment variables include:
87
 
   Bio::Tools::Run::StandAloneBlast
88
 
   o BLASTDIR - which specifies where the NCBI blastall, blastpgp,
89
 
                bl2seq, etc.. are located.  A 'data' directory is
90
 
                assumed to be present in this dir as well where the
91
 
                blastable databases are located as well as 
92
 
                substitution matricies.
93
 
 
94
 
   o BLASTDATADIR or 
95
 
     BLASTDB - (either is optional) if one does not want to locate the data dir
96
 
               within the same dir as where the BLASTDIR variable
97
 
               points, a BLASTDATADIR or BLASTDB variable can be set to 
98
 
               point to a dir where BLAST database indexes are located.
99
 
   Bio::Tools::Run::Alignment::Clustalw
100
 
   o CLUSTALDIR - points to the directory where the clustalw
101
 
                  executable is located.
102
 
   Bio::Tools::Run::Alignment::TCoffee
103
 
   o TCOFFEEDIR - points to the directory where the t_coffee
104
 
                  executable is located.
105
 
                 
106
 
   o HTTP_PROXY - If you access the internet via a proxy server then you 
107
 
                  can tell the Bioperl modules which require network access
108
 
                  about this by using the HTTP_PROXY environment variable.  
109
 
                  The value set includes the proxy address and the port 
110
 
                  used (eg http://wwwcache.example.com:8080).
111
 
 
112
 
 
113
 
 * Note that most modules will work with earlier versions of Perl. 
114
 
   The only ones that will not are Bio::SimpleAlign.pm and 
115
 
   the Bio::Index::* modules. If you don't need these modules
116
 
   and you want to install bioperl using an earlier version of Perl,
117
 
   edit the "require 5.004;" line in Makefile.PL as necessary.
118
 
 
119
 
 o Installing Bioperl
120
 
 
121
 
 THE EASY WAY
122
 
 
123
 
 The Bioperl modules are distributed as a tar file in standard perl
124
 
 CPAN distribution form. This means that installation is very
125
 
 simple. Once you have unpacked the tar distribution there is a
126
 
 directory called bioperl-xx/, which is where this file is.  Move into
127
 
 that directory (you may well be already in the right place!) and
128
 
 issue the following commands:
129
 
 
130
 
   perl Makefile.PL   # makes a system-specific makefile
131
 
   make               # makes the distribution
132
 
   make test          # runs the test code
133
 
   make install       # [may need root access for system install.
134
 
                      #  See below for how to get around this.]
135
 
 
136
 
 This should build, test and install the distribution cleanly on your
137
 
 system.  This installs the main perl part of bioperl, which is the
138
 
 majority of the bioperl modules. There is one module (Bio::Tools::pSW)
139
 
 which needs a compiled extension. This needs an extra installation
140
 
 step. The directions for installing this are given below - it is
141
 
 almost as easy as installing the standard distribution, so don't
142
 
 worry!
143
 
 
144
 
 You may have some errors from the pod2man part of the installation,
145
 
 such as 
146
 
 
147
 
   /usr/bin/pod2man: Unrecognized pod directive in paragraph 168 of Bio/Tools/Blast.pm: head3
148
 
 
149
 
 You don't need to worry about them: they do not affect the documentation
150
 
 processing.
151
 
 
152
 
 To install you need write permission in the perl5/site_perl/ source area. 
153
 
 Quite often this will require you (or someone else) becoming root, 
154
 
 so you will want to talk to your systems manager if you don't 
155
 
 have the necessary access.
156
 
 
157
 
 It is possible to install the package outside of the standard Perl5 
158
 
 location. See below for details.
159
 
 
160
 
 To install the Compiled extension for pSW you will need to read the
161
 
 next section of the manual.
162
 
 
163
 
 
164
 
 INSTALLING THE OPTIONAL COMPILED EXTENSIONS (bioperl-ext package)
165
 
 
166
 
 This Installation works out-of-the box for all platforms except *BSD
167
 
 and Solaris boxes. For notes on this, read on. For other platforms,
168
 
 skip ahead to the next section, BUILDING THE COMPILED EXTENSIONS.
169
 
 
170
 
 INSTALLING for *BSD and Solaris boxes.
171
 
 
172
 
 You should add the line -fPIC to the CFLAGS line in
173
 
 Compile/SW/libs/makefile.  This makes the compile generate position
174
 
 independent code, which is required for these architectures. In
175
 
 addition, on some Solaris boxes, the generated Makefile does not make
176
 
 the correct -fPIC/-fpic flags for the C compiler that is used. This
177
 
 requires manual editing of the generated Makefile to switch case. Try
178
 
 it out once, and if you get errors, try editing the -fpic line
179
 
 
180
 
 BUILDING THE COMPILED EXTENSIONS (OPTIONAL, ONLY FOR RUNNING LOCAL
181
 
 PROTEIN SMITH-WATERMAN ANALYSES FROM PERL)
182
 
 
183
 
 Move to the directory bioperl-ext.  This is available as a separate
184
 
 package released from ftp://bioperl.org/pub/DIST.  This is where the C
185
 
 code and XS extension for the bp_sw module is held and execute these
186
 
 commands: (possibly after making the change for *BSD and Solaris, as
187
 
 detailed above)
188
 
 
189
 
   perl Makefile.PL   # makes the system specific makefile 
190
 
                      # Solaris/BSD users might need to edit the Makefile here
191
 
   make               # builds all the libaries
192
 
   make test          # runs a short test
193
 
   make install       # installs the package correctly.
194
 
 
195
 
 This should install the compiled extension. The Bio::Tools::pSW module
196
 
 will work cleanly now.
197
 
 
198
 
 
199
 
 INSTALLING BIOPERL SCRIPTS
200
 
 
201
 
 Bioperl comes with a set of production-quality scripts that are kept
202
 
 in the scripts/ directory. You can install these scripts if you'd like,
203
 
 simply follow the instructions on 'make install'. The installation
204
 
 directory is specified by the INSTALLSCRIPT variable in the Makefile,
205
 
 the default location is /usr/bin. Installation will copy the scripts
206
 
 to the specified directory, change the 'PLS' suffix to 'pl', and
207
 
 prepend 'bp_' to all the script names if they aren't so named already.
208
 
 
209
 
 
210
 
 INSTALLING BIOPERL IN A PERSONAL OR PRIVATE MODULE AREA
211
 
 
212
 
 If you lack permission to install perl modules into the
213
 
 standard site_perl/ system area you can configure bioperl to
214
 
 install itself anywhere you choose. Ideally this would
215
 
 be a personal perl directory or standard place where you
216
 
 plan to put all your 'local' or personal perl modules. 
217
 
 
218
 
 Note: you _must_ have write permission to this area.
219
 
 
220
 
 Simply pass a parameter to perl as it builds your system
221
 
 specific makefile.
222
 
 
223
 
 Example:
224
 
 
225
 
   perl Makefile.PL  LIB=/home/users/dag/My_Local_Perl_Modules
226
 
   make
227
 
   make test
228
 
   make install
229
 
 
230
 
 This tells perl to install bioperl in the desired place, e.g.:
231
 
 
232
 
  /home/users/dag/My_Perl_Modules/Bio/Seq.pm
233
 
 
234
 
 Then in your Bioperl script you would write:
235
 
 
236
 
  use lib "/home/users/dag/My_Local_Perl_Modules";
237
 
  use Bio::Seq;
238
 
 
239
 
 The man pages will probably be installed in $LIB/man. For more
240
 
 information on these sorts of custom installs see the documentation
241
 
 for ExtUtils::MakeMaker.
242
 
 
243
 
 See below for how to use modules that are not installed in the
244
 
 standard Perl5 location.
245
 
 
246
 
 You can also use CPAN, as discussed below, to install accessory modules
247
 
 in your local directory. First enter the CPAN shell, 
248
 
 then set the arguments for the command "perl Makefile.PL":
 
1
# $Id: INSTALL,v 1.47.4.8 2006/12/06 18:20:15 sendu Exp $
 
2
 
 
3
Installing Bioperl for Unix
 
4
 
 
5
     * 1 BIOPERL INSTALLATION
 
6
     * 2 SYSTEM REQUIREMENTS
 
7
     * 3 OPTIONAL
 
8
     * 4 ADDITIONAL INSTALLATION INFORMATION
 
9
     * 5 THE BIOPERL BUNDLE
 
10
     * 6 PRELIMINARY PREPARATION
 
11
     * 7 INSTALLING BIOPERL THE EASY WAY USING CPAN
 
12
     * 8 INSTALLING BIOPERL THE EASY WAY USING 'Build.PL'
 
13
     * 9 WHERE ARE THE MAN PAGES?
 
14
     * 10 EXTERNAL PROGRAMS
 
15
 
 
16
          * 10.1 Environment Variables
 
17
 
 
18
     * 11 INSTALLING BIOPERL SCRIPTS
 
19
     * 12 INSTALLING BIOPERL IN A PERSONAL MODULE AREA
 
20
     * 13 INSTALLING BIOPERL MODULES THE HARD WAY
 
21
     * 14 USING MODULES NOT INSTALLED IN THE STANDARD LOCATION
 
22
     * 15 THE TEST SYSTEM
 
23
     * 16 BUILDING THE OPTIONAL bioperl-ext PACKAGE
 
24
 
 
25
          * 16.1 CONFIGURING for BSD and Solaris boxes
 
26
          * 16.2 INSTALLATION
 
27
 
 
28
BIOPERL INSTALLATION
 
29
 
 
30
Bioperl has been installed on many forms of Unix,
 
31
Win9X/NT/2000/XP, and on Mac OS X (see the PLATFORMS file for more
 
32
details). Following are instructions for installing Bioperl for
 
33
Unix/Linux/Mac OS X; Windows installation instructions can be found
 
34
in INSTALL.WIN. For installing Bioperl for Mac OS X using Fink, see:
 
35
 
 
36
http://www.bioperl.org/wiki/Getting_BioPerl#Mac_OS_X_using_fink
 
37
 
 
38
SYSTEM REQUIREMENTS
 
39
 
 
40
    * Perl 5.6.1 or later; version 5.8 and greater are recommended.
 
41
 
 
42
    * External modules: Bioperl uses functionality provided in other
 
43
      Perl modules. Some of these are included in the standard perl package
 
44
      but some need to be obtained from the CPAN site. The list of external
 
45
      modules is included in the DEPENDENCIES file.
 
46
 
 
47
OPTIONAL
 
48
 
 
49
   * ANSI C or GNU C compiler (gcc) for XS extensions (the
 
50
     bioperl-ext package; see BUILDING THE OPTIONAL bioperl-ext
 
51
     PACKAGE, below).
 
52
 
 
53
ADDITIONAL INSTALLATION INFORMATION
 
54
 
 
55
   * Additional information on Bioperl and MAC OS:
 
56
      * OS 9 - http://bioperl.org/Core/mac-bioperl.html
 
57
      * OS X - http://www.tc.umn.edu/~cann0010/Bioperl_OSX_install.html
 
58
            (outdated, but useful for libgd installation notes)
 
59
      * OS X - Installing using Fink (in Getting BioPerl)
 
60
 
 
61
THE BIOPERL BUNDLE
 
62
 
 
63
Users of previous versions of Bioperl may remember Bundle::BioPerl.
 
64
You no longer need to install Bundle::BioPerl. Instead, the normal
 
65
installation process will ask you if you'd like to install the
 
66
optional external module dependencies that Bioperl has.
 
67
 
 
68
A full list of BioPerl dependencies can be found inf the DEPENDENCIES
 
69
file included with this distribution.
 
70
 
 
71
PRELIMINARY PREPARATION
 
72
 
 
73
   This is optional, but regardless of your subsequent choice of installation
 
74
   method, it will help to carry out the following steps. They will increase
 
75
   the likelyhood of installation success (especially of optional
 
76
   dependencies).
 
77
 
 
78
     * Upgrade CPAN:
 
79
 
 
80
 >perl -MCPAN -e shell
 
81
 cpan>install Bundle::CPAN
 
82
 cpan>q
 
83
 
 
84
     * Install/upgrade Module::Build, and make it your preferred installer:
 
85
 
 
86
 >cpan
 
87
 cpan>install Module::Build
 
88
 cpan>o conf prefer_installer MB
 
89
 cpan>o conf commit
 
90
 cpan>q
 
91
 
 
92
     * Install the expat and libgd libraries by whatever method is
 
93
       appropriate for your system. If you install libgd in a non-standard
 
94
       location, that is fine: when installing the perl module that needs it
 
95
       you will be asked where you installed it.
 
96
 
 
97
     * If your expat library is installed in a non-standard location, tell
 
98
       CPAN about it:
 
99
 
 
100
 >cpan
 
101
 cpan>o conf makepl_arg "EXPATLIBPATH=/non-standard/lib EXPATINCPATH=/non-standard/include"
 
102
 cpan>o conf commit
 
103
 
 
104
INSTALLING BIOPERL THE EASY WAY USING CPAN
 
105
 
 
106
You can use the CPAN shell to install Bioperl. For example:
 
107
 
 
108
 >perl -MCPAN -e shell
 
109
 
 
110
Or you might have the cpan alias installed:
 
111
 
 
112
 >cpan
 
113
 
 
114
Then find the name of the Bioperl version you want:
 
115
 
 
116
 cpan>d /bioperl/
 
117
 CPAN: Storable loaded ok
 
118
 Going to read /home/bosborne/.cpan/Metadata
 
119
 Database was generated on Mon, 20 Nov 2006 05:24:36 GMT
 
120
 Distribution B/BI/BIRNEY/bioperl-1.2.tar.gz
 
121
 Distribution B/BI/BIRNEY/bioperl-1.4.tar.gz
 
122
 Distribution S/SE/SENDU/bioperl-1.5.2_100.tar.gz
 
123
 
 
124
Now install:
 
125
 
 
126
 cpan>install S/SE/SENDU/bioperl-1.5.2_100.tar.gz
 
127
 
 
128
If you've installed everything perfectly and all the network connections
 
129
are working then you may pass all the tests run in the './Build test' phase.
 
130
It's also possible that you may fail some tests. Possible explanations:
 
131
problems with local Perl installation, network problems, previously
 
132
undetected bug in Bioperl, flawed test script, problems with CGI
 
133
script used for sequence retrieval at public database, and so on. Remember
 
134
that there are over 800 modules in Bioperl and the test suite is running
 
135
more than 12000 individual tests, a few failed tests may not affect your
 
136
usage of Bioperl.
 
137
 
 
138
If you decide that the failed tests will not affect how you intend to use
 
139
Bioperl and you'd like to install anyway do:
 
140
 
 
141
 cpan>force install S/SE/SENDU/bioperl-1.5.2_100.tar.gz
 
142
 
 
143
This is what most experienced Bioperl users would do. However, if you're
 
144
concerned about a failed test and need assistance or advice then contact
 
145
bioperl-l@bioperl.org.
 
146
 
 
147
INSTALLING BIOPERL THE EASY WAY USING Build.PL
 
148
 
 
149
The advantage of this approach is it's stepwise, so it's easy to stop and
 
150
analyze in case of any problem.
 
151
 
 
152
Download, then unpack the tar file. For example:
 
153
 
 
154
 >gunzip bioperl-1.5.2_100.tar.gz
 
155
 >tar xvf bioperl-1.5.2_100.tar
 
156
 >cd bioperl-1.5.2_100
 
157
 
 
158
Now issue the build commands:
 
159
 
 
160
 >perl Build.PL
 
161
 >./Build test
 
162
 
 
163
If you've installed everything perfectly and all the network connections
 
164
are working then you may pass all the tests run in the './Build test' phase.
 
165
It's also possible that you may fail some tests. Possible explanations:
 
166
problems with local Perl installation, network problems, previously
 
167
undetected bug in Bioperl, flawed test script, problems with CGI script
 
168
using for sequence retrieval at public database, and so on. Remember that
 
169
there are over 800 modules in Bioperl and the test suite is running more
 
170
than 12000 individual tests, a few failed tests may not affect your usage
 
171
of Bioperl.
 
172
 
 
173
If you decide that the failed tests will not affect how you intend to use
 
174
Bioperl and you'd like to install anyway, or if all tests were fine, do:
 
175
 
 
176
 >./Build install
 
177
 
 
178
This is what most experienced Bioperl users would do. However, if you're
 
179
concerned about a failed test and need assistance or advice then contact
 
180
bioperl-l@bioperl.org.
 
181
 
 
182
To './Build install' you need write permission in the perl5/site_perl/source
 
183
area (or similar, depending on your environment). Usually this will require
 
184
you becoming root, so you will want to talk to your systems manager if you
 
185
don't have the necessary privileges.
 
186
 
 
187
It is also straightforward to install the package outside of the this
 
188
standard Perl5 location. See INSTALLING BIOPERL IN A PERSONAL MODULE
 
189
AREA, below.
 
190
 
 
191
WHERE ARE THE MAN PAGES?
 
192
 
 
193
When using Makefile.PL (no longer covered in this documentation), we had
 
194
to disable the automatic creation of man pages because this step was
 
195
triggering a "line too long" error on some OSs due to shell constraints.
 
196
If you want man pages installed use the Build.PL installation process
 
197
discussed above.
 
198
 
 
199
EXTERNAL PROGRAMS
 
200
 
 
201
Bioperl can interface with some external programs for executing analyses.
 
202
These include clustalw and t_coffee for Multiple Sequence Alignment
 
203
(Bio::Tools::Run::Alignment::Clustalw and
 
204
Bio::Tools::Run::Alignment::TCoffee) and blastall, blastpgp, and
 
205
bl2seq for BLAST analyses (Bio::Tools::Run::StandAloneBlast), and
 
206
to all the programs in the EMBOSS suite (Bio::Factory::EMBOSS).
 
207
 
 
208
    Environment Variables
 
209
 
 
210
Some modules which run external programs need certain environment
 
211
variables set. If you do not have a local copy of the specific executable
 
212
you do not need to set these variables. Additionally the modules will
 
213
attempt to locate the specific applications in your runtime PATH variable.
 
214
You may also need to set an environment variable to tell BioPerl about
 
215
your network configuration if your site uses a firewall.
 
216
 
 
217
Setting environment variables on unix means adding lines like the
 
218
following to your shell *rc file.
 
219
 
 
220
   For bash or sh:
 
221
 
 
222
 export BLASTDIR=/data1/blast
 
223
 
 
224
   For csh or tcsh:
 
225
 
 
226
 setenv BLASTDIR /data1/blast
 
227
 
 
228
Some environment variables include:
 
229
 
 
230
+------------------------------------------------------------------------+
 
231
| Env. Variable |                      Description                       |
 
232
|---------------+--------------------------------------------------------|
 
233
|               |Specifies where the NCBI blastall, blastpgp, bl2seq,    |
 
234
|BLASTDIR       |etc.. are located. A 'data' directory could also be     |
 
235
|               |present in this directory as well, you could put your   |
 
236
|               |blastable databases here.                               |
 
237
|---------------+--------------------------------------------------------|
 
238
|               |If one does not want to locate the data dir within the  |
 
239
|BLASTDATADIR or|same dir as where the BLASTDIR variable points, a       |
 
240
|BLASTDB        |BLASTDATADIR or BLASTDB variable can be set to point to |
 
241
|               |a dir where BLAST database indexes are located.         |
 
242
|---------------+--------------------------------------------------------|
 
243
|BLASTMAT       |The directory containing the substitution matrices such |
 
244
|               |as BLOSUM62.                                            |
 
245
|---------------+--------------------------------------------------------|
 
246
|CLUSTALDIR     |The directory where the clustalw executable is located. |
 
247
|---------------+--------------------------------------------------------|
 
248
|TCOFFEEDIR     |The directory where the t_coffee executable is located. |
 
249
|---------------+--------------------------------------------------------|
 
250
|               |If you access the internet via a proxy server then you  |
 
251
|               |can tell the Bioperl modules which require network      |
 
252
|               |access about this by using the http_proxy environment   |
 
253
|http_proxy     |variable. The value set includes the proxy address and  |
 
254
|               |the port, with optional username/password for           |
 
255
|               |authentication purposes                                 |
 
256
|               |(e.g. http://USERNAME:PASSWORD@proxy.example.com:8080). |
 
257
+------------------------------------------------------------------------+
 
258
 
 
259
INSTALLING BIOPERL SCRIPTS
 
260
 
 
261
Bioperl comes with a set of production-quality scripts that are
 
262
kept in the scripts/ directory. You can install these scripts if you'd
 
263
like, simply answer the questions during 'perl Build.PL'.
 
264
The installation directory can be specified by:
 
265
 
 
266
 perl Build.PL
 
267
 ./Build install --install_path script=/foo/scripts
 
268
 
 
269
By default they install to /usr/bin or similar, depending on platform.
 
270
 
 
271
INSTALLING BIOPERL IN A PERSONAL MODULE AREA
 
272
 
 
273
If you lack permission to install perl modules into the standard
 
274
site_perl/ system area you can configure Bioperl to install itself
 
275
anywhere you choose. Ideally this would be a personal perl directory or
 
276
standard place where you plan to put all your 'local' or personal perl
 
277
modules.
 
278
 
 
279
   Example:
 
280
 
 
281
 >perl Build.PL --install_base /home/users/dag
 
282
 >./Build test
 
283
 >./Build install
 
284
 
 
285
This tells perl to install all the various parts of bioperl in the desired
 
286
place, e.g. creating:
 
287
 
 
288
   /home/users/dag/lib/perl5/Bio/Perl.pm
 
289
 
 
290
Then in your Bioperl script you would write:
 
291
 
 
292
 use lib "/home/users/dag/lib/perl5/";
 
293
 use Bio::Perl;
 
294
 
 
295
For more information on these sorts of custom installs see the documentation
 
296
for Module::Build.
 
297
 
 
298
If you are used to using something like:
 
299
 
 
300
 >perl Makefile.PL PREFIX=/home/users/dag
 
301
 
 
302
You can get similar behaviour by using this instead:
 
303
 
 
304
 >perl Build.PL --prefix /home/users/dag
 
305
 
 
306
For more information, see Module::Build::Cookbook documentation for
 
307
Installing_in_the_same_location_as_ExtUtils::MakeMaker
 
308
 
 
309
You can also use CPAN to install modules in your local directory. First
 
310
enter the CPAN shell, then set the arguments for the commands
 
311
"perl Makefile.PL" and "./Build install", like this:
249
312
 
250
313
 >perl -e shell -MCPAN
251
314
 cpan>o conf makepl_arg LIB=/home/users/dag/My_Local_Perl_Modules
252
 
 
253
 
 
254
 
 THE HARD WAY :)
255
 
 
256
 
 INSTALLING BIOPERL MODULES: LAST RESORT
257
 
 
258
 
 As a last resort, you can simply copy all files in Bio/
259
 
 to any directory in which you have write privileges. This is 
260
 
 generally NOT recommended since some modules may require
261
 
 special configuration (currently none do, but don't rely 
262
 
 on this.
263
 
 
264
 
 You will need to set "use lib '/path/to/my/bioperl/modules';" 
265
 
 in your perl scripts so that you can access these modules if
266
 
 they are not installed in the standard site_perl/ location.
267
 
 See below for an example.
268
 
 
269
 
 To get manpage documentation to work correctly you will have 
270
 
 to configure man so that it looks in the proper directory. 
271
 
 On most systems this will just involve adding an additional 
272
 
 directory to your $MANPATH environment variable.
273
 
 
274
 
 The installation of the Compile directory can be similarly
275
 
 redirected, but execute the make commands from the Compile/SW
276
 
 directory.
277
 
 
278
 
 If all else fails or are unable to access the perl distribution
279
 
 directories, ask your system administrator to place the files there 
280
 
 for you. You can always execute perl scripts in the same directory 
281
 
 as the location of the modules (Bio/ in the distribution) since perl 
282
 
 always checks the current working directory when looking for modules.
283
 
 
284
 
 
285
 
 USING MODULES NOT INSTALLED IN THE STANDARD PERL LOCATION
286
 
 
287
 
 You can explicitly tell perl where to look for modules by using the
288
 
 lib module which comes standard with perl.
289
 
 
290
 
 Example:
291
 
 
292
 
    #!/usr/bin/perl
293
 
 
294
 
    use lib "/home/users/dag/My_Local_Perl_Modules/";
295
 
    use Bio::Seq;
296
 
 
297
 
    <...insert whizzy perl code here...>
298
 
 
299
 
 Or, you can set the environmental variable PERL5LIB:
300
 
 
301
 
    # csh or tcsh
302
 
    setenv PERL5LIB /home/users/dag/My_Local_Perl_Modules/
303
 
    # bash
304
 
    export PERL5LIB=/home/users/dag/My_Local_Perl_Modules/
305
 
 
306
 
 
307
 
 THE TEST SYSTEM
308
 
 
309
 
 The Bioperl test system is located in the t/ directory and is
310
 
 automatically run whenever you execute the 'make test' command.
311
 
 Alternatively if you want to investigate the behavior of a specific
312
 
 test such as the SeqIO test you would type:
313
 
 % perl -I. -w t/SeqIO.t 
314
 
 The -I tells Perl to use the current directory as the include path -
315
 
 this makes sure you are testing the modules in this directory not
316
 
 ones installed elsewhere in your PERL5LIB path.
317
 
 The -w tells Perl to print all warnings.
318
 
 
319
 
 If you are trying to learn how to use a module, often the test suite
320
 
 is a good place to look.  All good extreme programers try and write a
321
 
 test BEFORE they write the module to insure that their module behaves
322
 
 the way they expect.  You'll notice some 'ok' and 'skip' commands in
323
 
 a test, this is part of the Perl test suite that signifies a passed
324
 
 test with an ok N where N is the test number.  Alternatively you can
325
 
 tell Perl to skip tests.  This is useful when, for example, your test
326
 
 detects that the network is not present and thus should skip, not
327
 
 fail, any tests that require a network connection.
328
 
 
329
 
 
330
 
 DEPENDENCIES AND Bundle::BioPerl
331
 
 
332
 
 The following packages are used by Bioperl.  Not all are required for
333
 
 Bioperl to operate properly, however, some functionality will be
334
 
 missing without them.  You can easily install all of these, except
335
 
 srsperl.pm, using the Bundle::BioPerl CPAN bundle. A command-line
336
 
 example:
337
 
 
338
 
  >perl -e shell -MCPAN
339
 
  cpan>install Bundle::BioPerl
340
 
  <...installation details...>
341
 
  cpan>quit
342
 
 
343
 
 or more simply:
344
 
 
345
 
  >perl -MCPAN -e "install Bundle::BioPerl"
346
 
 
347
 
 The DBD::mysql, DB_File and XML::Parser modules require other
348
 
 applications or databases: MySQL, Berkeley DB, and expat respectively.
349
 
 
350
 
 Module                  Where it is Used
351
 
 ------------------------------------------------------------------
352
 
 HTTP::Request::Common    GenBank+GenPept sequence retrieval, 
353
 
                          remote http Blast jobs
354
 
                          Bio::DB::*
355
 
                          Bio::Tools::Run::RemoteBlast
356
 
 
357
 
 LWP::UserAgent           GenBank+GenPept sequence retrieval, 
358
 
                          remote http Blast jobs
359
 
                          Bio::DB::*
360
 
                          Bio::Tools::Run::RemoteBlast
361
 
 
362
 
 AcePerl                  Access to ACeDB databases
363
 
                          Bio::DB::Ace
364
 
                          Available at http://stein.cshl.org
365
 
                         
366
 
 IO::String               IO handle to read or write to a string
367
 
                          Bio::SeqIO
368
 
                          Bio::Variation::*
369
 
                          Bio::DB::*
370
 
                          Bio::Index::Blast
371
 
                          Bio::Tools::*
372
 
                          Bio::Biblio::IO
373
 
                          Bio::Structure::IO
374
 
 
375
 
 XML::Parser              Parsing of XML documents
376
 
                          Bio::SeqIO::game
377
 
                          Bio::Variation::* 
378
 
                          Bio::SearchIO::blastxml
379
 
                          Bio::Biblio::IO::medlinexml
380
 
                          Requires expat from
381
 
                          http://sourceforge.net/projects/expat/
382
 
                                                 
383
 
 XML::Writer              Parsing + writing of XML documents
384
 
                          Bio::SeqIO::game
385
 
                          Bio::Variation::*
386
 
 
387
 
 XML::Parser::PerlSAX     Parsing of XML documents
388
 
                          Bio::SeqIO::game
389
 
                          Bio::Variation::*
390
 
                          Bio::SearchIO::blastxml
391
 
                          Bio::Biblio::IO::medlinexml
392
 
 
393
 
 XML::Twig                Parsing of XML documents
394
 
                          Bio::Variation::IO::xml
395
 
 
396
 
 File::Temp               Temporary File creation
397
 
                          Bio::DB::FileCache
398
 
                          Bio::DB::XEMBL
399
 
 
400
 
 SOAP::Lite               SOAP protocol, XEMBL Services
401
 
                          Bio::Biblio::*
402
 
                          Bio::DB::XEMBLService
403
 
 
404
 
 HTML::Parser             HTML parsing of GDB page
405
 
                          Bio::DB::GDB
406
 
 
407
 
 DBD::mysql               Mysql API for loading and querying of Mysql-based 
408
 
                          GFF feature and BioSQL databases
409
 
                          Bio::DB::GFF
410
 
                          bioperl-db external package
411
 
                          bioperl-pipeline external package
412
 
                          Mysql DB free from www.mysql.org
413
 
 
414
 
 GD                       GD graphical drawing library
415
 
                          Bio::Graphics
416
 
                          Requires GD library from www.boutell.com/gd
417
 
 
418
 
 srsperl                  Sequence Retrieval System (SRS) 
419
 
                          alternative way of retrieving 
420
 
                          sequences
421
 
                          Bio::LiveSeq::IO::SRS.pm
422
 
                          See README in Bio/LiveSeq/IO
423
 
 
424
 
 Storable                 Persistent object storage & retrieval 
425
 
                          Bio::DB::FileCache
426
 
 
427
 
 Text::Shellwords         Text parser
428
 
                          Bio::Graphics::FeatureFile
429
 
 
430
 
 XML::DOM                 XML parser
431
 
                          Bio::SeqIO::bsml.pm
432
 
 
433
 
 DB_File                  Perl access to Berkeley DB
434
 
                          Bio::DB::Flat
435
 
                          Bio::DB::Fasta,
436
 
                          Bio::SeqFeature::Collection,
437
 
                          Bio::Index::*
438
 
                          Requires Berkeley DB, from Linux RPM
439
 
                          or from www.sleepycat.com
440
 
 
441
 
 Graph::Directed          generic graph data and algorithms
442
 
                          Bio::Ontology::SimpleOntologyEngine
443
 
 
444
 
 Data::Stag::ITextWriter  Structured Tags datastructures
445
 
                          Bio::SeqIO::chadoitext
446
 
 
447
 
 Data::Stag::SxprWriter   Structured Tags datastructures
448
 
                          Bio::SeqIO::chadosxpr
449
 
 
450
 
 Data::Stag::XMLWriter    Structured Tags datastructures
451
 
                          Bio::SeqIO::chadoxml
452
 
 Text::Wrap               (Very optional)
453
 
                          Bio::SearchIO::Writer::TextResultWriter
454
 
 HTML::Entities           (only if you want to run webanalysis modules)
455
 
                          Bio::Tools::Analysis::DNA::*
456
 
                          Bio::Tools::Analysis::Protein::*
 
315
 cpan>o conf mbuild_install_arg "--install_path lib=/home/users/dag/My_Local_Perl_Modules"
 
316
 cpan>o conf commit
 
317
 
 
318
INSTALLING BIOPERL MODULES THE HARD WAY
 
319
 
 
320
As a last resort, you can simply copy all files in Bio/ to any directory
 
321
in which you have write privileges. This is generally NOT recommended
 
322
since some modules may require special configuration (currently none do,
 
323
but don't rely on this).
 
324
 
 
325
You will need to set "use lib '/path/to/my/bioperl/modules';" in your perl
 
326
scripts so that you can access these modules if they are not installed in
 
327
the standard site_perl/ location. See above for an example.
 
328
 
 
329
To get manpage documentation to work correctly you will have to
 
330
configure man so that it looks in the proper directory. On most systems
 
331
this will just involve adding an additional directory to your $MANPATH
 
332
environment variable.
 
333
 
 
334
The installation of the Compile directory can be similarly redirected, but
 
335
execute the make commands from the Compile/SW directory.
 
336
 
 
337
If all else fails and you are unable to access the perl distribution
 
338
directories, ask your system administrator to place the files there for
 
339
you. You can always execute perl scripts in the same directory as the
 
340
location of the modules (Bio/ in the distribution) since perl always
 
341
checks the current working directory when looking for modules.
 
342
 
 
343
USING MODULES NOT INSTALLED IN THE STANDARD LOCATION
 
344
 
 
345
You can explicitly tell perl where to look for modules by using the
 
346
Lib module which comes standard with perl.
 
347
 
 
348
   Example:
 
349
 
 
350
 #!/usr/bin/perl
 
351
 use lib "/home/users/dag/lib/perl5/";
 
352
 use Bio::Perl;
 
353
 #<...insert whizzy perl code here...>
 
354
 
 
355
Or, you can set the environmental variable PERL5LIB:
 
356
 
 
357
   csh or tcsh:
 
358
 
 
359
 setenv PERL5LIB /home/users/dag/lib/perl5/
 
360
 
 
361
   bash or sh:
 
362
 
 
363
 export PERL5LIB=/home/users/dag/lib/perl5/
 
364
 
 
365
THE TEST SYSTEM
 
366
 
 
367
The Bioperl test system is located in the t/ directory and is
 
368
automatically run whenever you execute the './Build test' command
 
369
(having previously run 'Perl Build.PL'; if you have already installed
 
370
Bioperl answer 'no' to script installation to get nicer test output
 
371
later).
 
372
Alternatively if you want to investigate the behavior of a specific test
 
373
such as the Seq test you would type:
 
374
 
 
375
 >./Build test --test_files t/Seq.t --verbose
 
376
 
 
377
The ./ ensures you are using the Build script in the current directory to
 
378
make sure you are testing the modules in this directory not ones
 
379
installed elsewhere. The --test_files arguement can be used multiple times
 
380
to try a set of test scripts in one go. The --verbose arguement outputs
 
381
the detailed test results, instead of just the summary you see during
 
382
'./Build test'.
 
383
 
 
384
If you are trying to learn how to use a module, often the test suite is a
 
385
good place to look. All good extreme programmers try and write a test
 
386
BEFORE they write the module to insure that their module behaves the way
 
387
they expect. You'll notice some 'ok' and 'skip' commands in a test, this
 
388
is part of the Perl test suite that signifies a passed test with an 'ok
 
389
N', where N is the test number. Alternatively you can tell Perl to skip
 
390
tests. This is useful when, for example, your test detects that the
 
391
network is not present and thus should skip, not fail, any tests that
 
392
require a network connection.
 
393
 
 
394
BUILDING THE OPTIONAL bioperl-ext PACKAGE
 
395
 
 
396
The bioperl-ext package contains C code and XS extensions for
 
397
various alignment and trace file modules (Bio::Tools::pSW for DNA
 
398
Smith-Waterman, Bio::Tools::dpAlign for protein Smith-Waterman,
 
399
Bio::SearchDist for EVD fitting of extreme value,
 
400
Bio::SeqIO::staden).
 
401
 
 
402
This Installation may work out-of-the box for most platforms except BSD
 
403
and Solaris boxes. For other platforms skip this next paragraph.  Of note,
 
404
the code for bioperl-ext has not been updated along with the rest of bioperl,
 
405
so one may expect to see some issues.  If so, please report them to the
 
406
BioPerl mailing list.
 
407
 
 
408
    CONFIGURING for BSD and Solaris boxes
 
409
 
 
410
You should add the line -fPIC to the CFLAGS line in
 
411
Compile/SW/libs/makefile. This makes the compile generate position
 
412
independent code, which is required for these architectures. In addition,
 
413
on some Solaris boxes, the generated Makefile does not make the correct
 
414
-fPIC/-fpic flags for the C compiler that is used. This requires manual
 
415
editing of the generated Makefile to switch case. Try it out once, and if
 
416
you get errors, try editing the -fpic line
 
417
 
 
418
    INSTALLATION
 
419
 
 
420
Move to the directory bioperl-ext. This is available as a separate package
 
421
released from ftp://bioperl.org/pub/bioperl/DIST. This is where the C
 
422
code and XS extension for the bp_sw module is held and execute these
 
423
commands: (possibly after making the change for BSD and Solaris, as
 
424
detailed above)
 
425
 
 
426
 perl Makefile.PL   # makes the system specific makefile
 
427
 make          # builds all the libaries
 
428
 make test     # runs a short test
 
429
 make install  # installs the package correctly.
 
430
 
 
431
This should install the compiled extension. The Bio::Tools::pSW
 
432
module will work cleanly now.