Case 2
Dear Sir/Madam,
I'm a Bioinformatics Analyst.
Thanks very much for providing GPM. I'm in the process of setting up a
web-based tool using GPM for our researchers. I'm just curious why you
designed your interface to run as the root directory of a web server
instead of using relative paths (ie /tandem as opposed to ../tandem
etc). I'm finding myself going into individual perl scripts and editing
the paths in them! Since the web server is used for several other
purposes as well, I cant just install the 'thegpm' directory as the root
directory and I assume that will be the case with several others. I
would greatly appreciate it if you would consider this suggestion in
your future versions.
Thanks a bunch.
Hello,
It is not necessary to make thegpm the root directory of the server in order to make
thegpm run on your server without any changes to the perl scripts.
What you need to do is add Alias directives to the httpd.conf file if you are
using Apache or set up virtual directories if you are using IIS for the tandem,cache
and pics folders within thegpm folder. For Apache server add the following lines the
httpd.conf file:
Alias /tandem/ "C:/Program Files/Apache Group/Apache2/htdocs/thegpm/tandem/"
<Directory "C:/Program Files/Apache Group/Apache/htdocs/thegpm/tandem">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Alias /pics/ "C:/Program Files/Apache Group/Apache2/htdocs/thegpm/pics/"
<Directory "C:/Program Files/Apache Group/Apache/htdocs/thegpm/pics">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Alias /cache/ "C:/Program Files/Apache Group/Apache2/htdocs/thegpm/cache/"
<Directory "C:/Program Files/Apache Group/Apache/htdocs/thegpm/cache">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Change the paths to where ever you have thegpm folders located on your server.
You may have to rollback the changes you made to the perl scripts to make this work.
If you have anymore problems feel free to contact us.
Thanks.
Hi,
Thanks very much for the advice. By making changes in the Apache conf
file I'm able to get away without modifying the scripts. However, now I
have the raw perl script (thegpm.pl) printing out into my browser when I
run it. It is in my CGI directory and is all set to executable. I'll
need to look into it a little more. However when I run it off IIS on one
of our Windows servers it runs fine! If you have come across a similar
situation before, please advise.
By the way, thegpm is a great tool and it looks like it can cut down our
processing time signifcantly too.
Thanks again.
Hi,
Could you send me your httpd.conf file? Also, is it possible for me to
view the site from here? If so please let me know the ip address so I can
take a look first hand.
Thanks.
Hi,
The site IP is http://999.99.99.99/thegpm
It is hosted off my desktop linux box and I'm setting up interfaces on
it for the researchers in the lab.
The Apache conf file is attached. I'm pretty sure its something in the
conf file, but I'm in the process of learning Apache, so I cant pin it
down yet.
Thanks very much for the help.
Hi,
I attached your httpd.conf with a couple of modifications.
I added a ScriptAlias directive for thegpm-cgi and commented out the
Alias directive for thegpm-cgi. In order for thegpm to work without any
script path changes the thegpm folder must maintain its structure with
tandem and thegpm-cgi folders at the same level. By looking at the Alias you
set up for thegpm-cgi, you had moved it into the cgi-bin folder. The reason
it is printing the raw script to the browser is because thegpm-cgi didn't
have a ScriptAlias, instead it had an Alias.
I put a small note in the file where the changes were made.
Let me know if this works for you.
Thanks.
Hi,
Thanks very much for the help. The processing program works fine now.
I feel guilty bothering you with this, but since we've gotten this far I
figured I'll mention to you one last problem that I'm having. And that
is that the final list printout (plist.pl parsing and printing out the
XML output file) hangs after printing a certain number of entries. After
that the browser keeps saying 'fetching data', but does nothing. The
same works fine from the IIS server. Could be yet another Apache conf
thing. If you've come across this before, please advise. If you're
busy, please dont bother, you've helped enough!
Thanks a bunch for your time and attention.
Hi,
No problem. We are here to help.
Please send me the spectra file that is causing this problem and I will
see if I can duplicate this behavior on my Linux machine. My email can take
up to 10mb file, though an intermediate server may complain. If it is too
big for you too send, can you put it on an ftp site from which I can download.
Thanks.
Hi,
I think you are right about the timeing out issue. I tried running this
on my server and it works fine, though it does take a while as this is a
fairly large file. I have attached my httpd.conf file so you can take a peak
at it. Hope this helps. Feel free to ask if it doesn't.
Good luck.
Hi,
Thanks very much for the help. I compared your conf file with mine and
they are exactly the same except for the Aliases and ScriptAliases that
I have. Its really strange, I can run plist.pl from the command line
with the same xml file, save the output as an html file and see it just
fine from a browser. I can also also do smaller spectra files and get it
to work from the browser. So I'm at a loss to explain why this is
happening for large files. Anyway, it all works fine from the IIS
server, so I can rely on that for now.
Thanks very much for your time, help and suggestions.
Hi,
It is possible that the version of perl or cgi.pm you have on the
Linux machine needs to be updated. The versions I am running are: perl
version 5.8.0 and cgi.pm version 3.04. The newest version of cgi.pm
can be found at: http://search.cpan.org/~lds/CGI.pm-3.04 .
You could also try adding some print statements like below. It
needs to have the flush_buffer() function added as Apache will buffer
any output you have until it reaches a certain number of bytes in the
buffer.
print "Got here - line 50<br>";
flush_buffer();
sub flush_buffer {
my $a = 0;
while($a < 400) {
print " ";
$a++;
}
}
Hi,
Thanks very much for the suggestions. I'm using perl 5.8 and I
downloaded the latest version of CGI.pm from Lincoln Stein's website. It
didnt say the version, I'll need to check. I'll also flush the buffer
like you suggested.
I was just looking at some of the code and I dont know whether I'm
looking at the right place, but I dont see anything for fetching data
for Swiss-Prot entries. I see the PostEnsembl, PostNcbi etc subroutines
in get_info.pl, but I dont see anything for Swiss-Prot (the sp|XXXXX
labels) . Am I looking at the right place?
Just thought I'd ask. Please get back to me at your convenience.
Thanks
Hi,
Unfortunately, thegpm will not be supporting swiss prot databases.
It has proven to be a problem for us in the past.
Good luck with your perl issue!
Hi,
I guess its the frequently changing formats that has forced you to not
support Swiss-Prot. But we have a lot of Swiss-Prot entries in our
databases, so I added some code to the gpm suite to account for
swiss-port/trembl formats. Seems to be working fine for now. I'm sure
you've gone through this before and probably even have the code you
wrote for it, but if you want I can send you what I added. I just
duplicated a few functions that are already there and changed the reg
exes to account for the new format.
I still havent figured out the perl issue I had! But it seems to be
working for the smaller files. And most of the users still use the IIS
web server where everything works fine, so I havent messed with it more.
Thanks very much for all the help. I really appreciate it.
Hi,
Glad to hear you got the Swiss Prot entries working. If you would like
to send your script modifications to us, I will take a look.
I haven't come up with a solution for the timeout problem, but I'm sure
you are right in thinking it is a web server issue of some kind.
Hope things continue to go well with the GPM. I will let you know if we
have any updates for you, as we are looking at April for our next release
date. Feel free to contact us if there are any more questions or concerns.
Take care.
Hi,
Sorry for the delay in getting back to you. I'm sending you a text file
[1]
where I noted down all the modifications I made (I test the
modifications in my linux box and then make the corresponding changes on
our Windows server that hosts the web) for Swiss-Prot. These are not in
order as I noted them down as and when I made them, but it has all of
them. Hope it is useful.
best regards
notes
[1] The swiss prot code can be found here.
|