I finally got around to testing this on a clean Ubuntu server.
I did the following:
1. Install via apt-get
:
$ sudo apt-get install hhsuite
This installed the binary hhsearch
in to /usr/local/bin/hhsearch
as one would expect. It also left the main hhsuite directory in my home directory, with the path /home/username/hhsuite-2.0.16-linux-x86-64/
. This is important.
Note also how the version in apt
is not version 3.x - for that, I believe you will need to compile from source.
2. Set environment variables:
This step is absolutely required, so ensure that this variable is set, and is pointing at the right base directory. In my case:
$ export HHLIB=/home/username/hhsuite-2.0.16-linux-x86-64/
To make this change permanent, also copy the command in to your .bashrc
or similar dotfile (or run the following command):
$ echo 'export HHLIB=/home/username/hhsuite-2.0.16-linux-x86-64/' >> ~/.bashrc
If you are unsure which versions you have (since you may have confused things by compiling from source and installing from apt
, run which hhsearch
, and then run the whole path as a command, to get the version; e.g. in my case:
$ /usr/local/bin/hhsearch
(This will correspond to the first binary found in your PATH, and therefore the one you're invoking when you issue the hhsearch
command alone)
Gives the output (header only).
HHsearch version 2.0.15 (June 2012)
Search a database of HMMs with a query alignment or query HMM
(C) Johannes Soeding, Michael Remmert, Andreas Biegert, Andreas Hauser
Soding, J. Protein homology detection by HMM-HMM comparison. Bioinformatics 21:951-960 (2005).
I think its important we clarify what binaries and directories are at play here since it seems there may be a bit of confusion.
3. Download and extract the databases
I made a databases folder inside the HHSuite folder discussed in Step 1, however you can put it anywhere, change to that directory, download and extract.
$ mkdir /home/username/hhsuite-2.0.16-linux-x86-64/databases ; cd !$
$ wget http://wwwuser.gwdg.de/~compbiol/data/hhsuite/databases/hhsuite_dbs/pdb70_from_mmcif_181114.tar.gz
$ tar xvzf pdb70_from_mmcif_181114.tar.gz
If you want to be certain there are no files missing/your database download was correct, the md5sum
for the tar.gz
for me was :
71627c864e61cf5b338bf821ccfeb9ac pdb70_from_mmcif_181114.tar.gz
So, I have the following
$ ls /home/username/hhsuite-2.0.16-linux-x86_64/databases
md5sum pdb70_a3m.ffindex pdb70_cs219.ffindex pdb70_hhm_db.index
pdb70_a3m_db pdb70_clu.tsv pdb70.cs219.sizes pdb70_hhm.ffdata
pdb70_a3m_db.index pdb70.cs219 pdb70_from_mmcif_181114.tar.gz pdb70_hhm.ffindex
pdb70_a3m.ffdata pdb70_cs219.ffdata pdb70_hhm_db pdb_filter.dat
Then the command:
$ hhsearch -d /home/username/hhsuite-2.0.16-linux-x86_64/databases/pdb70_hhm.ffdata -i protein.faa -cpu 32
Worked without error:
Search results will be written to protein.hhr
protein.faa is in A2M, A3M or FASTA format
Read protein.faa with 1 sequences
Alignment in protein.faa contains 508 match states
1 out of 1 sequences passed filter (90% max pairwise sequence identity)
Effective number of sequences exp(entropy) = 1.0
.................................................. 1000 HMMs searched
<abridged>
.................................................. 61000 HMMs searched
..
Realigning 40 database HMMs using HMM-HMM Maximum Accuracy algorithm
...
Query hypothetical protein 3919442:3920968 reverse MW:51681
Match_columns 508
No_of_seqs 1 out of 1
Neff 1.0
Searched_HMMs 61044
Date Tue Nov 20 06:47:31 2018
Command hhsearch -d /home/ubuntu/hhsuite-2.0.16-linux-x86_64/databases/pdb70_hhm.ffdata -i PAU_03380.faa -cpu 32
No Hit Prob E-value P-value Score SS Cols Query HMM Template HMM
1 1PDI_R Short tail fiber protei 93.7 0.012 2E-07 55.7 0.0 26 323-348 90-116 (278)
<abridged>
40 6GAP_A Outer capsid protein si 32.0 30 0.00049 32.3 0.0 60 130-191 182-241 (261)
Done
I haven't tested HHSuite 3.x but I can give it a go if you desperately want 3.
When you downloaded the pdb70 database from the HHsuite servers, did you unzip everything in side the same folder?
What’s inside your
pdb70
folder?Hello jrj.healey! Thank you for helping me out. So I downloaded pdb70_from_mmcif_181114.tar.gz from http://wwwuser.gwdg.de/~compbiol/data/hhsuite/databases/hhsuite_dbs/
Which had 12 files:
These are what is in my pdb70 folder, I have also tried making a Databases folder in where I he I believe the DPRK installed HHsuite to /usr/lib/HHSuite/Databases/ but to no avail as it still gives me the same "could find neither"
EDIT: Not sure if this is relevant but in my scripts folder I can't seem to find the hhpred folder, which I would like for homology modeling.
Assuming there’s nothing wrong with your install config itself, I can’t see anything obviously wrong with your command. I use a similar set up, but maybe your file path is wrong in a way I don’t know.
Try what I do:
HHPred has changed versions a few times since I installed and I had to spend a lot of time messing with environment variables. In the newer versions its meant to be easier to install so I dont think you will need to have done everything I had do, but I’m not 100% sure.
So I tried your command. Not sure if I did it correctly so I attached a screenshot of exactly what I did, as well as where my files were. I also tried moving the database file to the desktop to see if it could find it there. picture
I have the newest version 3.0 beta 3, and so I tried leaving out the _hhm and just typing pdb70 however it still says could find neither hhm_db nor a3m_db.
I'm beginning to think perhaps its because I didn't set up the config at step 2 here https://github.com/soedinglab/hh-suite/tree/master/scripts/hhpred However I don't even have an hhpred folder or the config file.
Again, thank you for your help.
you have, in databases folder (on desktop). pdb70_hhm.ffdata, not 79. Remove also
-nocons
. It is not working. briantn97you are looking for
db=$(find ~/Applications/HHSuite/databases/pdb70 -type f -name "pdb79_hhm.ffdata")
instead ofdb=$(find ~/Applications/HHSuite/databases/pdb70 -type f -name "pdb70_hhm.ffdata")
It looks like from the github, that you only need the config file if you’re using the hhsearch perl script. The binary may not need this.
I’ll have to go and install 3.0 and see what’s up as I’m stumbling around in the dark now.
Hello cpad0112,
I removed the as well as -nocons and other errors however, it still didn't work sadly, Still gives me the missing files. I installed it on Ubuntu using Apt-get version 3.0 using Apt-get which makes me worry because it seems this method doesn't contain all proper files. So if you do install it this way please let me know if you get it working.
It appears they’ve removed or changed
-nocons
in 3.0.x, but that seems to just be a warning. Did it successfully run or were there more errors?So I also removed -nocons and all the other missing variables however still gives the same missing databases.
Which version are you using? With my v 3.0.3, hhsearch doesn't need suffix like _hhm.ffdata thus I think
will work (didn't checked cuz i don't have enough disk space to download pdb70 sorry).
PS. I can't remember well but version 2 or so, it needs full filename of hmm database like this
Verson 2.x requires you to point the command at the
_hmm.ffdata
file.hhblits
and other tools in the suite require the other files. If OP is on a 2.x version, their specification of the DB name should be correct as far as I can work out.I see. thank you. I haven't used v2.x these days.
Hello fishgolden,
I do indeed have 3.0.3, I just tried without the suffix however it still can't find it. I'm beginning to believe it's because the I installed hhsuite with apt-get. May I ask how you installed it?
Sorry, I can remember that I tried both; compile from source code & apt-get, and I'm not sure which one is working now.
By the way, according to your screen shot, the path to the database is different from that of you showed in the original post
is now
There may be typos in my texts so please don't copy & paste from mine ,and do not use "find" and shell script (you should not use complicated method when you are checking bugs). Please check you are surely indicating the correct path.
I have the database folder in both places to see if it would work if it was on my personal account.
Please share (copy & paste) command you used and error messages you got.
Please do not use "find".