O guia definitivo do Bioinformata, parte 2

Filipe Dezordi
8 min readDec 23, 2023

--

programming for bioinformatics. fonte: https://bioinformaticamente.com/2020/10/12/programming-for-a-bioinformatician/

Ano novo, clickbait velho. Se você, caro(a) leitor(a) já leu a parte 1 deste guia deve lembrar qual é a minha visão sobre cursos/materiais milagrosos.

Quando publiquei O guia definitivo do Bioinformata, eu não pretendia fazer uma parte 2. Porém, 3 anos se passaram, uma pandemia aconteceu, e no meio de toda essa loucura, a bioinformática “deu uma acelerada”, e muita coisa mudou.

Somado a isso, está completando quase 8 anos que ingressei nessa área, quando cheguei tudo isso era mato (brincadeirinha), mas sim, repito: muita coisa mudou.

E assim como no primeiro texto, estou escrevendo este no recesso do final de ano. Então não espere um texto cheio de referências e análises de dados, pois no medium não temos revisão por pares, e mais uma vez, será um texto sobre as ideias e opiniões do Filipe.

Diferente do primeiro texto, o Filipe conta agora com uma experiência híbrida, um pouco de meio acadêmico, um pouco do setor privado. Então pegue seu café, seu chimarrão, seu chá ou sua cerveja, e vamos lá.

Rodando uma filogenia em 2015, compilando um workflow em 2023

Quando comecei a trabalhar no meu projeto de TCC em 2015, lembro que realizar uma simples filogenia poderia ser uma dor de cabeça. Nas etapas de alinhamento, edição, predição do modelo de substituição e a análise em si, escolhíamos alguma das opções: uma dor de cabeça com as poucas ferramentas web, passar raiva com o MEGA travando, ou encarar a saga de compilar as ferramentas localmente e lidar com 125421324 conflitos de ambiente.

Hoje chovem workflows em repositórios públicos, muitos deles podendo serem compilados em poucos minutos, com uma ou duas linhas de comando. Além é claro, de plataformas SaaS (Softwares as a Service) onde você carrega os arquivos fastq, e o trabalho duro fica com a plataforma.

Esse cenário formou-se, na minha opinião, de forma acelerada em grande parte devido à pandemia. Juntando a origem de vários grupos novos de bioinfo — que tiveram que se reinventar durante a pandemia — com o aumento da produção de dados, as várias etapas manuais e as diferentes análises separadas foram convertidas em fluxos de análises padronizados.

Então quando somamos uma alta produção de dados, com a padronização e disponibilidade de novos fluxos, o trabalho do(a) Bioinformata acabou sendo redirecionado: ao invés de usar nosso tempo compilando ou padronizando as análises, agora precisamos: testar; validar; desenvolver novas ferramentas ou fluxos baseados nos existentes; pesquisar como podemos aplicar o que já existe para os dados que estão sendo gerados; e por fim, incluir estes fluxos dentro das infraestruturas (on premise, nuvem ou híbrida) de nossos grupos.

Talvez, os novos perfis de Bioinformatas

Welch e seus besties (et. al. ta saindo de moda, né?) publicaram um artigo em 2014 sobre as diretrizes para o currículo de bioinformática, citando 3 perfis diferentes: Usuário, Cientista e Engenheiro. Não vou entrar em detalhes aqui, se você quiser saber sobre, leia o artigo ou veja o resumo dele na minha página no instagram.

Permita-me aqui, expandir essa ideia, e não com ideias que tirei da minha cabeça, mas que foram desenvolvidas durante esses quase 2 anos de setor privado, em discussões com colegas, e principalmente em trocas de ideia com meu coordenador, um abraço Marcel.

Vamos trabalhar aqui, na ideia de 5 perfis: BioDev, BioDevOps, BioQA, BioAnalista e BioP&D. Em uma boa gíria recifense: Éoq pow? Bom, a pista disso estava no último parágrafo antes do título deste tópico.

