Clustal errors
  • I have been trying to get clustal to run with bioperl for what seems like ages. A couple of the ways I have tried are posted here
    <!-- m --><a class="postlink" href="http://www.lifesci.ucsb.edu/~ostman/clustal.html">http://www.lifesci.ucsb.edu/~ostman/clustal.html</a><!-- m -->

    Please take a quick look if you have gotten clustal to run.

    OR if you could post an example of a working clustal call...
  • It is difficult to test the code without the input files. The third error is a compilation error. You need a semi-colon after this line:
    use Bio::Align::AlignI;
  • Having added the semicolon , I now just get a warning that the call crashed:
    WARNING
    MSG: Clustalw call ( align -infile=/tmp/bVAPEIWTAf/osmBXTWzVC -output=gcg -ktuple=1 -outfile=/tmp/bVAPEIWTAf/3IeGnfpb5V >/dev/null 2>/dev/null) crashed: 32512

    I just have no idea why.

    try.fasta is standard fasta:

    >1
    MRMRGRRLLPIILSLLLIVLLSLCYFSNHLRDSSQSRKNGFLLHLPLETKRNPSNPNTPLSNLLNLTDFH
    YLLASNVCRKAKRELLVTSYAGHDALRSAHRQAIPQSKLEEMGLRRVFLLAALPSREHFISQDQLASEQN
    >2
    MTDFVELMNSMSSTFNSDCATSTAEGGTLLNLNLAEDKTLKWRNLANNQFASKEKKHKDKEEEERKEARN
    QEEIEDIKALLADVVDAAAVKLEEEEAQNAEKVEPHTKCEIEEEGRKEMEYDQDVAKQDSEMEKKQNGKA
    TSITVKMESNERAEKHATEIATTSTERWENESFKTEQQNKKAAEKEEEPILAATQKLEANAEPLTTTRIE
    VAVASPLVVSSASVKLAADATNQMRAATSAGAATLADKNVQVSPGGTRRSRRTPRPIDTPTSVTDEHVQV
  • for the first one, the exception complains about the 'output' tag. Remove it,
    @params = ('ktuple' =&gt; 2, 'matrix' =&gt; 'BLOSUM', 'outfile' =&gt; 'clustal_out&#46;fa');
    
    then uncomment the line of code:
      #$inputfilename = '/home/users/ostman/genomes/drosophila/clustal/try&#46;fasta';
    
    and it works.

    Running the third script I got a different exception message...
    EXCEPTION
    MSG: Got a sequence with no letters in - cannot guess alphabet []
    STACK Bio::PrimarySeq::_guess_alphabet /usr/lib/perl5/site_perl/5.8.0/Bio/PrimarySeq.pm:839
    STACK Bio::PrimarySeq::seq /usr/lib/perl5/site_perl/5.8.0/Bio/PrimarySeq.pm:280
    STACK Bio::PrimarySeq::new /usr/lib/perl5/site_perl/5.8.0/Bio/PrimarySeq.pm:217
    STACK Bio::LocatableSeq::new /usr/lib/perl5/site_perl/5.8.0/Bio/LocatableSeq.pm:100
    STACK Bio::AlignIO::msf::next_aln /usr/lib/perl5/site_perl/5.8.0/Bio/AlignIO/msf.pm:133
    STACK Bio::Tools::Run::Alignment::Clustalw::_run /usr/lib/perl5/site_perl/5.8.0/Bio/Tools/Run/Alignment/Clustalw.pm:586
    STACK Bio::Tools::Run::Alignment::Clustalw::align /usr/lib/perl5/site_perl/5.8.0/Bio/Tools/Run/Alignment/Clustalw.pm:507
    STACK main::vary_params align.pl:96
    STACK toplevel align.pl:52

    In the vary_params subroutine uncomment the line of code:
    #        $string = $aln-&gt;consensus_string(); # Get consensus of alignment
    
    and it works.