O que pode ser feito em 48 horas? Entrevista com o vencedor do hackathon de bioinformática da BioHack 2019

O quarto hackathon de bioinformática BioHack 2020 começa em 27 de março em São Petersburgo . Durante a existência do hackathon, mais de 300 jovens especialistas de diferentes países participaram e 58 soluções foram desenvolvidas. As principais organizações de pesquisa apresentaram seus projetos para trabalhar na hackathon: Institute of Physiology, em homenagem a I.P. Pavlova, Instituto de Citologia RAS, Universidade Estadual de São Petersburgo, Centro Científico Federal de Medicina Física, JetBrains BioLabs, Instituto de Proteínas RAS, Genotek, MIPT, iBinom e outros.

Em 2019, a equipe de alho recebeu o prêmio principal de 150.000 rublos. Por 48 horas alocadas ao trabalho, a equipe criou uma ferramenta que permite pesquisar rearranjos genômicos de uma determinada estrutura. Pedimos ao curador do projeto - Dmitry Konanov, para falar sobre o projeto, o hackathon e sobre a vida da bioinformática em geral.



- Diga-me, o que você estava fazendo naquele momento em que era membro do hackathon?
- No momento da minha participação no hackathon, trabalhei no laboratório de bioinformática do Centro Científico e Prático Federal de Medicina Físico-Química da FMBA da Rússia (Centro Científico e Clínico Federal de Medicina Físico-Química da Agência Federal de Medicina e Biologia), escreveu um diploma lá. Agora continuo trabalhando no centro.

- Por que você decidiu participar do BioHack?
- De alguma forma, aconteceu tão espontaneamente. O prazo já estava se aproximando - um dos últimos dias de recebimento de projetos estava chegando, o laboratório me perguntou se eu queria participar do hackathon: eu só precisava enviar o projeto. Escrevi algo em cerca de 15 minutos e enviei um pedido.



- Então, foi um projeto em que você já trabalhou no laboratório?
- Eu queria trabalhar nisso, comecei a trabalhar, mas estava muito inacabado. No hackathon, nós o trouxemos para o estado que eu queria trazer - o algoritmo se tornou mais automatizado.

- Diga-me como surgiu a ideia do projeto.
- Em geral, a ideia inicial não é minha, mas Alexander Manolov, Ph.D. laboratórios de bioinformática. Esta é a pessoa que era na época o chefe do meu diploma.

Sabe-se que os genomas das bactérias são muito plásticos. Muitos eventos podem ocorrer neles: a transferência de genes de uma bactéria para outra, uma mudança na sequência, inserção e remoção de fragmentos do genoma. A idéia é a seguinte: que haja 4 genomas bacterianos. Cada genoma consiste em 5 genes: o primeiro genoma de XYZTF, o segundo genoma de XRLAF, o terceiro genoma de XYKTF e o quarto XYLTF. (Figura “Perestroika nos gráficos”). Em nosso exemplo, as mesmas letras nos genomas correspondem a genes homólogos (pode-se dizer o mesmo). A sequência de letras mostra a sequência de genes nos genomas.

Definimos cada gene da amostra de genomas como um nó do gráfico e traçamos arestas entre os nós de genes que estão localizados sequencialmente em pelo menos um dos genomas da amostra.



Assim, obtemos um gráfico que contém informações sobre todas as variantes possíveis da alternância de genes nos genomas selecionados. E com essa estrutura gráfica, você já pode fazer o que seu coração deseja.

Nossa primeira tarefa foi procurar regiões com alto envolvimento local nos gráficos que surgem nos chamados pontos quentes dos rearranjos genômicos - locais onde, por razões nem sempre claras, o genoma muda intensamente de tensão para tensão. Chamamos a medida de emaranhamento nas proximidades da complexidade do genoma do nó. Esse valor mostra essencialmente numericamente com que frequência a perestroika ocorre em determinadas regiões.

- E qual é a essência do problema que você resolveu com a equipe no hackathon?
- No hackathon, realizamos uma tarefa mais matematicamente bonita ou algo assim.
Qualquer rearranjo do genoma, seja uma exclusão (perda aproximada de um local cromossômico), inserção ou inversão (ordem inversa aproximada de genes de um local cromossômico), leva à formação de subgráficos de uma determinada topologia em nosso grande gráfico de rearranjos. E pensei que seria bom se pudéssemos procurar subgráficos específicos correspondentes em estrutura à perestroika de nosso interesse. Isso tornaria possível encontrar com eficiência pontos no genoma nos quais os eventos ocorrem com mais frequência e comparar a frequência entre diferentes espécies e gêneros de bactérias. Sabe-se, por exemplo, que há partes do genoma proibidas para inversões e áreas onde as inversões ocorrem com mais frequência.

