Simple Sequence alignment, StandAloneBlast build failure, and also seeking advice

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Simple Sequence alignment, StandAloneBlast build failure, and also seeking advice

Demian Riccardi
Hello,

Does BioPerl provide a method for calculated sequence identity or does that only exist via external programs, such as Blast+?  I followed along with the AlignIO_and_SimpleAlign HowTo, but Bio::Tools::Run::StandAloneBlast is failing to build 
...

------------- EXCEPTION -------------

MSG: Unknown version output: blastdbcmd: 2.7.1+

 Package: blast 2.7.1, build Oct 18 2017 20:40:57

....


which is a little frustrating. A nice slow method would be just fine for a proof of principle for now, but I can't find one.

Below is a little script displaying my dream (it uses a DBIx::Class database I wrote that has a bunch around 80K sequences that I'd like to play with using BioPerl). Any advice is appreciated. My apologies if I failed to find something obvious in the docs or how tos! 

Thanks,
Demian

use Modern::Perl;

use lib 'lib';


use CysDB::Schema;

use Bio::Seq;

use Data::Dumper;


my $schema = CysDB::Schema->connect('dbi:SQLite:cys.db');


my $chain1 = $schema->resultset('ChainCys')->find({id => 1} );

my $chain3 = $schema->resultset('ChainCys')->find({id => 3} );


my $seq1 = Bio::Seq->new(-seq => $chain1->sequence, -alphabet => 'protein');

my $seq3 = Bio::Seq->new(-seq => $chain3->sequence, -alphabet => 'protein');


#my dream


say some_align_function_returning_alignobject($seq1,$seq3)->percent_identity


# Problem area comment

#use  Bio::Tools::Run::StandAloneBlast;



#$factory = Bio::Tools::Run::StandAloneBlast->new(-outfile => 'bl2seq.out');


#my $bl2seq_report = $factory->bl2seq($seq1, $seq2)


#print Dumper $bl2seq;


 

_______________________________________________
Bioperl-l mailing list
[hidden email]
http://mailman.open-bio.org/mailman/listinfo/bioperl-l
Reply | Threaded
Open this post in threaded view
|

Re: Simple Sequence alignment, StandAloneBlast build failure, and also seeking advice

Roy Chaudhuri-3
Hi Demian,

There are some alignment algorithms built in to BioPerl, e.g.
Bio::Tools::pSW, Bio::Tools::dpAlign, as well as bioperl-run interfaces
to external tools such as BLAST, ClustalW, Muscle etc. Once you have an
alignment, then Bio::SimpleAlign has a percentage_identity method (and
there are more sophisticated distance measures available via
Bio::Align::ProteinStatistics and Bio::Align::DNAStatistics).

By the way, if you want to run Blast+ then you should be using
Bio::Tools::Run::BlastPlus not Bio::Tools::Run::StandAloneBlast (which
is for legacy BLAST - I guess that may explain why it's failing to build).

Cheers,
Roy.

On 08/12/2017 17:40, Demian Riccardi wrote:

> Hello,
>
> Does BioPerl provide a method for calculated sequence identity or does
> that only exist via external programs, such as Blast+?  I followed along
> with the AlignIO_and_SimpleAlign HowTo, but
> Bio::Tools::Run::StandAloneBlast is failing to build
> ...
>
> ------------- EXCEPTION -------------
>
> MSG: Unknown version output: blastdbcmd: 2.7.1+
>
>   Package: blast 2.7.1, build Oct 18 2017 20:40:57
>
> ....
>
>
> which is a little frustrating. A nice slow method would be just fine for
> a proof of principle for now, but I can't find one.
>
> Below is a little script displaying my dream (it uses a DBIx::Class
> database I wrote that has a bunch around 80K sequences that I'd like to
> play with using BioPerl). Any advice is appreciated. My apologies if I
> failed to find something obvious in the docs or how tos!
>
> Thanks,
> Demian
>
> use Modern::Perl;
>
> use lib'lib';
>
>
> use CysDB::Schema;
>
> use Bio::Seq;
>
> use Data::Dumper;
>
>
> my$schema= CysDB::Schema->connect('dbi:SQLite:cys.db');
>
>
> my$chain1= $schema->resultset('ChainCys')->find({id=> 1} );
>
> my$chain3= $schema->resultset('ChainCys')->find({id=> 3} );
>
>
> my$seq1= Bio::Seq->new(-seq=> $chain1->sequence, -alphabet=> 'protein');
>
> my$seq3= Bio::Seq->new(-seq=> $chain3->sequence, -alphabet=> 'protein');
>
>
> #my dream
>
>
> say some_align_function_returning_alignobject($seq1,$seq3)->percent_identity
>
>
> # Problem area comment
>
> #use  Bio::Tools::Run::StandAloneBlast;
>
>
>
> #$factory = Bio::Tools::Run::StandAloneBlast->new(-outfile => 'bl2seq.out');
>
>
> #my $bl2seq_report = $factory->bl2seq($seq1, $seq2)
>
>
> #print Dumper $bl2seq;
>
>
>
>
> _______________________________________________
> Bioperl-l mailing list
> [hidden email]
> http://mailman.open-bio.org/mailman/listinfo/bioperl-l
>
_______________________________________________
Bioperl-l mailing list
[hidden email]
http://mailman.open-bio.org/mailman/listinfo/bioperl-l