Question: Problem With Buildali.Pl From Hhsearch
1
gravatar for Gonzalo Parra
6.9 years ago by
Argentina
Gonzalo Parra40 wrote:

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 • 2.2k views
ADD COMMENTlink modified 6.9 years ago by Johannes Soeding40 • written 6.9 years ago by Gonzalo Parra40

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

ADD REPLYlink written 6.9 years ago by Neilfws48k

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 REPLYlink written 6.9 years ago by Torst880

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

ADD REPLYlink written 6.9 years ago by Naga440

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 REPLYlink written 6.9 years ago by Gonzalo Parra40
3
gravatar for Johannes Soeding
6.6 years ago by
Johannes Soeding40 wrote:

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 COMMENTlink written 6.6 years ago by Johannes Soeding40

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 REPLYlink written 6.6 years ago by Gonzalo Parra40
0
gravatar for Jörn Marialke
6.9 years ago by
Jörn Marialke0 wrote:

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 COMMENTlink written 6.9 years ago by Jörn Marialke0

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 REPLYlink written 6.9 years ago by Gonzalo Parra40

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 REPLYlink written 6.9 years ago by Gonzalo Parra40
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1683 users visited in the last hour