Hello,
Bio::EnsEMBL::Transcript::translate calls
$peptide->translate(undef,undef,undef,$codon_table) without providing
the extra argument to Bio::PrimarySeqI::translate ($fullCDS or
$complete5) that causes the method to honour alternative start codons in
the genetic code. So the fix (which would also correct protview) would
be to pass that argument when appropriate from
Bio::EnsEMBL::Transcript::translate.
Alexandre
Arnaud Kerhornou wrote:
Hi everyone,
We are setting up a Mart database for bacterial genomes. I was looking
at the peptide sequence attribute. So far it seems fine except sometimes
the first amino acid which should be a Methionine is displayed as a
different amino acid.
Roughly, the rule is, if the CDS is complete and if the first amino acid
is not a methionine, then replace it by a methionine:
e.g. see Bioperl code, Bio::PrimarySeqI->translate():
## Only if we are expecting to translate a complete coding region
if ($complete) {
# ...
# if the initiator codon is not ATG, the amino acid needs to be
changed to M
if ( substr($output,0,1) ne 'M' ) {
if ($codonTable->is_start_codon(substr($seq, 0, 3)) ) {
$output = 'M'. substr($output,1);
} elsif ($throw) {
$self->throw("Seq [$id]: Not using a valid initiator
codon!");
} else {
$self->warn("Seq [$id]: Not using a valid initiator
codon!");
}
}
}
How do you translate CDS sequences in Martview, is it made on the fly
within the Biomart perl API ?
Is there a way of fixing this translation issue ?
Thanks
Arnaud
--
--------------------------------------------------------
Alexandre Gattiker Bioinformatics & Biostatistics Core Facility
EPFL School of Life Sciences / Faculté des Sciences de la vie FSV
http://people.epfl.ch/Alexandre.Gattiker