[Bioperl-l] quick pairwise alignment
Alper Yilmaz
alperyilmaz at gmail.com
Tue Nov 25 18:15:56 UTC 2008
Hi,
I am getting two nucleotide sequences from a database and I want to quickly
align and view the result online(I'll wrap it in HTML). The examples I saw
online require saving files (either output file or input file). I tried
StandAloneBlast and tried to pass the sequences as Bio::Seq elements as
shown below
First I tried the Bioperl tutorial, section "IV.2.2 Aligning 2 sequences
with Blast using bl2seq and AlignIO"
$factory = Bio::Tools::Run::StandAloneBlast->new('outfile' => 'bl2seq.out');
my $seq1='AGCTACGATCAGCACTACGACTACGACTACGACTACACTAGCTAC' ;
my $seq2='AGCTACGATCACCACTACGACTACGGCTACGACTACACGAGCTAC' ;
$bl2seq_report = $factory->bl2seq($seq1, $seq2);
The result I got was the following error:
------------- EXCEPTION: Bio::Root::Exception -------------
MSG: AGCTACGATCAGCACTACGACTACGACTACGACTACACTAGCTAC not Seq Object or file
name!
Then I used Bio::Seq objects as shown:
my $factory = Bio::Tools::Run::StandAloneBlast->new('outfile' =>
'/tmp/bl2seq.out');
my $seq1 = Bio::Seq->new(-id=>$seqname1,-seq=>$ntseq1);
my $seq2 = Bio::Seq->new(-id=>$seqname2,-seq=>$ntseq2);
my $alignment = $factory->bl2seq($seq1, $seq2);
- The result I got is bl2seq crashed error. As fas as I can tell
StandAloneBlast cannot write to temporary files that are defined by
"_rootio_tempfiles" in Bio::Root::IO. The detail is below:
------------- EXCEPTION: Bio::Root::Exception -------------
MSG: bl2seq call crashed: 256 | No such file or directory | /usr/bin/bl2seq
-j /tmp/sNpLUbS6jJ -i /tmp/aNWLAj_ZDN -o /tmp/bl2seq.out
So, is there a way to do alignments without reading/writing files? Is there
a quick way to align two sequence that are kept in $seq1 and $seq2
variables? I had trouble installing Bioperl-Ext package, if there's a tool
in that package I can try harder to install Ext package.
thanks,
alper
More information about the Bioperl-l
mailing list