-
-
Notifications
You must be signed in to change notification settings - Fork 114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rc3 installation issue - can't make blast dbs (SequenceServer::CommandFailed) #469
Comments
On further inspection, it seems like the preparation of the blast databases actually gets started, but bombs out as described above. After passing SequenceServer the path to the blast installation and the directories to be formatted, here's what happens: [mcoyne@helix Desktop]$ sequenceserver Your BLAST+ version 2.9.0+ is incompatible. If you have downloaded NCBI BLAST+ already, please enter the path Press Ctrl+C to abort setup.
Database dir not set. SequenceServer needs to know where your FASTA files or BLAST+ databases are. Press Ctrl+C to quit.
Could not find BLAST+ databases in: /var/www/html/SequenceServer. Search for FASTA files (.fa, .fasta, .fna) in '/var/www/html/SequenceServer' and try
Searching ... FASTA file: /var/www/html/SequenceServer/All_Bacteroidales/All_Bacteroidales.faa But, if I now look in /var/www/html/SequenceServer/All_Bacteroidales, files All_Bacteroidales.faa.pos, .pot, .ptf, and .pto have been created... |
Dear @mjcoynejr - sorry for these frustrations.
Cheers, |
@yannickwurm -- Thank you for your suggestions -- I'll give them a try and report back. Sequenceserver told me my system-wide install of blast 2.9.0+ was incompatible and thus downloaded 2.10.0+ and extracted it to /home/mcoyne/.sequenceserver/ncbi-blast-2.10.0+/. I will try running makeblastdb by hand from a terminal and see what happens. I'll also change the /var/www/html/SequenceServer folder name to lower case. For what it's worth, these .faa and .fna files were copied directly over from another server of mine that is running sequenceserver 1.something, which works correctly -- I've got some new hardware and I'm trying to migrate things over. As with all things Linux, I was thinking it was a path or permissions problem... I'll try the things you mentioned now. |
When run from a terminal opened in /home/mcoyne/.sequenceserver/ncbi-blast-2.10.0+/bin, ```
When I renamed the /var/www/html/SequenceServer directory to sequenceserver and restarted the gem, it behaved quite differently:
It opened a browser session on http://localhost:4567/ and displays correctly, showing the single protein db that I created manually. I entered a protein query, and it worked correctly. So, probably a case-sensitivity issue? I presume I'll be able to scan the rest by reinvoking sequenceserver with the appropriate command-line switches (-m and -d, if memory serves)? |
Running sequenceserver with the -m switch from a terminal still fails in the same manner as before... Trying from sudo results in sudo: sequenceserver: command not found |
And print diagnostic information to help understand what might have gone wrong (see #469) Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Hi. I just pushed an update that will print diagnostic information when
|
Absolutely -- I need to first warn my users it's going down; I'll take it off-line about an hour from now and re-install. I made all the blastable dbs using a Perl script and the /home/mcoyne/.sequenceserver/ncbi-blast-2.10.0+/bin binaries, and SequenceServer sees them fine on start-up... BTW, how does one properly install this outside of a user directory, say into /usr/local/bin or (since I'm ultimately going to run it under Apache), into /var/www/html? (PS. If you want to blow this off for now while we work on makeblastdb, I'm good with that). Be back soon... |
I commented above that "As with all things Linux, I was thinking it was a path or permissions problem...". I should have just gone with my instincts -- that's what it turned out to be:
Sorry for the fuss... Nice to have the debug code in there though! Might also be nice to solve the directory name case sensitivity problem as well, but that's not such a big deal. Now, I need to get this operational under Apache. Should I start a new thread about how to install SequenceServer into a directory other than a user directory to facilitate use under Apache (and more in keeping with the Linux FHS)? I am a programmer and long-time (45+ years) geek (which is why I feel pretty silly that this came down to a permissions issue) and a long-time bench-type molecular biologist (30+ years), but I know nada about Ruby, or gem, or passenger...:) I do want to say that this is an excellent piece of software (NCBI blast has become virtually unusable -- I have such a love-hate relationship with NCBI), and it is very needed -- if I can be of any help to you in further development, please let me know. I have many computers (currently 8 desktops, 3 laptops, and 4 rack mounted servers at my house alone, never mind at the lab), and would be more than willing to set up a sandboxed dedicated machine to help troubleshoot your application and perhaps give advice on usability from a bench scientist cum bioinformatician cum lab advisor to incoming post-docs point of view... |
For example: You should consider making the -parse_seqid command line switch optional. When I was re-making my databases from within SequenceServer, it continuously bombed out with things like:
The the local id (the part between the > and the first space) on line 2201288 in my All_Bacteroidales.faa file reads:
I have (through a Perl script) reformatted the NCBI faa files for this genome set (>2,100 genomes) so that the fasta name is of the form 'genus_species_strain.locus_tag contig:start..stop annotation [genome name]', because this is MUCH more useful to lab members than the default NCBI fasta format (which is mostly useful to NCBI database administrators, and not to real-world scientists or post-docs just getting started on this bioinformatics stuff). However, this string is 52 characters long (even though makeblastdb reports it as 51), and makeblastdb only allows 50 characters when -parse_seqid is included on the command line, thus an error (through stderr in rc4) is thrown. The great strength of your software is clearly that it allows people to slice-and-dice their own blastable databases (I have had "no sequences found" returns from NCBI blast queries matching genomes I know are there -- because I submitted them). Allowing -parse_seqid to be optional (I agree, it's useful sometimes) would be very much more user frendly. |
Thanks for all the thoughts and details @mjcoynejr To avoid the exact problem you mention, for internal stuff we thus often use slightly shortened names (e.g. shortening the genus... or relegating parts of the id to description) Cheers |
I haven't tested it, but you might also be able to get away with the 50 character limit by adding |
Installation of sequenceserver-2.0.0.rc3 seemed to go ok until it attempted to create the blast databases when it died with SequenceServer::CommandFailed (SequenceServer::CommandFailed).
For details, see the attached terminal session file (includes commands issued, and info about ruby and gem installations and environments).
My goal, ultimately, is to integrate SequenceServer with Apache version 2.4.37. My system is CentOS Linux 8.1.1911 Linux 4.18.0-147.8.1.el8_1.x86_64 on x86_64.
sequenceserver.session.txt
Thanks for any help!
The text was updated successfully, but these errors were encountered: