Installing Bioperl 1.2 on Windows 2000 and ActivePerl 5.8.0.805  

Author
Nigam Shah

Installing ActivePerl 
I used ActivePerl-5.8.0.805-MSWin32-x86.msi;
I recommend installing perl as C:\Perl and *not* as C:\program files\Active State\Perl

External packages 
I  haven't tried to install the external packages (AceDB, Blast, Clustalw, Tcoffee), or the XS based modules from bioperl-ext

PPM3 Installation of Bioperl:

Start PPM by typing 'ppm3' at the command prompt after entering the C:\Perl directory (You can also start it from program files->Active State->PPM). This gets you the 'PPM> ' prompt. You can now issue the following  commands:

rep add "Bioperl" http://bioperl.org/DIST
rep add "Temp" http://wartik19.biotec.psu.edu/Bioperl

(the repository name _has_ to be in double quotes and no trailing '/' after the URL other wise ppm will die with:
Missing base argument at C:/Perl8/site/lib/PPM/Repository.pm line 174)

search bioperl
and then

install [serial number of Bioperl-1.2 PPM3 archive]

If you see:

Writing C:\Perl\\site\lib\auto\bioperl\.packlist
Successfully installed Bioperl-1.2 version 1.2 in ActivePerl 5.8.0.805.

on your screen. You are all set!....enjoy bioperl!!

Caution:

  • However if ppm cant find some dependent modules, you will get:
    'Cant locate <module-name>.ppd on <Location Name>'. In that case follow the next section to install Bioperl.
  • If all the dependencies are not listed then you may have to install the dependent modules one by one using search...<module name> and install ..<module name> on ppm.
  • It is also safer to install the dependent modules manually because if the distribution of bioperl that you get on ppm doesnot have the dependencies listed you can be in trouble. You will see the "Successfully installed..." but trust me you are in trouble!. To avoid this-- Before installing bioperl (but after you 'search' for bioperl), type the following on PPM :

describe [package number in search] (if you see something like this:)

Name: Bioperl (or Bioperl-1.2)
Version: 1.2
Author: <Some Author>
Title: Bioperl
Abstract: Bioperl 1.2 Test Archive for perl 5.6
Location: <Some repository>
Prerequisites:
1. File-Temp 0.12
2. IO-String 1.0.1
3. IO-stringy 2.1
4. XML-Writer 0.4
5. XML-Node 0.11
6. XML-Twig 3.0.4
7. libxml-perl 0.0.7
8. DBD-mysql 2.1025
9. Graph 0.20101
10. GD 2.06
11. Text-Shellwords 1.0
Available Platforms:
1. MSWin32-x86-multi-thread-5.8

and the stuff in red is listed for the package you are trying to install, then you are fine. If there are no prerequisites listed then follow the next section and its steps to install bioperl correctly. Do Not install the bioperl package directly.

Dependencies for Bioperl 1.2
A full list is provided in the INSTALL file. 

Perl modules 
The remaining dependencies are perl modules. Most of the remaining prerequisites can be installed using PPM, the Perl Package Manager. (Basically, PPM is CPAN.pm for Windows.)

The following supposes your Windows 2000 is connected to the Net.  Start PPM3 by typing 'ppm3' at the command prompt after entering the C:\Perl directory (You can also start it from program files->Active State->PPM). This gets you the 'PPM> ' prompt. You can now issue the following  commands:

install File-Temp
install IO-String
install IO-stringy
install DBD-mysql (dependent on DBI, PPM will install it for you)

install XML-Writer 
install libxml-perl
install XML::Node
install XML::Twig
install GD
install Graph [for Graph::Directed] (dependent on Heap, PPM will install it for you)
install Text-Shellwords

This module (Text-Shellwords) is not essential if you are going to install bioperl using PPM, its required only for running the tests
if you do the Makefile.pl, Nmake, Nmake test, Nmake install procedure for installing bioperl (see next section).

if you dont find some of the above modules on ppm, add the following repository:
repository add "Winnipeg_server" http://theoryx5.uwinnipeg.ca/ppms

