[Bioperl-l] Finding all human paralogues
Yuval Itan
y.itan at ucl.ac.uk
Thu Mar 16 20:19:36 UTC 2006
Dear Torsten,
I have followed your suggestions, and would be truly grateful for one more
hint.
I have updated the $PATH to include the directory of my Blast binaries. I have
also made a .ncbirc file which includes the path to the fasta file I have
downloaded (all human peptides):
[NCBI]
Data="/home/Yuval/Applications/blast/data/"
But when I am trying to run one sequence against the human peptides fasta
file, I get the following error message:
linux:/home/Yuval # perl test5
[blastall] WARNING: test: Unable to open Homo_sapiens.NCBI354.feb.pep.fa.pin
------------- EXCEPTION -------------
MSG: blastall call crashed: 256 /home/Yuval/Applications/blast/bin/blastall -p
blastp -d /Homo_sapiens.NCBI354.feb.pep.fa -i /tmp/nvkaUCJjDq
-o /tmp/klP53IHZKj
STACK
Bio::Tools::Run::StandAloneBlast::_runblast /home/Yuval/bioperl-live/Bio/Tools/Run/StandAloneBlast.pm:633
STACK
Bio::Tools::Run::StandAloneBlast::_generic_local_blast /home/Yuval/bioperl-live/Bio/Tools/Run/StandAloneBlast.pm:602
STACK
Bio::Tools::Run::StandAloneBlast::blastall /home/Yuval/bioperl-live/Bio/Tools/Run/StandAloneBlast.pm:489
STACK toplevel test5:72
--------------------------------------
I would be grateful for any hint. These are the relevant lines of the code:
my $i = 0; #for the first sequence in human database
my $seq1 = $human_genes->[$i]->get_longest_peptide_Member()->sequence;
my @params = (program => 'blastp', database =>
'Homo_sapiens.NCBI354.feb.pep.fa', _READMETHOD => 'SearchIO' );
my $blast_obj = Bio::Tools::Run::StandAloneBlast->new(@params);
my $seq_obj = Bio::Seq->new(-id =>"test query", -seq =>$seq1);
my $report_obj = $blast_obj->blastall($seq_obj);
my $result_obj = $report_obj->next_result;
print $result_obj->num_hits;
Many thanks for everything.
Yuval
On Wednesday 15 March 2006 01:52, you wrote:
> Yuval,
>
> > -------------------- WARNING ---------------------
> > MSG: cannot find path to blastall
> > ---------------------------------------------------
> > Can you suggest how to solve that?
>
> Have you installed the blast binaries?
> Are they in your $PATH?
> Have you created a $HOME/.ncbirc file?
>
> Please read http://www.ncbi.nlm.nih.gov/blast/docs/
> and http://doc.bioperl.org/bioperl-live/Bio/Tools/Run/StandAloneBlast.html
>
> > Also, I would like to have the Blastp function inside my own programme.
> > Is there any available source code for that?
>
> BLAST is part of the NCBI toolkit:
> http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/
>
> > my $human_genes = $comparadb->get_MemberAdaptor->fetch_by_source_taxon(
> > 'ENSEMBLGENE', 9606); # getting all human genes
> > my @params = (program => 'blastp', database => $human_genes, _READMETHOD
> > => 'SearchIO' );
>
> 'database' has to be the name of the database of sequences to blast
> against. This has to exist as a set of blast index files on your disk.
> The 'formatdb' program can be used to create this. You appear to be
> passing some Perl object instead?
>
> Please read http://www.ncbi.nlm.nih.gov/blast/docs/
>
> > my $blast_obj = Bio::Tools::Run::StandAloneBlast->new(@params);
> > my $seq_obj = Bio::Seq->new(-id =>"test query", -seq
> > =>$human_genes->[$i]->get_longest_peptide_Member()->sequence);
> > my $report_obj = $blast_obj->blastall($seq_obj);
>
> die "unable to blastall" if not defined $report_obj;
>
> > my $result_obj = $report_obj->next_result;
>
> die "no result found" if not defined $result_obj;
More information about the Bioperl-l
mailing list