Pular para o conteúdo
Ver todos os cases
DNA Genética do Brasil logo

O laboratório manda 4,3 gigabytes; o produtor recebe uma página que ele entende

A DNA Genética do Brasil é referência em melhoramento genético bovino em Santa Catarina — e decidiu ser pioneira também na genômica ovina. O resultado do laboratório internacional chega como um arquivo de 4,3 GB com 59 milhões de linhas, ilegível para qualquer planilha. A Epicora construiu o SheepGen: a plataforma que lê esse arquivo em streaming, aplica um catálogo de 76 marcadores e 1.103 regras de interpretação — mantido pela própria equipe da DNA, sem programador no caminho — e entrega um laudo por animal, com nota por composto e alerta genético. Na primeira carga real: 735 animais de 24 propriedades, e a conta conferida por dois caminhos independentes, com zero divergência.

Cliente
DNA Genética do Brasil (Chapecó/SC)
O que fizemos
Plataforma web de avaliação genômica: importa o resultado bruto do laboratório, interpreta por um catálogo configurável de marcadores e emite o laudo por animal — com recálculo do rebanho inteiro quando a pesquisa avança
Plataforma
React + Vite · NestJS · MongoDB · AWS (S3, Elastic Beanstalk, SES) · Terraform
4,3 GB → 1 página
o arquivo do laboratório (59 milhões de linhas) vira um laudo legível por animal
735 laudos
de 24 propriedades e 9 raças, emitidos no clique — e sempre atuais: recalculou, regenerou
Zero divergência
entre o motor de produção e um oráculo independente, em 55.050 leituras conferidas
4 minutos
para um marcador novo reler o arquivo guardado e recalcular o rebanho inteiro — sem nova coleta, sem novo envio
01

O ponto de partida

A DNA Genética já domina a genética bovina — coleta, interpretação e gestão de dados genômicos são o negócio dela. Ao entrar no segmento de ovinos, um mercado ainda pouco explorado no Brasil, ela montou a parceria internacional: amostras de cartilagem auricular dos animais são genotipadas no exterior num chip de 80 mil SNPs. A ciência estava resolvida. O problema era o que acontecia depois.

O resultado volta como um Illumina FinalReport: um arquivo de texto com uma linha por animal × SNP. Para um lote de 735 animais, isso significa 4,3 GB e cerca de 59 milhões de linhas — um arquivo que o Excel não abre (o limite dele é 1 milhão de linhas; o arquivo estoura 56 vezes) e que nenhuma pessoa lê. E do chip inteiro, só 76 marcadores interessam para a avaliação: o resto é ruído para este trabalho.

  • Processamento manual em planilha, animal por animal — inviável no volume real: o dado útil estava enterrado em 59 milhões de linhas.
  • Sem rastreabilidade por animal: o histórico de cada ovino não existia em lugar nenhum — existia um arquivo por lote.
  • O cliente final recebia dado bruto, não leitura técnica — o valor percebido do serviço ficava abaixo do valor real da ciência.
  • A regra de interpretação muda o tempo todo. É a natureza da genômica: a cada publicação científica, um marcador "ganha direção" e passa a pontuar. Nas palavras do próprio cliente: "pesquisas novas, a gente cria um campo novo, recalcula e entrega de novo" — não era recurso futuro, era a premissa de como ele trabalha.
O que chegava do laboratório: 59 milhões de linhas, processadas à mão
A cadeia: catálogo como dado, motor × oráculo e o re-scan de 4 minutos
02

A virada

A decisão estruturante foi tratar a regra de interpretação como dado, não como código. A equipe da DNA Genética cadastra os marcadores e, para cada combinação de genótipo × raça, define o composto, a pontuação e a classificação. Esse catálogo — hoje 76 marcadores e 1.103 regras — é o cérebro do sistema, e quem o mantém é o geneticista, não o programador. Marcador tem ciclo de vida (ativo · aguardando direção · bloqueado), sonda causal tem precedência sobre a réplica técnica, e o mesmo SNP pode pontuar diferente em raças diferentes, porque é assim que a ciência funciona.

A segunda decisão foi separar o genótipo bruto do cálculo. O arquivo do laboratório sobe direto para o armazenamento — 4,3 GB não passam pelo corpo da requisição — e a API lê o objeto em streaming, gravando cada leitura útil como dado do animal, independente de qualquer pontuação. A consequência é o que o cliente pediu sem saber o nome técnico: o recálculo virou um botão. E quando um marcador é cadastrado depois da importação, o sistema relê o arquivo que já está guardado e grava só o que faltava, sem pedir nada novo ao laboratório.

A terceira decisão protege o laudo: número errado com cara de certo é o pior defeito possível num documento genético. O motor de pontuação não foi apenas testado — foi conferido contra um oráculo independente: uma implementação separada do cálculo, rodando fora do sistema, sobre os mesmos dados. Resultado na carga real: zero divergência em 735 animais. E o laudo distingue o que sistemas descuidados misturam: zero é "avaliado e não pontuou"; nulo é "não avaliado" — marcador que o ensaio não leu aparece como não lido, réplica preterida aparece como preterida, e nada é descartado em silêncio.

A prova, feita ao vivo

