DNA como Código de Barras

DNA barcodeDesde o incr√≠vel advento do¬†sequenciamento¬†g√™nico l√° pelos idos dos anos 70 o volume de dados obtidos das mais variadas combina√ß√Ķes de nucleot√≠deos encontradas na natureza √© estonteante. Fazendo um c√°lculo bem simples com s√≥ cinco nucleot√≠deos, temos 3125 combina√ß√Ķes diferentes das letrinhas A,T,C e G!

√Č l√≥gico que hoje tamb√©m conhecemos uma enorme quantidade de padr√Ķes dessas letrinhas que nos dizem: “Olha, aqui termina um gene!”, ou “√Č aqui que o ribossomo gruda!”, entre outras coisas. O ruim √© que s√≥ √† partir do DNA √© bem mais trabalhoso e dif√≠cil dizer de qual criatura vieram aquelas informa√ß√Ķes encriptadas ali quando comparada √† mera observa√ß√£o daquele ser vivo. E em alguns casos, mesmo que se conhe√ßa de onde vem o DNA, h√° a d√ļvida se ele veio mesmo de onde parece ter vindo: como se poderia ter certeza, por exemplo, se aquela bonita carteira de couro que te deram de presente n√£o veio de uma esp√©cie de jacar√© em extin√ß√£o em vez de um r√©ptil criado em cativeiro!? A grande ideia √© fazer o mesmo que voc√™ faz quando vai ao supermercado: em vez de escanear cada dobra da embalagem, abri-la, fazer uma fina an√°lise do conte√ļdo, al√©m de ter que sair por a√≠ perguntado quanto custa, basta colocar aquela figurinha cheia de barras que existe em algum canto da embalagem num detector e pronto! Voc√™ passa a saber com rapidez do que se trata aquilo. No c√≥digo gen√©tico tenta se fazer a mesma coisa.

A Vida Rotulada

A regi√£o do DNA (l√≥cus) que deve ser usada para ser um “c√≥digo de barras” (CB) tem que ao mesmo tempo ser conservada e vari√°vel, do mesmo modo que os CB’s s√£o todos barrinhas pretas de mesmo tamanho, mas com comprimentos e espa√ßamentos vari√°veis. Essa regi√£o pode variar com os reinos dos seres vivos, mas no caso dos eucariotos, a regi√£o de 648 pares de bases do DNA mitocondrial que codifica a subunidade 1 da enzima citocromo mitocondrial C oxidase, √© hoje amplamente usada como c√≥digo de barras. O DNA mitocondrial √© ideal para ser usado como CB uma vez que sua taxa de muta√ß√£o nos seres vivos durante a evolu√ß√£o √© muito alta, o que resulta em uma varia√ß√£o significativa das sequ√™ncias entre as esp√©cies.

Rotulando uma parte pelo todo √© muito mais f√°cil para os bi√≥logos associarem uma marca √ļnica de cada esp√©cie √†s suas j√° elaboradas classifica√ß√Ķes do zool√≥gico da vida, al√©m de tornar muito mais f√°cil o controle, detec√ß√£o e prote√ß√£o de v√°rias esp√©cies de animais. Exitem grandes bancos de dados com um n√ļmero crescente de DNA Barcodes (c√≥digos de barras de DNA), um dos mais not√≥rios √© o projeto International Barcode of Life¬†(Com site muito bonito ali√°s!) que j√° conta – pelo menos at√© agora pouco quando dei uma olhada – cerca de 1 milh√£o e 330 mil esp√©cies no cat√°logo.

Código de Barras Literal

Aqui √© o ponto em que a biologia sint√©tica, ou pelo menos a engenharia gen√©tica, entra nisso tudo: como rotular os transg√™nicos? Bem, esse √© um probleminha que foi bem discutido nos √ļltimos anos que se passaram, principalmente porque as ind√ļstrias n√£o queriam facilitar que sua tecnologia fosse copiada por outras companhias, enquanto governos e opini√£o p√ļblica queriam uma regulamenta√ß√£o que gerassem medidas que discriminassem um produto transg√™nico de um n√£o-transg√™nico – um pouco por motivos ideol√≥gico-sociais, mas principalmente por motivos ecol√≥gicos: tornando a possibilidade de rastrear os culpados na hip√≥tese de uma contamina√ß√£o em certeza, haveria uma maior press√£o para execu√ß√£o adequada das medidas de seguran√ßa impostas pela lei.