Ressalto aqui, que não trarei nenhuma ideia revolucionária nos próximos conjuntos de caracteres, apenas darei nomes aos bois. Muitas dessas atividades, nós bioinformatas já fazemos no dia-a-dia. Porém, como toda e qualquer área da T.I. é normal que a bioinformática amadureça, ramifique-se, e que impossibilite que um profissional apenas dê conta de todas essas ramificações.

BioDev

BioDev. Imagem gerada com o serviço midjourney

Este perfil é um intermediário entre o perfil Cientista e o perfil Engenheiro idealizado por Welch e seus besties. Com o conhecimento biológico e o conhecimento técnico em linguagens de programação, O BioDev foca seu tempo em desenvolver códigos voltados para a bioinformática. Sejam novos algoritmos, scripts para conversão de dados, workflows ou até mesmo ferramentas que automatizem tarefas rotineiras.

Não é um desenvolvedor stricto sensu, não dividimos, ainda, em backend, front ou full stack. Não espera-se que você desenvolva uma aplicação em django ou quaisquer outro framework.

Não espera-se que você seja um expert em diferentes linguagens (o que não impede que você seja), em modelagem de dados, ou quaisquer outras hard skills de dev. Mas nessa área, normalmente você tem conhecimento e consegue criar insights e transformá-los em códigos para resolver algum problema que envolva dados biológicos.

