This is a test version of Biostars. For the public version, visit https://www.biostars.org.
tcoffee psicoffee mode local blast error

I am trying to run psicoffee mode with t_coffee on locally installed blast with a local database. I have installed latest blast+ on my system. It works fine for regular t_coffee.

I am following the TCoffee Documentation after installing TCoffee on my local system. However, I am stuck with the following errors

1. When I run t_coffee file.fasta -mode psicoffee -blast_server=LOCAL -protein_db=home/user/db, I get the following error

  --ERROR: # [FATAL:T-COFFEE]
   The Program legacy_blast.pl Needed by T-COFFEE Could not be found
   If legacy_blast.pl is installed on your system:
        -Make sure legacy_blast.pl is in your $path:

2. When I run t_coffee file.fasta -mode psicoffee -blast_server=/usr/bin/blastp, I get the following error

  --WARNING:
Impossible to find BLAST Templates
Check that your blast server is properly installed [See  
Documentation][FATAL:T-COFFEE]

I have added path to my local blast. Also tried to give path to legacy_blast.pl.

I have also tried to use the flags -blast_server and -protein_db without = as per T-Coffee documentation (pdf page 65 or document page 55). I am also following the documentation here.

I am lost at this point. I would be very glad if someone could help me out. Please let me know if you need more info.

Thank you

legacy_blast blast tcoffee

How did you "gave path" to legacy_blast.pl?

I would suggest to: 1) check if legacy_blast.pl is in your PATH (in terminal run "which legacy_blast.pl"), response should be a path to that file, if not then continue with 2. If it is in your path, then it may not be visible for t-coffee (maybe the tools are installed in different conda enviroments...)

~$ which legacy_blast.pl 
/usr/bin/legacy_blast.pl

2) check if blastn and blastp are in your PATH (run "which blastn" or blastp respectively) - means that blast is installed. If you don't see anything you need to install BLAST.

3) locate the path to legacy_blast.pl script and add path to legacy_blast.pl to your PATH

export PATH=$PATH:PATH_TO_LEGACY_BLAST (one - time for current terminal session)

or see this link on how to add path to PATH permanently: https://unix.stackexchange.com/questions/26047/how-to-correctly-add-a-path-to-path

This will add the blast_legacy.pl script to your PATH making it visible for t-coffee. (you can check by which ...)

How did you installed t-coffee anyway (binary, compiled yourself, conda, ..)?

Path I gave was right but yes you are right, both were installed in separate directories. When I just move legacy_blast.pl from /usr/bin to my cwd where t_coffee was installed and set path to that, it seems to recognize blast's existence. However, now I am stuck with the second error "Impossible to find BLAST Template".

I followed this link for installing t_coffee and am running the latest versions of t_coffee and blast (12.00.7fb08c2, 2.6.0 respectively). By the way, t_coffee and blastp both seems to work fine separately. So its not the installation now, but something else that I am missing.

Hi, I assume that you are trying to run psicoffee.

The most simplest solution from my point of view is to used -mode psicoffee without any -blast_server parameter. This will (according to the docs here) default to using web-service at EBI and you dont need to worry about anything.

If you really need local blast, then you need to setup it completely (docs). Apart from -blast_server=LOCAL you need -protein_db and/or -pdb_db. See provided link, it is quite extensive documentation about t-coffee.

Good luck

Hi, Yes omitting the -blast_server flag is definitely an option if I did not want to use my local protein_db. However, I have my own protein_db and it does not correspond to EBI/NCBI blast. Doing this creates new error saying that it could not find <protein_db> in their server, (which is obvious). So, I have to use LOCAL blast because I have my own protein_db. By the way, the protein_db was generated by "makeblastdb". Thank you Massa.

2 answers

I found the answer to the problem.


Problem 1: Path to blast was not right giving the error --ERROR: # [FATAL:T-COFFEE] The Program legacy_blast.pl Needed by T-COFFEE Could not be found If legacy_blast.pl is installed on your system: -Make sure legacy_blast.pl is in your $path:


Problem 2: It could not find the database on which blast has to run giving the error --WARNING: Impossible to find BLAST Templates Check that your blast server is properly installed [See Documentation][FATAL:T-COFFEE]


The right way is

#Command 1
>export PATH=$PATH:/path/to/blast/that/has/legacy_blast.pl/and/other/binaries/for/blast
#Command 2
>t_coffee <file.fasta> -mode psicoffee -blast_server=<LOCAL> -protein_db=<path/to/database>

So, note that Problem 1 occured because path to blast was not right (Command 1) Problem 2 occured because path was not given for the flag -protein_db (Command 2). Also, it is advisable to update to current version of Perl.

Just a note that I had a similar error caused by the perl script being named 'legacy_blast' instead of 'legacy_blast.pl' Usual sort of fix worked.

Log in to answer this question.