Bioinformática para Zumbis
Bioinformáticapara Zumbis
Quem é você?Marcos Castro
Contato: [email protected]
Objetivo: que os conceitos sejam tão claros de forma que até a sua avó
possa entender perfeitamente!
Bioinformática… O que é isso?Pergunta errada…
Bioinformática… O que eu posso fazer com isso?
Pergunta correta!
Quanto à definição de Bioinformática, cada um tem sua própria definição. Ao final da apresentação você poderá definir a sua
também!
Exemplo: se eu for da área de IA, posso dizer que Bioinformática é a aplicação de técnicas de machine learning para dados
biológicos.
Sou da Computação:print(‘Bioinformatica’[3:])
Sou da Biologia:print(‘Bioinformatica’[0:3])
A Bioinformática é multidisciplinar :)
Keep calm…
Bioinformata
➜ Basicamente é um profissional que entende de biologia e trabalha com informação tratando e interpretando os dados.
➜ Exemplo: coletar informações clínicas de pacientes para fazer estudos sobre alguma doença com o objetivo de indicar um tratamento mais eficaz.
Bioinformática - Formação
➜ Poucos lugares do mundo têm graduação em Bioinformática.
➜ Normalmente as pessoas tem graduação em algum curso bem estabelecido e fazem pós em Bioinformática.
Hello Bioinformática
➜ Relembrando os tempos de colégio...
➜ O DNA tem 4 bases: Adenina, Citosina, Timina e Guanina.
➜ Guanina sempre liga com Citosina.
➜ Adenina sempre liga com Timina.
➜ O DNA é uma string muito grande...
Hello Bioinformática
➜ DNA é grande?? Não tem problema, meu computador tem memória, olha só:
Hello Bioinformática
➜ Ok, tentamos alocar todo o genoma humano (algo em torno de 3.2 GB) e já começamos a ter problemas.
➜ Um genoma sequenciado pode possuir 180 GB num formato FASTQ por exemplo.
➜ FASTQ é um dos vários formatos de arquivos para armazenamento de sequências biológicas.
Hello Bioinformática
➜ O RNA é o primo do DNA.
➜ Ao invés da Timina, ele possui Uracila.
➜ O RNA é utilizado para síntese de proteínas.
Dogma Central da Biologia Molecular
Hello Bioinformática
➜ A Bioinformática está intimamente relacionada com a Genética.
➜ A Genética é a ciência que estuda os genes.
➜ Gene é uma sequência de nucleotídeos.
➜ Genoma é um conjunto de genes.
A sua “receita” são as informações contidas nos genes que você herda
dos seus pais.
As letrinhas A, C, T, G, ligadas entre si e se repetindo, são responsáveis pelo
que somos, por nossas proteínas, pelas características que nos fazem
diferentes uns dos outros.
Sequenciamento
➜ Objetivo: determinar a ordem dos nucleotídeos de uma amostra de DNA.
➜ Genoma sequenciado = determinação da ordem dos genes.
Por que sequenciar?
➜ Para obter informações sobre a linha evolutiva dos organismos.
➜ Exemplo: saber quem tem DNA mais parecido com quem.
➜ Essas informações podem nos levar a obter novos medicamentos, vacinas, novos métodos de diagnóstico etc.
Métodos de sequenciamento
➜ Objetivo: determinar a ordem das quatro bases nitrogenadas: Adenina, Citosina, Guanina e Timina.
➜ Sanger foi o primeiro (década de 70).
➜ Sanger é um método que pode levar bastante tempo...
Métodos de sequenciamento
➜ Novos métodos de sequenciamento têm surgido, métodos bem mais rápidos!
➜ Mas calma... o Sanger não morreu.
➜ Escolher um método de sequenciamento é como escolher uma linguagem de programação, não existe a melhor, depende do que você vai resolver.
Métodos de sequenciamento
➜ Exemplo: se você quer sequenciar um fragmento pequeno (exemplo: gene), compensa usar Sanger.
➜ Se você quer sequenciar um genoma, compensa mais utilizar novos métodos de sequenciamento, pois em menos tempo consegue-se sequenciar uma quantidade maior de dados.
Métodos de sequenciamento
➜ Para você ter uma ideia, os primeiros sequenciadores de DNA liam um gene em 45 dias.
➜ Com novos métodos, você consegue sequenciar mais de 300 genes em 27 horas.
Sequenciadores
➜ Sequenciadores tem capacidade de gerar X bases sequenciadas (depende do modelo).
➜ Varia o tamanho do fragmento que cada um consegue sequenciar.
➜ Quantos fragmentos? Depende da técnica, mas o que importa é o tamanho desse fragmento.
Sequenciadores
➜ Então como ler milhões de bases?
➜ Gera-se uma enorme quantidade de fragmentos que tenham sobreposição entre si para ler a quantidade necessária.
➜ Para uma bactéria necessita de fragmentos menores (genoma é menor), para humanos necessita de fragmentos maiores.
Sequenciadores
➜ Temos um monte de fragmentos...
➜ Mas como montar esse quebra-cabeça?
➜ Entraríamos no que chamamos de montagem de DNA, mas isso é um outro assunto...
Sequenciadores
➜ Futuramente deve surgir um sequenciador para ler milhões de bases e aí, quando isso acontecer, o problema de montagem deixa de existir.
➜ E todos os softwares de montagem que foram feitos? Vão para lixeira :-)
Tecnologias NGS
➜ NGS = next generation sequencing
➜ Melhorias: rapidez, custo...
➜ Para se ter uma ideia, consegue-se sequenciar um genoma humano por 1000 dólares.
➜ Exemplo de sequenciador NGS: Illumina.
Tecnologias NGS
➜ Tecnologias NGS geram milhares de fragmentos de DNA (reads).
➜ Grande volume de dados (Big Data).
➜ O que fazer com esse dilúvio de dados?
➜ Novos algoritmos, softwares, ferramentas...
Big Data
➜ Antigamente você obtinha os dados, tinha uma planilha e dava pra analisar tudo sem grandes problemas.
➜ Hoje em dia, você aperta um botão e tem uma máquina que ao invés de gerar uma só planilha, gera milhares.
➜ Como observar milhões de dados?
Big Data - Definição
➜ “Quantidade de dados suficientemente grande que leve a uma mudança nas formas tradicionais de análise de dados.”
➜ As tecnologias NGS levaram a essa mudança? Sim! A grande quantidade de dados (big data) levou a essa mudança.
Big Data
➜ Basicamente qualquer coisa no planeta gera dados hoje em dia.
➜ Você gera dados constantemente...
➜ Espero que não nesse momento...
Big Data
➜ Com tecnologias NGS não é diferente.
➜ Gera-se um grande volume de dados.
➜ Precisamos de eficiência e eficácia!
➜ Não adianta somente ter os dados, é preciso saber o que fazer com eles.
➜ Dados é o novo petróleo!
Big Data
➜ Os dados precisam ser coletados...
➜ ... armazenados ...
➜ ... relacionados ...
➜ ... analisados ...
➜ ... para que você tenha ideias para resolver problemas.
Uso dos dados
➜ Com o entendimento dos dados genéticos de um paciente por exemplo, pode-se auxiliar no tratamento ou diagnóstico de alguma doença.
➜ A análise dos dados exige a participação da computação e biologia: bioinformática.
➜ O gargalo não é mais obter os dados, mas sim analisar esses dados.
Eu gosto de algoritmos!!
➜ Tudo bem, desafios é o que não faltam!!
➜ Exemplo: os primeiros algoritmos de alinhamento de sequências biológicas foram baseados em programação dinâmica.
➜ A Biologia já nos ajudou bastante com inspiração para algoritmos genéticos, redes neurais etc., que tal ajudarmos ela a resolver problemas biológicos?
Machine learning
➜ Aprender automaticamente a partir de um grande volume de dados.
➜ Existem várias técnicas:
Redes NeuraisKNNData Mining(...)
Machine learning
➜ Por muitos anos, sub-áreas da Biologia tem inspirado várias técnicas de aprendizado de máquina (AM).
➜ Atualmente, várias pesquisas na Biologia vêm utilizando essas técnicas de aprendizado de máquina.
➜ Conte-me mais sobre isso...
Machine learning
➜ Exemplo: alinhamento de sequências.
➜ O alinhamento é o processo de comparar sequências.
➜ Métodos de alinhamento que utilizam programação dinâmica têm um custo elevado, embora garantam a melhor solução.
Machine learning
➜ Já os chamados métodos heurísticos, embora não garantam a melhor solução, podem garantir boas soluções a um custo bem menor.
➜ Existem métodos que utilizam algoritmos genéticos (que é uma heurística) para fazer o alinhamento de sequências.
Linguagem de Programação
➜ Não existe a melhor linguagem de programação para Bioinformática.
➜ Veja uma linguagem de programação como uma ferramenta.
➜ Linguagem de programação é como time de futebol, você tem a sua preferida, mas nem sempre ela vai bem.
Linguagem de Programação
➜ Vários projetos em Bioinformática vêm utilizando Python e R. Perl também é bastante utilizada.
➜ A Bioinformática possui centenas de ferramentas escritas nas mais variadas linguagens: C/C++, Python, R, Perl, Java etc.
Python
➜ Sou suspeito para falar sobre Python.
➜ Python possui baterias inclusas e módulos de terceiros que irão facilitar bastante a sua vida.
➜ Em se tratando de Bioinformática, possui o BioPython que faz parte dos Bio Projects (existe também BioPerl, BioJava etc.).
Python
➜ Estatística? Pandas
➜ Machine Learning? Scikit-learn, PyBrain
➜ Plotar gráficos? Matplotlib
➜ Processamento numérico? NumPy
➜ Python está preparado para computação científica!
Ferramentas
➜ Apesar de existirem diversas ferramentas para Bioinformática, você também pode escrever a sua.
➜ Exemplo de uma ferramenta para o agrupamento (data mining) de sequências biológicas:
https://goo.gl/2wPGGT
Ferramentas
➜ Apesar de ter bastante coisa pronta, é de suma importância que você saiba alguma linguagem de programação, mesmo que seja para construir simples scripts.
Linux
➜ Por causa da grande quantidade de dados, provavelmente você irá rodar programas em servidores.
➜ É aconselhável ter intimidade com os comandos do terminal do Linux.
No que eu venho trabalhando?
➜ Grafos De Bruijn➜ Objetivo: detecção de variações
genéticas.➜ Planta: cana-de-açúcar.➜ Apresentação sobre o tema:
http://goo.gl/lcrnPx
Implementação De Bruijn Graphs em Python:
https://github.com/marcoscastro/bruijn_graph
Precisamos de você!
É bom saber...
➜ Um pouco de cada:
MatemáticaEstatísticaComputação (Stackoverflow)Biologia
Case de sucesso em Bioinformática
➜ Genomika
Case de sucesso em Bioinformática
➜ Genomika
➜ A empresa faz análises clínicas dentre outras coisas.
https://www.genomika.com.br
Aprendendo Bioinformática com Rosalind
➜ Problemas de Bioinformática.
➜ Qualquer linguagem de programação.
➜ Tem problemas fáceis, médios, difíceis...
➜ Ranking geral e ranking por país.
http://rosalind.info/
Big Data
➜ Quer aprender mais sobre Big Data?
➜ Curso de Big Data em Saúde no Brasil:
https://www.coursera.org/course/bigdatabrasil
Ciência de Dados
➜ Quer aprender sobre Ciência de Dados?
➜ Introdução à Ciência de Dados:
http://goo.gl/qkpBnz
(com direito a certificado)
Curso de Bioinformática com Biopython
➜ Aprendendo Bioinformática com Python:
https://goo.gl/V3uhLz
(com direito a certificado)
Dica de livro
Aprender o que eu já sei não tem graça!
Obrigado!Alguns contatos:
➜http://bioinformatica.blog.br/
➜https://github.com/marcoscastro