[Bioperl-l] Trouble with Clustalw

Chris Fields cjfields at illinois.edu
Thu Aug 6 20:25:45 UTC 2009


Michael,

Are you using ClustalW 2?  I'm not sure but I don't think the wrapper  
has been updated for the latest version (I think parsing still works,  
though).

chris

On Aug 6, 2009, at 2:12 AM, Michael Rosen wrote:

> I'm a complete bioperl novice, trying to do Clustalw on some fasta  
> files, and am running into trouble:
>
> ~/454DATA> perl TestClust BlastedReads/A0220B0939all.fasta
> Use of uninitialized value in concatenation (.) or string at /usr/ 
> pubsw/lib/perl5/site_perl/5.8.8/Bio/Tools/Run/Alignment/Clustalw.pm  
> line 550.
> Use of uninitialized value in concatenation (.) or string at /usr/ 
> pubsw/lib/perl5/site_perl/5.8.8/Bio/Tools/Run/Alignment/Clustalw.pm  
> line 551.
> Can't exec "align": No such file or directory at /usr/pubsw/lib/ 
> perl5/site_perl/5.8.8/Bio/Tools/Run/Alignment/Clustalw.pm line 555.
>
> ------------- EXCEPTION: Bio::Root::Exception -------------
> MSG: Clustalw call ( align  -infile=/tmp/6g7vpegtdP/tBlfRYOnKf - 
> output=gcg   -outfile=/tmp/6g7vpegtdP/4WWjuhKS3p) crashed: -1
>
> STACK: Error::throw
> STACK: Bio::Root::Root::throw /usr/pubsw/lib/perl5/site_perl/5.8.8/ 
> Bio/Root/Root.pm:328
> STACK: Bio::Tools::Run::Alignment::Clustalw::_run /usr/pubsw/lib/ 
> perl5/site_perl/5.8.8/Bio/Tools/Run/Alignment/Clustalw.pm:556
> STACK: Bio::Tools::Run::Alignment::Clustalw::align /usr/pubsw/lib/ 
> perl5/site_perl/5.8.8/Bio/Tools/Run/Alignment/Clustalw.pm:472
> STACK: TestClust:22
> -----------------------------------------------------------
>
> Here's my code:
>
> #!/usr/bin/perl -w
>
> use Bio::Perl;
> use Bio::AlignIO;
> use Bio::Tools::Run::Alignment::Clustalw;
> use Bio::SimpleAlign;
> use Bio::Seq;
> use strict;
> use warnings;
>
> my $factory = Bio::Tools::Run::Alignment::Clustalw->new();
> my @seq_array = read_all_sequences($ARGV[0],'fasta');
>
> for (my $i = 0; $i < @seq_array; $i++){
>    (my $seq = $seq_array[$i]->seq()) =~ s/-//g;
>    $seq_array[$i]->seq($seq);
> }
>
> write_sequence(">test",'fasta', at seq_array);
>
> my $seq_array_ref = \@seq_array;
> my $aln = $factory->align($seq_array_ref);
>
> my @align_array = $aln->each_seq();
> write_sequence(">testfile",'fasta', at align_array);
>
>
> The loop is just there to take out some gaps that were placed in a  
> blast previous to this. The write_sequence call confirms that  
> @seq_array is a valid array of Bio:Seq objects at the time align  
> calls it. Here's some output in "test":
>
> >A0220B0939one.1 FV584Q101DEWY9
> TAAAGGAGCGGTTCACTTCCCGCAGCCCGGCTACCAAGTATTCATCGAGGGGGCCGGTGC
> CACCCGCAACCAGGGAATAGGTGATGAAGCGGAGGTAGTAGCCGATGTCGCGGGCACACT
> TGGCCTGAAACACATCGCCGTGGCCCATTTCACCCGGCTGGGTCAAGTAAGGGAACCTCT
> TGAACACTTCCTGCACCGCTTCCCGCACCAGGGTTTGCTGATTGTTGGTTAGGACACGGG
> CCGCTTCCAGAGAAGCAGCAGCACGCTGGTAACGACCATTCACGGCCTGCAGCTCGCTGG
> CATTCAGAAAACGCCCTTGATTGTCAGCGGCAGCAATCGCTTCAGTGATGACGGTTTTCA
> CCTTGCAACTCCTAAATTCATCAATTGTGTTGTTAACGAACATTCTGTAGGAAAGGCGGA
> CTGGATCTCCACCTGCCTATCAGAAATGAAGGGATCTAACCGATCTAAAAAGGGACGACT
> AAGCCAGCTTCGACCCAAAGCTCAAACGATGGCG
> >A0220B0939one.2 FV584Q101A4DG7
> TCGAGGGGGCCGGTGCCACCCGCAACCAGGGAATAGGTAATGAAGCGGAGGTAGTAGCCG
> ATGTCGCGGGCACACTTGGCCTGAAACACATCGCCGTGGCCCATTTCCCCCGGCTGGGTC
> AAGTAAGGGAACCTCTTGAACACTTCCTGCACCGCTTCCCGCACCAGGGTTTGCTGATTG
> TTGGTTAGGACACGGGCCGCTTCCAGAGAAGCAGCAGCACGCTGGTAACGACCATTCACG
> GCCTGCAGCTCGCTGGCATTCAGAAAACGCCCTTGATTGTCAGCGGCAGCAATCGCTTCA
> GTGATGACGGTTTTCACCTTGCAACTCCTAAATTCATCAATTGTGTTGTTAACGAACATT
> CTGTAGGAAAGGCGGACTGGATCTCCACCTGCCTATTAGAAATGAAGGGATCTAACCGAT
> CTAAAAAGGACGACTAAGCCAGCTTCGACCCAAAGCTCAAACGATGGCGGCAGCAGCCTT
> ATCGAAGTAGCTGGCCACTTCGCTTTGCAGCG
> ...
>
> Thanks,
> Mike
>
>
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l




More information about the Bioperl-l mailing list