Skip to content

Commit e2273cd

Browse files
committed
Bio::Tools::CodonTable: update data from versino 4.2 to 4.9 (#391)
1 parent 66ccbe8 commit e2273cd

File tree

3 files changed

+115
-98
lines changed

3 files changed

+115
-98
lines changed

Changes

+6-1
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,14 @@ Summary of important user-visible changes for BioPerl
44
{{$NEXT}}
55
* Add minimum dependency on base.pm v2.18. Fixes bug in some cases when
66
using SUPER::new() [#307].
7+
78
* Fix test for BSML SAX by using lax parser XML::SAX::PurePerl since
89
the external DTD URL now 404s [#376].
9-
* Added codon table 15 Bio::Tools::CodonTable [#389].
10+
11+
* Updated Bio::Tools::CodonTable for the latest version of NCBI
12+
genetic code table (version 4.9). Previously, version 4.2 was
13+
being used. This update changes codon tables 3, 15, 24, 27-30,
14+
32, and 33 [#389, #391].
1015

1116
1.7.8 2021-02-02 23:02:18-06:00 America/Chicago
1217
* Bio::SeqIO::interpro has been moved to a separate repository to

lib/Bio/Tools/CodonTable.pm

+108-96
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,10 @@ only differences are in available initiator codons.
127127
128128
129129
NCBI Genetic Codes home page:
130-
(Last update of the Genetic Codes: Nov. 18, 2016)
130+
(Last update of the Genetic Codes: Apr. 25, 2024)
131131
https://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi?mode=c
132132
133-
ASN.1 version with ids 1 to 25 is at:
133+
The "value notation" / "print form" ASN.1 version is at:
134134
ftp://ftp.ncbi.nih.gov/entrez/misc/data/gc.prt
135135
136136
Thanks to Matteo diTomasso for the original Perl implementation
@@ -199,106 +199,118 @@ BEGIN {
199199
$GAP = '-';
200200
$CODONGAP = $GAP x CODONSIZE;
201201

202-
@NAMES = #id
203-
(
204-
'Strict', #0, special option for ATG-only start
205-
'Standard', #1
206-
'Vertebrate Mitochondrial',#2
207-
'Yeast Mitochondrial',# 3
208-
'Mold, Protozoan, and Coelenterate Mitochondrial and Mycoplasma/Spiroplasma',#4
209-
'Invertebrate Mitochondrial',#5
210-
'Ciliate, Dasycladacean and Hexamita Nuclear',# 6
211-
'', '',
212-
'Echinoderm and Flatworm Mitochondrial',#9
213-
'Euplotid Nuclear',#10
214-
'Bacterial, Archaeal and Plant Plastid',# 11
215-
'Alternative Yeast Nuclear',# 12
216-
'Ascidian Mitochondrial',# 13
217-
'Alternative Flatworm Mitochondrial',# 14
218-
'Blepharisma Nuclear',#15
219-
'Chlorophycean Mitochondrial',# 16
220-
'', '', '', '',
221-
'Trematode Mitochondrial',# 21
222-
'Scenedesmus obliquus Mitochondrial', #22
223-
'Thraustochytrium Mitochondrial', #23
224-
'Pterobranchia Mitochondrial', #24
225-
'Candidate Division SR1 and Gracilibacteria', #25
226-
'Pachysolen tannophilus Nuclear Code', #26
227-
'Karyorelict Nuclear', #27
228-
'Condylostoma Nuclear', #28
229-
'Mesodinium Nuclear', #29
230-
'Peritrich Nuclear', #30
231-
'Blastocrithidia Nuclear' #31
232-
);
233-
234-
@TABLES =
235-
qw(
236-
FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
237-
FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
238-
FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSS**VVVVAAAADDEEGGGG
239-
FFLLSSSSYY**CCWWTTTTPPPPHHQQRRRRIIMMTTTTNNKKSSRRVVVVAAAADDEEGGGG
240-
FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
241-
FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSSSSVVVVAAAADDEEGGGG
242-
FFLLSSSSYYQQCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
243-
'' ''
244-
FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNNKSSSSVVVVAAAADDEEGGGG
245-
FFLLSSSSYY**CCCWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
246-
FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
247-
FFLLSSSSYY**CC*WLLLSPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
248-
FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSSGGVVVVAAAADDEEGGGG
249-
FFLLSSSSYYY*CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNNKSSSSVVVVAAAADDEEGGGG
250-
FFLLSSSSYY*QCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
251-
FFLLSSSSYY*LCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
252-
'' '' '' ''
253-
FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNNKSSSSVVVVAAAADDEEGGGG
254-
FFLLSS*SYY*LCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
255-
FF*LSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
256-
FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSSKVVVVAAAADDEEGGGG
257-
FFLLSSSSYY**CCGWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
258-
FFLLSSSSYY**CC*WLLLAPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
259-
FFLLSSSSYYQQCCWWLLLAPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
260-
FFLLSSSSYYQQCCWWLLLAPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
261-
FFLLSSSSYYYYCC*WLLLAPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
262-
FFLLSSSSYYEECC*WLLLAPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
263-
FFLLSSSSYYEECCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
264-
);
202+
@NAMES = (
203+
'Strict', # 0 (special option for ATG-only start)
204+
'Standard', # 1
205+
'Vertebrate Mitochondrial', # 2
206+
'Yeast Mitochondrial', # 3
207+
'Mold Mitochondrial; Protozoan Mitochondrial; Coelenterate Mitochondrial; Mycoplasma; Spiroplasma', # 4
208+
'Invertebrate Mitochondrial', # 5
209+
'Ciliate Nuclear; Dasycladacean Nuclear; Hexamita Nuclear', # 6
210+
'',
211+
'',
212+
'Echinoderm Mitochondrial; Flatworm Mitochondrial', # 9
213+
'Euplotid Nuclear', # 10
214+
'Bacterial, Archaeal and Plant Plastid', # 11
215+
'Alternative Yeast Nuclear', # 12
216+
'Ascidian Mitochondrial', # 13
217+
'Alternative Flatworm Mitochondrial', # 14
218+
'Blepharisma Macronuclear', # 15
219+
'Chlorophycean Mitochondrial', # 16
220+
'',
221+
'',
222+
'',
223+
'',
224+
'Trematode Mitochondrial', # 21
225+
'Scenedesmus obliquus Mitochondrial', # 22
226+
'Thraustochytrium Mitochondrial', # 23
227+
'Rhabdopleuridae Mitochondrial', # 24
228+
'Candidate Division SR1 and Gracilibacteria', # 25
229+
'Pachysolen tannophilus Nuclear', # 26
230+
'Karyorelict Nuclear', # 27
231+
'Condylostoma Nuclear', # 28
232+
'Mesodinium Nuclear', # 29
233+
'Peritrich Nuclear', # 30
234+
'Blastocrithidia Nuclear', # 31
235+
'Balanophoraceae Plastid', # 32
236+
);
237+
238+
@TABLES = qw(
239+
FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
240+
FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
241+
FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSS**VVVVAAAADDEEGGGG
242+
FFLLSSSSYY**CCWWTTTTPPPPHHQQRRRRIIMMTTTTNNKKSSRRVVVVAAAADDEEGGGG
243+
FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
244+
FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSSSSVVVVAAAADDEEGGGG
245+
FFLLSSSSYYQQCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
246+
''
247+
''
248+
FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNNKSSSSVVVVAAAADDEEGGGG
249+
FFLLSSSSYY**CCCWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
250+
FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
251+
FFLLSSSSYY**CC*WLLLSPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
252+
FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSSGGVVVVAAAADDEEGGGG
253+
FFLLSSSSYYY*CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNNKSSSSVVVVAAAADDEEGGGG
254+
FFLLSSSSYY*QCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
255+
FFLLSSSSYY*LCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
256+
''
257+
''
258+
''
259+
''
260+
FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNNKSSSSVVVVAAAADDEEGGGG
261+
FFLLSS*SYY*LCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
262+
FF*LSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
263+
FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSSKVVVVAAAADDEEGGGG
264+
FFLLSSSSYY**CCGWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
265+
FFLLSSSSYY**CC*WLLLAPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
266+
FFLLSSSSYYQQCCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
267+
FFLLSSSSYYQQCCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
268+
FFLLSSSSYYYYCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
269+
FFLLSSSSYYEECC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
270+
FFLLSSSSYYEECCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
271+
FFLLSSSSYY*WCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG
272+
);
265273

266274
# (bases used for these tables, for reference)
267275
# 1 TTTTTTTTTTTTTTTTCCCCCCCCCCCCCCCCAAAAAAAAAAAAAAAAGGGGGGGGGGGGGGGG
268276
# 2 TTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGG
269277
# 3 TCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAG
270278

271-
@STARTS =
272-
qw(
273-
----------**--*--------------------M----------------------------
274-
---M------**--*----M---------------M----------------------------
275-
----------**--------------------MMMM----------**---M------------
276-
----------**----------------------MM----------------------------
277-
--MM------**-------M------------MMMM---------------M------------
278-
---M------**--------------------MMMM---------------M------------
279-
--------------*--------------------M----------------------------
280-
'' ''
281-
----------**-----------------------M---------------M------------
282-
----------**-----------------------M----------------------------
283-
---M------**--*----M------------MMMM---------------M------------
284-
----------**--*----M---------------M----------------------------
285-
---M------**----------------------MM---------------M------------
286-
-----------*-----------------------M----------------------------
287-
---M------**--*----M------------MMMM---------------M------------
288-
----------*---*--------------------M----------------------------
289-
'' '' '' ''
290-
----------**-----------------------M---------------M------------
291-
------*---*---*--------------------M----------------------------
292-
--*-------**--*-----------------M--M---------------M------------
293-
---M------**-------M---------------M---------------M------------
294-
---M------**-----------------------M---------------M------------
295-
----------**--*----M---------------M----------------------------
296-
--------------*--------------------M----------------------------
297-
----------**--*--------------------M----------------------------
298-
--------------*--------------------M----------------------------
299-
--------------*--------------------M----------------------------
300-
----------**-----------------------M----------------------------
301-
);
279+
@STARTS = qw(
280+
----------**--*--------------------M----------------------------
281+
---M------**--*----M---------------M----------------------------
282+
----------**--------------------MMMM----------**---M------------
283+
----------**----------------------MM---------------M------------
284+
--MM------**-------M------------MMMM---------------M------------
285+
---M------**--------------------MMMM---------------M------------
286+
--------------*--------------------M----------------------------
287+
''
288+
''
289+
----------**-----------------------M---------------M------------
290+
----------**-----------------------M----------------------------
291+
---M------**--*----M------------MMMM---------------M------------
292+
----------**--*----M---------------M----------------------------
293+
---M------**----------------------MM---------------M------------
294+
-----------*-----------------------M----------------------------
295+
----------*---*--------------------M----------------------------
296+
----------*---*--------------------M----------------------------
297+
''
298+
''
299+
''
300+
''
301+
----------**-----------------------M---------------M------------
302+
------*---*---*--------------------M----------------------------
303+
--*-------**--*-----------------M--M---------------M------------
304+
---M------**-------M---------------M---------------M------------
305+
---M------**-----------------------M---------------M------------
306+
----------**--*----M---------------M----------------------------
307+
--------------*--------------------M----------------------------
308+
----------**--*--------------------M----------------------------
309+
--------------*--------------------M----------------------------
310+
--------------*--------------------M----------------------------
311+
----------**-----------------------M----------------------------
312+
---M------*---*----M------------MMMM---------------M------------
313+
);
302314

303315
my @nucs = qw(t c a g);
304316
my $x = 0;

t/SeqTools/CodonTable.t

+1-1
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ my @custom_table =
191191
);
192192

193193
ok my $custct = $myCodonTable->add_table(@custom_table);
194-
is $custct, 32;
194+
is $custct, 33;
195195
is $myCodonTable->translate('atgaaraayacmacracwacka'), 'MKNTTTT';
196196
ok $myCodonTable->id($custct);
197197
is $myCodonTable->translate('atgaaraayacmacracwacka'), 'MKXXTTT';

0 commit comments

Comments
 (0)