Problem With Buildali.Pl From Hhsearch
2
1
Entering edit mode
12.4 years ago

Hi everyone I am trying to use HHSearch and HHRepID.

But I am having problems in running the buildali.pl script.

I filled with the paths in the lines:


my $dbbase="/home/gonzalo/blast-2.2.16/db/nr"; # will use PSI-BLAST dbs $dbbase."90" and    $dbbase."70"  
my $hh=".";
my $perl=$hh;
my $ncbidir="/home/gonzalo/blast-2.2.16/bin"; # directory with ncbi BLAST binaries
my $blastpgp="$ncbidir/blastpgp -I T -s T"; # blastpgp executable
our $blastpgp.= " -I T -s T"; # show gi's in defline; use Smith-Waterman

But I got the following error when I run it:

Building alignment for query with PSI-BLAST ...
$  -I T -s T -b 20000 -v 1 -e 0.001 -d /home/gonzalo/blast-2.2.16/db/nr90 -i /tmp/gonzalo/21668/P25963.seq &> /tmp/gonzalo/21668/P25963.bla
sh: Illegal option -

It is like the variable our $blastpgp is empty. I never used variables declared with our, and I'm not getting it. Why there are two variables called the same declared with my and our in the same script?

I tried to modify the line:

our $blastpgp.= " -I T -s T"; # show gi's in defline; use Smith-Waterman

with

our $blastpgp.= "blastpgp -I T -s T"; # show gi's in defline; use Smith-Waterman

But it give me the following error

$ ./reformat.pl -M first -noss a3m a3m P25963.seq /tmp/gonzalo/23720/P25963.in.a3m -> 1     $ ./reformat.pl -r a3m psi /tmp/gonzalo/23720/P25963.in.a3m /tmp/gonzalo/23720/P25963.psi -> 1

Building alignment for /tmp/gonzalo/23720/P25963 (sp|P25963|IKBA_HUMAN)
Building alignment for query with PSI-BLAST ... $ blastpgp -I T -s T -b 20000 -v 1 -e 0.001 -d /home/gonzalo/blast-2.2.16/db/nr90 -i /tmp/gonzalo/23720/P25963.seq &> /tmp/gonzalo/23720/P25963.bla $ ./alignhits.pl -cov 80 -e 0.001 -bl 0.33 -bs 0.67 -best -psi -q /tmp/gonzalo/23720/P25963.seq /tmp/gonzalo/23720/P25963.bla /tmp/gonzalo/23720/P25963.core.psiError in alignhits.pl: blast output file /tmp/gonzalo/23720/P25963.bla truncated:

Error in buildali.pl: could not parse the result of ./alignhits.pl -cov 80 -e 0.001 -bl 0.33 -bs 0.67 -best -psi -q /tmp/gonzalo/23720/P25963.seq /tmp/gonzalo/23720/P25963.bla /tmp/gonzalo/23720/P25963.core.psi: regex=^(\d+) sequences extracted     gonzalo@malbec:~/Desktop/HHrepID/hh_1.5.0.linux64$ BLASTP 2.2.16 [Mar-25-2007]

Reference: Altschul, Stephen F., Thomas L. Madden, Alejandro A. Schaffer, Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997), "Gapped BLAST and PSI-BLAST: a new generation of protein database search programs", Nucleic Acids Res. 25:3389-3402.

Reference for composition-based statistics: Schaffer, Alejandro A., L. Aravind, Thomas L. Madden, Sergei Shavirin, John L. Spouge, Yuri I. Wolf, Eugene V. Koonin, and Stephen F. Altschul (2001), "Improving the accuracy of PSI-BLAST protein database searches with composition-based statistics and other refinements", Nucleic Acids Res. 29:2994-3005.

Query= sp|P25963|IKBA_HUMAN NF-kappa-B inhibitor alpha OS=Homo sapiens GN=NFKBIA PE=1 SV=1 (317 letters)
Database: nr90 3,820,465 sequences; 1,326,381,835 total letters
Searching.................................................

The blast ends working but is like the script does not wait it for ending and says that the report is truncated because it wants to read it before is done.

I don't know what is going on, i'd be very glad if someone could put some light on it

Thanks in advance

perl hmm • 4.3k views
ADD COMMENT
0
Entering edit mode

For future reference, please indent lines of code and terminal output with 4 spaces to make it readable. Edited for you this time.

ADD REPLY
0
Entering edit mode

There is something funky going on with scope of your $blastpgp variable. You first declare it as a "my" variable, then you create an 'our' version and append to it?

ADD REPLY
0
Entering edit mode

Did u try the script after removing this line "our $blastpgp.= " -I T -s T";" ?

ADD REPLY
0
Entering edit mode

Thanks for commenting, I tried removing the "our $blastpgp line and it works but with errors. I don't know why the variable $blastpgp is declared with my and our, but this code is from a very well known tool and is supossed to work.

I'll take into account the indention issue for next posts. thanks in advance.. hope can help me to figure out what's going on cause I really need to run this program.

Best

ADD REPLY
3
Entering edit mode
12.1 years ago

Hi Gonzalo,

since HHsuite version 2.0, the buildali.pl script has been replaced by a new binary, hhblits. HHblits does the same as PSI-BLAST and buildali.pl: It builds a multiple sequence alignment (MSA) from a starting sequence or MSA. But it is much more sensitive and also (I hope) more robust than buildali.pl. The open-source HH-suite can be downloaded from ftp://toolkit.lmb.uni-muenchen.de/HH-suite/

Concerning your buildali.pl problem: Your $blastpgp variable is not set correctly, as if it were overwritten by the line our $blastpgp.= " -I T -s T";. This line is superfluous, anyway, since the -i and -T flags were already set in the previous line. Removing it can only make it better.

Best regards,
Johannes Soeding

ADD COMMENT
0
Entering edit mode

Thank you vey much! I've tried what you said and a lot of thing more, maybe there's some environmental issue with my computer. I'll try hhblits.

Thanks again!

ADD REPLY
0
Entering edit mode
12.4 years ago

Hi Conzalo,

I noticed from your buildali run is, that you are using -i to specify your input data. buildali.pl only has the parameters -fas -clu -sto -a3m for the input sequences.

Perhaps this helps solving the problem.

Greetings
Joern

ADD COMMENT
0
Entering edit mode

I don't know if a get what you're saying. When I run the buildali.pl script i run it with a line like:

./buildali.pl query.seq

like the readme file from Soeding's ftp site says.

I don't see where is the -i that you are pointing at, maybe you mean the blastpgp?

Thanks for answering

ADD REPLY
0
Entering edit mode

I tried what you said, but it still does not work. The default option is sto, I tried with sto and fasta and didn't have lucky. I run it like:

./buildali.pl query.sto or ./buildali.pl -fas query.fas or ./buildali.pl -sto query.sto

I still don't know if I have to add the blastpgp to the line declared with our or should I keep it like it concatenates the value stored in the my declaration?

ADD REPLY

Login before adding your answer.

Traffic: 1989 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6