(the repository name _has_ to be in double quotes and no trailing '/' after the URL other wise ppm will die with:
Missing base argument at C:/Perl8/site/lib/PPM/Repository.pm line 174)

and then repeat the search, .... install for the modules that you did not find
then add the bioperl repositories (if you havent done that already)

rep add "Bioperl" http://bioperl.org/DIST
rep add "Temp" http://wartik19.biotec.psu.edu/Bioperl

(the repository name _has_ to be in double quotes and no trailing '/' after the URL other wise ppm will die with:
Missing base argument at C:/Perl8/site/lib/PPM/Repository.pm line 174)

search bioperl
and then

install [serial number of Bioperl-1.2 PPM3 archive]

This time you dont have to worry about the archive listing the dependencies, because we have installed them manually beforehand. If you want to run the tests and do the install yourself in the old way...read on. Other wise you are all set!....enjoy bioperl!!

Tools 
Most perl modules are distributed tarred and gzipped, so you will need a program that can handle compressed files. WinZip ( www.winzip.com) works nicely for me. You will also need a make utility. Nmake seems to be the tool of choice on windows, and is freely available (http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe). Executing this self-extracting program generates the files readme.txt , nmake.err and nmake.exe. You can copy nmake.exe and nmake.err to a directory on your path, such as C:\WINNT\system32\ , or you can copy these two files into the directories from which you wil install bioperl and its dependencies. To verify which directories constitute your path, you can open a command prompt (a "DOS-box") from the start menu, and use the command 'path'.

Manuall install of Bioperl-1.2 the Old way:
You can find the latest release at http://bioperl.org/Core/Latest/index.shtml.  Download either the tar.gz file or the .zip file, and expand to a temporary  directory. At a command prompt, change directories to the location where  you expanded the archive, and issue the following commands:

perl Makefile.pl
 (just Makefile.pl will also work)

Generated sub tests. go make show_tests to see available subtests
Do you want to run the BioDBGFF tests (requires a mysql database) y/n [n] (I said No)

External Module Ace, Aceperl, is not installed on this computer.
The Bio::DB::Ace in Bioperl needs it for access of ACeDB database
(This warns that Bio::DB::Ace is going to be useless without additional external   modules.)

..ends with
Writing Makefile for Bio

Nmake
This will simply set up the directory structure for testing and installing.
Nmake test

This will generate   lots of output, mostly just of the form 't\AAChange..........ok'.
Highlights   include:
  • t\Assembly..........DB_File not installed. This means the Assembly modules are not available. Skipping tests.
  • t\DB................ok, 1/78 skipped: unknown reason
  • t\flat..............DB_File not loaded. This means flat.t test cannot be executed. Skipping
  • t\game..............Subroutine _initialize redefined at C:/Downloads/bioperl-1.2/blib/lib/Bio\SeqIO\game.pm line 98.
    Subroutine _export_subfeatures redefined at C:/Downloads/bioperl-1.2/blib/lib/Bio\SeqIO\game.pm line 128.
    .
    .
    ends with ....
    Use of uninitialized value in print at C:\Perl\lib/IO/Handle.pm line 394.
    t\game..............ok
  • Same thing happens for: t\phd...............ok, t\qual..............ok, t\scf...............ok, t\SearchIO..........ok
  • t\SeqFeatCollection.DB_File not installed. This means the SeqFeatCollection wont work
  • t\SeqIO.............ok, 3/146 skipped: unknown reason.
And  the final summary on my machine is:

4 subtests skipped.

Failed 1/123 test scripts, 99.19% okay. 1/5758 subtests failed, 99.98% okay.

Unfortunately,  nmake will die with a fatal error.

Nmake install

This will copy the modules to your perl\site\lib\ hierarchy, so they are available for inclusion in your scripts.

Ends with...

Writing C:\Perl\site\lib\auto\Bio\.packlist
Appending installation info to C:\Perl\lib/perllocal.pod