[Bioperl-l] Bioperl 1.5.2 RC2
Niels Larsen
niels at genomics.dk
Tue Oct 17 16:58:14 UTC 2006
Ok, here are ways to reproduce; I sure apologize if I made the
test scripts wrong. And I suppose EBI/DDBJ's interfaces are not
a bioperl issue really.
Niels
------------ EBI
I invoked the EBI script
http://www.ebi.ac.uk/Tools/webservices/downloads/WSWUBlastSOAPLite.zip
like this
WSWUBlastClient.pl -p blastn -D embl test.fasta
where the content of test.fasta is below, and got
Can't find method element in the message at
/ebi/extserv/bin/perl-5.8.3/lib/site_perl/5.8.3/SOAP/Lite.pm line 2311.
>Planctomyces sp. 282; Genbank Taxonomy ID: 79927
AATGAACGTTGGCGGCATGGATTAGGCATGCAAGTCGAGGGAGAACCCGCAAGGGGACACCGGCG
AACGGGGTAGGAATACATAGGTAACGTACCCTCAGGACGGGGATAGCCAAGGGAAACTTTGGGTA
ATACCCGATGTGATGGCAAGATGTGAATGCTTGTCATCAAAGGTGAGATTCCACCTGAGGAGCGG
CTTATGCATCATTAGCTTGTTGGCGGGGTAACGGCCCACCAAGGCTGCGATGATTAGGGGGTGTG
AGAGCATGGCCCCCACCACTGGCACTGAGACACTGGCCAGACACCTACGGGTGGCTGCAGTCGAG
I tried with this test sequence in fasta format and with just the
sequence.
------------ DDBJ
Inspired by this page,
http://xml.nig.ac.jp/doc/Blast.txt
I made this test script
------ cut --
#!/usr/bin/env perl
use strict;
use warnings FATAL => qw ( all );
my ( $service, $seqstr, $result );
use SOAP::Lite;
use Data::Dumper;
$service = SOAP::Lite->service('http://xml.nig.ac.jp/wsdl/Blast.wsdl');
$seqstr = "MSSRIARALALVVTLLHLTRLALSTCPAACHCPLEAPKCAPGVGLVRDGCGCCKVCAKQL";
$result = $service->searchSimple( "blastp", "SWISS", $seqstr );
print Dumper( $result );
------ cut --
which for me prints undef.
------------- NCBI/Bioperl
I installed 1.5.2-RC2, looked at the RemoteBlast example in
http://www.bioperl.org/wiki/Bptutorial.pl
and then put that into this test code, more or less cut/paste,
--- cut --
#!/usr/bin/env perl
use strict;
use warnings FATAL => qw ( all );
use Bio::Tools::Run::RemoteBlast;
use Data::Dumper;
my ( $remote_blast, $r, $rc, $rid, @rids );
$remote_blast = Bio::Tools::Run::RemoteBlast->new (
-prog => 'blastn', -data => 'ecoli', -expect => '1e-10' );
$r = $remote_blast->submit_blast("ecoli.fasta");
while ( @rids = $remote_blast->each_rid )
{
# print Dumper( \@rids );
for $rid ( @rids ) {
$rc = $remote_blast->retrieve_blast($rid);
# print Dumper( $rc );
}
sleep 10;
}
--- cut --
which saves the same blast report to TMPDIR for every 10 seconds.
The "ecoli.fasta" file contains this
>test
gggggctctgttggttctcccgcaacgctactctgtttaccaggtcaggtccggaaggaa
gcagccaaggcagatgacgcgtgtgccgggatgtagctggcagggcccccaccc
Maybe I am supposed to add a check for content in $rc and then stop
the inner loop? I could figure that out maybe, but I wish there was a
function which simply takes a single sequence + arguments and only
returns a list of matches when done, and does not return until then
(or until a specified timeout).
------------------------------------------------------------------------
Niels Larsen
Danish Genome Institute
Gustav Wieds vej 10 C
DK-8000 Aarhus C
Denmark
Electronic mail: niels at genomics.dk
Skype: niels_larsen_denmark
Telephone: +45-8942-5268
Telefax: +45-8620-1222
------------------------------------------------------------------------
More information about the Bioperl-l
mailing list