Um interesse puramente fundamental era examinar os perfis de distribuição de frequência ao longo do genoma e outros tipos de rearranjos. Se falamos de significado prático, essa história está diretamente relacionada à biotecnologia: pensamos que, conhecendo a suscetibilidade de diferentes fragmentos do genoma a inserções, podemos assumir antecipadamente onde é mais provável que um fragmento aleatório de DNA estranho seja inserido. Mas não checamos.

Mesmo antes do hackathon, eu lidei com canetas, escrevi um algoritmo bastante torto que procurava um padrão específico (codinome Smile, devido à sua aparência característica). Encontrei a frequência e a distribuição ao longo do genoma para muitas espécies, até algumas coisas engraçadas foram descobertas, por exemplo, em bactérias com um grande número de smileys, rearranjos de qualquer tipo ocorreram igualmente ao longo de todo o genoma e em bactérias com um pequeno número de smileys apenas em um número limitado de pontos quentes (em integral próximo na frequência do genoma). Obviamente, eu queria fazer algo mais universal para poder pedir a possíveis subgráficos para a pesquisa. Eu trouxe essa ideia para o hackathon.

Como resultado de dois dias de trabalho, obtivemos uma ferramenta chamada GARLIC-Finder - uma ferramenta para estudar rearranjos genômicos de uma determinada estrutura. Nós escrevemos uma linguagem universal para definir subgráficos para pesquisa, mas como essa tarefa é complicada por NP, parecer "frontal" acabou sendo apenas pequenos subgráficos estáticos. Portanto, adicionamos a capacidade do usuário de adicionar algoritmos personalizados que são otimizados para a pesquisa de padrões específicos. No hackathon, estabelecemos três padrões - um par de genes entre os quais inserções (Alho), transposições de um fragmento de genoma (Penguin) e um gene com um ambiente muito rico (Spider) ocorrem com frequência (Fig. “Search for reargraph-rearrangements”). Alho foi o primeiro e, portanto, deu o nome ao nosso Tulu. Tornou-se um acrônimo: G enome re AR rangementsL ganhando I nterfa C e.



Eu até aproveitei isso um pouco mais tarde.

- Pouco? Ou seja, esse projeto não avançou além do hackathon?
- Agora, o problema é que ainda estamos na fase de publicação de um grande artigo sobre gráficos e complexidade genômica. Uma pessoa que escreve uma dissertação sobre este tópico está envolvida nisso. Enviamos a primeira opção no verão, mas ela foi rejeitada, infelizmente. Outro dia foi enviado novamente, já em outra edição. Se tudo correr bem, talvez continuemos a cavar nessa direção.

- O que o hackathon deu a você?
- O projeto se tornou uma grande parte da minha tese. Novas idéias de otimização surgiram. Bem, em geral, eu próprio aprendi muitas coisas novas.

- Em que você gastou dinheiro, senão em segredo?
- Não é segredo, um bom jogador com fones de ouvido :).

- Qual linguagem de programação foi usada para resolver o problema?
- Python, exclusivamente Python. E bibliotecas diferentes para ele. Para trabalhar com gráficos do NetworkX, visualize o Graphviz e sua ligação a um Python. Bem, o clássico Matplotlib e o Pandas para trabalhar com dados. E uma biblioteca auto-escrita é gene-graph-lib .

- E quem estava no seu time?
- Dois programadores e um biólogo. Todo mundo acabou sendo muito útil.
Qual era seu objetivo global, por que você decidiu enviar o projeto para uma hackathon?
Eu queria resolver um problema e resolvê-lo efetivamente. Planejei fazer isso sozinho, mas aqui surgiu uma oportunidade única e decidi usá-la. Bem, eu só queria ver o que é um hackathon.

- Você gosta disso?
- Maravilhoso, simplesmente maravilhoso! A organização, a comida, a sala onde tudo isso aconteceu, as pessoas são maravilhosas. Não havia o que reclamar.

