[Bioperl-l] Trouble with Clustalw

Mgavi Brathwaite lsbrath at gmail.com
Thu Aug 6 20:49:56 UTC 2009


Hi Micheal,

Have you considered calling clustalw from perl's "system" command and
passing in the files for alignment?

Mgavi

On Thu, Aug 6, 2009 at 4:25 PM, Chris Fields <cjfields at illinois.edu> wrote:

> 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
>>
>
> _______________________________________________
> 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