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
For future reference, please indent lines of code and terminal output with 4 spaces to make it readable. Edited for you this time.
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?
Did u try the script after removing this line "our $blastpgp.= " -I T -s T";" ?
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