5. fejezet - DNS-számítások a gyakorlatban

Ebben a fejezetben két áttörő jellegű kísérletet mutatunk be röviden. Ezen kísérletek az 1990-es évek közepén bizonyították, hogy a DNS a gyakorlatban is alkalmazható számítási feladatok megoldására. Lássuk tehát a DNS-számítások kezdeti kísérleteit.

5.1. Adleman kísérlete — a Hamilton-út probléma megoldása

1994-ben Adleman kísérlete jelentett áttörést. Végre a gyakorlatban is sikerült „számításra fogni” a DNS molekulákat: Adleman a Hamilton-út problémát oldotta meg az 5.1. ábrán látható hét csúcsú gráfra.

Tehát a gráfban keressük azt az utat, amely minden csúcsot csak egyszer érint (ha van ilyen).

5.1. ábra - Az Adleman által vizsgált gráf.

Az Adleman által vizsgált gráf.

A gráf minden csúcsához hozzárendelünk egy-egy húsz nukleotid hosszúságú egyszeres DNS láncot.

Például a kísérletben a 2-4. csúcsnak a következő láncok feleltek meg:

2. csúcs: TATCGGATCG GTATATCCGA
3. csúcs: GCTATTCGAG CTTAAAGCTA
4. csúcs: GGCTAGGTAC CAGCATGCTT

Ezek a 20 hosszú láncok olyan 10 hosszúságú láncokból épülnek fel, amelyek egyediek, és komplementer láncaik is különböznek mindegyiktől.

Hasonlóan, az élekhez szintén 20 hosszú egyszeres láncokat rendelünk, ezeket a csúcsok láncainak segítségével hozzuk létre. Ha két csúcs közt vezet él, akkor a második csúcs első tíz nukleotidjának komplementer láncához kapcsoljuk az első csúcs második tíz nukleotidjának megfelelő komplementerláncot.

A példánál maradva:

a 2. csúcsból a 3.-ba mutató él: CATATAGGCT CGATAAGCTC
a 3. csúcsból a 2.-ba mutató él: GAATTTCGAT ATAGCCTAGC
a 3. csúcsból a 4.-be mutató él: GAATTTCGAT CCGATCCATG

Így ha két csúcs között él van, létre tudnak hozni egy olyan kétszálú molekulát, amiben az egyik szál a csúcsokat tartalmazza, a másik az éleket.

Az összes csúcsnak és élnek megfelelő láncot berakjuk a levesbe. A folyamat során elméletileg előállhat az összes lehetséges út, gyakorlatilag ez elég nagy méretig így is van (minden viszonylag rövid út meglesz az oldatban). A gráfot tekintve, például létrejöhet az 5.2. ábrán látható utat megtestesítő kétszálú DNS lánc. Az oldathoz adott ligáz enzim biztosítja, hogy az egymás mellé kerülő csúcsokat reprezentáló láncdarabok kovalens kötéssel (foszfodiészter-kötés) is összekapcsolódjanak (illetve hasonlóan az éleket jelképező szálon is).

5.2. ábra - A csúcsoknak és az éleknek megfelelő láncokból a H-kötések által létrejönnek az utakat jelentő kétszálú DNS láncok.

A csúcsoknak és az éleknek megfelelő láncokból a H-kötések által létrejönnek az utakat jelentő kétszálú DNS láncok.

Denaturálással a létrejött utak szálait szétválasztjuk. Ezután végzünk egy hosszvizsgálatot és az összes megfelelő hosszúságú molekulát kivesszük: azokat amelyek hossza megegyezhet a Hamilton-út hosszával (jelen esetben 140 nukleotid).

Az így nyert csak a megfelelő hosszúságú mintákat tartalmazó oldatot sokszorosítás művelettel dúsítjuk. Ezután pecázás következik, először az első csúcsnak megfelelő komplementer szállal, az így nyert levesben biztos, hogy minden molekula tartalmazza az első csúcsot. Ezt az oldatot megint sokszorosítással dúsítjuk, aztán pedig tovább pecázzuk a következő csúcsra, ezzel már csak olyan megfelelő hosszú molekulákat megtartva, amelyek az első mellett a második csúcsot is tartalmazzák. A folyamatot megismételve a maradék csúcsokra, végül ami marad az oldatban molekula, a probléma megoldását jelenti, mivel a keresett hosszúságú, és tartalmaz minden csúcsot.

Tehát végül azt kell eldöntetnünk, hogy maradt-e olyan DNS szálunk, ami eleget tesz az összes előző mérésnek, kiválasztásnak.

(Egyébként a példában a csúcsokat növekvő sorrendben végigjárva éppen egy Hamilton-utat kapunk.)

Itt jegyezzük meg, hogy a csúcsoknak és éleknek megfelelő DNS láncok hossza természetesen más gráfok esetén függ a gráf méretétől.