A test to ensure Bio::PrimarySeqI->trunc() doesn't use clone() for a Bio::Seq::RichSe...
[bioperl-live.git] / INSTALL.WIN
blob82e3efc6fb7fb306ca869ad2f69c8f03df772074
1 # $Id$
3                          Installing Bioperl on Windows
5    Contents
7      * 1 Introduction
8      * 2 Requirements
9      * 3 Installation using the ActiveState Perl Package Manager
10      
11           * 3.1 GUI Installation
12           * 3.2 Comand-line Installation
13           
14      * 4 Installation using CPAN or manual installation
15      * 5 Bioperl
16      * 6 Bioperl on Windows
17      * 7 Beyond the Core
19           * 7.1 Setting environment variables
20           * 7.2 Installing bioperl-db
22      * 8 Bioperl in Cygwin
23      * 9 bioperl-db in Cygwin
24      * 10 Cygwin tips
25      * 11 MySQL and DBD::mysql
26      * 12 Expat
27      * 13 Directory for temporary files
28      * 14 BLAST
29      * 15 Compiling C code
31 Introduction
33    This installation guide was written by Barry Moore, Nathan Haigh
34    and other Bioperl authors based on the original work of Paul Boutros. The
35    guide was updated for the BioPerl wiki by Chris Fields and Nathan
36    Haigh.
38    Please report problems and/or fixes to the BioPerl mailing list.
39    
40    An up-to-date version of this document can be found on the BioPerl wiki:
41    
42    http://www.bioperl.org/wiki/Installing_Bioperl_on_Windows
44 Requirements
46    There are a couple of ways of installing Perl on a Windows machine. One is
47    to get the most recent build from Strawberry Perl, and the other is to get
48    it from ActiveState; both are software companies that provides free builds
49    of Perl for Windows users, but Strawberry Perl is recommended since is more
50    CPAN friendly because it includes a compiler (gcc), related tools and other
51    external libraries. The current (March 2014) build is 5.18.2.
53    NOTE - Only Perl >= 5.8.8.819 is supported by the BioPerl team. Earlier
54    versions may work, but we do not support them. Perl 5.18 also works. One of
55    the reason for this requirement is that ActivePerl >= 5.8.8.819 now use Perl
56    Package Manager 4 (PPM4). PPM4 is now superior to earlier versions and also
57    includes a Graphical User Interface (GUI). In short, it's easier for us to
58    produce and maintain a package for installation via PPM and also easier for
59    you to do the install! Proceed with earlier versions at your own risk.
61    To install Perl on Windows:
63            1) Download the Strawberry Perl MSI from
64            http://strawberryperl.com/releases.html or ActivePerl MSI from
65            http://www.activestate.com/activeperl/downloads.
67            2) Run the Installer (accepting all defaults is fine).
69    You can also build Perl yourself (which requires a C compiler) or download
70    one of the other binary distributions. The Perl source for building it
71    yourself is available from CPAN, as are a few other binary distributions
72    that are alternatives to ActiveState. This approach is not recommended
73    unless you have specific reasons for doing so and know what you're doing.
74    If that's the case you probably don't need to be reading this guide.
76    Cygwin is a UNIX emulation environment for Windows and comes with its own
77    copy of Perl.
79    Information on Cygwin and Bioperl is found below. 
81 Installation using the ActiveState Perl Package Manager
83   GUI Installation
85            1) Start the Perl Package Manager GUI from the Start menu.
87            2) Go to Edit >> Preferences and click the Repositories tab. Add a
88            new repository for each of the following (note the difference based
89            on the perl version). NOTE - The DB_File installed with ActivePerl
90            5.10 and above is a stub (i.e. it does not work). The Trouchelle
91            database below has a working DB_File.
93                               Repositories to add
94        +----------------------------------------------------------------+
95        |           Name           |              Location               |
96        |--------------------------+-------------------------------------|
97        |BioPerl-Release Candidates|http://bioperl.org/DIST/RC           |
98        |--------------------------+-------------------------------------|
99        |BioPerl-Regular Releases  |http://bioperl.org/DIST              |
100        |--------------------------+-------------------------------------|
101        |Kobes                     |http://theoryx5.uwinnipeg.ca/ppms    |
102        |--------------------------+-------------------------------------|
103        |Bribes                    |http://www.Bribes.org/perl/ppm       |
104        |--------------------------+-------------------------------------|
105        |Trouchelle                |http://trouchelle.com/ppm            |
106        +----------------------------------------------------------------+
108            3) Select View >> All Packages.
110            4) In the search box type bioperl.
112            5) Right click the latest version of Bioperl available and choose
113            install. (Note for users of previous Bioperl releases: you should
114            not have to use the Bundle-BioPerl package anymore.)
116            5a) From bioperl 1.5.2 onward, all 'optional' pre-requisites will
117            be marked for installation. If you see that some of them complain
118            about needing a command-line installation (eg. XML::SAX::ExpatXS),
119            and you want those particular pre-requisites, stop now (skip step
120            6) and see the 'Command-line Installation' section.
122            6) Click the green arrow (Run marked actions) to complete the
123            installation.
125   Comand-line Installation
127            Use the ActiveState ppm-shell:
129            1) Open a cmd window by going to Start >> Run and typing
130            'cmd' and pressing return.
132            2) Do 
133               C:> ppm-shell
134               ppm>
135            
136            3) Make sure you have the module PPM-Repositories. Try
137            installing it:
138               ppm> install PPM-Repositories
140            4) For BioPerl 1.6.1, we require at least the following
141            repositories. You may have some present already.
143               ppm> repo add http://bioperl.org/DIST
144               ppm> repo add uwinnipeg
145               ppm> repo add trouchelle
147            Because you have installed PPM-Repositories, PPM will know
148            your Perl version, and select the correct repo from the
149            table above.
151            5) Install BioPerl (not "bioperl"). 
153               ppm> install BioPerl
155            If you are running ActiveState Perl 5.10, you may have a
156            glitch involving SOAP::Lite. Use the following workaround:
158            1) Get the index numbers for your active repositories: 
160               ppm> repo
162               | id | pkgs  | name                           |
163               |  1 | 11431 | ActiveState Package Repository |
164               |  2 |    14 | bioperl.org                    |
165               |  3 |   291 | uwinnipeg                      |
166               |  4 | 11755 | trouchelle                     | 
168            2) Execute the following commands. (The session here is
169            based on the above table. Substitute the correct index
170            numbers for your situation.)
172               rem -turn off ActiveState, trouchelle repos
173               ppm> repo off 1
174               ppm> repo off 4
175               rem -to get SOAP-Lite-0.69 from uwinnipeg...
176               ppm> install SOAP-Lite
177               rem -turn ActiveState, trouchelle back on...
178               ppm> repo on 1
179               ppm> repo on 4
180               rem -now try...
181               ppm> install BioPerl
183 Installation using CPAN or manual installation
185    When using ActivePerl, installation using PPM is preferred since it is
186    easier, but if you run into problems, or a PPM isn't available for the
187    latest version/package of BioPerl, or you want to choose which optional
188    dependencies to install, you can install manually by downloading the
189    appropriate package or by using CPAN (installation using CPAN will always
190    get you the latest version). Both manual methods ultimately need an
191    accessory compiling program like MinGW, which incorporates the necessary
192    tools like dmake and gcc. MinGW comes by default with Strawberry Perl, but
193    must be installed through PPM for ActivePerl. Also CPAN neeed to be upgraded
194    to >= v1.81, Module::Build to be installed (>= v0.2805) and Test::Harness to
195    be upgraded to >= v2.62:
197    Dmake for ActivePerl
199            1) Install MinGW package through PPM: Using a cmd window type
200            'ppm install MinGW' for 32bits Windows or 'ppm install MinGW64' for
201            64bits Windows. Is IMPORTANT to check previously if ActiveState
202            provides the MinGW package for your ActivePerl version. For example,
203            although ActivePerl 5.18.2.1802 is currently available (May 2014),
204            the download page point mainly at ActivePerl 5.16.3.1604, and the
205            MinGW package is available for version 5.16 but NOT for version 5.18.
207    CPAN for ActivePerl and Strawberry Perl
209            1) Open a cmd window by going to Start >> Run and typing 'cmd'
210            into the box and pressing return.
212            2) Type 'cpan' to enter the CPAN shell.
214            3) At the cpan> prompt, type 'install CPAN' to upgrade to the
215            latest version.
217            4) Quit (by typing 'q') and reload cpan. You may be asked some
218            configuration questions; accepting defaults is fine.
220            5) At the cpan> prompt, type 'o conf prefer_installer MB' to tell
221            CPAN to prefer to use Build.PL scripts for installation. Type 'o
222            conf commit' to save that choice.
224            6) At the cpan> prompt, type 'install Module::Build'.
226            7) At the cpan> prompt, type 'install Test::Harness'.
228            8) At the cpan> prompt, type 'install Test::Most'.
230    You can now follow the unix instructions for installing using CPAN
231    (preferred), or install manually:
233            9) Download the .zip version of the package you want.
235            10) Extract the archive in the normal way.
237            11) In a cmd window 'cd' to the directory you extracted to. Eg. if
238            you extracted to directory 'Temp', 'cd Temp\bioperl-1.5.2_100'
240            12) Type 'perl Build.PL' and answer the questions appropriately.
242            13) Type 'perl Build test'. All the tests should pass, but if they
243            don't, let us know. Your usage of Bioperl may not be affected
244            by the failure, so you can choose to continue anyway.
246            14) Type 'perl Build install' to install Bioperl.
248 Bioperl
250    Bioperl is a large collection of Perl modules (extensions to the
251    Perl language) that aid in the task of writing Perl code to deal
252    with sequence data in a myriad of ways. Bioperl provides objects for
253    various types of sequence data and their associated features and
254    annotations. It provides interfaces for analysis of these sequences with a
255    wide variety of external programs (BLAST, FASTA, clustalw and
256    EMBOSS to name just a few). It provides interfaces to various types of
257    databases both remote (GenBank, EMBL etc) and local (MySQL,
258    Flat_databases flat files, GFF etc.) for storage and retrieval of
259    sequences. And finally with its associated documentation and
260    mailing lists, Bioperl represents a community of bioinformatics
261    professionals working in Perl who are committed to supporting both
262    development of Bioperl and the new users who are drawn to the project.
264    While most bioinformatics and computational biology applications are
265    developed in UNIX/Linux environments, more and more programs are
266    being ported to other operating systems like Windows, and many users
267    (often biologists with little background in programming) are looking for
268    ways to automate bioinformatics analyses in the Windows environment.
270    Perl and Bioperl can be installed natively on Windows NT/2000/XP.
271    Most of the functionality of Bioperl is available with this type of
272    install. Much of the heavy lifting in bioinformatics is done by programs
273    originally developed in lower level languages like C and Pascal
274    (e.g. BLAST, clustalw, Staden etc). Bioperl simply acts as
275    a wrapper for running and parsing output from these external programs.
277    Some of those programs (BLAST for example) are ported to Windows.
278    These can be installed and work quite happily with Bioperl in the native
279    Windows environment. Some external programs such as Staden and the
280    EMBOSS suite of programs can only be installed on Windows by using
281    Cygwin and its gcc C compiler (see Bioperl in Cygwin, below).
282    Recent attempts to port EMBOSS to Windows, however, have been mostly
283    successful.
285    If you have a fairly simple project in mind, want to start using Bioperl
286    quickly, only have access to a computer running Windows, and/or don't mind
287    bumping up against some limitations then Bioperl on Windows may be a
288    good place for you to start. For example, downloading a bunch of sequences
289    from GenBank and sorting out the ones that have a particular
290    annotation or feature works great. Running a bunch of your sequences
291    against remote or local BLAST, parsing the output and storing it
292    in a MySQL database would be fine also.
294    Be aware that most Bioperl developers are working in some type of a
295    UNIX environment (Linux, OS X, Cygwin). If you have
296    problems with Bioperl that are specific to the Windows environment, you
297    may be blazing new ground and your pleas for help on the Bioperl mailing
298    list may get few responses (you can but try!) - simply because no one
299    knows the answer to your Windows specific problem. If this is or becomes a
300    problem for you then you are better off working in some type of UNIX-like
301    environment. One solution to this problem that will keep you working on a
302    Windows machine it to install Cygwin, a UNIX emulation environment for
303    Windows. A number of Bioperl users are using this approach successfully
304    and it is discussed in more detail below.
306 Bioperl on Windows
308    Perl is a programming language that has been extended a lot by the
309    addition of external modules.
311    These modules work with the core language to extend the functionality of
312    Perl.
314    Bioperl is one such extension to Perl. These modular extensions to
315    Perl sometimes depend on the functionality of other Perl modules and this
316    creates a dependency. You can't install module X unless you have already
317    installed module Y. Some Perl modules are so fundamentally useful that the
318    Perl developers have included them in the core distribution of Perl - if
319    you've installed Perl then these modules are already installed. Other
320    modules are freely available from CPAN, but you'll have to install them
321    yourself if you want to use them. Bioperl has such dependencies.
323    Bioperl is actually a large collection of Perl modules (over 1000
324    currently) and these modules are split into seven packages. These seven
325    packages are:
327    +------------------------------------------------------------------------+
328    |    Bioperl Group     |                    Functions                    |
329    |----------------------+-------------------------------------------------|
330    |bioperl (the core)    |Most of the main functionality of Bioperl        |
331    |----------------------+-------------------------------------------------|
332    |bioperl-run           |Wrappers to a lot of external programs           |
333    |----------------------+-------------------------------------------------|
334    |bioperl-ext           |Interaction with some alignment functions and the|
335    |                      |Staden package                                   |
336    |----------------------+-------------------------------------------------|
337    |bioperl-db            |Using Bioperl with BioSQL and local relational   |
338    |                      |databases                                        |
339    |----------------------+-------------------------------------------------|
340    |bioperl-microarray    |Microarray specific functions                    |
341    |----------------------+-------------------------------------------------|
342    |bioperl-pedigree      |manipulating genotype, marker, and individual    |
343    |                      |data for linkage studies                         |
344    |----------------------+-------------------------------------------------|
345    |bioperl-gui           |Some preliminary work on a graphical user        |
346    |                      |interface to some Bioperl functions              |
347    +------------------------------------------------------------------------+
349    The Bioperl core is what most new users will want to start with. Bioperl
350    (the core) and the Perl modules that it depends on can be easily installed
351    with the perl package Manager PPM. PPM is an ActivePerl utility for
352    installing Perl modules on systems using ActivePerl. PPM will look online
353    (you have to be connected to the internet of course) for files (these
354    files end with .ppd) that tell it how to install the modules you want and
355    what other modules your new modules depends on. It will then download and
356    install your modules and all dependent modules for you.
358    These .ppd files are stored online in PPM repositories. ActiveState
359    maintains the largest PPM repository and when you installed ActivePerl PPM
360    was installed with directions for using the ActiveState repositories.
361    Unfortunately the ActiveState repositories are far from complete and other
362    ActivePerl users maintain their own PPM repositories to fill in the gaps.
363    Installing will require you to direct PPM to look in three new
364    repositories as detailed in Installation Guide.
366    Once PPM knows where to look for Bioperl and it's dependencies you simply
367    tell PPM to search for packages with a particular name, select those of
368    interest and then tell PPM to install the selected packages.
370 Beyond the Core
372    You may find that you want some of the features of other Bioperl groups
373    like bioperl-run or bioperl-db. Currently, plans include setting up PPM
374    packages for installing these parts of Bioperl; check this by doing a
375    Bioperl search in PPM.  If these are not available, though, you can use
376    the following instructions for installing the other distributions.
378    For bioperl-run, bioperl-db and bioperl-network v1.5.2 or higher you can use
379    the PPD or CPAN installation instructions above. For other packages you will
380    need nmake (see also the CPAN installation instructions), and a willingness
381    to experiment. You'll have to read the installation documents for each
382    component that you want to install, and use nmake where the instructions
383    call for make, like so:
385  perl Makefile.PL
386  nmake
387  nmake test
388  nmake install
390    'nmake test' will likely produce lots of warnings, many of these can be
391    safely ignored. You will have to determine from the installation documents
392    what dependencies are required, and you will have to get them, read their
393    documentation and install them first. It is recommended that you look
394    through the PPM repositories for any modules before resorting to using nmake
395    as there isn't any guarantee modules built using nmake will work. The
396    details of this are beyond the scope of this guide. Read the documentation.
397    Search Google. Try your best, and if you get stuck consult with others on
398    the BioPerl mailing list.
400     Setting environment variables
402    Some modules and tools such as Bio::Tools::Run::StandAloneBlast and
403    clustal_w, require that environment variables are set; a few examples
404    are listed in the INSTALL document. Different versions of Windows utilize
405    different methods for setting these variables. NOTE: The instructions that
406    comes with the BLAST executables for setting up BLAST on Windows are
407    out-of-date. Go to the following web address for instructions on setting
408    up standalone BLAST for Windows:
409    http://www.ncbi.nlm.nih.gov/staff/tao/URLAPI/pc_setup.html
411      * For Windows XP, go here. This does not require a reboot but all
412        active shells will not reflect any changes made to the environment.
413      * For older versions (Windows 95 to ME), generally editing the
414        C:\autoexec.bat file to add a variable works. This requires a reboot.
415        Here's an example:
417  set BLASTDB=C:\blast\data
419    For either case, you can check the variable this way:
421  C:\Documents and Settings\Administrator>echo %BLASTDB%
422  C:\blast\data
424    Some versions of Windows may have problems differentiating forward and
425    back slashes used for directories. In general, always use backslashes (\).
426    If something isn't working properly try reversing the slashes to see if it
427    helps.
429    For setting up Cygwin environment variables quirks, see an example
430    below.
432     Installing bioperl-db
434    bioperl-db now works for Windows w/o installing CygWin. This has
435    primarily been tested on WinXP using MySQL5, but it is expected that other
436    bioperl-db supported databases (PostgreSQL, Oracle) should work.
438    You will need Bioperl rel. 1.5.2, a relational database (I use MySQL5 here
439    as an example), and the Perl modules DBI and DBD::mysql, which
440    can be installed from PPM as desribed above (make sure the additional
441    repositories for Kobes and Bribes are added, they will have the latest
442    releases). Do NOT try using nmake with these modules as they will not
443    build correctly under Windows! The PPM builds, by Randy Kobes, have been
444    modified and tested specifically for Windows and ActivePerl.
446    NOTE: we plan on having a PPM for bioperl-db available along with the
447    regular bioperl 1.5.2 release PPM. We will post instructions at that
448    time on using PPM to install bioperl-db.
450    To begin, follow instructions detailed in the Installation Guide for
451    adding the three new repositories (Bioperl, Kobes and Bribes). Then
452    install the following packages:
454            1) DBI
455            2) DBD-mysql
457    The next step involves creating a database. The following steps are for
458    MySQL5:
460  >mysqladmin -u root -p create bioseqdb
461  Enter password: **********
463    The database needs to be loaded with the BioSQL schema, which can be
464    downloaded as a tarball here.
466  >mysql -u root -p bioseqdb < biosqldb-mysql.sql
467  Enter password: **********
469    Download bioperl-db from the anonymous Git repository. Use the following
470    to install the modules:
472  perl Makefile.PL
473  nmake
475    Now, for testing out bioperl-db, make a copy of the file
476    DBHarness.conf.example in the bioperl-db test subdirectory (bioperl-db\t).
477    Rename it to DBHarness.biosql.conf, and modify it for your database setup
478    (particularly the user, password, database name, and driver). Save the
479    file, change back to the main bioperl-db directory, and run 'nmake test'.
480    You may see lots of the following lines,
482  ....
483  Subroutine Bio::Annotation::Reference::(eq redefined at C:/Perl/lib/overload.pm line 25,
484      <GEN0> line 1.
485  Subroutine new redefined at C:\Perl\src\bioperl\bioperl-live/Bio\Annotation\Reference.pm line 80,
486      <GEN0> line 1.
487  ....
489    which can be safely ignored (again, these come from ActivePerl's paranoid
490    '-w' flag). All tests should pass. NOTE : tests should be run with
491    a clean database with the BiOSQL schema loaded, but w/o taxonomy loaded
492    (see below).
494    To install, run:
496  nmake install
498    It is recommended that you load the taxonomy database using the script
499    load_ncbi_taxonomy.pl included in biosql-schema\scripts. You will need to
500    download the latest taxonomy files. This can be accomplished using the
501    -download flag in load_ncbi_taxonomy.pl, but it will not 'untar' the file
502    correctly unless you have GNU tar present in your PATH (which most Windows
503    users will not have), thus causing the following error:
505  >load_ncbi_taxonomy.pl -download -driver mysql -dbname bioseqdb -dbuser root -dbpass **********
506  The system cannot find the path specified.
507  Loading NCBI taxon database in taxdata:
508          ... retrieving all taxon nodes in the database
509          ... reading in taxon nodes from nodes.dmp
510  Couldn't open data file taxdata/nodes.dmp: No such file or directory rollback ineffective with
511  AutoCommit enabled at C:\Perl\src\bioperl\biosql-schema\scripts\load_ncbi_taxonomy.pl line 818.
512  Rollback ineffective while AutoCommit is on at
513  C:\Perl\src\bioperl\biosql-schema\scripts\load_ncbi_taxonomy.pl line 818.
514  rollback failed: Rollback ineffective while AutoCommit is on
516    Use a file decompression utility like 7-Zip to 'untar' the files in
517    the folder (if using 7-Zip, this can be accomplished by right-clicking on
518    the file and using the option 'Extract here'). Rerun the script without
519    the -download flag to load the taxonomic information. Be patient, as this
520    can take quite a while:
522  >load_ncbi_taxonomy.pl -driver mysql -dbname bioseqdb -dbuser root -dbpass **********
524  Loading NCBI taxon database in taxdata:
525          ... retrieving all taxon nodes in the database
526          ... reading in taxon nodes from nodes.dmp
527          ... insert / update / delete taxon nodes
528          ... (committing nodes)
529          ... rebuilding nested set left/right values
530          ... reading in taxon names from names.dmp
531          ... deleting old taxon names
532          ... inserting new taxon names
533          ... cleaning up
534  Done.
536    Now, load the database with your sequences using the script
537    load_seqdatabase.pl, in bioperl-db's bioperl-db\script directory:
539  C:\Perl\src\bioperl\bioperl-db\scripts\biosql>load_seqdatabase.pl -drive mysql
540                                -dbname bioseqdb -dbuser root -dbpass **********
541  Loading NP_249092.gpt ...
542  Done.
544    You may see occasional errors depending on the sequence format, which is a
545    non-platform-related issue. Many of these are due to not having an updated
546    taxonomic database and may be rectified by updating the taxonomic
547    information as detailed in load_ncbi_taxonomy.pl's POD.
549    Thanks to Baohua Wang, who found the initial Windows-specific problem in
550    Bio::Root::Root that led to this fix, to Sendu Bala for fixing
551    Bug #1938, and to Hilmar Lapp for his input.
553 Bioperl in Cygwin
555    Cygwin is a Unix emulator and shell environment available free at
556    http://www.cygwin.com. Bioperl v. 1.* supposedly runs well within Cygwin,
557    though the latest release has not been tested with Cygwin yet. Some
558    users claim that installation of Bioperl is easier within Cygwin than
559    within Windows, but these may be users with UNIX backgrounds. A note on
560    Cygwin: it doesn't write to your Registry, it doesn't alter your system or
561    your existing files in any way, it doesn't create partitions, it simply
562    creates a cygwin/ directory and writes all of its files to that directory.
563    To uninstall Cygwin just delete that directory.
565    One advantage of using Bioperl in Cygwin is that all the external modules
566    are available through CPAN - the same cannot be said of ActiveState's PPM
567    utility.
569    To get Bioperl running first install the basic Cygwin package as well as
570    the Cygwin perl, make, binutils, and gcc packages. Clicking the View
571    button in the upper right of the installer window enables you to see
572    details on the various packages. Then start up Cygwin and follow the
573    Bioperl installation instructions for UNIX in Bioperl's INSTALL file
574    (for example, THE BIOPERL BUNDLE and INSTALLING BIOPERL THE EASY WAY USING
575    CPAN).
577 bioperl-db in Cygwin
579    This package is installed using the instructions contained in the package,
580    without modification. Since postgres is a package within Cygwin this is
581    probably the easiest of the 3 platforms supported in bioperl-db to
582    install (postgres, Mysql, Oracle).
584 Cygwin tips
586    If you can, install Cygwin on a drive or partition that's
587    NTFS-formatted, not FAT32-formatted. When you install Cygwin on
588    a FAT32 partition you will not be able to set permissions and ownership
589    correctly. In most situations this probably won't make any difference but
590    there may be occasions where this is a problem.
592    If you're trying to use some application or resource outside of Cygwin
593    directory and you're having a problem remember that Cygwin's path syntax
594    may not be the correct one. Cygwin understands /home/jacky or
595    /cygdrive/e/cygwin/home/jacky (when referring to the E: drive) but the
596    external resource may want E:/cygwin/home/jacky. So your *rc files may end
597    up with paths written in these different syntaxes, depending.
599 MySQL and DBD::mysql
601    You may want to install a relational database in order to use BioPerl
602    db, BioSQL or OBDA. The easiest way to install Mysql is to use
603    the Windows binaries available at http://www.mysql.com. Note that
604    Windows does not have sockets, so you need to force the Mysql connections
605    to use TCP/IP instead. Do this by using the -h, or host, option from the
606    command-line. Example:
608  >mysql -h 127.0.0.1 -u <user> -p<password> <database>
610    Alternatively you could install postgres instead of MySQL, postgres is
611    already a package in Cygwin.
613    One known issue is that DBD::mysql can be tricky to install in Cygwin
614    and this module is required for the bioperl-db, Biosql, and
615    bioperl-pipeline external packages. Fortunately there's some good
616    instructions online:
618      * Instructions included with DBD::mysql:
619        http://search.cpan.org/src/JWIED/DBD-mysql-2.1025/INSTALL.html#windows/cygwin
620        
621      * Additional instructions if you run into any problems; this
622        information is more up-to-date, covers post-2.9 DBD::mysql quirks in
623        Cygwin.
624        http://rage.against.org/installingdbdmysqlInCygwin
626 Expat
628    Note that expat comes with Cygwin (it's used by the modules
629    XML::Parser and XML::SAX::ExpatXS, which are used by certain
630    Bioperl modules).
632 Directory for temporary files
634    Set the environmental variable TMPDIR, programs like BLAST and
635    clustalw need a place to create temporary files. e.g.:
637  setenv TMPDIR e:/cygwin/tmp     # csh, tcsh
638  export TMPDIR=e:/cygwin/tmp    # sh, bash
640    This is not the syntax that Cygwin understands, which would be something
641    like /cygdrive/e/cygwin/tmp or /tmp, this is the syntax that a Windows
642    application expects.
644    If this variable is not set correctly you'll see errors like this when you
645    run Bio::Tools::Run::StandAloneBlast:
647    ------------- EXCEPTION: Bio::Root::Exception -------------
648    MSG: Could not open /tmp/gXkwEbrL0a: No such file or directory
649    STACK: Error::throw
650    ..........
652    [edit]
654 BLAST
656    If you want use BLAST we recommend that the Windows binary be obtained from
657    NCBI (ftp://ftp.ncbi.nih.gov/blast/executables/blast+/LATEST/ - the file
658    will be named something like ncbi-blast-2.2.29+-win64.exe). Then follow the
659    Windows instructions from BLAST Help
660    (http://www.ncbi.nlm.nih.gov/books/NBK1762). You will also need to set the
661    BLASTDIR environment variable to reflect the directory which holds the blast
662    executable and data folder. You may also want to set other variables to
663    reflect the location of your databases and substitution matrices if they
664    differ from the location of your blast executables; see Installing Bioperl
665    for Unix for more details.
667 Compiling C code
669    Although we've recommended using the BLAST and MySQL binaries
670    you should be able to compile just about everything else from source code
671    using Cygwin's gcc. You'll notice when you're installing Cygwin that many
672    different libraries are also available (gd, jpeg, etc.).