[Bioperl-l] newbie tries StandAloneBlast and receives "cant open BLOSUM62"

Chris Fields cjfields at uiuc.edu
Thu Mar 2 17:58:31 EST 2006

> -----Original Message-----
> From: Harald [mailto:haralds_listen at gmx.de]
> Sent: Thursday, March 02, 2006 2:48 PM
> To: Chris Fields
> Cc: bioperl-l at lists.open-bio.org
> Subject: Re: [Bioperl-l] newbie tries StandAloneBlast and receives "cant
> open BLOSUM62"
> Good idea!
> By the way, the instructions are the same for Windows 2000 and the SET
> command is also present under NT4 and Windows 2000. And I would skip the
> sentences "Some versions of Windows may have problems differentiating
> forward and back slashes used for directories. In general, always use
> backslashes (\). If something isn't working properly try reversing the
> slashes to see if it helps.". This is not true. In Windows the '\' is
> the one and only directory separator known from the system. On
> Unix/Linux it is '/'
Really it's differences in the way certain programs look for a file.  For
instance, you can use either \ or / when setting PERL5LIB (I have done this
w/o a problem).  You also mention that the ncbi.ini you set has Unix slashes
and the executable works fine so ''something'' is working.  According to the
blast docs it needs this file to be set to the data directory.

>  I can not add it to the Wiki entry because, I have no account ( and
> doubt that a newbie like me could be of any further help :-/ ).

Not true.  A program (or suite of modules) is only as good as its
documentation.  If it's wrong it should be corrected!

> But this BLASTDIR variable confuses me. I have not set this variable, I
> have just set the bin-directory of my blast installation into the PATH
> environment variable. And my blastall and blastpgp seem to work probably
> with BioPerl.

As for BLASTDIR, 'perldoc Bio::Tools::Run::StandAloneBlast':


Before running StandAloneBlast it is necessary: to install BLAST 
on your system, to edit set the environmental variable $BLASTDIR 
or your $PATH variable to point to the BLAST directory, and to 
ensure that users have execute privileges for the BLAST program.  

If the databases which will be searched by BLAST are located in the 
data subdirectory of the blast program directory (the default 
installation location), StandAloneBlast will find them; however, 
if the database files are located in any other location, environmental 
variable $BLASTDATADIR will need to be set to point to that directory.


AFAIK, the BLASTDIR variable is used mainly when the data directory lies
elsewhere.  If the blast executables, matrices, and database files are all
in separate directories (somewhat common with shared directories) then
BLASTDATADIR and BLASTMAT should be set to reflect where everything is.  I
believe that all of these are necessary for StandAloneBlast to work under
these particular conditions, which are all UNIX, BTW.

That doesn't mean the docs are up to date or don't quite reflect what
happens with Windows though; this is a new area for me as well (I just
update the wiki if I find something that needs to be added).  In fact,
looking through the mail list archives, it looks like most people use Cygwin
when using StandAloneBlast, so I may have jumped the gun when I used this as
an example of setting env. variables.  You could try testing out whether
using the environment variables works with Windows by setting them.  I may
try it tomorrow to see what happens. 

> Besides, the info given in
> http://www.bioperl.org/wiki/Installing_Bioperl_on_Windows#BLAST differs
> from my experience. The only installing instructions I found reside in
> the doc-directory of my blast 2.2.13 install and there is no file called
> README.bls. And the problem with the docs is, that it is not mentioned

Ah, an area in which someone could correct a wrong!  ;}  

> (as far as I can see), that you have to put the bin-directory onto the
> PATH variable. This is bad, since copying e.g. blastall.exe into the
> current working directory (thus circumventing the need of the PATH
> variable to start blastall) leads to the problem I mentioned initially.
> Is this BLASTDIR only relevant for BioPerl-1.5 ? (I am using 1.4)

The changes that you mention regard the ncbi.ini file.  This tells the
blastall executable the directory for databases and matrices, somewhat like
BLASTDIR.  BLASTDIR, on the other hand, helps StandAloneBlast.pm find the
blast executables and data directory.  Two different things.  It may make no
difference when using Windows though.  I'll let you know soon; I'm also
working on other things at the moment so I have my hands a bit full.

As for using bioperl 1.4, you really should upgrade; bioperl 1.4 was
released Dec. 2003 and many bugfixes have been added since, particularly
ones that may affect blast parsing and so on.  There have been several
bugfixes relevant to recent blast text output changes and added xml support.

> Regards,
> Harald

Christopher Fields
Postdoctoral Researcher - Switzer Lab
Dept. of Biochemistry
University of Illinois Urbana-Champaign

More information about the Bioperl-l mailing list