Python para Bioinformática

Fundamentos de Programação para Bioinformática e Biologia Computacional

Python para Bioinformática
× Python para Bioinformática

Python para Bioinformática

Compartilhar

Autor: Diego Mariano

ISBN impresso: 978-85-7522-939-2
ISBN ebook: 978-85-7522-940-8
Ano: 2025
Páginas: 576
Preço impresso: R$ 139,00 O ebook deste livro está disponível na Amazon.

1 opinião | Opine sobre este livro

Descrição do livro

A bioinformática é uma área multidisciplinar que utiliza técnicas da ciência da computação para análise de dados biológicos. Nos últimos anos, a bioinformática tem revolucionado diversas áreas de pesquisa, acelerando descobertas no entendimento de genomas, proteínas e interações moleculares.

Dominar a programação é fundamental na bioinformática, uma vez que a análise de dados biológicos envolve lidar com volumes massivos e complexos, muitas vezes impossíveis de serem tratados manualmente. Além disso, a bioinformática exige soluções criativas para problemas únicos, e somente com o conhecimento em programação você estará apto para enfrentar esses desafios.

Python, uma linguagem poderosa e de fácil aprendizagem, se destaca como uma das melhores escolhas para a bioinformática.

Neste livro, você aprenderá desde os conceitos básicos de programação em Python até a aplicação de bibliotecas para análises de dados biológicos. Além disso, serão abordados exemplos práticos e estudos de caso, preparando você para resolver problemas reais da área. Neste livro, você encontrará ainda:

• 300 exercícios de fixação com respostas

• 62 exercícios práticos

• 17 exercícios resolvidos

• 11 videoaulas complementares

Prepare-se para dominar o mundo da programação para bioinformática com Python! Vamos nessa?

Ver menos ▲

