High capacity DNA data storage with variant-length Oligonucleotides using repeat accumulate code and hybrid mapping
praktyczny system przechowywania danych DNA o dużej pojemności
zaczęliśmy od zbudowania architektury przechowywania danych i pobierania danych z pamięci opartej na DNA (rys. 1 A)). Dane użytkownika zostały najpierw podzielone na 11 400 binarnych pakietów użytkownika o długości każdego pakietu 266 bitów. Aby skorygować błędy występujące na dowolnym etapie procesów przechowywania DNA, w tym syntezy, amplifikacji, przechowywania i przygotowania próbki do sekwencjonowania, zastosowaliśmy kodowanie RA na binarnych pakietach użytkownika, w których generowano 5% pakietów redundantnych/parzystych. Z każdym z 12 000 pakietów binarnych dodano 14 bitów do indeksowania w celu zamówienia oligos stochastycznych i 20 bitów do sprawdzenia cyklicznej redundancji (CRC) w celu wykrycia wewnętrznych błędów w każdym pakiecie. W rezultacie całkowita liczba bitów powiązanych z każdym pakietem wynosiła 300 bitów (Patrz dodatkowy plik 1: Rysunek S4). Następnie zmapowaliśmy wszystkie sekwencje binarne do sekwencji DNA za pomocą proponowanego schematu mapowania hybrydowego. Następnie sekwencje DNA zostały wysłane do Bioscience Twist w celu syntezy oligos. Po otrzymaniu zsyntetyzowanej puli oligos, wzmocniliśmy ją za pomocą reakcji łańcuchowej polimerazy (PCR) przed wysłaniem próbek do NovogeneAIT w celu sekwencjonowania za pomocą Illumina HiSeq. W ostatnim etapie analizowaliśmy i dekodowaliśmy dane sekwencjonujące, aby przekonwertować zapisy DNA z powrotem na cyfrowe dane binarne. Najpierw pobraliśmy próbki sekwencji millions z wyniku sekwencjonowania i wykonaliśmy odwrotne kodowanie i mapowanie RA, aby zrekonstruować oryginalne dane Użytkownika bez błędów, potwierdzając wykonalność naszej metody.
Oprócz pełnego odzyskiwania danych za pomocą wyników sekwencjonowania, przeanalizowaliśmy również ilościowo proponowany schemat przechowywania oparty na DNA i porównaliśmy go z innymi najnowocześniejszymi schematami, odwołując się do poprzedniej tabeli porównawczej (rys. 1 lit. C)). Szczegółowa definicja metryk wydajności w tabeli jest opisana w dodatkowym pliku 1: Sekcja S7. W tabeli porównaliśmy tylko schematy, które zostały zaprojektowane i przetestowane z założeniem formatu oligo pool storage, w którym zsyntetyzowano jednoniciowe krótkie oligo o długości około 200NT. Zauważ, że przy równoważnym założeniu przechowywania znacznie dłuższych nici DNA, takich jak, np., 1000bp, proponowany schemat kodowania pozostaje wykonalny, a gęstość informacji netto będzie rosła wraz z długością , osiągając większą gęstość niż, np., 1,84 bity/podstawa nad 1,74 bity/podstawa (patrz dodatkowy plik 1: Sekcja S3).
wysoka gęstość informacji netto 1.67 bitów/nt uzyskany dzięki proponowanemu schematowi przechowywania opartego na DNA (rys. 1 (D)) wynika głównie z następujących dwóch technik, które wykorzystaliśmy. Po pierwsze, proponowany schemat mapowania hybrydowego wykazuje potencjał mapowania 1,98 bitów / nt z małą szczeliną wynoszącą 1% od teoretycznej górnej granicy 2 bitów / nt. Po drugie, zoptymalizowany kod RA do kontroli błędów ma niewielką redundancję 1.05. Wraz z indeksowaniem 14 bitów i 20 bitami CRC, schemat uzyskuje gęstość informacji netto 1,67 bity/nt, co daje 91% pojemności Shannona (1,83 bity/nt z 0.5%), czyli o 6% więcej niż ostatnia najwyższa odnotowana w (dodatkowy plik 1: Sekcja S3). Teoretycznie , w porównaniu z, wzrost naszej gęstości informacji jest połączonym wynikiem nieco dłuższych oligos DNA o zmiennej długości (151nt-159nt w porównaniu z 152nt, z wyłączeniem miejsc wiązania startera), mniejszej redundancji kontroli błędów (1,05 w porównaniu z 1,07) i krótszego indeksowania (14 bitów w porównaniu z 32 bitami). Długość OLIGOS DNA są starannie zaprojektowane, aby w pełni wykorzystać obecne powszechnie dostępne techniki syntezy DNA (TWIST Bioscience, US), które mogą skutecznie syntetyzować oligos o długości 200NT. Zoptymalizowany projekt kodu RA zapewnia nieco zmniejszoną redundancję kontroli błędów przy równoważnym założeniu adresowania praktycznego wskaźnika rezygnacji 1,3% as, podczas gdy pełne odzyskiwanie z 10-krotnym pokryciem (10,5 x cala ) wskazuje, że odporność na błędy jest utrzymana. Najbardziej wyraźna różnica pojawia się w indeksowaniu, w którym używamy 14 bitów wyłącznie do wskazywania kolejności zakodowanych 12000 oligos, podczas gdy używamy 32 bitów do reprezentowania nasion wymaganych do transformacji Luby, która ustala podstawę kodu fountain, co skutkuje nadmiarowymi bitami indeksowania.
w celu dalszej weryfikacji, czy wysoka wydajność proponowanego schematu kodowania utrzymuje się dobrze wraz ze wzrostem rozmiaru danych (skalowalność), oszacowaliśmy gęstość informacji netto dla rozmiaru danych kodowania o większej wielkości in silico, tj. od 2MB do 2000mb. Szacowane gęstości zmniejszają się nieznacznie wraz z wykładniczym wzrostem rozmiaru danych z powodu przyrostu długości indeksowania wymaganego do rejestracji większego rozmiaru danych (dodatkowy plik 1: Sekcja S3 i Rys. 1 lit. E)). Gęstość 1,66 bitów/nt jest uzyskiwana do przechowywania 2MB danych źródłowych, co jest nadal o 6% wyższe niż . Ponadto zarówno kod RA, jak i strategia mapowania hybrydowego składająca się z proponowanego schematu kodowania mają niską złożoność, którą można skutecznie wdrożyć w praktyce. W szczególności zastosowanie kodu RA zapobiega potencjalnej awarii dekodowania (z powodu utraty początkowych wpisów do rozpoczęcia dekodowania w procesie przesiewania) i redundancji adresowej, która może powstać w fontannie DNA, a mapowanie hybrydowe osiąga bardzo wysoki potencjał mapowania, który jest konkurencyjny z fontanną DNA, unikając jednocześnie wysokiej złożoności, która wykazuje się w konwencjonalnych ograniczonych kodach blokowych.
dodatkowo obliczyliśmy gęstość fizyczną, jaką może wykazywać proponowany schemat. Poprzez eksperymenty rozcieńczania, autorzy zaobserwowali 4% Wskaźnik porzucenia z próbką 10pg przechowywania DNA, który prawie zbliżył się do limitu dekodera (który został z góry określony przez redundancję kodu). Kod RA użyty w naszym schemacie został optymalnie zaprojektowany z poziomem redundancji przy tym samym założeniu, że współczynnik porzucania jest brany pod uwagę w . Pokazaliśmy również, że teoretycznie nasz kod może tolerować do 4.75% wskaźnik porzucania (dodatkowy plik 1: Rysunek S4), który jest powyżej 4% Wskaźnik porzucania obserwowany w sekwencjonowaniu próbki 10pg. Z podobnym limitem dekodowania, nasz proponowany schemat będzie prawdopodobnie działać tak samo jak Fontanna DNA w eksperymentach niskocząsteczkowych (np. z próbką 10pg) ze względu na zastosowanie tych samych rurociągów eksperymentu, protokołów i standardów. Innymi słowy, projekt kodu na początkowym etapie umożliwia, że proponowany system może odzyskać dane z podatnych na błędy warunków w eksperymentach rozcieńczania podobnych do fontanny DNA. Przy założeniu średnio ∼1300 cząsteczek na oligo, sekwencjonowania głębokości 511x i równoważnych rurociągów, protokołów i standardów jako eksperyment rozcieńczania 10pg w fontannie DNA, możemy obliczeniowo oszacować, że nasz schemat osiągnie gęstość fizyczną 239 PB / g \(\left (\frac {266*11400/8\text {byte}}{1300*11400*1.0688*10^{-19}\tekst {gram}}\right)\). Jednak rygorystyczny eksperyment jest wymagane w celu sprawdzenia tej obliczeniowo oszacowanej gęstości fizycznej.
projektowanie kodu RA i Hybrydowy schemat mapowania do przechowywania DNA
zaprojektowaliśmy metodę kodowania, która obejmuje kod powtarzania na poziomie oligo (RA) i skuteczny schemat mapowania hybrydowego.
projektowanie kodu RA
w tradycyjnych systemach komunikacyjnych kod RA jest używany na poziomie bitów, gdzie generowane są nadmiarowe bity w celu złagodzenia błędów podstawienia. Jednak przechowywanie DNA jest podatne nie tylko na błędy substytucji, ale także na błędy wstawiania i usuwania. Dlatego zamiast konwencjonalnego kodowania RA na poziomie bitowym, zaprojektowaliśmy kodowanie RA na poziomie pakietów do przechowywania DNA w taki sposób, aby pakiet poddany błędom wstawiania, usuwania lub zastępowania mógł zostać odzyskany za pomocą dekodera RA. Jak opisano wcześniej, podzieliliśmy duży plik cyfrowy na mniejsze pakiety tego samego rozmiaru. Pakiety te były uważane za pakiety źródłowe, które były używane do generowania pakietów nadmiarowych lub parzystych przy użyciu systematycznego kodu RA rys. 2 A). Zauważ, że każdy pakiet został włączony do CRC w celu wykrycia błędów w pakiecie. W przypadku pakietów, które przeszły test CRC w dekoderze, uznaliśmy je za poprawnie odzyskane, podczas gdy pozostałe zostały uznane za upuszczone lub usunięte. Tak więc ogólny problem projektowania kodu dla przechowywania DNA stał się projektem kodu dla kanału kasowania. Aby zapewnić wysoką niezawodność, projekt kodu został przeprowadzony, biorąc pod uwagę nieco wyższe prawdopodobieństwo porzucenia niż rzeczywiste prawdopodobieństwo porzucenia. W tej pracy, uznaliśmy rzeczywisty wskaźnik porzucenia jako 1.3%, który został zgłoszony w fountain paper . Tak więc, zaprojektowaliśmy kod RA tak, że wynikowy kod wykazywał asymptotyczny próg wyższy niż prawdopodobieństwo odrzucenia 0,013. Zgodnie z procedurą optymalizacji (Patrz dodatkowy plik 1: Sekcja S2), zaprojektowaliśmy kod RA o szybkości 0,95, co daje asymptotyczny próg 0,0475. Wynikowy kod pokazuje tylko odstęp 0,0025 od limitu pojemności Shannona (0,05). Symulowana wydajność korekcji błędów zaprojektowanego kodu RA jest pokazana w dodatkowym pliku 1: Rysunek S4. Ze względu na stawkę 0.95 kodu RA, wygenerowaliśmy 600 pakietów redundantnych / parzystych w oparciu o 11 400 pakietów źródłowych, otrzymując łącznie 12 000 pakietów binarnych po zakodowaniu.
ilustracja strategii kodowania powtarzania (RA) i mapowania hybrydowego. (A) przykład kodu RA na poziomie pakietów \(\frac {1}{2}\) z 3 pakietami źródłowymi. I-ty pakiet parzystości w pozycji i jest generowany przez bitową sumę modulo-2 (i-1) tego pakietu parzystości i pakietów źródłowych, które są podłączone do i-tego węzła X-lub. B) SCHEMAT BLOKOWY mapowania hybrydowego. Każda sekwencja binarna jest początkowo mapowana za pomocą mapowania binarnego do czwartorzędu. W przypadku jednego z przeplatających się wzorców, przeplatana Sekwencja z dołączonym na końcu nukleotydem flagowym może przejść test przesiewowy, w którym sprawdzana jest zawartość GC i homopolimer, wyprowadzając prawidłową sekwencję. W przeciwnym razie oryginalna Sekwencja binarna zostanie wysłana do mapowania VLC (variable-length constrained). (C. i) FSTD ograniczonego systemu przechowywania DNA (4, 0, 2), Gdzie 0, 1, 2 i 3 reprezentują cztery symbole przejścia, które wskazują przejścia między czterema alfabetami nukleotydów, a S0, s1 i s2 reprezentują trzy różne stany, które rejestrują długość kolejnych zer (brak przejścia) w wyjściowych (4, 0, 2) ograniczonych sekwencjach. (C. ii) generowanie drzewa kodującego Huffmana. Drzewo kodowania Huffmana optymalizuje szybkość kodu, dostosowując słowo źródłowe z dużą możliwością wystąpienia do słowa kodowego o krótkiej długości i wersie. (C. iii) reguła mapowania VLC. Wyrównanie drzewa kodowania Huffmana generuje tabelę Wyszukiwania między słowami źródłowymi o zmiennej długości i słowami kodowymi o zmiennej długości. (C. iv) strategia umożliwiająca dekoderowi rozróżnienie dwóch mapowań na podstawie długości otrzymanej sekwencji DNA. D) SCHEMAT BLOKOWY dekodera. Dekoder najpierw rozróżnia metodę mapowania zastosowaną przez otrzymaną sekwencję i wykonuje asocjacyjny rewers. Następnie kontrola CRC decyduje o tym, czy odwrócona Sekwencja binarna jest błędna, czy nie. Następnie dekoder RA działa, aby odzyskać wszystkie sekwencje w błędach. E) rozkład długości zmapowanych sekwencji DNA. Długość wynikowych sekwencji DNA waha się od 150NT do 159nt, gdzie mapowanie przeplatane generuje tylko sekwencje o długości 151nt, podczas gdy sekwencje o innych długościach są generowane przez mapowanie VLC
schemat mapowania hybrydowego
następnie rozważamy reprezentowanie danych cyfrowych w kontekście DNA, które oznaczamy jako mapowanie DNA. Strategia mapowania DNA powinna umożliwić zmapowane sekwencje oligo spełniające ograniczenia biochemiczne, przynosząc w ten sposób stabilność przechowywania. Istnieją dwa takie ograniczenia w danych DNA, jak następuje: (i) zawartość GC (stosunek całkowitej liczby ” G ” I ” C ” do całkowitej liczby nukleotydów w sekwencji) musi być zbliżona do 50% (ii) Wszystkie długości cyklu homopolimerów (długość powtarzalnie następujących po sobie nukleotydów) powinna być mniejsza niż 4 . Zauważ, że mapowanie binarne do czwartorzędu, tj. mapowanie dwóch bitów na jeden nukleotyd, które wykazuje optymalny potencjał mapowania (2 bity/nt), nie zawsze spełnia wyżej wymienione wymagania. Zamiast tego często nie spełnia maksymalnego ograniczenia homopolimerowego. Ograniczenia istniejące w przechowywaniu danych DNA zmniejszają efektywny potencjał mapowania, niekorzystnie wpływając na pojemność przechowywania danych DNA. Dlatego zbadaliśmy podejście do projektowania ograniczonego kodu z dużą szybkością kodu i opracowaliśmy strategię mapowania hybrydowego, aby zapewnić, że sekwencje oligo spełniają wymagania biochemiczne przy minimalnym poświęceniu potencjału mapowania.
Ten schemat mapowania składa się z dwóch różnych metod mapowania, a mianowicie mapowania z przeplotem i mapowania VLC. Pierwszy z nich działa jako podstawowy mapping ze względu na jego w przybliżeniu optymalny potencjał mapowania, tj.995 bitów / nt, a ten ostatni działa jako kopia zapasowa, która wchodzi w grę, gdy pierwsze mapowanie nie wytwarza prawidłowych sekwencji DNA(tj. sekwencji, które spełniają zawartość GC i ograniczenia homopolimerowe). W późniejszej metodzie mapowania, pomocnicza tabela wyszukiwania jest skonstruowana z niską złożonością kodowania i dekodowania. Tymczasem metoda ta wykazuje potencjał mapowania 1.976 bitów / nt, który jest znacznie wyższy niż kody blokowe o równoważnej złożoności. Połączenie tych dwóch strategii mapowania skutkuje średnim potencjałem mapowania około 1,98 bitów / nt z danymi stochastycznymi. Innymi słowy, w najgorszym scenariuszu, w którym wszystkie dane są kodowane za pomocą VLC, nadal osiągnęliśmy wysokie oszacowanie potencjału mapowania (1,976 bitów/nt). Jednak w najlepszym przypadku, gdy wszystkie dane są mapowane za pomocą mapowania z przeplotem, możemy osiągnąć bardzo wysoki potencjał 1,995 bitów/nt.
dane cyfrowe najpierw przechodzą przez metodę mapowania z przeplotem, aby wygenerować sekwencje DNA. W metodzie mapowania z przeplotem sekwencje binarne są najpierw mapowane za pomocą mapowania binarnego do czwartorzędowego. Wraz ze wzrostem długości oligo, ograniczenie zawartości GC jest często spełnione ze względu na stochastyczną cechę danych binarnych. Jednak to mapowanie zwykle nie spełnia homopolimerowego ograniczenia uruchomienia. Aby rozwiązać ten problem, Wprowadzamy przeplot po mapowaniu binarnym do czwartorzędu, który koduje pierwotną kolejność sekwencji nukleotydowych. Po przeplataniu przeprowadza się test przesiewowy w celu sprawdzenia homopolimeru przebiegu wynikowej sekwencji. Jeśli otrzymana Sekwencja przejdzie test, sekwencja ta jest uważana za prawidłową sekwencję do syntezy, w przeciwnym razie przeplatanie jest wykonywane ponownie na oryginalnej sekwencji z innym wzorem przeplatania. W tej pracy rozważamy 4 predefiniowane wzory przeplatania, w których na końcu przeplatanej sekwencji DNA dołączany jest flag nucleotide (A/T/G/C), aby wskazać wzór przeplatania (dodatkowy plik 1: Sekcja S8). Należy zauważyć, że dołączony nukleotyd flagowy jest uwzględniany przy określaniu homopolimerowego przebiegu sekwencji podczas testu przesiewowego. Używamy tylko jednego dodatkowego (flagowego) nukleotydu, aby utrzymać wysoką gęstość informacji netto. W związku z tym liczba badań przeplatających jest ograniczona do 4. Jeśli sekwencja nadal nie spełnia zapotrzebowania po maksymalnej liczbie prób, sekwencja jest wysyłana do metody mapowania VLC (rys. 2 lit. B) oraz dodatkowy plik 1: Sekcja S4).
mapowanie VLC jest inspirowane konstrukcją kodu VLC o zmiennej długości (ang. variable-length constrained sequence, VLC), powszechnie używanego do kodowania danych w kodach spełniających ograniczenia w systemach ograniczonych, takich jak optyczne systemy rejestracji, w których pojawiają się ograniczenia długości biegu i problemy bez prądu stałego . W scenariuszu przechowywania DNA, w którym istnieją podobne ograniczenia, kod VLCS może być skutecznie modyfikowany do metody mapowania. Zauważ, że ponieważ używamy kodu RA na poziomie pakietów do kontroli błędów, propagacja błędów prowadzona przez kod VLCS jest ograniczona w jednym pakiecie i nie ma wpływu na ogólną szybkość porzucania zakodowanych sekwencji.
wygenerowaliśmy tę regułę mapowania w następujących czterech etapach. Po pierwsze, biorąc pod uwagę ograniczenie maksymalnych przebiegów homopolimerowych, przechowywanie oparte na DNA było postrzegane jako system Ograniczony z limitem długości przebiegu (RLL), oznaczany przez (M,d,k), gdzie M=4,d=0 I k=2 (dodatkowy plik 1: Sekcja S5). W związku z tym wygenerowano diagram przejścia stanu skończonego (FSTD) ograniczonego homopolimerem przechowywania danych DNA (4,0,2) (dodatkowy plik 1: Sekcja S5 i Fig. 2 lit. C, i)). W drugim etapie, opierając się na wygenerowanym FSTD, wydedukowaliśmy, że pojemność (4, 0, 2) homopolimerowego magazynu dna wynosi 1,982 bity/nt (dodatkowy plik 1: Sekcja S5). Ustaliliśmy również kompletny zbiór minimalny (skończony zbiór słów, których konkatenacje zawierają wszystkie możliwe sekwencje spełniające ograniczenia), gdzie wyliczyliśmy wszystkie słowa, które pochodzą i kończą się w stanie s0 na Fig. 2(C, i). W rezultacie. otrzymaliśmy minimalny zestaw {1,2,3,01,02,03,001,002,003}, w którym wszystkie elementy są zgodne z ograniczeniami i wolne od przedrostków. Te dwie właściwości zapewniają, że każda konkatenacja elementów tego zbioru wytwarza sekwencje spełniające ograniczenia, które są potencjalnymi przejściami kodowymi dla systemu ograniczonego. Zauważ, że wynikający zestaw słów kodowych przejścia odnosi się do głębokości i szerokości konkatenacji. Aby zmniejszyć złożoność kodowania, bezpośrednio użyliśmy pełnego zestawu minimalnego jako zestawu słów kodowych przejścia.
w trzecim etapie użyliśmy drzewa kodowania Huffmana do wygenerowania optymalnego mapowania z binarnego słowa źródłowego o zmiennej długości do wyżej wymienionego zestawu słów przejściowych (rys. 2 lit. c, ii)). To optymalne przypisanie jeden do jednego dało średnią szybkość kodu 1,976 bitów / nt (rys. 2 (C, iii) oraz zob. dodatkowy plik 1: Sekcja S5). Tymczasem efektywność tego mapowania zbliża się \(\sigma = \ frac {1.976}{1.982}=99.7\%\), stanowi zaledwie 0,3% luki w stosunku do pojemności (4,0,2) systemu ograniczonego. Pod względem potencjału mapowania, to mapowanie przewyższa kod ograniczający blok zaproponowany w , w którym kod Ograniczony (4,0,2) został skonstruowany przy użyciu bloków DNA 39NT jako słów kodowych, osiągając potencjał mapowania 1,95 bitów/nt. Poza tym kod blokowy 39nt jest również niepraktyczny w przypadku tradycyjnego przechowywania danych DNA, w którym rozważa się znacznie dłuższe sekwencje DNA (codewords), tj. Natomiast podejście mapowania o zmiennej długości ma niską złożoność kodowania, niezależnie od całkowitej długości wynikowych sekwencji oligo.
w ostatnim etapie, po odwzorowaniu słów źródłowych na słowa kodowe przejścia kolejno względem każdej sekwencji binarnej, wykonaliśmy wstępne kodowanie zakodowanych sekwencji czwartorzędowych zgodnie z funkcją zmiany stanu yj=yj-1+xj(mod m), gdzie yj jest symbolem wstępnego kodowania bieżącego wyjścia, yj-1 jest ostatnim wstępnie zakodowanym symbolem wyjścia, xj jest bieżącym symbolem wejścia, M jest wielkością alfabetu systemu. To wstępne kodowanie przeniesie kod Ograniczony (M,d,k) do kodu RLL (m,d+1,k+1). Następnie zamieniliśmy symbole czwartorzędowe z {0,1,2,3 } na {’A’, 'T’, 'C’, 'G’} i otrzymaliśmy końcowe sekwencje oligo, które spełniają warunek braku homopolimeru większego niż 3nt. Przykład tej strategii mapowania można znaleźć w dodatkowym pliku 1: Sekcja S6.
dzięki schematowi mapowania hybrydowego wygenerowaliśmy 12 000 sekwencji DNA o rozkładzie długości w zakresie od 150nt do 159nt (z wyłączeniem 40NT miejsc starterowych) dla binarnego strumienia danych (rys. 2 E)). W szczególności długość sekwencji mapowanych za pomocą mapowania z przeplotem wynosiła 151nt, podczas gdy długość sekwencji mapowanych za pomocą mapowania VLC wynosiła od 150, 152 do 159nt. Zauważ, że nie było sekwencji o długości 151nt, która powstała z mapowania VLC, ponieważ dodano jeden nukleotyd, aby zmapować sekwencję 151nt na 152nt (Fig . 2 lit. c, iv)). Dodany nukleotyd miał na celu rozróżnienie metod mapowania. Umożliwia to zastosowanie prawidłowego de-mapowania podczas odzyskiwania zapisanych danych w dekoderze.
aby pobrać dane, przygotowane sekwencje z procesu sekwencjonowania są wysyłane do dekodera w celu odzyskania danych użytkownika (rys. 2 lit. D)). Dekoder najpierw rozróżnia metodę mapowania. Jeśli długość odbieranej sekwencji wynosi 151nt, dekoder stosuje odwrotność mapowania przeplotowego w oparciu o nukleotyd flagowy i regułę mapowania dwu-do-czwartorzędowego. W przeciwnym razie dekoder stosuje odwrotne mapowanie VLC, w którym wykonuje się odwrotne kodowanie wstępne i mapowanie. Następnie każda odwrócona Sekwencja binarna jest uważana za poprawną lub wymazaną na podstawie kontroli CRC. Wreszcie, dzięki algorytmowi przekazywania wiadomości, dekoder Ra odzyskuje wszystkie usunięte pakiety sekwencji w oparciu o połączenia między pakietami.
wyniki sekwencjonowania i analiza odzyskiwania danych
Po zsekwencjonowaniu zsyntetyzowanej puli oligos otrzymaliśmy ponad 10 milionów odczytów sekwencji raw o łącznej wielkości 3,2 gigabajtów od NovogeneAIT. Sekwencje te obejmują głośne odczyty generowane podczas sekwencjonowania. Na podstawie wyników sekwencjonowania najpierw przeanalizowaliśmy wiarygodność danych sekwencjonowania w zakresie badania jakości danych, rozkładu zawartości A / T / G / C i rozkładu współczynnika błędu. W oparciu o wynik analizy błędów, następnie badaliśmy niezawodność naszego schematu dekodowania w odzyskiwaniu zakodowanych danych z różnymi przykładowymi pokryciami.
wyniki sekwencjonowania
przeanalizowaliśmy wartość jakości dla każdej pozycji bazowej wzdłuż sekwencjonowanych odczytów, aby ocenić jakość danych. Ocena jakości jest oszacowaniem wiarygodności sekwencjonowanych odczytów, które odnoszą się do poziomu błędu każdej pozycji bazowej. Obliczana jest przez Q= – 10log10e, gdzie e jest stopniem błędu pozycji bazowej . Wyniki Jakości każdej bazy sekwencjonowania odczytuje się w zakresie od 30 do 40 (rys. 3 lit. a)), reprezentujący wysoką jakość. Ponadto obserwujemy, że wskaźnik błędu wzrasta wraz z rozszerzeniem sekwencjonowanych odczytów, podczas gdy ze średnią szybkością 0,015% w każdej bazie wzdłuż odczytów (rys. 3 lit. b)). Jest to prawdopodobnie spowodowane zużyciem odczynnika sekwencjonowania, co jest powszechnym zjawiskiem w platformie sekwencjonowania o wysokiej przepustowości Illumina, która opiera się na technologii sekwencjonowania przez syntezę (SBS). Zgodnie z oczekiwaniami, pierwsze kilka zasad ma wyższy wskaźnik błędu sekwencjonowania niż inne. Może to być spowodowane ogniskowaniem fluorescencyjnego czujnika obrazu sekwencera, który może nie być wystarczająco czuły na początku sekwencjonowania. W rezultacie jakość nabytego odczytu fluorescencji jest niska. Przypomnijmy, że sekwencje zostały dołączone z parą miejsc wiązania startera 20nt na obu końcach, a zatem pierwsze kilka podatnych na błędy baz (około 6nt) nie ma wpływu na dekodowanie, ponieważ test CRC i kodowanie/dekodowanie RA zostały zaprojektowane przez wykluczenie miejsc wiązania. Innymi słowy, Sekwencja zostanie zidentyfikowana jako usunięta przez dekoder CRC z powodu błędów w innych pozycjach (poza starterami).
Analiza wyników sekwencjonowania i odzyskiwanie danych. A) wartość jakości każdej pozycji bazowej wzdłuż odczytów. Pierwsza połowa osi x jest dla odczytu 1, a druga połowa jest dla odczytu 2. B)poziom błędu każdej pozycji bazowej wzdłuż odczytu. Pierwsza połowa dystrybucji jest dla czytań 1, a druga połowa jest dla czytań 2. C) Zawartość bazowa każdej pozycji bazowej wzdłuż odczytów. A / T / G / C oznacza typ nukleotydów, A N oznacza utracony nukleotyd, którym może być dowolny z A/T/G / C. Rozkład jest oddzielony dwoma odczytami, należy zauważyć, że dla (A), (b) I (c), odczyt 1 i odczyt 2 uzyskuje się z losowego sekwencjonowania z końca każdej sekwencji. D) eksperymentalną procedurę odzyskiwania danych. Amplifikowane i przygotowane syntetyczne próbki oligo są sekwencjonowane przy użyciu technologii sekwencjonowania Illumina HiSeq. Dzięki pięciu zestawom prób próbkowania w dół, różne rozmiary losowo wybranych fragmentów surowych odczytów sekwencji są wysyłane do dekodera, gdzie przechowywane pliki są odzyskiwane. E) Liczba prawidłowo odzyskanych sekwencji względem pokrycia. Znaczniki czarnego okręgu reprezentują odzyskane sekwencje przed dekodowaniem RA, a znaczniki diamentowe reprezentują odzyskane sekwencje po dekodowaniu RA. Wśród znaczników diamentowych czerwone oznaczają częściowe odzyskanie, podczas gdy zielone oznaczają pełne odzyskanie
na Rys. 3 (C), przedstawiono rozkład treści podstawowych A, T, C i G wzdłuż odczytów, aby pokazać rozkład treści GC. Zgodnie z zasadą zasad uzupełniających zawartość AT i GC powinna być równa w każdym cyklu sekwencjonowania oraz być stała i stabilna w całej procedurze sekwencjonowania. W szczególności, obserwowana średnia zawartość GC w odczycie sekwencjonowania i w każdej pozycji bazowej wynosiła około 50% niezależnie od pierwszego 20nt. Powodem rozkładu w pierwszym 20nt jest ze względu na dwa miejsca wiązania w obu końcach. Rozkład pokazuje, że zawartość GC w zsekwencjonowanych oligos dobrze spełnia wymagania biochemiczne i dlatego zapewnia stabilny proces sekwencjonowania.
analiza odzyskiwania danych
aby zweryfikować odporność kodu naszego zaprojektowanego schematu kodowania korekcji błędów RA, zbadaliśmy wydajność odzyskiwania danych w różnych pokryciach na Fig. 3 D). Daje nam to oszacowanie odporności zaprojektowanego kodu RA na błędy w stosunku do różnych wskaźników rezygnacji z powodu różnych pokryć. Istnieją pewne nieprzetworzone sekwencje w otrzymanych odczytach sekwencji, ponieważ ich długość jest poza dopuszczalnym zakresem. Aby naśladować różne pokrycia (od 8x do 12x), wygenerowaliśmy zestawy danych o różnych rozmiarach, wykonując losowe próbkowanie w dół na użytecznych sekwencjach surowych, w których rozmieszczenie każdej wiadomości oligo może się różnić. Na przykład, dla pokrycia 8X, losowo pobraliśmy próbki użytecznych sekwencji surowych, aby wygenerować zestaw danych 96 000 surowych sekwencji. Dla każdego pokrycia wygenerowaliśmy 5 różnych losowo pobranych zestawów danych i ustaliliśmy średnią wydajność sekwencjonowania i dekodowania. Dla każdej sekwencji surowej wykonaliśmy de-mapping w celu przekształcenia sekwencji nukleotydowej w sekwencję binarną i przeprowadziliśmy test CRC w celu identyfikacji sekwencji bez błędów/poprawnych. Średnia liczba bezbłędnych sekwencji dla każdego pokrycia jest pokazana na Fig. 3 (E) (czarne kropki), zgodnie z oczekiwaniami, rośnie wraz ze wzrostem zasięgu. Bezbłędne sekwencje były następnie podawane do dekodera RA w celu odzyskania błędnych sekwencji. Zaobserwowaliśmy, że od pokrycia 10X i dalej, dla każdego pokrycia, dekoder był w stanie odzyskać oryginalne sekwencje w 5 z 5 losowych eksperymentów pobierania próbek w dół doskonale (zielone diamenty na Fig. 3 E)). Pokazuje to, że dekoder jest odporny na odzyskiwanie błędnych danych przy minimalnym pokryciu 10x, gdzie 3,3% sekwencji oligo było w błędzie (tj.