[Bioperl-l] blastall call --- cannot find index files for databases
lhaifeng@dso.org.sg
lhaifeng@dso.org.sg
Mon, 06 May 2002 09:35:09 +0800 (SGT)
Thanks Peter, you are right, I found that I really made a stupid mistake in my
script. There should be no more problems now.
Haifeng
Quoting Peter Kos <kos@rite.or.jp>:
> Haifeng,
>
> sorry for the stupid idea: are you sure, that there is no mistake in
> your script with respect to protein/DNA? You get this error message
> not only if there is no database there with the given name, but also
> if you query a DNA database as it were protein (like blastp, blastx
> or tblastx) or the way around, so the index file with the given
> extension is not found. It is quite easy to miss out the -pF option
> of the formatdb, or to make some similar mistake that is too trivial
> to be easy to recognize when you are looking for something
> complicated.
>
> On the other hand, however, blastall works fine for me both alone and
> within StandAloneBlast without any tricks, so I suspect that the
> problem may not be at that point.
> (I think your .nbirc file and ENV values are all right too.)
> On the contrary, the BLASTDATADIR (or whatever it is called) gets
> inserted in front of the database name, no matter what. If I put a
> path in front of the database name, then it will be there, followed
> by the BLASTDATADIR, so I just can not get rid of the latter,
> therefore I have to generate my temporary databases in that directory
> if I do not want to always change the ENV variables (which is not a
> bad idea, I will try, thank you).
>
> On Saturday, May 04, 2002 11:30 AM, Liu Haifeng
> [SMTP:lhaifeng@dso.org.sg] wrote:
> > Sorry, it still doest not work. Actually, theres is no problem
> when
> > I use
> > "blastall -p blastn" to query nucleotide sequences in my bio-perl
> > script.
> >
> > Regards
> > Haifeng
> > ----- Original Message -----
> > From: "Jason Stajich" <jason@cgt.mc.duke.edu>
> > To: "Liu Haifeng" <lhaifeng@dso.org.sg>
> > Cc: <bioperl-l@bioperl.org>
> > Sent: Friday, May 03, 2002 8:20 PM
> > Subject: Re: [Bioperl-l] blastall call --- cannot find index files
> > for
> > databases
> >
> >
> > > On Fri, 3 May 2002, Liu Haifeng wrote:
> > >
> > > > Hi,
> > > >
> > > > I just met another problem. I have used "formatdb -o T ..." to
> > > > construct one protein database "mydbname" whose defline is like
> > > > "gnl|sth|sthelse". It is ok if I directly perform blastall
> > > > query in
> > > > my linux console window. Howvever, if I perform a perl script
> > > > which
> > > > uses Bio::Tools::Run::StandAloneBLast to call blastall, then
> > > > the
> > > > program always crashes and shows "WARNING: Could not find index
> > > > files
> > > > for database mydbname ...". I have set $BLASTDATADIR in my
> > > > .bashrc
> > > > file.
> > >
> > > You've just identified the problem - when blast is shelled out it
> > > uses
> > > 'sh' and the env variable is only set in your bash shell, it is
> > > not
> > > propigated to th sh process.
> > >
> > > options:
> > > when you specify the db use the full path to the db i.e. in your
> > > perl
> > > script you could use the shortcut that you know your
> > > BLASTDATADIR contains the db
> > > $factory->d($ENV{'BLASTDATADIR'}.'/databasename');
> > >
> > > Put the env variable in your .profile or .login (at least I
> > > *think* this
> > > might work).
> > >
> > > >
> > > > Could anyone help me to solve the problem?
> > > >
> > > > Regards
> > > > Haifeng
> > > >
> > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > > Haifeng Liu
> > > > Ph.D., Member of Technical Staff
> > > >
> > > > IFL/DS
> > > > DSO National Laboratories
> > > > 20 Science Park Drive
> > > > Singapore 118230
> > > >
> > > > Email: lhaifeng@dso.org.sg
> > > > Tel: (65) 67728220
> > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > >
> > >
> > > --
> > > Jason Stajich
> > > Duke University
> > > jason at cgt.mc.duke.edu
> > >
> >
> >
> >
>
>
>
> ..................................................................
> ..........
> Peter B. Kos, Ph.D.
> Molecular Microbiology and Genetics Lab.
> Research Institute of Innovative Technology for the Earth (RITE)
> 9-2 Kizugawadai, Kizu-cho, Soraku-gun,
> Kyoto 619-0292 JAPAN
> Phone: +81-774-75-2308
> Fax: +81-774-75-2321
> E-mail: kos@rite.or.jp
>