suuren kapasiteetin DNA – tietojen tallennus vaihtelevan pituisilla Oligonukleotideilla toistuvaa kertymiskoodia ja hybridikartoitusta
käytännöllinen DNA-tietojen tallennusjärjestelmä, jolla on suuri kapasiteetti
aloitimme rakentamalla arkkitehtuurin tietojen tallentamiseksi ja tietojen hakemiseksi DNA-pohjaisesta tallennuksesta (Kuva. 1 A)). Käyttäjätiedot jaettiin ensin 11 400 binääriseen käyttäjäpakettiin, joiden kunkin paketin pituus oli 266 bittiä. Korjataksemme virheitä DNA: n tallennusprosesseissa, mukaan lukien synteesi, vahvistus, tallennus ja näytteen valmistelu sekvensointia varten, sovelsimme Ra-koodausta binäärikäyttäjäpaketteihin, joissa syntyi 5% redundantti/pariteetti-paketteja. Kunkin 12,000 binääripaketit, 14 bittiä lisättiin indeksointi jotta stokastinen oligos ja 20 bittiä lisättiin syklinen Redundancy Check (CRC) havaita sisätilojen virheitä kunkin paketin. Tämän seurauksena kuhunkin pakettiin liittyvien bittien kokonaismääräksi tuli 300 bittiä (Katso lisätiedosto 1: kuva S4). Sen jälkeen kartoitimme kaikki binääriset sekvenssit DNA-sekvensseiksi ehdotetun hybridikartoitusjärjestelmän avulla. Sitten DNA-sekvenssit lähetettiin kiertämään biotieteitä oligos-synteesiä varten. Saatuaan syntetisoidun oligos-poolin vahvistimme sen polymeraasiketjureaktiolla (PCR) ennen kuin lähetimme näytteet Novogeneaitiin Sekvensoitavaksi Illumina Hiseqin avulla. Viimeisessä vaiheessa analysoimme ja purimme sekvensointidatan muuttaaksemme DNA-tallenteet takaisin digitaaliseksi binääridataksi. Me ensin alas-näyte miljoonia sekvenssi lukee sekvensoinnin tulos ja suoritetaan käänteinen Ra koodaus ja kartoitus rekonstruoida alkuperäisen käyttäjän tiedot ilman virheitä, validointi toteutettavuus menetelmämme.
sen lisäksi, että data on saatu takaisin täysin sekvensoinnin tulosten avulla, analysoimme myös kvantitatiivisesti ehdotetun DNA-pohjaisen tallennusjärjestelmän ja vertasimme sitä muihin huipputeknisiin järjestelmiin viittaamalla edelliseen vertailutaulukkoon (Kuva. 1 C)). Taulukon suorituskykymittareiden yksityiskohtainen määrittely on kuvattu lisätiedostossa 1: kohta S7. Taulukossa vertasimme vain järjestelmiä, jotka on suunniteltu ja testattu oligo-altaan tallennusmuodon pohjalta, jossa yksijuosteiset lyhyet oligot, joiden pituus on noin 200nt, syntetisoitiin. On huomattava , että jos vastaava oletus DNA-säikeiden tallentamisesta on paljon pidempi, kuten 1000bp, ehdotettu koodausjärjestelmä on edelleen toteutettavissa, ja nettotiedon tiheys kasvaa pituuden myötä, jolloin saavutetaan suurempi tiheys kuin 1,84 bittiä/pohja yli 1,74 bittiä/pohja (KS.Lisätiedosto 1: kohta S3).
suuri nettotiedon tiheys 1.Ehdotetulla DNA – pohjaisella tallennusjärjestelmällä saavutettu 67 bittiä / nt (Kuva. 1 (D)) johtuu pääasiassa seuraavista kahdesta tekniikasta, joita olemme käyttäneet. Ensinnäkin ehdotetulla hybridikartoitusjärjestelmällä on 1,98 bittiä/nt-kartoituspotentiaalia ja pieni 1 prosentin ero teoreettisesta ylärajasta 2 bittiä / nt. Toiseksi, optimoitu Ra-koodi virheenhallintaan on pieni redundanssi 1.05. Yhdessä 14 bitin indeksoinnin ja 20 bitin CRC: n kanssa järjestelmä saa 1,67 bittiä/nt: n nettotiheyden, mikä tuottaa 91% Shannonin kapasiteetista (1,83 bittiä/nt: n kanssa 0.5% keskeyttämisaste), joka on 6% enemmän kuin viimeksi ilmoitettu korkein (Lisätiedosto 1: kohta S3). Teoreettisesti, verrattuna, kasvu meidän tiedon tiheys on yhdistetty tulos hieman pidempi vaihteleva pituus DNA oligos (151nt-159nt vs. 152nt, lukuun ottamatta primer sitovia sivustoja), vähemmän virhe control redundanssi (1.05 vs. 1.07), ja lyhyempi indeksointi (14 bittiä vs. 32 bittiä). DNA-oligojen pituus on suunniteltu huolellisesti hyödyntämään nykyisiä laajalti saatavilla olevia DNA-synteesitekniikoita (TWIST Bioscience, US), joilla voidaan tehokkaasti syntetisoida 200nt pitkiä oligoja. Optimoitu Ra-koodin muotoilu antaa hieman vähentää virheenhallinnan redundanssia vastaavalla oletuksella, että käsitellään 1,3% käytännön keskeyttämisastetta, kun taas täydellinen elpyminen 10x kattavuudella (10.5 x in ) osoittaa, että virheensietokyky säilyy. Selvin ero syntyy indeksoinnissa, jossa käytämme 14 bittiä pelkästään koodatun 12000 oligosin järjestyksen osoittamiseen, kun taas käyttää 32 bittiä edustamaan Luby-muunnoksen edellyttämiä siemeniä, mikä määrittää lähteen koodin perustan, jolloin indeksointi bittiä on tarpeeton.
tarkistaaksemme edelleen, että ehdotetun koodausjärjestelmän suuri kapasiteetti säilyy hyvin tiedon koon kasvaessa (skaalautuvuus), arvioimme nettotiheyden koodatessamme tiedon kokoa suuremmilla magnitudeilla silico-alueella, eli 2MB: stä 2000mb: hen. Arvioidut tiheydet pienenevät hieman, kun datan koko kasvaa eksponentiaalisesti johtuen indeksointipituuden lisäyksestä, joka tarvitaan suuremman tiedon koon tallentamiseen (Lisätiedosto 1: kohta S3 ja kuva. 1 (E)). Tiheys 1,66 bittiä / nt saadaan tallentaa 2MB lähdetietoja, joka on edelleen 6% suurempi kuin . Lisäksi sekä RA-koodi että hybridikartoitusstrategia, joka koostuu ehdotetusta koodausjärjestelmästä, ovat monimutkaisia, ja ne on tehokas toteuttaa käytännössä. Erityisesti Ra-koodin käyttö estää mahdollisen dekoodausvirheen (koska alkuperäiset merkinnät ovat kadonneet dekoodauksen aloittamiseksi seulontaprosessissa) ja osoitteen redundanssin, jota voi syntyä DNA-lähteessä, ja hybridikartoituksella saavutetaan erittäin suuri kartoituspotentiaali, joka on kilpailukykyinen DNA-lähteen kanssa, samalla kun vältetään suuri monimutkaisuus, joka esiintyy tavanomaisissa rajoitetuissa lohkokoodeissa.
lisäksi arvioimme laskennallisesti sen fysikaalisen tiheyden, joka ehdotetulla järjestelmällä voisi olla. Kautta laimennus kokeita, kirjoittajat havaittu 4% keskeyttäminen määrä näytteen 10pg DNA varastointi, joka lähes lähestyi dekooderin raja (joka oli ennalta koodin redundanssi). Järjestelmässämme käytetty Ra-koodi suunniteltiin optimaalisesti irtisanomistasolla samalla olettamuksella, että keskeyttämisaste otetaan huomioon . Olemme myös osoittaneet, että teoriassa meidän koodi voi sietää jopa 4.75% keskeyttämisaste (Lisätiedosto 1: kuva S4), joka on yli 4% keskeyttämisaste havaittu sekvensointi 10pg näyte. Samanlainen dekoodausraja, meidän ehdotettu järjestelmä toimisi todennäköisesti sama kuin DNA fountain pienimolekyylisissä kokeissa (esim., kanssa 10pg näyte), koska sama kokeilu putkistot, protokollat, ja standardit. Toisin sanoen, koodin suunnittelu alkuvaiheessa mahdollistaa, että ehdotettu järjestelmä voisi palauttaa tietoja virhealtista olosuhteissa laimennuskokeissa samanlainen DNA fountain. Olettaen ∼1300 molekyyliä oligoa kohti keskimäärin, sekvensointisyvyys 511x ja vastaavat putkistot, protokollat ja standardit kuin 10PG-laimennuskoe DNA-lähteessä, voisimme laskennallisesti arvioida, että järjestelmämme saavuttaa fysikaalisen tiheyden 239 PB/g \(\left (\frac {266 * 11400/8\text {byte}}{1300*11400*1.0688*10^{-19}\teksti {gram}} \ right)\). Kuitenkin, Tiukka Koe on tarpeen tarkistaa tämän laskennallisesti arvioitu fyysinen tiheys.
ra-koodin suunnittelu ja hybridikartoitusjärjestelmä DNA: n tallennukselle
suunnittelimme koodausmenetelmän, joka sisältää oligotason kertauskertymäkoodin (Ra) ja tehokkaan hybridikartoitusjärjestelmän.
RA-koodin suunnittelu
perinteisissä viestintäjärjestelmissä Ra-koodia käytetään bittitasolla, jossa redundantteja bittejä syntyy korvausvirheiden lieventämiseksi. DNA: n säilytys on kuitenkin altis korvausvirheiden lisäksi myös lisäys-ja poistovirheille. Siksi perinteisen bit-tason Ra-koodauksen sijaan suunnittelimme DNA: n tallennukseen pakettitason RA-koodauksen siten, että paketti, johon kohdistuu lisäys -, poisto-tai korvausvirheitä, voidaan palauttaa Ra-dekooderin kautta. Kuten aiemmin on kuvattu, olemme segmentoineet suuren digitaalisen tiedoston pienempiin samankokoisiin paketteihin. Näitä paketteja pidettiin lähdepaketteina, joita käytettiin luomaan tarpeettomat tai pariteettipaketit käyttäen systemaattista Ra-koodia Fig. 2 A). Huomaa, että jokainen paketti on sisällytetty CRC: hen virheiden havaitsemiseksi paketissa. Paketeille, jotka läpäisivät CRC-testin dekooderissa, pidimme niitä oikein talteen, kun taas muita pidettiin pudotettuina tai poistettuina. Näin DNA: n tallennuksen kokonaiskoodisuunnitteluongelmaksi muodostui poistokanavan koodisuunnittelu. Korkean luotettavuuden varmistamiseksi koodin suunnittelu suoritettiin ottamalla huomioon hieman suurempi keskeyttämistodennäköisyys kuin todellinen keskeyttämistodennäköisyys. Tässä työssä pidimme tosiasiallisena keskeyttämisprosenttina 1,3: a, joka kerrottiin suihkulähteessä . Siten suunnittelimme Ra-koodin siten, että tuloksena oleva koodi osoitti asymptoottisen kynnyksen, joka on korkeampi kuin keskeyttämistodennäköisyys 0,013. Optimointimenettelyn jälkeen (ks.Lisätiedosto 1: Jakso S2), suunnittelimme Ra-koodin, jonka korko on 0,95, mikä antaa asymptoottisen kynnysarvon 0,0475. Tuloksena oleva koodi näyttää vain 0,0025: n aukon Shannonin kapasiteettirajasta (0,05). Suunnitellun Ra-koodin simuloitu virheenkorjausteho esitetään lisätiedostossa 1: Kuvassa S4. Koska korko 0.95 Ra koodi, tuotimme 600 tarpeeton / pariteetti paketteja perustuu 11,400 lähdepaketteja, vastaanottaa 12,000 binary paketteja yhteensä jälkeen koodaus.