[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