Index: /liacs/dbdm/dbdm_4/ecoli_hmm.py
===================================================================
--- /liacs/dbdm/dbdm_4/ecoli_hmm.py	(revision 61)
+++ /liacs/dbdm/dbdm_4/ecoli_hmm.py	(revision 62)
@@ -10,4 +10,14 @@
 import csv
 import string
+
+dna_flip = string.maketrans('atgc','tacg')
+def get_codon(seq, position, order):
+    codon = seq[position:position+3]
+    if not order:
+        # When living on the other side of the string make sure to flip 
+        # around before comparison
+        codon = codon[::-1].translate(dna_flip)
+    return(codon)
+
 
 
@@ -50,37 +60,95 @@
     # rend = Right End
 
-    # Training
+    # Training and testing
     # A -- T, G -- C
-    start_condons = ['atg', 'gtg']
-    stop_condons = ['taa', 'tga', 'tag']
-    dna_flip = string.maketrans('atgc','tacg')
+    start_codons = ['atg', 'gtg']
+    stop_codons = ['taa', 'tga', 'tag']
     edl_file = 'data/edl_genes.csv'
+
+    # Counter limit of how many 'hard' errors are allowed before bailing out
+    stop_limit = 5
+
+    # Current shifting offset
+    base_shift = 0
+    stop_counter = 0
+
     reader = csv.reader(open(edl_file,"rU"))
     reader.next()
     try:
         for row in reader:
-            (featureType, zNumber, contig, lend, rend, orientation, 
-            segmentType, oIslandNumber, geneName, note, function, product, 
-            translationNotes) = row
-            lend = int(lend) - 1
-            rend = int(rend)
-            # Make a forward orientation as positive
-            if orientation == '>':
-                order = True
-            else:
-                order = False
+            finished = False
+            while not finished:
+                (featureType, zNumber, contig, lend, rend, orientation, 
+                segmentType, oIslandNumber, geneName, note, function, product, 
+                translationNotes) = row
+                lend = int(lend)
+                rend = int(rend)
+                # Make a forward orientation mark as positive
+                if orientation == '>':
+                    order = True
+                else:
+                    order = False
 
-            if order:
-                start_codon = seq[lend:lend+3]
-                stop_codon = seq[rend-3:rend]
-            else:
-                start_codon = seq[rend-3:rend].translate(dna_flip)[::-1]
-                stop_codon = seq[lend:lend+3].translate(dna_flip)[::-1]
+                # Living the world upside down to order is off
+                if order:
+                    start_pos = base_shift + lend - 1
+                    stop_pos = base_shift + rend - 3
+                else:
+                    start_pos = base_shift + rend -3
+                    stop_pos = base_shift + lend - 1
+                    
+                start_codon = get_codon(seq,start_pos,order)
+                stop_codon = get_codon(seq,stop_pos,order)
+                start_match = start_codon in start_codons
+                stop_match = stop_codon in stop_codons
 
-            print "%6s, %s, %s, %s, %s, %s," % (geneName,lend,rend, start_codon, stop_codon, orientation),
+                print "%6s, %s, %s, %s, %s, %s," % (geneName,lend,rend, start_codon, stop_codon, orientation),
+                print "%s, %s" % (start_match, stop_match)
+    
+                # Check for fucked up offsets, shifts
+                start_shift = None
+                stop_shift = None 
+                # Technically speaking should the cope only the reading frames,
+                # but what the heck looking if 'free'
+                search_range = 10
+                if not start_match:
+                    # Somewhere else in the reading frame?
+                    for r in range(-search_range,search_range+1):
+                        l = start_pos + r
+                        t = get_codon(seq,l,order)
+                        new_match = t in start_codons
+                        if new_match:
+                            start_shift = r
+                            print "# Start codon reading frame match - shift %i: " % r,
+                            print "%i, %s: %s" % (l,t,new_match)
+                if not stop_match:
+                    # Somewhere else in the reading frame?
+                    for r in range(-search_range,search_range+1):
+                        l = stop_pos + r
+                        t = get_codon(seq,l,order)
+                        new_match = t in stop_codons
+                        if new_match:
+                            stop_shift = r
+                            print "# Stop codon reading frame match - shift %i: " % r,
+                            print "%i, %s: %s" % (l,t,new_match)
 
-            print "%s, %s" % (start_codon in start_condons, stop_codon in stop_condons)
-            if not start_codon in start_condons or not stop_codon in stop_condons:
-                return
+
+                # Both wrong is something screwy in the data, check offset fix
+                if not start_match and not stop_match:
+                    if stop_shift != None and start_shift == stop_shift:
+                        print "# Matching shift %i" % start_shift
+                        base_shift += start_shift
+                        finished = False
+                        continue
+                    # Exercise left to the reader
+                    if (stop_counter > stop_limit):
+                        return
+                    else:
+                        stop_counter += 1
+                        finished = True
+                else:
+                    stop_counter = 0
+                    finished = True
+
     except csv.Error, e:
         sys.exit('file %s, line %d: %s' % (filename, reader.line_num, e))
