In addition to Tim's excellent suggestions, you should also consider
setting the "NCBI" environment variable in your Perl program to point to
the directory which contains the .ncbirc file.
andrew_walsh at my-deja.com wrote:
>> Hi everyone,
>> I'm a newbie to the usenet community so please excuse my format,
>> I've been trying to run blastall from a CGI script on a Linux (RH 6.2)
> machine. The blastall program and Apache web server are on the same
> machine. I can run the program via perl scripts from the command line
> without problem. But when I create the cgi script and execute it from
> the web page I get the same error message in my httpd error_log file-
> [blastall] WARNING: could not find index files...
>> I've already used formatdb to create these index files. The correct
> path is given in the CGI script. My webserver (user, group: http) owns
> all of these files. All of these files are in the home directory of
> http (not httpd).
>> The .ncbirc file has been created with appropriate paths for Data and
> BLASTDB. This file has been put in what I can imagine would be every
> possibly relevant directory (dir containing blastall, cgi-bin dir, http
> home dir).
>> I'm using the Open2 module to open a file handle for the blastall
> program and sending sequence from a file as input. Then I have the
> results sent as standard output back to the web page.
>> I just get the header for the Blast result and then query length (this
> isn't even right since it says 15 letters, not the actual length of the
> sequence in the file referened in the cgi script). I could well be
> wrong, but I don't think that the problem is my relative newbie status
> in cgi- I can get echo to send STDOUT to the web page.
>> If anyone has any ideas on what I'm doing wrong or overlooking they
> would be greatly appreciated.
>> Sent via Deja.com http://www.deja.com/> Before you buy.