Seria muito bom se eles me permitissem usar monitores locais, equipamentos da equipe, como eu o entendo - a hackathon foi realizada no escritório do EPAM - mas, é claro, não fomos autorizados.

- Como você se preparou para o hackathon? O que precisa ser feito, além de levar o seu equipamento?
- Aos líderes (aprox. Curadores)havia um requisito para preparar uma apresentação por 1,5 a 2 minutos sobre o projeto. É importante que os participantes leiam com atenção os termos dos projetos, a fim de ver quais requisitos os líderes têm para os membros da equipe. Pode acontecer que uma pessoa em um laptop esteja totalmente equipada com o ambiente do segundo Python e o curador, por exemplo, o terceiro. Isso não importa, mas pode levar um tempo extra para reinstalar o ambiente, e você só precisa ler atentamente que precisa de um terceiro Python.

Mas em termos de conhecimento de como se preparar, nem tudo está claro aqui. Naturalmente, você precisa ser capaz de programar nos idiomas necessários e se atrapalhar um pouco no contexto do problema proposto como projeto. Embora tivéssemos um membro da equipe que não conhecia biologia, mas fosse muito útil - foi ele quem escreveu o analisador de linguagem para definir subgráficos, essa tarefa caiu inteiramente em seus ombros.

- Você já falou sobre a organização, as instalações, a comida. Onde você dormiu? E você dormiu mesmo?
"Por 48 horas, eu dormi por quatro horas, eu acho." Eu estava sempre no local, na última noite que acabei de sair para o hotel.

- Ou seja, os participantes precisam estar mentalmente preparados para isso.
- E moral e fisicamente, especialmente. Se uma pessoa tem experiência em se preparar para algumas sessões terríveis, quando você não dorme por duas noites, é uma boa preparação. Eu tive esses casos durante meus estudos, então estava pronto.

- Qual é o seu objetivo global? Por que você faz bioinformática?
- Em geral, entrei acidentalmente em bioinformática. Estudei na faculdade da Academia de Ciências Agrícolas da Academia Russa de Ciências. Lá, os alunos, a partir do segundo ano, são obrigados a ir ao trabalho científico um dia por semana em um dos institutos da Academia Russa de Ciências. Respondi à proposta do IBCh RAS, sem ter idéia do que teria que fazer. Eu vim para lá e acabei fazendo uma análise dos dados NGS e proteômica. Então eu comecei a aprender Python e entender bioinformática. Ele trabalhou lá por dois anos, o projeto pareceu um pouco parado e eu fui para onde estou trabalhando agora.
Eu gosto disso. Eu sempre amei matemática e biologia, de alguma forma isso aconteceu.

- Quais livros, cursos, palestras, filmes você recomenda para as crianças assistirem?
- Existe um curso sobre algoritmos bioinformáticos na Coursera da Universidade de San Diego, cuja criação eu participeiPavel Pevzner , no Stepic ele também é. Eu resolvi alguns problemas lá - bastante úteis. Eles permitem que você bombeie conhecimentos tanto em biologia molecular quanto em codificação. A essência da maioria das tarefas é que você precisa programar algum tipo de análise de sequência simples ou algo semelhante. Sei que o Instituto de Bioinformática realiza palestras que podem ser visualizadas no YouTube; além disso, eles têm cursos sobre o Stepic . Em Python, li fielmente cerca de 500 das primeiras páginas do Learning Python, de Mark Lutz , e depois apenas li a documentação, os registros de alterações e a prática.

O mais importante é resolver problemas. É inútil ler a teoria e, no processo de solução de problemas, você aprende a resolver problemas reais.

- Você planeja participar do hackathon este ano?
"Acho que sim."

- Com o que? Ou ainda é um segredo?
- Existem duas opções, enquanto as idéias estão sendo formadas. Eu não vou expressar isso. Eu ainda tenho um mês inteiro. Provavelmente darei, como sempre no último momento :)

- E o que está sendo discutido no mundo da bioinformática?
- Muitas vezes, adoram temas de campanha publicitária. Eu tenho um aluno da Universidade Técnica Química da Rússia que escreve um diploma sobre um tópico gráfico, então ele decidiu criar um gráfico sobre o genoma recentemente publicado do coronavírus e de seus parentes.

- Intrigado. Vamos aguardar novas descobertas e novos projetos interessantes de você e seus colegas!

Você pode enviar o projeto até 28 de fevereiro e se registrar como participante até 5 de março no biohack.ru .

All Articles