Foi aí então que criaram Рou melhor patentearam Рuma padronização para códigos de barras bem interessante, que além de naturalmente tornar a identificação do transgênico muito mais fácil à partir de uma simples amostra de DNA, mantém a tecnologia em segredo e ainda conta com os mesmos processos utilizados em computador para correção de dados e compactação dos mesmos. Além dessa padronização que iremos explicar adiante, o próprio pessoal do Registro de Partes Padrão desenvolveu um Barcode para os Biobricks, que não é tão sofisticado, mas que corresponde à sua finalidade.

Escrevendo Com Quatro Letras

Para escrever textos com apenas quatro letras é muito simples se você sabe escrever

Imagem modificada retirada de http://tinyurl.com/3g46mnj

letras com n√ļmeros. Os computadores usam uma tabela que traduz o valores num√©ricos (ou melhor, bits) associados √† um caractere do alfabeto alfanum√©rico: a famosa tabela ASCII. Para escrever letras no DNA ent√£o √© muito mais f√°cil que no computador, principalmente porque ele utiliza o sistema bin√°rio de contagem, enquanto no DNA √© poss√≠vel usar o quatern√°rio, com os 4 “n√ļmeros” poss√≠veis: A, T, C e G, valendo 0, 1, 2, e 3 respectivamente (ver figura ao lado).

Com isso foi poss√≠vel criar a seguinte (ver imagem abaixo) constru√ß√£o n√£o-codificante de DNA que conta com informa√ß√Ķes relativas √† por exemplo o nome da companhia, a esp√©cie que foi modificada, ao ano em que o transg√™nico foi constru√≠do, e qual constru√ß√£o √© aquela dentre todas as que a empresa possui. Ou seja, tudo aquilo que um c√≥digo de barras em um transg√™nico precisa ter.

Código de Barras no DNA

Imagem modificada retirada de http://tinyurl.com/3g46mnj

No caso da imagem acima, o sistema bin√°rio de contagem foi utilizado, em que 1 √© a sequ√™ncia TGT e 0 √© TAC. Os n√ļmeros 1, 3 e 1 do nome da empresa, esp√©cie e constru√ß√£o g√™nica seriam consultados em banco de dados, de modo a identificar produtor do transg√™nico.

