[Bioperl-l] Simple Sequence alignment, StandAloneBlast build failure, and also seeking advice

Roy Chaudhuri roy.chaudhuri at gmail.com
Thu Dec 28 14:16:10 UTC 2017


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
> Bioperl-l at mailman.open-bio.org
> http://mailman.open-bio.org/mailman/listinfo/bioperl-l
> 


More information about the Bioperl-l mailing list