added bio::ext support
[bioperl-live.git] / README
blobbd6c1ee15fc02f17cfaf31e468bf0cdbbd31a823
1 This is the README file for the Bioperl central distribution,
2 version 0.05.1
4 # $Id$
7 o About Bioperl
9  Thanks for downloading this distribution!
11  Bioperl is an association of developers of public
12  domain Perl tools for computational molecular
13  biology. 
15  Our website http://bio.perl.org provides an online 
16  resource for modules, scripts, and web links for 
17  developers of Perl-based software for life 
18  science research. 
21 o Contact info
23  Bioperl developers: vsns-bcd-perl-guts@lists.uni-bielefeld.de
25  Project website   : http://bio.perl.org
26  Project FTP server: bio.perl.org (anonymous FTP ok)
28  Bug reports       : http://bio.perl.org/bioperl-bugs/
29                      bioperl-bugs@bio.perl.org
31  Please send us bugs, in particular about documentation which you 
32  think is unclear or problems in installation. We are also very
33  interested in functions which don't work the way you think they do!
35 o System requirements
37   - Not tested on anything but common forms of Unix
38   - perl 5.004 or later (*).
39   - ANSI C or Gnu C compiler for XS extensions
40   - LWP (libwww-perl) modules for running network BLAST analyses
41     (available from CPAN http://www.perl.com/CPAN/).
43   * Note that most modules will work with earlier versions of perl. 
44     The only ones that will not are Bio::SimpleAlign.pm and 
45     the Bio::Index::* modules. If you don't need these modules
46     and you want to install bioperl using an earlier version of perl,
47     edit the "require 5.004;" line in Makefile.PL as necessary.
49 o Documentation
51   The "meta" documentation can be found in the bioperl.pod file.
52   This should be the starting point for you to read about what
53   bioperl is, how to use it and who wrote it. (The rest of this
54   file will tell you how to install bioperl)
56   Use your favorite pod2* translator turn it into the format of
57   choice or view it directly via perldoc.
59   For example, go 
61   perldoc bioperl 
63   or in this directory go
65   pod2text bioperl.pod | more 
67   pod2html, which comes with Perl, can be used to create web-browser
68   navigable documentation files.
70   Individual .pm modules have their own embedded POD documentation
71   as well. 
73   Remember 'perldoc' is your friend. You can use this to read any
74   file containing POD formatted documentation without needing any type
75   of translator.
78 o Install directions
80 THE EASY WAY
82 The Bioperl modules are distributed as a tar file in standard perl
83 CPAN distribution form. This means that installation is very
84 simple. Once you have unpacked the tar distribution there is a
85 directory called bioperl-xx/, which is where this file is.  Move into
86 that directory (you may well be already in the right place!) and
87 issue the following commands:
89   perl Makefile.PL   # makes a system-specific makefile
90   make               # makes the distribution
91   make test          # runs the test code
92   make install       # [may need root access for system install.
93                      #  See below for how to get around this.]
95 This should build, test and install the distribution cleanly on your
96 system.  This installs the main perl part of bioperl, which is the
97 majority of the bioperl modules. There is one module (Bio::Tools::pSW)
98 which needs a compiled extension. This needs an extra installation
99 step. The directions for installing this are given below - it is
100 almost as easy as installing the standard distribution, so don't
101 worry!
103 You may have some errors from the pod2man part of the installation,
104 such as 
106 /usr/bin/pod2man: Unrecognized pod directive in paragraph 168 of Bio/Tools/Blast.pm: head3
108 You don't need to worry about them: they do not effect the documentation
109 processing.
111 To install you need write permission in the perl5/site_perl/ source area. 
112 Quite often this will require you (or someone else) becoming root, 
113 so you will want to talk to your systems manager if you don't 
114 have the necessary access.
116 It is possible to install the package outside of the standard Perl5 
117 location. See below for details.
119 To install the Compiled extension for pSW you will need to read the
120 next section of the manual.
124 INSTALLING THE COMPILED EXTENSIONS
126 This Installation works out-of-the box for all platforms except *BSD
127 and Solaris boxes. For notes on this, read on. For other platforms,
128 skip ahead to the next section, BUILDING THE COMPILED EXTENSIONS.
130 INSTALLING for *BSD and Solaris boxes.
132 You should add the line -fPIC to the CFLAGS line in
133 Compile/SW/libs/makefile.  This makes the compile generate position
134 independent code, which is required for these architectures. In
135 addition, on some solaris boxes, the generated Makefile does not make
136 the correct -fPIC/-fpic flags for the c compiler that is used. This
137 requires manual editing of the generated makefile to switch case. Try
138 it out once, and if you get errors, try editing the -fpic line
140 BUILDING THE COMPILED EXTENSIONS
142 Move to the directory Compile/SW. This is where the C code and XS
143 extension for the bp_sw module is held and execute these commands:
144 (possibly after making the change for *BSD and Solaris, as detailed above)
146   perl Makefile.PL   # makes the system specific makefile 
147                      # Solaris/BSD users might need to edit the Makefile here
148   make               # builds all the libaries
149   make test          # runs a short test
150   make install       # installs the package correctly.
152 This should install the compiled extension. The Bio::Tools::pSW module
153 will work cleanly now.
155 INSTALLING TO USE Readseq 
157 Edit the top of Bio::Parse.pm to show the path to readseq, ie
158 edit
161 ## Uncomment the $OK stuff (it is mentioned twice to
162 ## shut strict up. Set $READSEQ_PATH to the full path
163 ## to the readseq executable.
165 ## $OK = "Y"; 
166 ## $OK = "Y"; 
167 my $READSEQ_PATH=undef;
169 to something like
171 ## Uncomment the $OK stuff (it is mentioned twice to
172 ## shut strict up. Set $READSEQ_PATH to the full path
173 ## to the readseq executable.
175 $OK = "Y"; 
176 $OK = "Y"; 
177 my $READSEQ_PATH='/usr/local/bin/readseq';
180 The use of readseq like this has been officially 'deprecated', waiting
181 for a better system in 0.06 which will be much more transparent as
182 to what is going on. 
185 INSTALLING BIOPERL IN A PERSONAL OR PRIVATE MODULE AREA
187 If you lack permission to install perl modules into the
188 standard site_perl/ system area you can configure bioperl to
189 install itself anywhere you choose. Ideally this would
190 be a personal perl directory or standard place where you
191 plan to put all your 'local' or personal perl modules. 
193 Note: you _must_ have write permission to this area.
195 Simply pass a parameter to perl as it builds your system
196 specific makefile.
198 Example:
200   perl Makefile.PL  PREFIX=/home/dag/My_Local_Perl_Modules
201   make
202   make test
203   make install
205 This will cause perl to install the bioperl modules in:
206 /home/dag/My_Perl_Modules/lib/perl5/site_perl/
208 And the bioperl man pages will go in:
209 /home/dag/My_Perl_Modules/lib/perl5/man/
211 To specify a directory besides lib/perl5/site_perl, 
212 or if there are still permission problems, include
213 an INSTALLSITELIB directive along with the PREFIX:
215   perl Makefile.PL  PREFIX=/home/dag/perl INSTALLSITELIB=/home/dag/perl/lib
217 See below for how to use modules that are not installed in the
218 standard Perl5 location.
221 THE HARD WAY :)
223 INSTALLING BIOPERL MODULES: LAST RESORT
225 As a last resort, you can simply copy all files in Bio/
226 to any directory in which you have write privileges. This is 
227 generally NOT recommended since some modules may require
228 special configuration (currently none do, but don't rely 
229 on this.
231 You will need to set "use lib '/path/to/my/bioperl/modules';" 
232 in your perl scripts so that you can access these modules if
233 they are not installed in the standard site_perl/ location.
234 See below for an example.
236 To get manpage documentation to work correctly you will have 
237 to configure man so that it looks in the proper directory. 
238 On most systems this will just involve adding an additional 
239 directory to your $MANPATH environment variable.
241 The installation of the Compile directory can be similarly
242 redirected, but execute the make commands from the Compile/SW
243 directory.
245 If all else fails or are unable to access the perl distribution
246 directories, ask your system administrator to place the files there 
247 for you. You can always execute perl scripts in the same directory 
248 as the location of the modules (Bio/ in the distribution) since perl 
249 always checks the current working directory when looking for modules.
252 USING MODULES NOT INSTALLED IN THE STANDARD PERL LOCATION
254 You can explicitly tell perl where to look for modules by using the
255 lib module which comes standard with perl.
257 Example:
259    #!/usr/bin/perl
261    use lib "/home/users/dag/My_Local_Perl_Modules/";
262    use Bio::Seq;
264    <...insert whizzy perl code here...>