Sieci neuronowe w bioinformatyce – basecalling

Sekwencjonowanie jest techniką odczytywania kolejności par nukleotydów w badanej cząsteczce DNA – ale jak to w praktyce wygląda? Jak informacja zawarta w materiale biologicznym zamieniana jest na ogromne bazy danych? Otóż to wszystko zasługa analiz statystycznych prowadzonych w bioinformatyce. Przyjrzyjmy się temu bliżej – czym jest basecalling?

Chromatogram sekwencjonowania

Sekwencjonowanie nanoporowe polega na przepuszczeniu odpowiednio przygotowanego łańcucha DNA przez membranę z tzw. nanoporami. Do  membrany przyłożone jest napięcie elektryczne, które powoduje przepływ prądu. Dzięki temu możliwe jest wychwycenie każdej zmiany rezystancji przechodzących przez pory nukleotydów. Takie zmiany natężenia prądu elektrycznego zapisywane są w postaci chromatogramu, który tworzy surowy wynik sekwencjonowania nanoporowego. Kolejnym etapem analizy jest odpowiednia interpretacja powstałego chromatogramu umożliwiająca odczytanie właściwej sekwencji badanego DNA. Właśnie tutaj z pomocą przychodzą statystyczne metody bioinformatyczne.

Na czym polega basecalling?

Basecalling to właśnie proces tłumaczenia chromatogramu na odpowiednie sekwencje DNA. Nie jest to jednak takie proste zadanie. Nie istnieje bowiem uniwersalna, modelowa zależność pomiędzy wartością natężenia prądu, a konkretnym nukleotydem.W formie przykładu – nie można stwierdzić, że prąd o natężeniu 1pA zawsze oznacza adeninę, a o wartości natężenia 2pA oznacza cytozynę.

Utrudnienia te wynikają z trzech głównych czynników:

  1. Wyniki pomiaru natężenia prądu są bardzo niskie, w dodatku różnica pomiędzy poszczególnymi odczytami i całościowa amplituda wykresu jest stosunkowo niewielka.
  2. Prędkość przenikania nukleotydów przez pory jest bardzo wysoka, co może powodować zmniejszoną czułość wykrycia zmian rezystancji.
  3. Prędkość przechodzenia łańcucha bywa również zmienna  w przypadku powtórzeń partii sekwencji. Jest to tak zwane ślizganie się nici DNA. To zjawisko bardzo utrudnia określenie dokładnej liczby nukleotydów występujących w długich sekwencjach powtórzeń – trudno jest precyzyjnie stwierdzić, czy odczytany zapis to np. AAAA czy AAAAA.

Właśnie dlatego stosowane są zaawansowane techniki uczenia maszynowego, które wykazują powtarzalne struktury matematyczne przetwarzanych informacji. Ogólna nazwa tego typu modeli to sieć neuronowa.

Sieci neuronowe

Oxford Nanopore Technology (ONT), twórca metody sekwencjonowania nanoporowego oraz dostawca narzędzi działających w oparciu o tę metodę, udostępnia również oprogramowanie do basecallingu przystosowane do długich odczytów z sekwenatorów nanoporowych – Guppy Basecaller. Właśnie na podstawie tego narzędzia genXone przeprowadza swoje analizy.

Guppy jest narzędziem wykorzystującym sieci neuronowe, czyli algorytm opierający się na budowie grafu decyzji o strukturze inspirowanej budową ludzkiego mózgu. Sieci neuronowe w podstawowej postaci są algorytmem uczenia nadzorowanego, który jest trenowany za pomocą przygotowanego zestawu danych oraz zestawu oczekiwanych rezultatów (uczenie maszynowe).

Guppy Basecaller jest dostarczany w postaci narzędzia oraz modeli dopasowanych do parametrów sekwencjonowania, wytrenowanych na podstawie bardzo dużej liczby sekwencjonowań. Modele te cały czas ewoluują i można mieć nadzieję, że z czasem osiągną jeszcze lepszą dokładność wyników. Natomiast już teraz, ze względu na przeprowadzanie tak wymagających analiz, istnieje możliwość wykorzystania dodatkowo kart graficznych z protokołem Nvidia CUDA, które umożliwiają uzyskanie kilkadziesiąt, a nawet kilkaset razy szybsze przetwarzanie danych. Dzięki takiej wydajności można wykonać basecalling w czasie rzeczywistym, już podczas trwania sekwencjonowania, a w efekcie otrzymać ostateczny wynik znacznie szybciej.