Biopython - Introducción

Biopython es el paquete de bioinformática más grande y popular para Python. Contiene varios submódulos diferentes para tareas bioinformáticas comunes. Está desarrollado por Chapman y Chang, principalmente escrito en Python. También contiene código C para optimizar la parte de cálculo compleja del software. Funciona en Windows, Linux, Mac OS X, etc.

Básicamente, Biopython es una colección de módulos de Python que proporcionan funciones para lidiar con operaciones de secuencia de ADN, ARN y proteínas, como el complemento inverso de una cadena de ADN, encontrar motivos en secuencias de proteínas, etc. como GenBank, SwissPort, FASTA, etc., así como envoltorios / interfaces para ejecutar otras herramientas / software de bioinformática populares como NCBI BLASTN, Entrez, etc., dentro del entorno de Python. Tiene proyectos hermanos como BioPerl, BioJava y BioRuby.

Caracteristicas

Biopython es portátil, claro y tiene una sintaxis fácil de aprender. Algunas de las características más destacadas se enumeran a continuación:

  • Interpretado, interactivo y orientado a objetos.

  • Admite formatos relacionados con FASTA, PDB, GenBank, Blast, SCOP, PubMed / Medline, ExPASy.

  • Opción para lidiar con formatos de secuencia.

  • Herramientas para gestionar estructuras proteicas.

  • BioSQL: conjunto estándar de tablas SQL para almacenar secuencias, más características y anotaciones.

  • Acceso a bases de datos y servicios en línea, incluidos los servicios NCBI (Blast, Entrez, PubMed) y los servicios ExPASY (SwissProt, Prosite).

  • Acceso a servicios locales, incluidos Blast, Clustalw, EMBOSS.

Metas

El objetivo de Biopython es proporcionar un acceso sencillo, estándar y extenso a la bioinformática a través del lenguaje Python. Los objetivos específicos de Biopython se enumeran a continuación:

  • Proporcionar acceso estandarizado a recursos bioinformáticos.

  • Módulos y scripts reutilizables de alta calidad.

  • Manipulación rápida de matrices que se puede utilizar en código de clúster, PDB, NaiveBayes y modelo de Markov.

  • Análisis de datos genómicos.

Ventajas

Biopython requiere muy menos código y ofrece las siguientes ventajas:

  • Proporciona el tipo de datos de microarrays utilizados en la agrupación.

  • Lee y escribe archivos de tipo Tree-View.

  • Admite datos de estructura utilizados para el análisis, la representación y el análisis de PDB.

  • Admite datos de diarios utilizados en aplicaciones de Medline.

  • Admite la base de datos BioSQL, que es una base de datos estándar ampliamente utilizada entre todos los proyectos de bioinformática.

  • Admite el desarrollo del analizador al proporcionar módulos para analizar un archivo bioinformático en un formato de objeto de registro específico o una clase genérica de secuencia más características.

  • Documentación clara basada en el estilo de un libro de cocina.

Ejemplo de estudio de caso

Revisemos algunos de los casos de uso (genética de poblaciones, estructura del ARN, etc.) e intentemos comprender cómo Biopython juega un papel importante en este campo:

Genética de poblaciones

La genética de poblaciones es el estudio de la variación genética dentro de una población e implica el examen y modelado de cambios en las frecuencias de genes y alelos en poblaciones en el espacio y el tiempo.

Biopython proporciona el módulo Bio.PopGen para genética de poblaciones. Este módulo contiene todas las funciones necesarias para recopilar información sobre la genética de poblaciones clásica.

Estructura de ARN

Las tres principales macromoléculas biológicas que son esenciales para nuestra vida son el ADN, el ARN y la proteína. Las proteínas son los caballos de batalla de la célula y juegan un papel importante como enzimas. El ADN (ácido desoxirribonucleico) se considera el "modelo" de la célula. Contiene toda la información genética necesaria para que la célula crezca, absorba nutrientes y se propague. El ARN (ácido ribonucleico) actúa como "fotocopia de ADN" en la célula.

Biopython proporciona objetos Bio.Sequence que representan nucleótidos, bloques de construcción de ADN y ARN.