Bom, mas você pode se perguntar por que não contratam um dev para tarefas de BioDev? Dois pontos: Conhecimento biológico (sim, assim como quem vem de biológicos têm dificuldade de aprender computação, quem vem da computação tem dificuldade em aprender biologia; E salário, sim você pode não concordar ou até achar ignorante essa lógica: mas é normal que a área de dev pague melhor que cargos na área de biológicas.

Os motivos do parágrafo acima também se estendem aos demais perfis de bioinformata desse texto.

BioDevOps

BioDevOps. Imagem gerada com o serviço midjourney

Citando diretamente deste artigo da AWS: O DevOps é a combinação de filosofias culturais, práticas e ferramentas que aumentam a capacidade de uma empresa de distribuir aplicativos e serviços em alta velocidade: otimizando e aperfeiçoando produtos em um ritmo mais rápido do que o das empresas que usam processos tradicionais de desenvolvimento de software e gerenciamento de infraestrutura.

Talvez você não tenha participado ainda da criação de um serviço enquanto bioinformata, mas isso está acontecendo no Brasil, tanto no meio acadêmico quanto no setor privado.

Imagine que ao invés de você rodar um workflow no seu computador pessoal, esse mesmo workflow tenha que estar disponível num cluster computacional on premise (local) ou num serviço de computação na nuvem (cloud), ou ainda que alguns processos de bioinformática tenha que rodar localmente, e outros na nuvem, numa arquitetura híbrida.

Isso tudo requer automações: do deploy do código, dos testes unitários e de integração, do lançamento de releases, do desenvolvimento de sistemas de comunicações.

É neste gráfico de venn que o BioDevOps se encontra: entre bioinformática, desenvolvimento e operações. Esse em especial, tenho sentido na pele nos últimos meses como é incerto e desafiador.

BioQA

BioQA. Imagem gerada com o serviço midjourney

Quality Assurance, ou para o Ariano Suassuna não se revirar no túmulo, Controle de Qualidade. Trata-se basicamente de um conjunto de práticas que visam garantir a qualidade de um serviço.

Pensando em um processo de bioinformática, se você está criando um fluxo para análise de genomas virais, seu fluxo tem que ser testado e validado para garantir que a linhagem, grupo ou sorotipo do vírus está sendo identificado corretamente, bem como, seu conjunto de mutações.

Se você está desenvolvendo um serviço para exames de medicina de precisão, suas soluções de bioinformática devem identificar corretamente as variantes genéticas de um paciente, e claro, evitar o laudamento de variantes falso-positivas.

O BioQA é aquele(a) bioinformata que gosta de testar, que analisa minuciosamente seus resultados em busca de erros ou comportamentos inesperados das ferramentas e que gosta de trabalhar em projetos de validação. Aqui não importa se análise rodou do início ao fim, mas sim, que o resultado faça sentido.

BioAnalista

BioAnalista. Imagem gerada com o serviço midjourney

Entreguem-me os resultados! Considerando o trabalho de Welch e seus besties, o BioAnalista estaria entre o bioinformata Usuário e Cientista. Uma vez com os fluxos desenvolvidos e testados, o BioAnalista procura significado nos resultados apresentados.

Diferente do BioQA que foca no teste e validação dos resultados, dadas as ferramentas empregadas, o BioAnalista procura entender o resultados daqueles dados, considerando informações à priori.

O que a presença de determinado vírus nesta amostra significa? O que esse conjunto de variantes em um paciente com determinado histórico clínico significa? Este resultado, é real ou uma contaminação? Chame o BioAnalista.

BioP&D

BioP&D. Imagem gerada com o serviço midjourney

Novas tecnologias para produção de dados. Novas ferramentas de análise de dados. É o ambiente perfeito para o desenvolvimento de novos produtos e soluções de bioinformática.

Pensar fora da casinha. Expressão odiada por muitos devido ao “incrível” trabalho de coaches (sim, sou coachfóbico) mas que está diretamente atrelada ao trabalho de BioP&D.

Olhar para tudo que está sendo produzido, se atualizar com a literatura, e criar insights de novos processos é o núcleo das atividades do BioP&D.

Nesse trabalho, muitas vezes novos scripts devem ser desenvolvidos, estes mais voltados à análise de dados do que qualquer outro propósito.

O desconforto

Talvez você tenha lido os parágrafos acima com um certo desconforto, e talvez pensado: Isso não faz sentido, já existem profissionais que fazem essas tarefas!

Já existem times de Desenvolvedores, de QA, de DevOps, de Analistas e de P&D, então por que diabos eu estou falando disso como perfis de bioinformata?

Se você sentiu esse desconforto, ou levantou algum dos questionamentos acima, minha intenção deu certo!!!

A ideia não é que bioinformatas cooptem essas áreas, muito menos que substituam esses profissionais. Mas sim que trabalhem junto com estes times!

Você ser um BioDev, não quer dizer que deixou de ser um(a) bioinformata e que seu grupo não precisa de um desenvolvedor, mas sim que você vai trabalhar junto com o time de desenvolvimento! E o mesmo vale para as demais áreas.

“Ah, mas eu posso, desenvolver meu workflow, testá-lo, validar, acoplar ele à uma aplicação e também participar dos projetos de desenvolvimento”. Hmm, será que pode? em quanto tempo? com qual qualidade?

Veja bem, não estou questionando suas habilidades, mas estamos entrando numa nova realidade. Consulte a literatura mais atualizada da sua área. Não publicamos mais um genoma, uma análise taxonômica, uma ferramenta em linha de comando. Não entregamos mais como produto uma anotação de variantes.

O jogo mudou, escalou, evoluiu. Não fazemos mais nada sozinhos.

O guia que talvez não guie

Diferente do primeiro texto, no qual expus até algumas dicas para quem está começando na área, quero deixar este como um link, do primeiro texto introdutório, e de um texto que virá (quando? não sei e não faço mais promessas xD), aprofundado sobre esses perfis, caso eu note que estejamos caminhando realmente para esse cenário.

Se aprender e trabalhar com bioinformática já é uma tarefa árdua, saber como trilhar algum desses perfis talvez seja tão desafiador quanto, e não tenho a pretensão aqui de indicar caminhos para isso.

Minha intenção, como de costume, é apresentar ideias, levantar discussões, talvez gerar algum estalo na sua mente enquanto lê esse texto, fazer você discordar fortemente disso e me enviar uma mensagem com seu ponto de vista. Quem sabe.

Você acha que falei muita besteira por aqui? ficou curioso(a) com algum ponto? Manda uma mensagem lá na minha DM, vamos trocar essa ideia.

--

--