Hi Syed,
Yes, we do replicate it, although this particular case occurs when the
translation table is 11, so not for vertebrates.
The rule is that if the start codon is one of the valid ones according
to the translation table used, usually 11, see
http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html#7.5.5
the codon codes for a methionine. For translation table 11, these are
TTA. CTG. ATT, ATC. ATA. ATG and GTG.
To me, it is not a post-translational modifications and should not be
represented in the database by any extra attributes.
It is just a matter of fact that the translation code should be aware
that when the CDS is complete, the first codon is always a methionine
even if the genetic code says it is a valine or a leucine.
As mentioned in the previous email, the Ensembl API doesn't need any
extra information in the schema, and can deal correctly with such cases.
cheers,
Arnaud
Syed Haider wrote:
Hi Arnaud,
As I understand, you are replicating 'ensembl vertebrates' data model
for your 'bacterial genomes'. In Ensembl Vertebrates, the information
for changing the first amino acid to 'methionine' comes as a
post-translation modification, which sits in a separate database
column. Please see if thats the case in your mart too.
Thanks
Syed
Arek Kasprzyk wrote:
On 13/11/08 1:00 PM, "Arnaud Kerhornou" <[EMAIL PROTECTED]> 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 ?
Hi Arnaud,
Yes it is. Let us investigate what's going on there and we'll get
back to
you with a suggestion
A.
Is there a way of fixing this translation issue ?
Thanks
Arnaud