Cadastramos um marcador novo pela API — o "pesquisa nova, cria um campo" do cliente. O sistema respondeu em 0,6 segundo, releu os 4,3 GB guardados em 4 minutos, gravou as 734 leituras que faltavam e recalculou os 735 laudos. A nota do animal conferido mudou exatamente o que a regra mandava. Depois da prova, o marcador de teste saiu e o recálculo devolveu o número validado — a conta fecha no dígito, nos dois sentidos.

03

O que entregamos

01 · O importador que engole o arquivo do laboratório

Upload direto ao armazenamento e leitura em streaming: os 4,3 GB do FinalReport não passam pela memória de ninguém. Dos 80.366 SNPs do chip, o sistema aproveita os do catálogo — na primeira carga real, 55.050 leituras de 734 animais genotipados — e grava o genótipo bruto separado do cálculo. Todo descarte é contado e nomeado: a importação diz o que entrou, o que ficou de fora e por quê.

02 · O catálogo genético que a própria DNA mantém

Marcadores com regra por genótipo × raça, compostos configuráveis (Produção · Fertilidade · Saúde, mais os informativos, que aparecem no laudo e ficam fora da nota) e o tratamento que dado genômico real exige: grupos de sonda causal × réplica técnica, genótipos hemizigotos e indels, três nomenclaturas de alelo normalizadas na entrada. Importação de catálogo idempotente e conferível: exportar e reimportar devolve as mesmas regras — zero a mais, zero a menos.

03 · O alerta genético — a doença separada da nota

Susceptibilidade a doença não pontua: é um bloco próprio no laudo, com o genótipo do animal e o grau de risco de 1 a 5 na escala internacional (UK National Scrapie Plan), com as cores da tabela do laboratório e a fonte científica citada. O scrapie é a primeira condição; quando vier outra doença, é cadastro, não desenvolvimento.

04 · O laudo por animal e o painel do rebanho

Na tela do animal: nota por composto, pontuação do animal, alerta genético e a tabela de marcadores com estado explícito (avaliado · réplica preterida · não lido), genótipo, qualidade da leitura e pontos. O laudo em PDF sai no clique, em ~1,4 segundo, sempre atual — se houve recálculo, o documento se regenera sozinho — e carrega no rodapé a revisão do catálogo e a data do cálculo. E o painel do rebanho lê o conjunto: nota média por composto, distribuição das somas, risco genético por grupo — cada número acompanhado de um "como ler".

04

Como garantimos

Dois caminhos independentes para o mesmo número

O motor de produção e o oráculo de conferência foram escritos separados de propósito — se os dois concordam em 55.050 leituras de 735 animais, composto por composto, a chance de um erro de lógica sobreviver escondido despenca. A regra é guardada por teste automatizado: mudança no motor que descole do oráculo quebra a suíte. E quando decisões do cliente mudaram a régua no meio da semana, o oráculo se moveu junto — e a igualdade se manteve.

A conferência pega até o que veio errado de fora

Quando 71 animais saíram com Produção zerada, a revalidação contra os arquivos originais achou uma classificação trocada na planilha de origem — marcadores de músculo e gordura registrados no composto errado. Confirmada e corrigida com o cliente, a correção entrou como dado versionado (a planilha de terceiro não se edita; a correção é nomeada, datada e reproduzível). A soma de cada animal não mudou um ponto — era reclassificação, e a prova de que o resto estava certo.

Dado genético tratado como confidencial

Laudo e arquivo do laboratório vivem em armazenamento fechado: toda leitura sai por URL assinada que expira em 15 minutos, e pedir o documento sem sessão devolve recusa, não arquivo. A ordem da implantação foi desenhada para isso — primeiro o cofre fechou, depois os laudos reais entraram. E a carga de 735 animais rodou com as travas de quem mexe em dado alheio: modo seco por padrão, gravação só com flag explícita, idempotência pelo código do animal e recusa de data impossível.

05

O resultado

O número que resume o projeto não é um dos grandes — é o pequeno: 4 minutos. É o tempo entre "saiu pesquisa nova sobre este marcador" e "o rebanho inteiro tem laudo atualizado". No fluxo antigo, essa frase significava reprocessar planilhas à mão, animal por animal — ou simplesmente não acontecer. A genômica ovina vai continuar publicando marcador novo, e a plataforma foi desenhada para que isso seja uma boa notícia, não um retrabalho.

E o laudo que chega ao produtor carrega a honestidade do dado: o que foi avaliado, o que não foi lido pelo ensaio e por quê, qual revisão do catálogo produziu aquele número. Num documento que orienta decisão de reprodução de rebanho, dizer o que não se sabe vale tanto quanto dizer o que se sabe. A implantação fechou com o rebanho inteiro no ambiente do cliente e o aceite formal veio no prazo combinado, sem repactuação de data.

Os números da primeira carga real

Soluções relacionadas

Cases relacionados

Sua operação recebe dado técnico que só vive em planilha?

A Epicora constrói a plataforma que transforma o dado bruto do laboratório, do sensor ou do parceiro em documento que o seu cliente entende — com a regra de interpretação na mão de quem entende do assunto, não no código.

Contato

Vamos conversar sobre o seu projeto

Conte o que você precisa resolver. Retornamos rápido, com gente que entende de tecnologia e de negócio.

Prefere falar direto?

Escolha o canal que preferir. Respondemos rápido, no horário comercial.

Da primeira conversa ao go-live: eficiência, segurança e inovação.