• Formação: Ciência da Computação.• Obs.: espero não assassinar a Biologia...
• Grupo de Bioinformática Unifesp-SJC• Apresentações toda sexta.• O café do laboratório é famoso!
• Objetivos da palestra:• Incentivar o uso de Python em Bioinformática.• Uso de Biopython para otimizar o seu tempo.
3
Bioinformática
Marcos Castro
A bioinformática é uma área que busca analisar informações provenientes de estudos biológicos. Trata-se de uma área multidisciplinar que combina conhecimentos de várias áreas com o objetivo de resolver problemas biológicos.
Marcos Castro
Resumindo: processamento de dados biológicos
4
O que é Biopython?• Conjuntos de ferramentas gratuitas para bioinformática.• Site oficial: http://biopython.org/• Código Biopython: https://github.com/biopython/biopython• Biopython Tutorial: http://biopython.org/DIST/docs/tutorial/Tutorial.pdf• Códigos da apresentação: https://github.com/marcoscastro/pybr11 • Slides: https://speakerdeck.com/marcoscastro/bioinformatica-com-biopython
módulo Bio.Seq, classe Seq, similar a string do python, é imutável
Marcos Castro
só lembrando que os nucleotídeos são representados pelos símbolos: A, C, T, G
7
Complementar e reverso complementar• Complemento:
• Reverso complementar:
8
Transcrição• Transcrição: onde tem “T” troca por “U” (recordando o ensino médio).• IUPAC: define padrões de alfabetos para nucleotídeos/proteínas.
Marcos Castro
É feita a transcrição e transcrição reversa
9
Tradução• De RNA para proteína:
• Tradução direta (DNA para proteína):
Marcos Castro
Códon é uma sequência de 3 bases que determina um aminoácido. Se aparecer um * é o stop códon que indica que o processo de tradução chegou ao fim. Código genético degenado: códons diferentes -> mesmo aminoácido.
10
Parsers – Bio.SeqIO• O pacote BioSeqIO fornece suporte a vários formatos tais como fasta, fastq etc.• FASTA
• Formato muito utilizado para armazenamento de sequências biológicas.
11
Parsers – Bio.SeqIO• Lendo arquivo FASTA:
Marcos Castro
Formato FASTA possui identificador da sequência seguido por descrição.
12
Parsers – Bio.SeqIO• Gerando arquivo FASTA:
Marcos Castro
SeqRecord cria uma sequência com ID, descrição
Marcos Castro
SeqRecord contém um objeto Seq e atributos da sequência.
13
Parsers – Bio.SeqIO• Lendo arquivo genbank:
Marcos Castro
Genbank é um banco de dados público mantido pelo NCBI (National Center for Biotechnology Information)
Marcos Castro
arquivos genbank englobam informações de sequências de nucleotídeos e sua tradução em aminoácidos, informação de anotações (nomes e posicionamento de genes) de proteinas, regiões codificantes.
14
Parsers – Bio.SeqIO• Conversões FASTQ -> FASTA e FASTQ -> QUAL
Marcos Castro
FASTQ é similar ao FASTA, mas inclui informações importantes sobre a qualidade de sequenciamento. Possui escores de qualidade que são importantes para análises de variantes e mutações. O FASTA é as vezes acompanhando por um arquivo QUAL que armazena quality score (inteiro não negativo) para cada base.
15
Parsers – Bio.SeqIO• Conversão genbank -> FASTA
16
Parsers – Bio.SeqIO• Ordenando arquivos Multi-FASTA pelo tamanho:
17
Alinhamentos• Módulo pairwise2: from Bio.pairwise2 import *
Marcos Castro
Alinhamento é o processo de comparar duas ou mais strings com o objetivo de observar o nível de similaridade entre essas sequências. As regiões similares podem ser consequência de relações evolucionárias por exemplo. O alinhamento global compara as sequências em toda a sua extensão. Já o alinhamento local: dois genes de diferentes espécies podem ser similares em uma região mais curta e diferente no restante. Nesse exemplo só considera matches, mas existem funções que consideram mismtaches, gaps para tentar obter o melhor alinhamento possível baseado na informação disponível.
18
BLAST remoto• BLAST: Basic Local Alignment Search Tool• Vários ferramentas: blastn (nucleotídeos), blatsp (proteínas) etc.
Marcos Castro
Esse comando pode demorar um pouco. Importação do módulo NCBIWWW. Lemos o arquivo fasta com SeqIO. Utilizamos o aplicativo blastn que compara uma sequência de nucleotídeos contra uma base de dados de sequências de nucleotídeos. 'nt' é database, passa a sequência e o tipo do formato do resultado. Existem outros formatos: XML (módulo NCBIXML), HTML...
Marcos Castro
o comando qblast faz uma consulta remota à base de dados do NCBI
Marcos Castro
NCBI: Centro Nacional de Informações Biotecnológicas. O NCBI está diretamente envolvido no desenvolvimento de novas ferramentas de análise para permitir um melhor entendimento dos processos genéticos e moleculares. Armazena artigos além de várias outras informações
19
BLAST local• Requer que a suíte de aplicativos esteja instalada:
NcbiblastnCommandline gera a linha de comando. A execução é realizada com a chamada do objeto criado.
Marcos Castro
São vários os parâmetros, tem o tamanho da palavra (word_size), matriz (o padrão é a BLOSUM62) etc.
Marcos Castro
outfmt se refere as opções de visualização de alinhamentos, com outfmt=0 é par a par (textual), tem a opção de formato XML, separado por vírgula etc.
Marcos Castro
Nesse exemplo foi utilizado o blastn, mas é possível realizar alinhamentos com outras ferramentas tais como blastp (proteínas), no caso seria comando NcbiblastpCommandLine.
20
Visualização de dados• Necessita do módulo pylab (pip install matplotlib)• Conteúdo GC (GC content):
Marcos Castro
pode-se distinguir espécies através de pequenas discrepâncias do conteúdo GC
21
Visualização de dados• Conteúdo GC (GC content):
22
Visualização de dados• Quantidade de genes pelo tamanho da sequência codificadora.
Marcos Castro
Por que visualização? Forma de expressar informações para auxiliar na detecção de padrões, é interessante para representar uma grande quantidade de informações.
Marcos Castro
com SeqIO é lido o genoma
Marcos Castro
tem-se uma lista que irá armazenar os tamanhos das sequências codificantes
Marcos Castro
se o tipo for igual a CDS (sequência codificante), então eu obtenho o tamanho da sequência e insiro na lista de tamanhos
Marcos Castro
mostra a quantidade de genes pelo tamanho da sequência codificadora
Marcos Castro
função hist recebe a lista de tamanhos bem como a quantidade de barras do histograma
Marcos Castro
Lembrando: sequência codificante é uma sequência de aminoácidos. O gene possui uma região chamada de região codificadora de proteínas que é onde estão os nucleotídeos que darão origem ao RNA e posteriormente às proteínas
23
Visualização de dados
Marcos Castro
Quantidade de genes pelo tamanho da sequência codificadora.
24
Cálculo do N50
Marcos Castro
N50 é uma métrica utilizada para avaliar montagens de genomas.