De mens is al eeuwenlang op zoek naar geheime boodschappen die verborgen zitten in boeken, achterwaarts afgespeelde muziek, vreemd uitziende plateau's op Mars1, of andere dingen. Sommigen geloven bijvoorbeeld stellig dat er verborgen boodschappen in de Bijbel zitten die niet op toeval kunnen berusten — ze moeten er wel moedwillig in aangebracht zijn door niemand minder dan God de Vader zelf.

De zoektocht naar verborgen boodschappen werd nieuw leven ingeblazen door de publicatie van het boek The Bible Code2. Het is geschreven door journalist Michael Drosnin, die beweert dat de Hebreeuwse Bijbel een zeer complexe code bevat die gebeurtenissen onthult die plaatsvonden duizenden jaren nadat de Bijbel werd geschreven. Volgens Drosnin is het dan ook logisch dat er in de Bijbel boodschappen verborgen moeten zitten die iets te vertellen hebben over onze toekomst.

cover van boek over bijbelcodes
Het boek The Bible Code van Michael Drosnin (New York, Simon and Schuster, 1997) blies de zoektocht naar geheime boodschappen in de Bijbel nieuw leven in.
artikel van The Sun over bijbelcodes
Besprekingen van het boek The Bible Code werden breed uitgesmeerd in de pers, onder andere met coverartikels in Newsweek, Time and Sun. Michael Drosnin was ook te zien in tal van praatprogramma's, zoals de Oprah Winfrey Show in juni 1997. Time beweerde zelfs dat Warner de filmrechten van het boek heeft opgekocht.

Om verborgen boodschappen te vinden, maakt Drosnin gebruik van een eenvoudige techniek: start bij een bepaalde letter in een tekst, en spring daarna telkens een vast aantal letters vooruit of achteruit. Op die manier valt bijvoorbeeld in bijbelvers Genesis 31:28 (King James versie) "And hast not suffered me to kiss my sons and my daughters? Thou hast now done foolishly in so doing." het woord Roswell te lezen door te starten vanaf de R in daughters, vier letters vooruit te springen naar de O in thou, nog vier letters vooruit te springen naar de S in hast, enzoverder. In datzelfde vers lees je ook het woord UFO door te starten vanaf de U in thou, en daarna telkens 12 letters vooruit te springen. En dat kan toch zeker geen toeval zijn?

Genesis 31:28 UFO en Roswell
In bijbelvers Genesis 31:28 (King James versie) "And hast not suffered me to kiss my sons and my daughters? Thou hast now done foolishly in so doing." lezen we het woord Roswell door te starten vanaf de R in daughters, vier letters vooruit te springen naar de O in thou, nog vier letters vooruit te springen naar de S in hast, enzoverder. Het woord UFO lezen we door te starten vanaf de U in thou, en daarna telkens 12 letters vooruit te springen.

De bewering dat de verborgen boodschappen in de Bijbel onmogelijk aan toeval toe te schrijven zijn, werd echter vanuit allerlei hoeken in vraag gesteld. Sommige critici van Drosnin zeggen dat de journalist niets anders doet dan data mining: in elke willekeurige tekst vallen met de gebruikte techniek en een gezonde dosis creativiteit een groot aantal verborgen boodschappen te vinden. Michael Drosnin reageerde in Newsweek op de kritiek door te stellen dat "When my critics find a message about the assassination of a prime minister encrypted in Moby Dick, I'll believe them". Wiskundige Brendan McKay van de Australian University nam de handschoen op, en toonde aan dat dat helemaal geen probleem3 bleek te zijn.

Opgave

Eiwitten bestaan uit polymere ketens van aminozuren. De eiwitten die aangemaakt worden in cellen van levende organismen zijn opgebouwd uit 20 verschillende aminozuren, die elk voorgesteld worden door een hoofdletter (enkel de hoofdletters B, J, O, U, X en Z corresponderen niet met een aminozuur). Omdat de eiwitten die gecodeerd zitten in het menselijk genoom op die manier kunnen voorgesteld worden als strings van hoofdletters, kunnen we de methode van Drosnin ook toepassen om op zoek te gaan naar geheime boodschappen die gecodeerd zitten in de mens zelf.

De Latijnse spreuk alea iacta est (de teerling is geworpen) kennen we vooral omdat ze in 49 voor Christus door Julius Caesar werd uitgesproken, toen die met een staand leger de Rubicon overstak om een staatsgreep te plegen in Rome. De woorden van deze zin zitten bijvoorbeeld verborgen in de eiwitsequentie

HGLAVPFRTTHPSLECGRTSWARWSLDIAEFWLAWEASDCITDEDTKFQGDAVVAQM

die deel uitmaakt van een complexe reeks eiwitten die er samen voor zorgen dat we kunnen ruiken. Als we starten op positie 21, en telkens 4 posities vooruit springen, dan lezen we het woord ALEA. Dit zelfde woord lees je door op dezelfde positie te starten, en telkens 11 posities vooruit te springen. Je kunt ook starten op positie 36, en telkens 11 posities achteruit springen om het woord ALEA nog een derde keer terug te vinden in het eiwit. Onderstaande tabel geeft aan dat er in het eiwit ook nog twee voorkomens van het woord IACTA en twee voorkomens van het woord EST te vinden zijn.

start stap lengte woord
0 1 57 HGLAVPFRTTHPSLECGRTSWARWSLDIAEFWLAWEASDCITDEDTKFQGDAVVAQM
21 4 4                      A   L   E   A                       
21 11 4                      A          L          E          A  
36 -11 4    A          E          L          A                    
27 -6 5    A     T     C     A     I                             
27 6 5                            I     A     C     T     A     
29 -10 3          T         S         E                           
29 8 3                              E       S       T           

Om dergelijke geheime boodschappen te vinden in een gegeven eiwitsequentie ga je als volgt te werk:

Voorbeeld

>>> isaminowoord('ALEA')
True
>>> isaminowoord('iacta')
True
>>> isaminowoord('Proline')
False

>>> eiwit = 'HGLAVPFRTTHPSLECGRTSWARWSLDIAEFWLAWEASDCITDEDTKFQGDAVVAQM'

>>> posities(eiwit, 'A')
[3, 21, 28, 33, 36, 51, 54]
>>> posities(eiwit, 'l')
[2, 13, 25, 32]

>>> eiwitcode(eiwit, 21, 11, 4)
'ALEA'
>>> eiwitcode(eiwit, 27, -6, 5)
'IACTA'
>>> eiwitcode(eiwit, 29, 8, 3)
'EST'
>>> eiwitcode(eiwit, 0, 25, 6)
''

>>> eiwitzoeker(eiwit, 'ALEA')
[(21, 4), (21, 11), (36, -11)]
>>> eiwitzoeker(eiwit, 'iacta')
[(27, -6), (27, 6)]
>>> eiwitzoeker(eiwit, 'EST')
[(29, -10), (29, 8)]
>>> eiwitzoeker(eiwit, 'EST', maxstap=8)
[(29, 8)]
>>> eiwitzoeker(eiwit, 'Proline')
Traceback (most recent call last):
AssertionError: ongeldig aminowoord