@@ -127,10 +127,10 @@ only differences are in available initiator codons.
127
127
128
128
129
129
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 )
131
131
https://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi?mode=c
132
132
133
- ASN.1 version with ids 1 to 25 is at:
133
+ The "value notation" / "print form" ASN.1 version is at:
134
134
ftp://ftp.ncbi.nih.gov/entrez/misc/data/gc.prt
135
135
136
136
Thanks to Matteo diTomasso for the original Perl implementation
@@ -199,106 +199,118 @@ BEGIN {
199
199
$GAP = ' -' ;
200
200
$CODONGAP = $GAP x CODONSIZE;
201
201
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
+ ) ;
265
273
266
274
# (bases used for these tables, for reference)
267
275
# 1 TTTTTTTTTTTTTTTTCCCCCCCCCCCCCCCCAAAAAAAAAAAAAAAAGGGGGGGGGGGGGGGG
268
276
# 2 TTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGG
269
277
# 3 TCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAG
270
278
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
+ ) ;
302
314
303
315
my @nucs = qw( t c a g) ;
304
316
my $x = 0;
0 commit comments