Sumário

  • Agradecimentos
  • Sobre o autor
  • Prefácio
  • Capítulo 1: Bioinformática
  • Contexto histórico
    • Ramificações da bioinformática
    • A molécula de DNA
    • Projeto genoma
  • Dogma central
  • Nucleotídeos
  • Proteínas
    • Tipos de visualização de proteínas
    • Níveis de estruturas
  • Genoma
    • Tamanho de genomas
    • Conhecendo um genoma
    • Códons
    • Sequenciamento
    • Sequenciadores NGS
  • Desafios da bioinformática
    • Montagem de genomas
    • Anotação de genomas
    • Alinhamentos de sequências
    • Alinhamentos estruturais
    • Modelagem de proteínas
    • Docking e dinâmica molecular
    • Mutações
  • Computação
    • O que são programas de computadores?
    • Bancos de dados biológicos
    • Linguagens de programação
    • Por que aprender a programar em bioinformática?
      • Conceitos importantes [17]
    • Exercícios de fixação # 1
  • Capítulo 2: Introdução à linguagem Python
  • História do Python
  • Instalação do Python
    • Windows
    • Linux e macOS
  • Construção de seu primeiro programa na linguagem Python
    • Exercícios práticos # 1
  • Comentários de códigos
    • Comentários funcionais
  • Execução de um script por uma IDE
    • Edição de scripts nas nuvens
  • Variáveis
    • Palavras reservadas do Python
  • Tipos de variáveis
    • Exercícios de fixação # 2
  • Objetos
  • Operações matemáticas
    • Operador módulo (%)
  • Conversões de tipos
  • Entrada de dados
    • Exercícios práticos # 2
  • Funções nativas
  • Módulos
    • Exercícios de fixação # 3
  • Capítulo 3: Estruturas de controle
  • Declaração composta
  • Estruturas de seleção
    • Exercícios de fixação # 4
  • Operadores relacionais e lógicos
    • Operadores relacionais
    • Exercícios de fixação # 5
    • Exercícios práticos # 3
    • Operadores lógicos
      • Tabela-verdade
    • Exercícios práticos # 4
    • Exercícios resolvidos # 1
      • Construção de uma calculadora
  • Exercícios resolvidos # 2
    • Operadores relacionais e lógicos
  • Estruturas de repetição
    • Comando while
    • Comando for
    • Cláusulas break e continue
  • Controle de exceções
    • Finally
    • Exercícios resolvidos # 3
      • Verificação de erros na execução
    • Exercícios práticos # 5
  • Capítulo 4: Strings
  • Funções para manipulação de strings
    • Tamanho de uma string
    • Partes de uma string
    • Separação de strings
    • Alterar maiúsculas e minúsculas
    • Remoção de espaços e caracteres especiais de extremidades de strings
    • Realização de buscas em strings
    • Substituição de trechos de uma string
    • Exercícios de fixação # 6
  • K-mer: janela deslizante
    • Exercícios resolvidos # 4
      • Determinação do K-mer mais comum em sequências de aminoácidos
    • Exercícios resolvidos # 5
      • Determinação do K-mer mais comum em sequências de nucleotídeos
    • Exercícios de fixação # 7
  • Sequências aleatórias
  • Capítulo 5: O guia de sobrevivência de expressões regulares em Python
  • Metacaracteres
    • Categoria 1 – Metacaracteres representantes
    • Categoria 2 – Metacaracteres quantificadores
    • Categoria 3 – Metacaracteres âncoras
    • Categoria 4 – Outros metacaracteres
  • Realização de buscas com ER em Python
    • Substituição de padrões de texto em Python
    • Buscas por diferentes tipos de caracteres
    • Exercícios resolvidos # 6
    • Exercícios resolvidos # 7
    • Exercícios resolvidos # 8
    • Exercícios práticos # 6
    • Exercícios de fixação # 8
  • Capítulo 6: Estruturas de dados sequenciais
  • Criação de listas, tuplas e dicionários vazios
  • Listas
    • Verificação do tamanho de uma lista
    • Obtenção do índice
    • Verificação de se um item está dentro de uma lista
    • Como percorrer listas usando o laço for
    • Função split: conversão de uma string em uma lista
    • Função join: união de listas em uma string
    • Adição de itens a uma lista
    • Remoção de itens de uma lista
    • Ordenação de listas
    • Contagem de ocorrências de um valor
  • Tuplas
    • Diferenças entre tuplas e listas
    • Conversão de tuplas em listas
    • Criação de uma barra de progresso no iterador
  • Dicionários
    • Método items: obtenção de chaves e valores de uma lista
  • Conjuntos
  • Compreensão de lista (list comprehension)
    • Exercícios resolvidos # 9
      • Reconstrua o código usando list comprehension
    • Exercícios resolvidos # 10
    • Contagem de códons de um genoma
    • Exercícios de fixação # 9
    • Exercícios práticos # 7
      • Reconstrua os códigos usando list comprehension
  • Enumeração (enumerate)
  • Compactação
    • Exercícios práticos # 8
      • Listas
  • Função filter( )
  • Função map()
  • Função reduce()
    • Exercícios de fixação # 10
      • Map, reduce e filter
  • Se liga aí, que é hora da revisão! ;)
    • Principais métodos para listas
    • Exercícios de fixação # 11
      • Listas, tuplas e dicionários
  • Capítulo 7: Arquivos
  • Abertura de arquivos
    • É possível ler um arquivo duas vezes no mesmo script?
    • Contagem do número de linhas de um arquivo
    • Como ler arquivos grandes
  • Gravação em arquivo
    • Gravação em arquivos com print
  • Comando with
  • Módulo sys
    • Recebimento de valores na chamada do script
    • Abertura de arquivos enviados como argumento
    • Criação de mensagens de ajuda para seu programa
  • Leitura de arquivos de uma pasta
    • Módulo os
    • Módulo glob
  • Formato FASTA
  • Formato FASTQ
    • Qualidade Phred
    • Formato MultiFASTQ
  • Formato PDB e MMCIF
    • Exercícios práticos # 9
  • Manipulação de arquivos CSV
    • Manipulação de arquivos CSV com Python
    • Leitura de arquivos CSV
    • Gravação de arquivos CSV
  • JSON
    • Leitura de arquivos JSON com Python
    • Alteração de um arquivo JSON
  • Documentos XML
    • Biblioteca etree
    • Conversão de strings em objetos XML
    • Exercícios de fixação # 12
  • Estudo de caso: Human Metabolome Database (HMDB)
    • Armazenamento em XML
    • Análise do arquivo XML de um metabólito
  • Se liga aí, que é hora da revisão! ;)
  • Capítulo 8: Funções
  • Instrução return
  • Documentação de uma função
  • Escopo de funções
    • Variável global
  • Funções recursivas
  • Aplicação de valores default a parâmetros
  • Inserção de um número indefinido de argumentos em uma função
    • Exercícios resolvidos # 11
      • Funções
    • Funções com número indefinido de chaves
    • Exercícios práticos # 10
    • Exercícios de fixação # 13
  • Capítulo 9: Princípios da programação orientada a objetos
  • Classes, métodos, atributos e objetos
  • Criação de classes em Python
    • Exemplo real: classe Nucleotideos
  • Quando devo usar a orientação a objetos em meus códigos?
    • Exercícios de fixação # 14
  • Capítulo 10: BLAST
  • Em poucas palavras: o que o BLAST faz?
  • Vantagens do BLAST
  • Por que o BLAST funciona?
    • Compreensão na prática: comparação de sequências de hemoglobinas
    • Saiba mais sobre o resultado do BLAST
  • Compreensão do algoritmo de alinhamento local e global
    • Aplicação do algoritmo de alinhamento global na prática
    • Implementação dos algoritmos de Smith-Waterman e Needleman-Wunsch em Python
  • NCBI-BLAST+
    • Instalação do BLAST
    • Uso do BLAST via linha de comando
  • Análise de resultados do BLAST usando Python
    • Exercícios resolvidos # 12
      • Obtenção do percentual de lacunas encontrado no resultado do BLAST
    • Exercícios práticos # 11
    • Construção de seu próprio banco de dados BLAST
    • Exercícios de fixação # 15
  • Capítulo 11: Bioinformática estrutural
  • Proteínas
  • Aminoácidos
  • Protein Data Bank (PDB)
    • Peptídeos
    • Leitura de arquivos PDB com Python
    • Leitura de arquivos PDBx/mmCIF
    • Leitura de qualquer arquivo PDBx/mmCIF
    • Matriz de distância entre átomos
    • Distância euclidiana
    • Cálculo da matriz
  • Contatos
    • Ligações de hidrogênio
    • Ligações dissulfeto
    • Efeito hidrofóbico
    • Empilhamento aromático
    • Ligações iônicas e repulsivas
    • Ponte salina
    • Contatos entre resíduos de aminoácidos
    • Cálculo de contatos com Python
      • Script contatos py
  • Mapa de distâncias
    • Mapa de contatos
    • Exercícios de fixação # 16
  • Interações entre diferentes cadeias
    • Interações proteína-ligante
    • Interações proteína-proteína
    • Interações proteína-peptídeo
  • Visualização de estruturas moleculares
    • PyMOL
      • Alguns comandos básicos do PyMOL
      • Seleção de átomos próximos a uma região
    • ChimeraX
    • Exercícios de fixação # 17
  • Cálculo de ligações de hidrogênio considerando ângulos
    • Exercícios de fixação # 18
  • Capítulo 12: Biopython
  • Como instalar o Biopython?
    • Instalação do Biopython com pip
    • Importação do Biopython
  • Manipulação de sequências com Biopython
    • Sequência complementar e complementar reversa
    • Transcrição
    • Tradução
    • Concatenação de sequências
    • Comparação de sequências
    • Análise de arquivos no formato FASTA
    • Gravação de sequências
    • Análise de arquivos no formato GenBank
    • Obtenção do nome de produtos codificados de um arquivo GenBank
    • Conversão de arquivos GenBank para FASTA
    • Ordenação de sequências por tamanho
    • Contagem da quantidade de leituras em um arquivo FASTQ
    • Criação de um filtro de qualidade para arquivos FASTQ
    • Remoção de primers de arquivos com dados brutos de sequenciamento
    • Conversão de arquivos FASTA e QUAL em um arquivo FASTQ
  • Pacote PDB (Biopython)
    • Download de arquivos PDB
    • Obtenção de informações do cabeçalho
    • Navegação na estrutura do arquivo PDB
    • Remoção de heteroátomos
    • Renumeração de resíduos
    • Salvamento das alterações realizadas
    • Extração de outras informações de átomos e resíduos
    • Extração da estrutura primária
    • Medição da distância euclidiana entre dois átomos
    • Construção de uma matriz de distância todos contra todos
  • Exercícios de fixação # 19
  • Capítulo 13: Grafos
  • Busca em largura (BFS)
  • Busca em profundidade (DFS)
  • Representações biológicas com grafos
  • NetworkX
    • Primeiros passos
    • Instalação
    • Criação de um objeto networkx
    • Adição de vértices
    • Remoção de vértices
    • Desenho do grafo
    • Subgrafos
    • Conversão de um CSV em um grafo
    • Carregamento de um CSV com pandas
    • Conversão de um DataFrame do pandas em um grafo do NetworkX
    • Salvamento de grafos em CSV
    • Leitura de arquivos CSV como grafos
    • Resumo do NetworkX
  • Montagem de genomas
    • Uso de Python para fragmentar um genoma
    • Criação de um grafo de leituras de DNA
    • Geração de uma sequência consenso com Python
  • Assinaturas estruturais baseadas em grafos
    • Matriz de Escaneamento de Corte
    • Implementação do CSM com Python
    • Exercícios práticos # 12
    • SSV – Structural Signature Variation
    • Exercícios de fixação # 20
  • Capítulo 14: NumPy
  • Instalação
    • Importação do módulo
  • Introdução aos arrays
    • Intervalos numéricos
    • Matrizes de zeros e uns
    • Números aleatórios
    • Obtenção das dimensões de um array
    • Alteração da forma de um array
    • Obtenção do maior e do menor valor de um array
    • Navegação e manipulação de arrays NumPy
    • Fatiamento de um array
    • Utilização de passos (step)
    • Alteração de valores de parte de um array
  • Matrizes multidimensionais
    • Obtenção de valores da matriz multidimensional
    • Coleta de partes de uma matriz
  • Operações lógicas com arrays
    • Estudo de caso: coleta de valores pares e ímpares
  • Operações com arrays
  • Salvamento de uma matriz como CSV
    • Exercícios práticos # 13
  • Capítulo 15: pandas
  • Instalação
  • Importação do módulo
  • Series
  • DataFrame
    • Exercícios de fixação # 21
    • Criação de uma tabela 4 por 3
    • Adição e remoção de colunas
    • Operações com colunas
  • Importação de arquivos no pandas
    • Leitura de arquivos do EXCEL no pandas
    • Exercícios resolvidos # 13
    • Exercícios práticos # 14
  • Capítulo 16: Visualização de dados
  • Matplotlib
    • Instalação do Matplotlib
    • Construção de seu primeiro gráfico com Matplotlib
    • Inclusão de títulos no gráfico
    • Gráfico de barras
    • Gráfico de barras comparativo
    • Adição de legendas
    • Gráfico de dispersão (scatterplot)
    • Alteração de estilos e cores
    • Salvamento de figuras
    • Exercícios de fixação # 22
  • Seaborn
    • Histogramas
    • Criação de gráficos de barras categóricos
    • Exercícios de fixação # 23
  • Estudo de caso: comparação de genomas
    • Tamanho das sequências
    • Contagem de nucleotídeos
    • Contagem de dinucleotídeos
    • Contagem de trinucleotídeos
    • Exercícios práticos # 15
  • Capítulo 17: Paralelismo
  • Paralelismo via terminal: comando nohup &
    • Execução em background (&)
    • Avaliação do uso do processador e do tempo de execução
    • Execução com nohup
    • Múltiplas execuções de um script Python ao mesmo tempo
  • Paralelismo usando bibliotecas Python
    • Exemplo prático de paralelismo com a biblioteca multiprocessing
    • Exercícios resolvidos # 14
    • Exercícios de fixação # 24
  • Capítulo 18: Web scraping
  • Instalação das bibliotecas
  • Fundamentos do web scraping
    • Coleta de elementos HTML específicos
    • Coleta apenas de textos
    • Métodos e atributos de um objeto BeautifulSoup
  • Coleta de dados do UniProt
    • Realização de uma consulta simples por ID
    • Realização de buscas avançadas por API no UniProt
  • Coleta de dados do PDB
  • Coleta de metadados de artigos do PubMed
    • Passo 1. Obtenção do PubMed-ID
    • Passo 2. Obtenção do resumo (abstract)
    • Exercícios práticos # 16
  • Capítulo 19: Machine learning
  • Fundamentos do aprendizado de máquinas
  • Tipos de aprendizagem de máquina
    • Exercícios de fixação # 25
  • Aprendizagem não supervisionada
    • Algoritmos de aprendizagem não supervisionada
    • Exercícios de fixação # 26
    • Base de dados de flores de íris
    • Orange Data Mining
    • K-means
    • Uso de aprendizagem não supervisionada em bioinformática
    • Exercícios de fixação # 27
  • Aprendizagem supervisionada
    • Classificação binária
    • Matriz de confusão
    • Métricas de avaliação: sensibilidade, especificidade, acurácia, precisão e F-score
    • Exercícios resolvidos # 15
      • Métricas de avaliação de modelos
    • Exercícios de fixação # 28
  • Algoritmos de aprendizagem supervisionada
    • Exemplo prático: classificação de peptídeos com machine learning
    • Predições
  • Machine learning com Python
    • Algoritmo KNN
    • Exercícios de fixação # 29
  • SVD – Decomposição por Valores Singulares
    • Comparação de sequências usando SVD
    • Passo 1 – converta a sequência em uma matriz binária esparsa
    • Passo 2 – Decomposição de uma matriz usando SVD
    • Comparação com outras entradas
    • Análise de posto
  • Capítulo 20: Pipelines
  • Fundamentos do Python para a construção de pipelines
    • Criação de um programa completo de linha de comando
      • Recebimento de argumentos na chamada
    • Execução de scripts externos com módulos os e subprocess
    • Leitura de arquivo sistematicamente
    • Execução de programas em background
    • Exercícios resolvidos # 16
      • Cópia de arquivos usando Python
    • Exercícios resolvidos # 17
      • Chamadas externas
  • Implementação de um exemplo de pipeline
    • 2_dna_para_rna py
    • 3_rna_para_proteina py
    • 1_dna_para_proteina py
    • Exercícios práticos # 17
    • Exercícios de fixação # 30
  • Conclusão
    • Resposta dos exercícios
    • Referências bibliográficas
    • Índice remissivo
Ver sumário completo ▼

Sobre o autor

Diego Mariano

Diego Mariano é Doutor em Bioinformática pela Universidade Federal de Minas Gerais com atuação na área de ciência de dados, sistemas web e inteligência artificial. Possui mestrado em Bioinformática, mestrado em Ciência da Computação e realizou pós-doutorado pelo Laboratório de Bioinformática e Sistemas da UFMG. Foi vencedor do Prêmio… Ver perfil completo ▶

Opinião dos leitores

Roberto J de O

O autor conseguiu unir, com bastante habilidade, três poderosos elementos: a biologia, a informática e a linguagem python. O resultado desta interessante e prolífera mistura, nesta obra, é um livro indispensável, cativante, bem escrito e muito promissor para quem atua em todas as áreas envolvidas.

Ver todas ▼