Esse tema foi at√© um projeto do iGEM, realizado pelo time de Hong Kong em 2010, cuja a grande ideia foi criar um processo que literalmente criptografa dos dados inseridos em DNA atrav√©s da a√ß√£o de uma recombinase. Al√©m disso desenvolveram um programinha que converte os dados de caracteres (char) √† n√ļmeros quatern√°rios, disso √† ATCG e depois √† uma vers√£o compactada da sequ√™ncia (Quanto maior e mais repetitivo o texto, melhor √© a compacta√ß√£o, se o texto for pequeno e pouco repetitivo a compacta√ß√£o vai fazer o trabalho oposto); vale a pena dar uma olhadinha (nesse link aqui √≥: http://2010.igem.org/Team:Hong_Kong-CUHK/Model).

Synbiobrasil no “alfabeto nucleot√≠dico” √©¬†TTAGTGCTTCGCTCACTCCTTCGGTCACTGACTCATTGAGTCCTTCGA (grande n√©!?). ūüôā

À Prova de Erros

Tanto em computadores como no sequenciamento gen√©tico erros podem acontecer, em que um 1 pode se tornar um 0 ou um A pode se tornar T (apesar de isso acontecer com muito mais frequ√™ncia no DNA). Em ambos usa-se os mesmos m√©todos que podem identificar o erro, e se for pequeno, repar√°-lo, possibilitando a leitura correta da informa√ß√£o. Esses m√©todos chamam-se Checagem de Pares e C√≥digos Convolucionais, e utilizam bits… ops, quer dizer, utilizam n√ļmeros secund√°rios usados para verificar a consist√™ncia dos dados. T√™m-se ent√£o os n√ļmeros fonte (f), que s√£o os que cont√©m a informa√ß√£o a ser lida e os n√ļmero de checagem de paridade¬†(p), estes √ļltimos t√™m valor 1 se um conjunto determinado de n√ļmeros fonte tiverem uma quantidade √≠mpar de 1s (“ums”) e zero se o contr√°rio.

Na checagem de pares o neg√≥cio funciona com n√ļmeros de checagem verificando blocos de c√≥digo.¬†Por exemplo: os n√ļmeros fonte 1001 (f1 f2 f3 f4) s√£o verificados por tr√™s n√ļmeros de checagem: p1, que verifica os tr√™s primeiros d√≠gitos, p2 que verifica a paridade do primeiro, segundo e quarto d√≠gitos, e p3 que verifica o primeiro, terceiro e quarto d√≠gitos. Temos ent√£o o seguinte c√≥digo de checagem de pares: 1001100¬†(n√ļmeros de checagem em it√°lico), pois:

  • f1(1) + f2(0) + f3(0) = p1 (1), pois se tem “um 1”
  • f1(1) + f2(0) + f4(1) = p2 (0), pois se tem “dois 1s”
  • f1(1) + f3(0) + f4(1) = p3 (0), pois se tem “dois 1s”

Durante a leitura se n√£o houver correla√ß√£o entre os n√ļmeros de checagem e fonte, √© poss√≠vel dizer onde aconteceu o erro (caso o erro n√£o seja generalizado). No exemplo foi utilizado um bloco de tamanho 4, mas ele pode ser maior, o que aumenta tamb√©m o tamanho do c√≥digo de checagem.

Utilizando C√≥digos de Convolu√ß√£o o processo √© bem parecido, mas n√£o ocorre em blocos, nele cada fn possui um pn que verifica os dois n√ļmeros fonte predecessores. Por exemplo, o n√ļmero 1011 ficaria: 11011110 (f1 p1 f2 p2 f3 p3 f4 p4), pois:

  • f1(1) = p1(1), pois se tem “um 1”
  • f1(1) + f2(0) = p2(1), pois se tem “um 1”
  • f2(0) + f3(1) = p3(1), pois se tem “um 1”
  • f3(1) + f4(1) = p4(0), pois se tem “dois 1s”

Ensinando o computador a fazer os cálculos, utilizando esses dois métodos, e fazendo a conversão de zeros e uns para nucleotídeos (e vice-versa) é possível criar um sistema de leitura do sequenciamento genético do código de barras à prova de erros, preservando a informação original inserida na célula.

DNA “Zipado”

Assim como muita coisa na biologia sint√©tica, os mesmos princ√≠pios da computa√ß√£o tamb√©m podem ser aplicados na decodifica√ß√£o de informa√ß√Ķes inseridas em DNA. O mesmo algoritmo de compacta√ß√£o de arquivos usado na computa√ß√£o tamb√©m pode ser usado para compactar as informa√ß√Ķes a serem inseridas em DNA, salvando espa√ßo, tempo de leitura e dinheiro no bolso das empresas. √Č o amplamente conhecido Algoritmo de Codifica√ß√£o de Huffman¬†(veja o link!), que se baseia no encurtamento de c√≥digos bastante frequentes de um arquivo atrav√©s de um algoritmo recursivo que constr√≥i a “√Ārvore de Huffmam“, uma ramifica√ß√£o bin√°ria de n√≥s de dados que cont√©m informa√ß√Ķes relativas √†s frequ√™ncias de caracteres. √Č preciso um pouco de conhecimento de programa√ß√£o para entender melhor como ele funciona; e isso foge um pouco do escopo desse post. Mas basta entender que voc√™ pode “zipar” as informa√ß√Ķes dentro do DNA!

Vale muito a pena conferir os links abaixo se você quiser saber mais sobre o assunto:

E até o próximo post!
Ou como se diria em 72 pares de base:
TAATTGTAGCCTACAATCGGACAATGAATGACGGAGTGCATCCTTCGTTCGGACAATGAATCGGTGAGTGTA!