[Bioperl-l] Bio::Tools::OddCodes

Heikki Lehvaslaiho heikki@ebi.ac.uk
Thu, 13 Jul 2000 10:05:43 +0100

Dear All,

I just notices that Derek Gatherer
(D.Gatherer@organon.nhe.akzonobel.nl) have submitted a nice class to
rename amino acid sequences according to some amino acid properties.
See below for synopsis. Thanks Derek!

In a related note: I'd like to ask if anyone on the list might know is
there is commonly agreed definition to yet an other way of amino acid
change classification: Synonymous and non-synonymous are commonly used
terms in population genetic papers to classify coding region mutations
but they are never defined. Most probably their definiton is based on
something similar to Derek's 'functional' alphabet. 

Can anyone tell me if synonymous amino acid changes are _identical_ to
Derek's functional change?


head1 NAME

Bio::Tools::OddCodes - Object holding alternative alphabet coding for 
one protein sequence


Take a sequence object from eg, an inputstream, and creates an object 
for the purposes of rewriting that sequence in another alphabet.
These are abbreviated amino acid sequence alphabets, designed to 
simplify the statistical aspects of analysing protein sequences, 
by reducing the combinatorial explosion of the 20-letter alphabet.  
These abbreviated alphabets range in size from 2 to 8.

Creating the OddCodes object, eg:

        my $inputstream = Bio::SeqIO->new( -file => "seqfile", -format
        my $seqobj = $inputstream->next_seq();
        my $oddcode_obj = Bio::Tools::Oddcodes->new($seqobj);

        my $seqobj = Bio::PrimarySeq->new(-seq=>'[cut and paste a
here]', -moltype = 'protein', -id = 'test');
        my $oddcode_obj  =  Bio::Tools::OddCodes->new($seqobj);

do the alternative coding, returning the answer as a reference to a

        my $output = $oddcode_obj->structural();
        my $output = $oddcode_obj->chemical();
        my $output = $oddcode_obj->functional();
        my $output = $oddcode_obj->charge();
        my $output = $oddcode_obj->hydrophobic();
        my $output = $oddcode_obj->Dayhoff();
        my $output = $oddcode_obj->Sneath();
        my $output = $oddcode_obj->Stanfel();

display sequence in new form, eg:

        my $new_coding = $$output;
        print "\n$new_coding";

______ _/      _/_____________________________________________________
      _/      _/                      http://www.ebi.ac.uk/mutations/
     _/  _/  _/  Heikki Lehvaslaiho          heikki@ebi.ac.uk
    _/_/_/_/_/  EMBL Outstation, European Bioinformatics Institute
   _/  _/  _/  Wellcome Trust Genome Campus, Hinxton
  _/  _/  _/  Cambs. CB10 1SD, United Kingdom
     _/      Phone: +44 (0)1223 494 644   FAX: +44 (0)1223 494 468
___ _/_/_/_/_/________________________________________________________