Index: /liacs/dbdm/dbdm_4/shifts.txt
===================================================================
--- /liacs/dbdm/dbdm_4/shifts.txt	(revision 62)
+++ /liacs/dbdm/dbdm_4/shifts.txt	(revision 62)
@@ -0,0 +1,832 @@
+<Alphabet:['a', 'c', 'g', 't', 'n']>
+Initial HMM DiscreteEmissionHMM(N=2, M=5)
+  state 0 (initial=0.90)
+    Emissions: 0.10, 0.10, 0.10, 0.10, 0.60
+    Transitions: ->0 (0.60), ->1 (0.40)
+  state 1 (initial=0.10)
+    Emissions: 0.20, 0.30, 0.30, 0.20, 0.10
+    Transitions: ->0 (0.30), ->1 (0.70)
+
+Observation sequence :  nngaagtgactttggngagc
+Observations         :  nngaagtgactttggngagc
+  thrL, 190, 273, atg, tga, >, True, True
+  thrA, 354, 2816, atg, tga, >, True, True
+  thrB, 2818, 3750, atg, taa, >, True, True
+  thrC, 3751, 5037, atg, taa, >, True, True
+ Z0005, 5251, 5547, gtg, taa, >, True, True
+  yaaA, 5700, 6476, atg, taa, <, True, True
+  yaaJ, 6546, 7976, atg, taa, <, True, True
+  talB, 8255, 9208, atg, taa, >, True, True
+   mog, 9323, 9910, atg, taa, >, True, True
+  yaaH, 9945, 10511, atg, taa, <, True, True
+ Z0011, 10660, 11373, atg, tga, <, True, True
+  htgA, 10742, 11362, ctg, taa, >, False, True
+  yaaI, 11399, 11803, atg, taa, <, True, True
+  dnaK, 12180, 14096, atg, taa, >, True, True
+  dnaJ, 14185, 15315, atg, taa, >, True, True
+   gef, 15419, 15628, tgc, taa, <, False, True
+# Start codon reading frame match - shift -10:  15615, atg: True
+# Start codon reading frame match - shift 1:  15626, atg: True
+  nhaA, 16157, 17323, agt, ttg, >, False, False
+# Start codon reading frame match - shift 1:  16157, gtg: True
+# Stop codon reading frame match - shift 1:  17321, tga: True
+# Matching shift 1
+  nhaA, 16157, 17323, gtg, tga, >, True, True
+  nhaR, 17383, 18288, atg, taa, >, True, True
+ Z0020, 18326, 18949, atg, taa, <, True, True
+ Z0021, 18960, 19286, atg, taa, <, True, True
+ Z0022, 19299, 21749, atg, taa, <, True, True
+ Z0023, 21762, 22445, gtg, taa, <, True, True
+ Z0024, 22495, 23028, atg, taa, <, True, True
+ Z0025, 23330, 24751, atg, taa, <, True, True
+  rpsT, 25221, 25484, ttg, taa, <, False, True
+ Z0028, 25587, 25811, atg, tga, >, True, True
+  ribF, 25819, 26760, atg, taa, >, True, True
+  ileS, 26803, 29619, atg, ctg, >, True, False
+# Stop codon reading frame match - shift -9:  29608, taa: True
+# Stop codon reading frame match - shift 1:  29618, tga: True
+# Stop codon reading frame match - shift 4:  29621, tga: True
+  lspA, 29619, 30113, gat, ata, >, False, False
+# Start codon reading frame match - shift 1:  29620, atg: True
+# Stop codon reading frame match - shift 1:  30112, taa: True
+# Stop codon reading frame match - shift 4:  30115, taa: True
+  slpA, 30201, 30650, cat, gta, >, False, False
+# Start codon reading frame match - shift 1:  30202, atg: True
+# Stop codon reading frame match - shift 1:  30649, taa: True
+# Matching shift 1
+  slpA, 30201, 30650, atg, taa, >, True, True
+  lytB, 30652, 31602, atg, taa, >, True, True
+  yaaF, 31668, 32582, atg, taa, >, True, True
+  dapB, 32749, 33570, atg, taa, >, True, True
+  carA, 34026, 35174, ttg, taa, >, False, True
+# Start codon reading frame match - shift -5:  34022, gtg: True
+  carB, 35192, 38413, atg, taa, >, True, True
+ Z0039, 38421, 38639, atg, tga, <, True, True
+ Z0040, 38569, 39069, gtg, taa, >, True, True
+  caiE, 39188, 39799, gtg, tga, <, True, True
+  caiD, 39784, 40677, atg, taa, <, True, True
+  caiC, 40678, 42246, atg, taa, <, True, True
+  caiB, 42305, 43522, atg, taa, <, True, True
+  caiA, 43651, 44793, atg, taa, <, True, True
+  caiT, 44824, 46338, aag, taa, <, False, True
+# Start codon reading frame match - shift -4:  46333, atg: True
+# Start codon reading frame match - shift 3:  46340, atg: True
+  fixA, 46781, 47587, gat, att, >, False, False
+# Start codon reading frame match - shift 3:  46785, atg: True
+# Stop codon reading frame match - shift 3:  47589, taa: True
+# Matching shift 3
+  fixA, 46781, 47587, atg, taa, >, True, True
+  fixB, 47602, 48543, atg, tga, >, True, True
+  fixC, 48594, 49880, atg, atg, >, True, False
+# Stop codon reading frame match - shift -10:  49872, tga: True
+# Stop codon reading frame match - shift 1:  49883, tga: True
+  fixX, 49877, 50164, tat, ctg, >, False, False
+# Start codon reading frame match - shift -10:  49871, gtg: True
+# Start codon reading frame match - shift 1:  49882, atg: True
+# Stop codon reading frame match - shift 1:  50167, tga: True
+# Matching shift 1
+  fixX, 49877, 50164, atg, tga, >, True, True
+  yaaU, 50222, 51553, atg, taa, >, True, True
+  yabF, 51661, 52191, atg, tag, >, True, True
+  kefC, 52184, 54046, atg, cta, >, True, False
+# Stop codon reading frame match - shift 1:  54050, taa: True
+# Stop codon reading frame match - shift 4:  54053, taa: True
+ Z0055, 54238, 54717, aat, gta, >, False, False
+# Start codon reading frame match - shift 1:  54244, atg: True
+# Stop codon reading frame match - shift 1:  54721, taa: True
+# Matching shift 1
+ Z0055, 54238, 54717, atg, taa, >, True, True
+ Z0056, 54803, 55036, atg, tag, >, True, True
+ Z0057, 55039, 55353, atg, taa, >, True, True
+  apaH, 55350, 56198, atg, taa, <, True, True
+  apaG, 56205, 56582, atg, taa, <, True, True
+  ksgA, 56585, 57406, atg, taa, <, True, True
+  pdxA, 57403, 58392, atg, tga, <, True, True
+  surA, 58392, 59678, atg, taa, <, True, True
+   imp, 59731, 62085, atg, tga, <, True, True
+  yabH, 62340, 63155, atg, tga, >, True, True
+ Z0065, 63450, 64202, atg, tga, >, True, True
+  yabO, 64620, 65279, tgg, aac, <, False, False
+# Start codon reading frame match - shift -5:  65278, atg: True
+# Start codon reading frame match - shift 1:  65284, atg: True
+# Stop codon reading frame match - shift 1:  64627, taa: True
+# Matching shift 1
+  yabO, 64620, 65279, atg, taa, <, True, True
+ Z0067, 65291, 68197, atg, taa, <, True, True
+  polB, 68361, 70712, gtg, tga, <, True, True
+  araD, 70787, 71482, atg, taa, <, True, True
+  araA, 71682, 73184, atg, taa, <, True, True
+  araB, 73195, 74895, atg, taa, <, True, True
+  araC, 75234, 76112, atg, taa, >, True, True
+  yabI, 76198, 76962, atg, tag, >, True, True
+  yabJ, 77049, 77747, atg, taa, <, True, True
+  yabK, 77731, 79341, atg, tga, <, True, True
+  tbpA, 79317, 80300, gtg, taa, <, True, True
+ Z0078, 80672, 81241, atg, tga, >, True, True
+  yabN, 81470, 83128, atg, tag, <, True, True
+  leuD, 83456, 84061, atg, tag, <, True, True
+  leuC, 84072, 85472, atg, taa, <, True, True
+  leuB, 85475, 86569, gtg, taa, <, True, True
+  leuA, 86566, 88137, atg, tga, <, True, True
+  leuL, 88230, 88316, atg, taa, <, True, True
+  leuO, 88956, 89918, gtg, taa, >, True, True
+  ilvI, 90152, 91960, atg, tga, >, True, True
+  ilvH, 91963, 92454, atg, tga, >, True, True
+  fruL, 92466, 92552, atg, taa, >, True, True
+  fruR, 92634, 93638, gtg, taa, >, True, True
+  yabB, 94240, 94698, atg, taa, >, True, True
+  yabC, 94700, 95641, atg, tga, >, True, True
+  ftsL, 95638, 96003, atg, taa, >, True, True
+  ftsI, 96019, 97785, atg, taa, >, True, True
+  murE, 97772, 99259, gtg, cat, >, True, False
+# Stop codon reading frame match - shift -6:  99258, tga: True
+# Stop codon reading frame match - shift 2:  99266, tga: True
+# Stop codon reading frame match - shift 6:  99270, tag: True
+  murF, 99256, 100614, gca, gtt, >, False, False
+# Start codon reading frame match - shift -6:  99257, gtg: True
+# Start codon reading frame match - shift 2:  99265, atg: True
+# Stop codon reading frame match - shift 2:  100621, tag: True
+# Matching shift 2
+  murF, 99256, 100614, atg, tag, >, True, True
+  mraY, 100608, 101690, atg, taa, >, True, True
+  murD, 101693, 103009, atg, tga, >, True, True
+  ftsW, 103009, 104253, atg, tga, >, True, True
+  murG, 104250, 105317, atg, taa, >, True, True
+  murC, 105371, 106846, atg, ctg, >, True, False
+# Stop codon reading frame match - shift -3:  106850, tga: True
+# Stop codon reading frame match - shift 1:  106854, tga: True
+# Stop codon reading frame match - shift 4:  106857, taa: True
+  ddlB, 106839, 107759, cat, cta, >, False, False
+# Start codon reading frame match - shift 1:  106849, atg: True
+# Stop codon reading frame match - shift 1:  107767, taa: True
+# Matching shift 1
+  ddlB, 106839, 107759, atg, taa, >, True, True
+  ftsQ, 107761, 108591, atg, tga, >, True, True
+  ftsA, 108588, 109850, atg, taa, >, True, True
+  ftsZ, 109911, 111062, atg, taa, >, True, True
+  lpxC, 111163, 112080, atg, taa, >, True, True
+  yacA, 112236, 112823, gtg, taa, >, True, True
+  secA, 112885, 115590, atg, taa, >, True, True
+  mutT, 115650, 116048, atg, taa, >, True, True
+ Z0110, 116054, 116188, gtg, tga, <, True, True
+  yacG, 116139, 116336, atg, tga, <, True, True
+  yacF, 116346, 117089, atg, taa, <, True, True
+  yacE, 117089, 117709, atg, taa, <, True, True
+  guaC, 117934, 118977, atg, taa, >, True, True
+ Z0115, 118897, 119004, gtg, tga, <, True, True
+  hofC, 119012, 120214, atg, taa, <, True, True
+  hofB, 120204, 121589, atg, taa, <, True, True
+  ppdD, 121599, 122039, atg, taa, <, True, True
+  nadC, 122242, 123135, atg, tag, <, True, True
+  ampD, 123223, 123774, atg, tga, >, True, True
+  ampE, 123771, 124625, atg, taa, >, True, True
+  aroP, 124668, 126041, atg, taa, <, True, True
+  pdhR, 126582, 127346, atg, tag, >, True, True
+  aceE, 127507, 130170, atg, taa, >, True, True
+  aceF, 130185, 132077, atg, taa, >, True, True
+  lpdA, 132285, 133709, atg, taa, >, True, True
+  yacH, 133780, 135633, atg, taa, <, True, True
+  acnB, 135988, 138585, gtg, taa, >, True, True
+  yacL, 138713, 139123, atg, taa, >, True, True
+  speD, 139161, 139955, ttg, taa, <, False, True
+  speE, 139971, 140837, atg, taa, <, True, True
+  yacC, 140943, 141413, ttg, taa, <, False, True
+  yacK, 141456, 143006, atg, taa, >, True, True
+   gcd, 143208, 145598, atg, taa, <, True, True
+   hpt, 145792, 146340, atg, taa, >, True, True
+  yadF, 146381, 147043, atg, taa, <, True, True
+  yadG, 147152, 148078, atg, tga, >, True, True
+  yadH, 148075, 148845, atg, taa, >, True, True
+  yadI, 148950, 149390, atg, tta, >, True, False
+# Stop codon reading frame match - shift -6:  149392, tga: True
+# Stop codon reading frame match - shift 1:  149399, taa: True
+  yadE, 149454, 150683, cat, ata, >, False, False
+# Start codon reading frame match - shift -10:  149454, gtg: True
+# Start codon reading frame match - shift 1:  149465, atg: True
+# Stop codon reading frame match - shift 1:  150692, taa: True
+# Matching shift 1
+  yadE, 149454, 150683, atg, taa, >, True, True
+  panD, 150687, 151067, atg, tga, <, True, True
+  yadD, 151341, 152237, atg, taa, >, True, True
+  panC, 152536, 153387, gtg, taa, <, True, True
+  panB, 153399, 154193, atg, taa, <, True, True
+  yadC, 154328, 155437, atg, taa, <, True, True
+  yadK, 155449, 156039, atg, taa, <, True, True
+  yadL, 156060, 156665, atg, taa, <, True, True
+  yadM, 156680, 157240, atg, taa, <, True, True
+  htrE, 157242, 159740, tgg, taa, <, False, True
+# Start codon reading frame match - shift -6:  159743, atg: True
+# Start codon reading frame match - shift 1:  159750, gtg: True
+  ecpD, 159884, 160615, tgc, aaa, <, False, False
+# Start codon reading frame match - shift -5:  160619, atg: True
+# Start codon reading frame match - shift 1:  160625, gtg: True
+# Stop codon reading frame match - shift -6:  159889, taa: True
+# Stop codon reading frame match - shift 1:  159896, taa: True
+# Matching shift 1
+  ecpD, 159884, 160615, gtg, taa, <, True, True
+  yadN, 160696, 161301, atg, taa, <, True, True
+  folK, 161573, 162055, atg, tag, <, True, True
+  pcnB, 162052, 163416, gct, tga, <, False, True
+# Start codon reading frame match - shift 2:  163428, gtg: True
+  yadB, 163509, 164435, gct, agc, <, False, False
+# Start codon reading frame match - shift 2:  164447, atg: True
+# Stop codon reading frame match - shift -9:  163512, tag: True
+# Stop codon reading frame match - shift -5:  163516, tga: True
+# Stop codon reading frame match - shift 2:  163523, tga: True
+# Matching shift 2
+  yadB, 163509, 164435, atg, tga, <, True, True
+  dksA, 164472, 164927, atg, taa, <, True, True
+  sfsA, 165105, 165809, atg, tag, <, True, True
+  yadP, 165824, 166363, gtg, taa, <, True, True
+  hrpB, 166383, 168857, atg, taa, >, True, True
+  mrcB, 169053, 171587, atg, taa, >, True, True
+  fhuA, 171807, 174050, atg, taa, >, True, True
+  fhuC, 174101, 174898, atg, tga, >, True, True
+  fhuD, 174898, 175788, atg, tga, >, True, True
+  fhuB, 175785, 177767, gtg, taa, >, True, True
+  hemL, 177802, 179082, atg, tga, <, True, True
+  yadQ, 179307, 180728, atg, ttg, >, True, False
+# Stop codon reading frame match - shift 1:  180741, tga: True
+  yadR, 180810, 181154, tat, cta, >, False, False
+# Start codon reading frame match - shift 1:  180825, atg: True
+# Start codon reading frame match - shift 5:  180829, gtg: True
+# Start codon reading frame match - shift 8:  180832, atg: True
+# Stop codon reading frame match - shift -6:  181160, tag: True
+# Stop codon reading frame match - shift 1:  181167, taa: True
+  yadS, 181201, 181824, tgc, gaa, <, False, False
+# Start codon reading frame match - shift 1:  181837, atg: True
+# Stop codon reading frame match - shift 1:  181216, tga: True
+# Matching shift 1
+  yadS, 181201, 181824, atg, tga, <, True, True
+  yadT, 181862, 182662, atg, tag, <, True, True
+   pfs, 182655, 183353, atg, taa, <, True, True
+   dgt, 183437, 184954, atg, taa, >, True, True
+  htrA, 185084, 186508, atg, taa, >, True, True
+  yaeG, 186645, 187820, gtg, tag, >, True, True
+  yaeH, 187909, 188295, atg, taa, <, True, True
+  dapD, 188610, 189434, atg, taa, <, True, True
+  glnD, 189465, 192137, atg, tga, <, True, True
+   map, 192199, 192993, atg, taa, <, True, True
+  rpsB, 193361, 194086, atg, taa, >, True, True
+   tsf, 194344, 195195, atg, taa, >, True, True
+  pyrH, 195342, 196067, atg, taa, >, True, True
+   frr, 196217, 196774, gtg, tga, >, True, True
+  yaeM, 196866, 198062, atg, tga, >, True, True
+  yaeS, 198248, 199009, gtg, tga, >, True, True
+  cdsA, 199130, 199879, atg, taa, >, True, True
+  yaeL, 199891, 201243, atg, tga, >, True, True
+  yaeT, 201273, 203705, atg, taa, >, True, True
+  hlpA, 203826, 204311, gtg, taa, >, True, True
+  lpxD, 204315, 205340, atg, taa, >, True, True
+  fabZ, 205445, 205900, ttg, tga, >, False, True
+  lpxA, 205904, 206692, gtg, taa, >, True, True
+  lpxB, 206692, 207840, atg, tga, >, True, True
+  rnhB, 207837, 208433, atg, tga, >, True, True
+  dnaE, 208470, 211952, atg, taa, >, True, True
+  accA, 211965, 212924, atg, taa, >, True, True
+  ldcC, 213023, 215164, atg, taa, >, True, True
+  yaeR, 215194, 215610, gtg, taa, >, True, True
+  mesJ, 215675, 216970, atg, tag, >, True, True
+  yaeO, 217023, 217283, atg, tga, <, True, True
+ Z0202, 217636, 218094, atg, tag, >, True, True
+  yaeJ, 218178, 218588, atg, taa, >, True, True
+  cutF, 218602, 219312, atg, taa, >, True, True
+  yaeF, 219512, 220336, atg, tga, <, True, True
+  proS, 220389, 222107, atg, tga, <, True, True
+ Z0207, 222218, 222925, atg, taa, <, True, True
+  rcsF, 222922, 223326, atg, tga, <, True, True
+  yaeC, 223444, 224259, atg, taa, <, True, True
+  yaeE, 224299, 224952, atg, taa, <, True, True
+   abc, 224945, 225976, atg, tga, <, True, True
+  yaeD, 226164, 226739, gtg, tga, >, True, True
+  rrsH, 227103, 228644, aaa, tta, >, False, False
+# Stop codon reading frame match - shift 6:  228663, taa: True
+  ileV, 228713, 228789, agg, cca, >, False, False
+  alaV, 228832, 228907, ggg, cca, >, False, False
+# Start codon reading frame match - shift -7:  228840, atg: True
+# Start codon reading frame match - shift -2:  228845, atg: True
+# Stop codon reading frame match - shift -8:  228912, tag: True
+# Stop codon reading frame match - shift 9:  228929, tag: True
+  rrlH, 229091, 231993, ggt, cct, >, False, False
+# Start codon reading frame match - shift -4:  229102, gtg: True
+# Stop codon reading frame match - shift -10:  231996, tga: True
+# Stop codon reading frame match - shift -3:  232003, taa: True
+  rrfH, 232086, 232205, ttg, gca, >, False, False
+# Stop codon reading frame match - shift 9:  232227, taa: True
+  aspU, 232258, 232334, tgg, gcc, >, False, False
+# Start codon reading frame match - shift -1:  232272, gtg: True
+# Stop codon reading frame match - shift 9:  232356, taa: True
+  yafB, 232497, 233300, tat, tta, >, False, False
+# Start codon reading frame match - shift 1:  232513, atg: True
+# Stop codon reading frame match - shift -9:  233304, tga: True
+# Stop codon reading frame match - shift 1:  233314, taa: True
+# Matching shift 1
+  yafB, 232497, 233300, atg, taa, >, True, True
+  yafC, 233297, 234211, atg, taa, <, True, True
+  yafD, 234452, 235252, gtg, taa, >, True, True
+ Z0233, 235330, 236100, atg, taa, >, True, True
+  dniR, 236148, 237506, atg, tga, <, True, True
+  gloB, 237578, 238333, atg, tga, <, True, True
+  yafS, 238349, 239089, gtg, taa, >, True, True
+  rnhA, 239086, 239553, atg, taa, <, True, True
+  dnaQ, 239618, 240349, atg, taa, >, True, True
+  aspV, 240482, 240558, gga, cca, >, False, False
+ Z0243, 240887, 241687, atg, taa, >, True, True
+ Z0244, 241872, 242168, atg, taa, <, True, True
+ Z0245, 242165, 242620, atg, tga, <, True, True
+ Z0246, 242617, 243213, atg, tga, <, True, True
+ Z0247, 243292, 243513, atg, taa, <, True, True
+ Z0248, 243534, 244013, atg, taa, <, True, True
+ Z0249, 243979, 245478, tgt, tga, <, False, True
+# Start codon reading frame match - shift -1:  245491, gtg: True
+# Start codon reading frame match - shift 1:  245493, gtg: True
+ Z0250, 245399, 248833, tgc, gag, <, False, False
+# Stop codon reading frame match - shift 1:  245416, tga: True
+ Z0251, 248970, 249764, tga, aaa, <, False, False
+# Start codon reading frame match - shift 1:  249779, gtg: True
+# Stop codon reading frame match - shift 1:  248987, taa: True
+# Matching shift 1
+ Z0251, 248970, 249764, gtg, taa, <, True, True
+ Z0252, 249761, 250381, atg, tga, <, True, True
+ Z0253, 250386, 251129, atg, taa, <, True, True
+ Z0254, 251126, 253897, atg, tga, <, True, True
+ Z0255, 253906, 254667, atg, taa, <, True, True
+ Z0256, 254672, 256003, atg, taa, <, True, True
+ Z0257, 256006, 256530, atg, taa, <, True, True
+ Z0258, 256527, 257828, atg, tga, <, True, True
+ Z0259, 257832, 258914, atg, taa, <, True, True
+ Z0260, 258878, 260728, tgg, tga, <, False, True
+# Start codon reading frame match - shift 1:  260744, atg: True
+ Z0261, 260732, 261145, tga, gac, <, False, False
+# Start codon reading frame match - shift 1:  261161, atg: True
+# Stop codon reading frame match - shift 1:  260750, tga: True
+# Matching shift 1
+ Z0261, 260732, 261145, atg, tga, <, True, True
+ Z0262, 261236, 262627, atg, tag, <, True, True
+ Z0263, 262678, 262902, atg, tga, <, True, True
+ Z0264, 262937, 263437, atg, taa, <, True, True
+ Z0265, 263864, 264007, atg, tag, >, True, True
+ Z0266, 264134, 264652, atg, taa, >, True, True
+ Z0267, 264862, 267003, atg, tga, >, True, True
+ Z0268, 267079, 271293, atg, tag, >, True, True
+ Z0269, 271296, 271907, atg, tag, >, True, True
+ Z0271, 272653, 273789, atg, taa, >, True, True
+ Z0272, 273792, 275552, ttg, tag, >, False, True
+ Z0273, 275640, 275777, gtg, taa, <, True, True
+ Z0274, 275754, 276017, atg, taa, >, True, True
+ Z0275, 276198, 277370, gtg, taa, >, True, True
+  yafV, 277488, 278258, gtg, tga, <, True, True
+  ykfE, 278412, 278885, atg, taa, >, True, True
+  yafH, 278928, 281408, gtg, taa, <, True, True
+  gmhA, 281612, 282190, atg, taa, >, True, True
+  yafJ, 282295, 283062, atg, tga, >, True, True
+  yafK, 283033, 283773, atg, taa, <, True, True
+ Z0284, 283929, 284132, atg, taa, <, True, True
+  dinJ, 284208, 284468, atg, taa, <, True, True
+  yafL, 284678, 285427, atg, tag, >, True, True
+  yafM, 285603, 285899, atg, tag, >, True, True
+  fhiA, 286245, 287984, atg, tga, <, True, True
+  mbhA, 287929, 288714, gtg, taa, >, True, True
+  dinP, 288785, 289840, atg, tga, >, True, True
+  yafN, 289892, 290185, atg, taa, >, True, True
+  yafO, 290188, 290586, atg, tga, >, True, True
+  yafP, 290596, 291048, atg, taa, >, True, True
+ Z0296, 291355, 291621, atg, tga, >, True, True
+  prfH, 291590, 292090, gtg, taa, >, True, True
+  pepD, 292147, 293604, tgt, taa, <, False, True
+# Start codon reading frame match - shift 1:  293621, gtg: True
+   gpt, 293865, 294323, cat, cta, >, False, False
+# Start codon reading frame match - shift 1:  293884, atg: True
+# Stop codon reading frame match - shift 1:  294340, taa: True
+# Matching shift 1
+   gpt, 293865, 294323, atg, taa, >, True, True
+  yafA, 294415, 295659, atg, tta, >, True, False
+# Stop codon reading frame match - shift 1:  295677, taa: True
+   crl, 295717, 296118, aat, gtg, >, False, False
+# Start codon reading frame match - shift 1:  295737, atg: True
+# Stop codon reading frame match - shift -7:  296128, taa: True
+# Stop codon reading frame match - shift 1:  296136, tga: True
+# Stop codon reading frame match - shift 5:  296140, tga: True
+  phoE, 296157, 297212, tga, aat, <, False, False
+# Start codon reading frame match - shift 1:  297230, atg: True
+# Start codon reading frame match - shift 7:  297236, atg: True
+# Stop codon reading frame match - shift -2:  296174, tga: True
+# Stop codon reading frame match - shift 1:  296177, taa: True
+  proB, 297500, 298603, cat, tta, >, False, False
+# Start codon reading frame match - shift 1:  297520, atg: True
+# Start codon reading frame match - shift 5:  297524, gtg: True
+# Stop codon reading frame match - shift -10:  298610, tga: True
+# Stop codon reading frame match - shift 1:  298621, taa: True
+  proA, 298615, 299868, gat, gta, >, False, False
+# Start codon reading frame match - shift 1:  298635, atg: True
+# Stop codon reading frame match - shift 1:  299886, taa: True
+# Stop codon reading frame match - shift 5:  299890, taa: True
+  thrW, 299983, 300058, ggc, acc, >, False, False
+# Stop codon reading frame match - shift 6:  300081, taa: True
+  intH, 300073, 301047, tgc, aac, <, False, False
+# Start codon reading frame match - shift 1:  301065, atg: True
+# Start codon reading frame match - shift 5:  301069, atg: True
+# Stop codon reading frame match - shift -7:  300085, tga: True
+# Stop codon reading frame match - shift 1:  300093, taa: True
+# Stop codon reading frame match - shift 8:  300100, tga: True
+ Z0308, 301423, 301812, tga, aaa, <, False, False
+# Start codon reading frame match - shift 1:  301830, atg: True
+# Stop codon reading frame match - shift 1:  301443, taa: True
+# Matching shift 1
+ Z0308, 301423, 301812, atg, taa, <, True, True
+ Z0309, 301940, 302653, atg, tga, <, True, True
+ Z0310, 303073, 303366, atg, tga, >, True, True
+ Z0311, 303399, 304007, atg, tga, >, True, True
+ Z0312, 303947, 304321, gtg, tga, >, True, True
+ Z0313, 304318, 304629, atg, tga, >, True, True
+ Z0314, 304629, 305339, atg, taa, >, True, True
+ Z0315, 305351, 305803, gtg, tga, >, True, True
+ Z0316, 305775, 306368, atg, tag, <, True, True
+ Z0317, 306368, 306865, atg, taa, <, True, True
+  pinH, 306856, 307446, atg, tga, >, True, True
+ Z0319, 307504, 308277, atg, tga, <, True, True
+ Z0321, 309101, 309844, atg, tga, >, True, True
+ Z0322, 309886, 310251, gtg, taa, <, True, True
+ Z0324, 310756, 311988, atg, taa, >, True, True
+ Z0325, 311992, 312408, gtg, taa, >, True, True
+ Z0326, 312381, 312998, atg, taa, >, True, True
+ Z0327, 312998, 313456, atg, tga, >, True, True
+ Z0328, 313449, 314081, atg, taa, >, True, True
+ Z0330, 314112, 314702, ttg, taa, >, False, True
+# Start codon reading frame match - shift -8:  314124, atg: True
+ Z0331, 314702, 315268, atg, taa, >, True, True
+ Z0332, 315678, 315950, atg, tga, <, True, True
+  psuI, 315956, 316507, atg, taa, <, True, True
+  sidI, 316504, 317256, atg, tga, <, True, True
+ Z0335, 317659, 317829, atg, taa, >, True, True
+ Z0336, 318190, 318450, atg, tga, >, True, True
+ Z0337, 318447, 319004, atg, tga, >, True, True
+ Z0338, 319222, 319545, atg, taa, >, True, True
+ Z0339, 319502, 321892, atg, taa, >, True, True
+ Z0340, 322025, 322981, gtg, taa, <, True, True
+ Z0341, 323074, 323112, atg, taa, <, True, True
+ Z0342, 323657, 324556, atg, taa, <, True, True
+ Z0343, 324655, 325377, atg, tga, >, True, True
+ Z0344, 325544, 325822, atg, taa, >, True, True
+ Z0345, 326097, 326246, atg, taa, >, True, True
+ Z0346, 326525, 327409, atg, tga, <, True, True
+ Z0347, 327673, 328731, atg, taa, >, True, True
+ Z0348, 328807, 330000, atg, tag, >, True, True
+  yagQ, 330179, 331135, atg, tga, <, True, True
+  yagR, 331145, 333343, atg, taa, <, True, True
+  yagS, 333340, 334296, atg, tga, <, True, True
+  yagT, 334293, 334982, atg, tga, <, True, True
+  yagU, 335400, 336014, atg, taa, >, True, True
+  ykgJ, 336262, 336591, atg, taa, <, True, True
+  yagV, 336904, 337659, atg, tga, <, True, True
+  yagW, 337583, 339226, atg, taa, <, True, True
+  yagX, 339216, 341741, atg, taa, <, True, True
+  yagY, 341767, 342435, atg, tag, <, True, True
+  yagZ, 342493, 343080, atg, taa, <, True, True
+  ykgK, 343155, 343745, gtg, taa, <, True, True
+ Z0362, 344151, 344375, atg, tga, <, True, True
+  ykgL, 344522, 344713, atg, taa, >, True, True
+  ykgM, 344923, 345186, atg, tga, <, True, True
+ Z0365, 345429, 345830, gtg, tga, >, True, True
+ Z0366, 345827, 346174, atg, taa, >, True, True
+ Z0367, 346224, 347762, atg, taa, >, True, True
+ Z0369, 348575, 349717, atg, taa, <, True, True
+ Z0370, 349953, 350873, atg, taa, <, True, True
+ Z0371, 350967, 351956, atg, tga, >, True, True
+ Z0372, 352244, 352600, atg, taa, <, True, True
+ Z0373, 352631, 352759, atg, tga, >, True, True
+ Z0374, 352793, 353368, atg, taa, <, True, True
+  eaeH, 353934, 358187, atg, taa, >, True, True
+  ykgA, 358308, 359198, gtg, tag, <, True, True
+ Z0377, 359399, 360283, atg, tga, >, True, True
+  ykgB, 360443, 361036, atg, tga, <, True, True
+ Z0379, 361019, 361288, gtg, taa, >, True, True
+  ykgI, 361048, 361299, ttg, taa, <, False, True
+# Start codon reading frame match - shift -3:  361314, atg: True
+  ykgC, 361393, 362745, atg, taa, <, True, True
+  ykgD, 362944, 363798, atg, tga, >, True, True
+  ykgE, 364325, 365044, gtg, tga, >, True, True
+  ykgF, 365055, 366482, atg, taa, >, True, True
+  ykgG, 366322, 367170, gtg, tga, >, True, True
+ Z0387, 367125, 367337, atg, tga, <, True, True
+ Z0388, 367665, 368081, atg, taa, <, True, True
+ Z0389, 368263, 368505, gtg, taa, <, True, True
+ Z0390, 368429, 369538, atg, tga, <, True, True
+ Z0391, 369565, 370326, atg, taa, <, True, True
+ Z0392, 370480, 370956, atg, tga, <, True, True
+ Z0393, 371156, 371311, atg, tga, <, True, True
+ Z0394, 371604, 371762, atg, taa, <, True, True
+ Z0395, 371783, 372166, atg, tag, <, True, True
+ Z0397, 372972, 373223, atg, tga, >, True, True
+  betA, 373225, 374913, ttg, tga, <, False, True
+  betB, 374927, 376399, atg, taa, <, True, True
+  betI, 376413, 377000, atg, taa, <, True, True
+  betT, 377129, 379162, atg, tga, >, True, True
+ Z0402, 379670, 383719, atg, tga, >, True, True
+  yahA, 383852, 384949, gtg, tga, >, True, True
+ Z0404, 384991, 385251, gtg, taa, <, True, True
+ Z0405, 385212, 385922, atg, tag, <, True, True
+ Z0406, 386014, 386316, atg, taa, <, True, True
+  yahD, 386779, 387384, atg, taa, >, True, True
+  yahE, 387424, 388287, gtg, taa, >, True, True
+  yahF, 388277, 389824, atg, tga, >, True, True
+  yahG, 389824, 391242, atg, tga, >, True, True
+  yahI, 391757, 392707, atg, taa, >, True, True
+  yahJ, 392717, 394099, atg, tga, >, True, True
+ Z0414, 394398, 394808, atg, tag, >, True, True
+ Z0415, 395059, 396045, atg, taa, >, True, True
+ Z0416, 396094, 396354, atg, tag, >, True, True
+ Z0417, 396400, 397578, gtg, tga, >, True, True
+ Z0418, 397571, 398542, atg, tga, >, True, True
+ Z0419, 398539, 399495, atg, taa, >, True, True
+  yahK, 399582, 400631, atg, tga, >, True, True
+  yahL, 400874, 401689, atg, tag, >, True, True
+ Z0422, 402035, 402115, ccg, cca, >, False, False
+ Z0423, 402210, 402350, atg, tag, >, True, True
+  yahN, 402367, 403038, atg, tga, <, True, True
+  yahO, 403185, 403460, atg, taa, >, True, True
+  prpR, 403558, 405144, atg, tga, <, True, True
+  prpB, 405383, 406273, atg, taa, >, True, True
+  prpC, 406429, 407598, atg, taa, >, True, True
+  prpD, 407632, 409083, atg, taa, >, True, True
+  prpE, 409123, 411009, atg, taa, >, True, True
+ Z0431, 411372, 411509, tgc, agg, <, False, False
+# Start codon reading frame match - shift -4:  411523, gtg: True
+# Start codon reading frame match - shift 1:  411528, atg: True
+# Start codon reading frame match - shift 8:  411535, gtg: True
+# Stop codon reading frame match - shift -8:  411384, taa: True
+# Stop codon reading frame match - shift -5:  411387, tga: True
+# Stop codon reading frame match - shift 1:  411393, tag: True
+  codB, 411903, 413162, cgt, ata, >, False, False
+# Start codon reading frame match - shift 1:  411924, gtg: True
+# Stop codon reading frame match - shift 1:  413181, taa: True
+# Matching shift 1
+  codB, 411903, 413162, gtg, taa, >, True, True
+  codA, 413152, 414435, gtg, tga, >, True, True
+  cynR, 414568, 415467, atg, taa, <, True, True
+  cynT, 415577, 416236, gtg, taa, >, True, True
+  cynS, 416267, 416737, atg, tga, >, True, True
+  cynX, 416770, 417924, atg, tga, >, True, True
+  lacA, 418027, 418638, atg, taa, <, True, True
+  lacY, 418704, 419957, atg, taa, <, True, True
+  lacZ, 420009, 423083, atg, taa, <, True, True
+  lacI, 423206, 424288, acc, gag, <, False, False
+# Start codon reading frame match - shift 5:  424312, gtg: True
+# Start codon reading frame match - shift 7:  424314, atg: True
+# Stop codon reading frame match - shift 1:  423228, tga: True
+ Z0442, 424325, 425278, ccc, gcg, <, False, False
+# Start codon reading frame match - shift 5:  425302, atg: True
+# Start codon reading frame match - shift 10:  425307, gtg: True
+# Stop codon reading frame match - shift 2:  424348, tag: True
+# Stop codon reading frame match - shift 5:  424351, tga: True
+ Z0443, 425298, 426074, aat, cgg, <, False, False
+# Start codon reading frame match - shift 5:  426098, atg: True
+# Stop codon reading frame match - shift -6:  425313, taa: True
+# Stop codon reading frame match - shift 5:  425324, taa: True
+# Matching shift 5
+ Z0443, 425298, 426074, atg, taa, <, True, True
+  mhpR, 426189, 427061, gtg, tag, <, True, True
+  mhpA, 427213, 428877, atg, tga, >, True, True
+  mhpB, 428879, 429823, atg, tga, >, True, True
+  mhpC, 429778, 430707, gtg, taa, >, True, True
+  mhpD, 430717, 431526, atg, tga, >, True, True
+  mhpF, 431523, 432473, atg, tga, >, True, True
+  mhpE, 432470, 433483, atg, taa, >, True, True
+  mhpT, 433614, 434870, atg, tga, >, True, True
+  yaiL, 434855, 435511, gtg, taa, >, True, True
+  yaiM, 435636, 436469, atg, tga, <, True, True
+  adhC, 436562, 437671, atg, tga, <, True, True
+  yaiN, 437706, 438002, gtg, tag, <, True, True
+  afuC, 438141, 439199, gga, taa, <, False, True
+# Start codon reading frame match - shift -10:  439213, atg: True
+# Start codon reading frame match - shift 2:  439225, atg: True
+  afuB, 439199, 441277, gtc, atg, <, False, False
+# Start codon reading frame match - shift 2:  441303, atg: True
+# Stop codon reading frame match - shift 2:  439227, taa: True
+# Matching shift 2
+  afuB, 439199, 441277, atg, taa, <, True, True
+  afuA, 441346, 442377, atg, taa, <, True, True
+ Z0461, 442374, 443678, atg, tga, <, True, True
+ Z0462, 443763, 445304, atg, taa, <, True, True
+ Z0463, 445304, 445933, atg, taa, <, True, True
+  tauA, 446236, 447198, atg, taa, >, True, True
+  tauB, 447211, 447978, atg, tga, >, True, True
+  tauC, 447975, 448802, atg, tga, >, True, True
+  tauD, 448799, 449650, atg, taa, >, True, True
+  hemB, 449757, 450764, tgc, taa, <, False, True
+# Start codon reading frame match - shift 1:  450791, gtg: True
+ Z0469, 451257, 454199, aat, ggt, >, False, False
+# Start codon reading frame match - shift -6:  451279, atg: True
+# Start codon reading frame match - shift 1:  451286, atg: True
+# Stop codon reading frame match - shift 2:  454227, taa: True
+  yaiV, 454242, 454910, taa, att, >, False, False
+# Start codon reading frame match - shift 2:  454272, atg: True
+# Stop codon reading frame match - shift 2:  454938, taa: True
+# Matching shift 2
+  yaiV, 454242, 454910, atg, taa, >, True, True
+  yaiH, 454911, 456068, ttg, tga, <, False, True
+  sbmA, 456420, 457640, atg, taa, >, True, True
+  yaiW, 457653, 458747, atg, tga, >, True, True
+ Z0475, 458806, 459114, atg, taa, <, True, True
+ Z0476, 459242, 459586, gtg, taa, >, True, True
+ Z0477, 459610, 460704, atg, taa, <, True, True
+  yaiB, 461167, 461427, atg, taa, >, True, True
+  phoA, 461459, 462943, ttg, taa, >, False, True
+  psiF, 463044, 463382, atg, tga, >, True, True
+  yaiC, 463484, 464599, atg, tga, >, True, True
+  proC, 464616, 465425, atg, tga, <, True, True
+ Z0483, 465425, 466003, ttg, taa, >, False, True
+  aroL, 466186, 466710, atg, tga, >, True, True
+  yaiA, 466760, 466951, atg, tga, >, True, True
+  aroM, 467209, 467886, atg, taa, >, True, True
+  yaiE, 467958, 468242, atg, taa, >, True, True
+ Z0489, 470384, 470665, ttg, tga, >, False, True
+# Start codon reading frame match - shift -10:  470404, gtg: True
+# Start codon reading frame match - shift -5:  470409, gtg: True
+ Z0491, 470662, 471111, atg, tag, >, True, True
+  yaiD, 471196, 472107, atg, taa, <, True, True
+  yajF, 472094, 473140, ttg, taa, >, False, True
+  araJ, 473283, 474467, atg, tag, <, True, True
+  sbcC, 474593, 477736, atg, taa, <, True, True
+  sbcD, 477733, 478935, atg, tga, <, True, True
+  phoB, 479125, 479814, atg, taa, >, True, True
+  phoR, 479872, 481167, gtg, taa, >, True, True
+  brnQ, 481574, 482893, atg, taa, >, True, True
+  proY, 482969, 484342, atg, taa, >, True, True
+  malZ, 484498, 486315, atg, aac, >, True, False
+# Stop codon reading frame match - shift -2:  486341, tga: True
+# Stop codon reading frame match - shift 3:  486346, taa: True
+ Z0502, 486503, 487948, gat, aaa, >, False, False
+# Start codon reading frame match - shift -10:  486523, gtg: True
+# Start codon reading frame match - shift 3:  486536, atg: True
+# Stop codon reading frame match - shift -4:  487972, taa: True
+# Stop codon reading frame match - shift 3:  487979, tag: True
+# Stop codon reading frame match - shift 6:  487982, tga: True
+  yajB, 487969, 488550, aat, aac, <, False, False
+# Start codon reading frame match - shift 3:  488581, atg: True
+# Stop codon reading frame match - shift 3:  488002, tga: True
+# Matching shift 3
+  yajB, 487969, 488550, atg, tga, <, True, True
+  queA, 488643, 489713, atg, taa, >, True, True
+   tgt, 489768, 490895, atg, taa, >, True, True
+  yajC, 490918, 491250, atg, taa, >, True, True
+  secD, 491278, 493125, gtg, tga, >, True, True
+  secF, 493136, 494107, gtg, taa, >, True, True
+ Z0509, 494258, 494500, atg, taa, >, True, True
+ Z0510, 494493, 494774, gtg, taa, >, True, True
+  yajD, 494862, 495209, atg, tga, >, True, True
+   tsx, 495386, 496270, tga, tga, <, False, True
+# Start codon reading frame match - shift 1:  496302, atg: True
+  yajI, 496569, 497168, tgc, aaa, <, False, False
+# Start codon reading frame match - shift 1:  497200, atg: True
+# Stop codon reading frame match - shift -7:  496595, tag: True
+# Stop codon reading frame match - shift 1:  496603, taa: True
+# Matching shift 1
+  yajI, 496569, 497168, atg, taa, <, True, True
+  ybaD, 497259, 497708, atg, taa, >, True, True
+  ribD, 497712, 498815, gtg, tga, >, True, True
+ Z0516, 498904, 499374, atg, tga, >, True, True
+  nusB, 499394, 499813, gtg, taa, >, True, True
+  thiL, 499891, 500868, atg, taa, >, True, True
+  pgpA, 500846, 501361, atg, taa, >, True, True
+ Z0521, 501539, 503110, atg, tga, <, True, True
+  yajO, 503341, 504315, atg, taa, <, True, True
+   dxs, 504370, 506232, atg, taa, <, True, True
+  ispA, 506257, 507156, atg, taa, <, True, True
+  xseB, 507156, 507398, atg, taa, <, True, True
+  yajK, 507604, 509052, atg, taa, >, True, True
+  thiJ, 509106, 509702, gtg, tag, <, True, True
+  apbA, 509659, 510570, atg, tag, <, True, True
+  yajQ, 510720, 511229, atg, taa, >, True, True
+  yajR, 511357, 512727, gtg, taa, <, True, True
+  cyoE, 512870, 513760, atg, taa, <, True, True
+  cyoD, 513772, 514101, atg, taa, <, True, True
+  cyoC, 514101, 514715, atg, taa, <, True, True
+  cyoB, 514705, 516696, atg, tga, <, True, True
+  cyoA, 516718, 517665, atg, taa, <, True, True
+  ampG, 518125, 519600, atg, taa, <, True, True
+  yajG, 519644, 520324, atg, taa, <, True, True
+  bolA, 520494, 520844, atg, taa, >, True, True
+   tig, 521188, 522486, atg, taa, >, True, True
+  clpP, 522731, 523354, atg, tga, >, True, True
+  clpX, 523480, 524754, atg, taa, >, True, True
+   lon, 524897, 527296, gtg, tag, >, True, True
+  hupB, 527505, 527777, gtg, taa, >, True, True
+  ybaU, 527969, 529840, atg, taa, >, True, True
+  ybaV, 529992, 530363, atg, taa, >, True, True
+  ybaW, 530469, 530867, atg, taa, >, True, True
+  ybaX, 530919, 531614, atg, taa, <, True, True
+  ybaE, 531679, 533379, atg, tga, <, True, True
+   cof, 533467, 534297, gtg, taa, >, True, True
+  ybaO, 534449, 534907, atg, taa, >, True, True
+  mdlA, 534937, 536709, gtg, tag, >, True, True
+  mdlB, 536702, 538483, atg, tga, >, True, True
+  glnK, 538664, 539002, atg, taa, >, True, True
+  amtB, 539032, 540318, atg, ata, >, True, False
+# Stop codon reading frame match - shift -6:  540344, taa: True
+# Stop codon reading frame match - shift 1:  540351, taa: True
+  tesB, 540367, 541227, tga, aaa, <, False, False
+# Start codon reading frame match - shift 1:  541260, atg: True
+# Stop codon reading frame match - shift -7:  540394, tag: True
+# Stop codon reading frame match - shift 1:  540402, taa: True
+# Matching shift 1
+  tesB, 540367, 541227, atg, taa, <, True, True
+  ybaY, 541445, 542017, atg, taa, >, True, True
+  ybaZ, 542050, 542421, atg, taa, <, True, True
+   ffs, 542492, 542629, gcg, ccc, >, False, False
+# Start codon reading frame match - shift -10:  542517, atg: True
+  ybaA, 542740, 543093, atg, tag, >, True, True
+  ylaB, 543135, 544691, atg, tga, <, True, True
+  ylaC, 544849, 545358, gtg, taa, <, True, True
+  ylaD, 545435, 545986, atg, taa, <, True, True
+   hha, 546158, 546376, atg, taa, <, True, True
+  ybaJ, 546402, 546776, atg, tag, <, True, True
+  acrB, 547322, 550471, atg, tga, <, True, True
+  acrA, 550494, 551687, atg, taa, <, True, True
+  acrR, 551829, 552476, atg, taa, >, True, True
+  aefA, 552604, 555966, atg, taa, >, True, True
+ Z0583, 556005, 556169, atg, taa, <, True, True
+  priC, 556183, 556710, tga, tag, <, False, True
+# Start codon reading frame match - shift 1:  556744, gtg: True
+  ybaN, 556780, 557157, tat, ctg, >, False, False
+# Start codon reading frame match - shift 1:  556816, atg: True
+# Stop codon reading frame match - shift 1:  557191, tga: True
+# Matching shift 1
+  ybaN, 556780, 557157, atg, tga, >, True, True
+   apt, 557310, 557861, atg, taa, >, True, True
+  dnaX, 557990, 559921, atg, tga, >, True, True
+  ybaB, 559974, 560303, atg, tga, >, True, True
+  recR, 560303, 560908, atg, taa, >, True, True
+  htpG, 561018, 562892, atg, cct, >, True, False
+# Stop codon reading frame match - shift 2:  562928, tga: True
+# Stop codon reading frame match - shift 7:  562933, taa: True
+   adk, 563073, 563717, caa, gct, >, False, False
+# Start codon reading frame match - shift 2:  563111, atg: True
+# Stop codon reading frame match - shift 2:  563753, taa: True
+# Matching shift 2
+   adk, 563073, 563717, atg, taa, >, True, True
+  hemH, 563849, 564811, atg, taa, >, True, True
+  ybaC, 564808, 565767, atg, tag, <, True, True
+   gsk, 565919, 567223, atg, taa, >, True, True
+  ybaL, 567356, 569032, atg, taa, <, True, True
+   fsr, 569269, 570489, tgg, gat, <, False, False
+# Start codon reading frame match - shift -9:  570516, gtg: True
+# Start codon reading frame match - shift -5:  570520, atg: True
+# Start codon reading frame match - shift 1:  570526, atg: True
+# Stop codon reading frame match - shift 1:  569308, tga: True
+# Stop codon reading frame match - shift 8:  569315, taa: True
+  ushA, 570707, 572359, tat, gta, >, False, False
+# Start codon reading frame match - shift 1:  570746, atg: True
+# Stop codon reading frame match - shift -10:  572385, tga: True
+# Stop codon reading frame match - shift 1:  572396, taa: True
+# Matching shift 1
+  ushA, 570707, 572359, atg, taa, >, True, True
+  ybaK, 572396, 572875, atg, taa, <, True, True
+  ybaP, 573079, 573873, atg, taa, <, True, True
+  ybaQ, 573957, 574352, atg, taa, >, True, True
+  ybaR, 574567, 577071, atg, taa, <, True, True
+  ybaS, 577333, 578265, atg, tga, >, True, True
+  ybaT, 578268, 579560, atg, taa, >, True, True
+ Z0608, 579898, 581253, atg, taa, >, True, True
+ Z0609, 581356, 585741, atg, tta, >, True, False
+# Stop codon reading frame match - shift 1:  585779, tag: True
+ Z0615, 585949, 601515, ggt, tga, >, False, True
+# Start codon reading frame match - shift 1:  585989, gtg: True
+ Z0634, 601519, 603681, tgg, ggt, >, False, False
+# Start codon reading frame match - shift -4:  601554, atg: True
+# Start codon reading frame match - shift -1:  601557, gtg: True
+# Start codon reading frame match - shift 2:  601560, gtg: True
+# Stop codon reading frame match - shift -5:  603713, taa: True
+ Z0635, 603678, 604853, ggg, tgc, >, False, False
+  ybbI, 604925, 605257, aga, atc, >, False, False
+# Start codon reading frame match - shift -6:  604958, atg: True
+ Z0638, 605461, 605883, ctc, agg, <, False, False
+# Start codon reading frame match - shift 8:  605928, atg: True
+ Z0639, 605968, 606984, aaa, tcc, <, False, False
+# Stop codon reading frame match - shift -9:  605998, taa: True
+ Z0640, 607351, 607713, gga, gcc, >, False, False
+# Stop codon reading frame match - shift -9:  607741, tga: True
+# Stop codon reading frame match - shift -5:  607745, taa: True
+  ybbJ, 607892, 608350, aat, tga, <, False, True
+# Start codon reading frame match - shift 8:  608395, atg: True
+  ybbK, 608347, 609264, tat, ata, <, False, False
+# Stop codon reading frame match - shift -1:  608385, tag: True
+# Stop codon reading frame match - shift 2:  608388, taa: True
+  ybbL, 609410, 610087, agg, atg, >, False, False
+# Stop codon reading frame match - shift 1:  610125, tga: True
+  ybbM, 610047, 610853, act, tga, >, False, True
+# Start codon reading frame match - shift -8:  610078, gtg: True
+  ybbN, 610916, 611806, aat, tga, <, False, True
+  ybbO, 611831, 612640, agc, gcg, <, False, False
+# Stop codon reading frame match - shift -7:  611863, taa: True
+# Stop codon reading frame match - shift 6:  611876, tga: True
+  tesA, 612630, 613256, caa, aga, <, False, False
+# Start codon reading frame match - shift -5:  613288, atg: True
+# Start codon reading frame match - shift 8:  613301, atg: True
+# Stop codon reading frame match - shift -6:  612663, tga: True
+  ybbA, 613224, 613910, agg, agg, >, False, False
+  ybbP, 613907, 616321, cag, agt, >, False, False
+ Z0651, 616751, 620947, ggg, gct, >, False, False
+  ybbD, 620928, 621188, ggc, tta, >, False, False
+ Z0654, 621227, 621376, aaa, gca, >, False, False
+# Stop codon reading frame match - shift -9:  621404, taa: True
