Alta capacidade de DNA de armazenamento de dados, com comprimento variável de Oligonucleotídeos usando repita acumular código e híbridos de mapeamento
Uma prática de DNA sistema de armazenamento de dados, com alta capacidade
Nós começamos com a construção de uma arquitetura de armazenamento de dados e recuperar dados a partir de uma base de ADN de armazenamento (Fig. 1 a)). Os dados do Usuário foram primeiramente segmentados em 11.400 pacotes binários de usuários com cada comprimento de pacote de 266 bits. Para corrigir erros que ocorrem a partir de qualquer fase dos processos de armazenamento de DNA, incluindo síntese, amplificação, armazenamento e preparação de amostras para sequenciamento, aplicamos uma codificação RA em pacotes binários de usuários onde 5% redundantes/pacotes de paridade foram gerados. Com cada um dos 12.000 pacotes binários, 14 bits foram adicionados para indexação para encomendar os oligos estocásticos e 20 bits foram adicionados para verificação de Redundância Cíclica (CRC) para detectar os erros interiores em cada pacote. Como resultado, o número total de bits associados a cada pacote tornou-se 300 bits (Ver Arquivo adicional 1: Figura S4). Depois, mapeamos todas as sequências binárias em sequências de DNA através do esquema de mapeamento híbrido proposto. Em seguida, as sequências de DNA foram enviadas para torcer a Biociência para a síntese de oligos. Depois de receber o pool de oligos sintetizados, amplificámo-lo usando a reacção em cadeia da polimerase (PCR) antes de enviar as amostras para NovogeneAIT para sequenciar usando ilumina HiSeq. Na última etapa, analisamos e descodificamos os dados de sequenciação para converter os registros de DNA de volta para dados binários digitais. Analisamos pela primeira vez a sequência de milhões de leituras do resultado sequenciador e realizamos o reverso da codificação e mapeamento RA para reconstruir os dados originais do usuário sem erros, validando a viabilidade do nosso método.
além da recuperação completa dos dados utilizando os resultados sequenciados, também analisámos quantitativamente o esquema de armazenamento proposto baseado no ADN e comparámo-lo com outros esquemas de última geração, referenciando uma tabela de comparação anterior (Fig. 1 C)). A definição detalhada das métricas de desempenho na tabela é descrita no ficheiro adicional 1: Secção S7. Na tabela, só comparado com os esquemas que foram projetados e testados com a premissa do oligo piscina de formato de armazenamento onde o single-stranded curto oligos de comprimento em torno de 200nt foram sintetizados. Note – se que , com a hipótese equivalente de armazenar cadeias de ADN muito mais longas, como, por exemplo, 1000bp, o esquema de codificação proposto continua a ser viável , e a densidade da informação líquida aumentará com o comprimento, alcançando uma densidade superior a 1,84 bits/base acima de 1,74 bits/base (ver ficheiro adicional 1: Secção S3).
A elevada densidade de informação líquida de 1.67 bits / nt alcançados pelo esquema de armazenamento baseado no ADN proposto (Fig. 1 (D)) é principalmente devido às duas técnicas que temos usado a seguir. Em primeiro lugar, o esquema de mapeamento híbrido proposto exibe um potencial de mapeamento 1,98 bits/nt com um pequeno intervalo de 1% do limite superior teórico de 2 bits/nt. Em segundo lugar, o código RA otimizado para controle de erros tem uma pequena redundância de 1,05. Juntamente com a indexação de 14 bits e 20 bits CRC, o esquema obtém 1,67 bits/nt densidade de informação líquida, rendendo 91% da capacidade de Shannon (1,83 bits/nt com 0.Taxa de desistência de 5%), que é 6% a mais do que a última mais alta reportada (ficheiro adicional 1: Secção S3). Teoricamente, em comparação com o aumento de nossa densidade de informação é o resultado combinado de um pouco mais de comprimento variável de DNA oligos (151nt-159nt versus 152nt, excluindo primer sítios de ligação), o menor erro de redundância de controle (1.05 versus 1.07), e o menor de indexação (14bits versus 32bits). O comprimento dos oligos de DNA são elaborados para fazer pleno uso das técnicas de síntese de DNA disponíveis atualmente (TWIST Bioscience, EUA), que podem sintetizar eficientemente 200nt oligos de comprimento. O projeto de código RA otimizado dá uma redundância de controle de erro ligeiramente reduzida com a suposição equivalente de abordar 1.3% taxa de desistência prática como , enquanto a recuperação completa com cobertura de 10x (10.5 x in ) indica que a resiliência de erro é mantida. A diferença mais distinta surge na indexação, na qual usamos 14 bits apenas para indicar a ordem de 12000 oligos codificados, enquanto usa 32 bits para representar as sementes necessárias para a transformação de Luby, que define a base do código fonte, resultando em bits redundantes de indexação.
para verificar ainda mais que o elevado desempenho de capacidade do esquema de codificação proposto mantém-se bem com o aumento do tamanho dos dados (escalabilidade), estimamos a densidade da informação líquida para codificar o tamanho dos dados com maiores magnitudes em sílico, ou seja, de 2MB a 2000MB. As densidades estimadas diminuem ligeiramente com os aumentos exponenciais do tamanho dos dados devido ao aumento do comprimento de indexação necessário para o registo de tamanho maior dos dados (ficheiro adicional 1: Secção S3 e Fig. 1 E)). Uma densidade de 1,66 bits/nt é obtida para armazenar 2MB de dados de fonte, que ainda é 6% maior do que . Além disso, tanto o código RA como a estratégia de mapeamento híbrido, que consiste no sistema de codificação proposto, apresentam uma reduzida complexidade e são eficientes de implementar na prática. Em particular, a utilização de código RA impede a potencial falha de decodificação (devido à perda de entradas iniciais para iniciar decodificação no processo de triagem) e abordar redundância que pode surgir na fonte de DNA, e o mapeamento híbrido atinge um potencial de mapeamento muito elevado que é competitivo com a fonte de DNA, evitando a alta complexidade que exibe nos códigos de bloco convencionais constrangidos.adicionalmente, estimamos computacionalmente a densidade física que o esquema proposto poderia exibir. Através de experimentos de diluição, os autores observaram uma taxa de queda de 4% com uma amostra de armazenamento de DNA 10pg, que quase se aproximou do seu limite de descodificador (que foi pré-determinado pela redundância de código). O código RA usado em nosso esquema foi otimizado com um nível de redundância sob a mesma suposição de taxa de desistência considerada em . Também temos mostrado que teoricamente o nosso código pode tolerar até 4,75% taxa de desistência (arquivo adicional 1: Figura S4), que está acima da taxa de desistência de 4% observada na sequenciação de 10pg amostra. Com um limite de decodificação semelhante, nosso esquema proposto provavelmente funcionaria da mesma fonte de DNA nos experimentos de baixa molecular (por exemplo, com 10pg de amostra) devido ao uso dos mesmos pipelines de experimento, protocolos e padrões. Em outras palavras, o projeto de código na fase inicial permite que o sistema proposto poderia recuperar dados de condições propensas a erros nos experimentos de diluição semelhantes à fonte de DNA. Sob a suposição de ∼1300 moléculas por oligo em média, seqüenciamento de profundidade de 511x, e equivalente de dutos, protocolos e padrões como o 10pg diluição experiência no DNA fonte, poderíamos computacionalmente estimativa de que o nosso programa vai alcançar um físico densidade de 239 PB/g de \(\left (\frac {266*11400/8\text {byte}}{1300*11400*1.0688*10^{-19}\texto {grama}}\right)\). No entanto, uma experiência rigorosa é necessária para verificar esta densidade física computacionalmente estimada.
Ra code design and hybrid mapping scheme for DNA storage
we designed an encoding method which comprises oligo-level repeat acumulation (RA) code and an efficient hybrid mapping scheme.
desenho de código RA
nos sistemas de comunicação tradicionais, o código RA é usado a nível de bits, onde bits redundantes são gerados para mitigar erros de substituição. No entanto, o armazenamento de DNA é propenso não só a erros de substituição, mas também a erros de inserção e exclusão. Assim, ao invés da codificação de nível de bit convencional RA, nós projetamos uma codificação de nível de pacotes RA para armazenamento de DNA de tal forma que um pacote submetido a inserção, exclusão ou erros de substituição poderiam ser recuperados através do decodificador RA. Como descrito anteriormente, nós segmentamos um grande arquivo digital em pacotes menores do mesmo tamanho. Estes pacotes foram considerados como os pacotes de origem que foram usados para gerar os pacotes redundantes ou de paridade usando um código Ra sistemático Fig. 2 A). Note que cada pacote foi incorporado com CRC para detectar erros no Pacote. Para os pacotes que passaram no teste CRC no decodificador, nós os consideramos corretamente recuperados, enquanto os outros foram considerados como descartados ou apagados. Assim, o problema geral de design de código para o armazenamento de DNA tornou-se o design de código para o canal de apagamento. Para garantir alta confiabilidade, o projeto de código foi realizado considerando uma probabilidade de desistência ligeiramente maior do que a probabilidade real de desistência. Neste trabalho, considerámos a taxa real de abandono como 1,3%, que foi relatada no papel de fonte . Assim, nós projetamos o código RA de tal forma que o código resultante exibiu um limiar assintótico maior do que a probabilidade de desistência de 0.013. Seguindo o procedimento de otimização (veja arquivo adicional 1: Seção S2), nós projetamos um código RA de taxa 0.95, que dá um limiar assintótico de 0.0475. O código resultante mostra apenas um intervalo de 0,0025 do limite de capacidade de Shannon (0,05). O desempenho simulado da correção de erro do Código RA projetado é mostrado no arquivo adicional 1: Figura S4. Devido à taxa 0.95 RA code, nós geramos 600 pacotes redundantes / paridade com base em 11.400 pacotes fonte, recebendo 12.000 pacotes binários no total após codificação.