[Bioperl-l] Codon Table
Heikki Lehvaslaiho
heikki at ebi.ac.uk
Fri Oct 17 09:51:21 EDT 2003
Mick,
I really have not thought about this possibility. CodonTable can easily
be modified, but there is no way of passing the modified codontable
object to sequence::translate. The translate function has really complex
argument list already, so there is no way we can add anything in there.
Depending what you want to do, it might be enough to modify the
codontable object and use its translate function. Compare it to
Bio::PrimarySeqI::translate to see what I mean. If you need full
seq::translate functionality, Bio::SeqUtils is the place to put the
code, e.g. $polypept = Bio::SeqUtils::translate($seq, $codontable);
I wrote the following method to be added into Bio::Tools::CodonTable. If
you think it is useful, I can commit it.
Yours,
-Heikki
=head2 add_table
Title : add_table
Usage : $newid = $ct->add_table($name, $table, $starts)
Function: Add a custom Codon Table into the object.
Know what you are doing, only the length of
the argument strings is checked!
Returns : the id of the new codon table
Args : name, a string, optional (can be empty)
table, a string of 64 characters
startcodons, a string of 64 characters, defaults to standard
=cut
sub add_table {
my ($self, $name, $table, $starts) = @_;
$name ||= 'Custom'. scalar @NAMES + 1;
$starts ||= $STARTS[0];
$self->throw('Suspect input!')
unless length($table) == 64 and length($starts) == 64;
push @NAMES, $name;
push @TABLES, $table;
push @STARTS, $starts;
return scalar @NAMES;
}
usage:
$ct_id = $ct->add_table(@custom_table);
$ct->id($ct_id);
$string = $ct->translate($nt_string);
On Tue, 2003-10-14 at 17:03, michael watson (IAH-C) wrote:
> Hi
>
> I want to use a different codon table than any that are present in CodonTable.pm. Does Bioperl have a way to implement this? Or will I have to hack CodonTable.pm?
>
> Thanks
> Mick
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at portal.open-bio.org
> http://portal.open-bio.org/mailman/listinfo/bioperl-l
--
______ _/ _/_____________________________________________________
_/ _/ http://www.ebi.ac.uk/mutations/
_/ _/ _/ Heikki Lehvaslaiho heikki_at_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
___ _/_/_/_/_/________________________________________________________
More information about the Bioperl-l
mailing list