Het Miller-Urey experiment is een beroemd geworden experiment dat in 1952 aan de Universiteit van Chicago werd uitgevoerd door Stanley Miller en Harold Urey. In het experiment werd een mengsel van methaan, ammoniak, waterdamp en diwaterstof verwarmd en blootgesteld aan elektrische ladingen. De samenstelling van het mengsel werd gekozen op grond van wat men op dat moment aannam over de atmosfeer van voor er leven was op de jonge Aarde. De elektrische ladingen moesten de bliksem simuleren.

Na een week continu te hebben gedraaid met hun opstelling vonden Miller en Urey dat 10% tot 15% van de koolstof in het systeem zich nu in organische verbindingen bevond. Twee procent had aminozuren gevormd, waaronder 13 van de 20 die tegenwoordig door levende cellen gebruikt worden. Het aminozuur dat het meest voorkwam was glycine. Er werden ook suikers en lipiden gevormd. De bouwstenen van DNA en RNA (nucleotiden) ontbraken echter in zijn geheel. Simpele versies van nucleotiden zoals nucleosiden (nucleotiden zonder de fosfaatgroep) werden ook niet gevonden. Het experiment wordt door sommigen gezien als aanwijzing van hoe het leven op Aarde uit anorganische stoffen — de zogenaamde oersoep — is ontstaan. Een proces dat abiogenese genoemd wordt.

Miller Urey experiment
Schematische opstelling van het Miller-Urey experiment

Opgave

In deze opgave stellen we een molecule of een mengsel voor als een dictionary, waarvan de sleutels gevormd worden door de symbolische namen van de atomen die erin voorkomen en de corresponderende waarden aangeven hoeveel atomen erin voorkomen. Gevraagd wordt:

Voorbeeld

Bij onderstaande voorbeeldsessie gaan we ervan uit dat het tekstbestand moleculen.txt1 zich in de huidige directory bevindt.

>>> oersoep = {'N':2, 'Na':2, 'O':5, 'H':4}
>>> abiogenese({'Si': 1, 'O': 2}, oersoep)
False
>>> abiogenese({'H': 3, 'N': 1}, oersoep)
True

>>> moleculen = leesMoleculen('moleculen.txt')
>>> moleculen['zand']
{'Si': 1, 'O': 2}
>>> moleculen['ammoniak']
{'H': 3, 'N': 1}

>>> experiment1(moleculen, oersoep)
['ammoniak', 'natronloog']

>>> moleculen1 = {'ammoniak': {'H': 3, 'N': 1}, 'natronloog': {'Na': 1, 'O': 1, 'H': 1}}
>>> experiment2(moleculen1, oersoep)
True
>>> moleculen2 = {'zand': {'Si': 1, 'O': 2}, 'ammoniak': {'H': 3, 'N': 1}}
>>> experiment2(moleculen2, oersoep)
False

Bronnen