Python para Bioinformática
Una sólida introducción a la programación con Python, muy accesible para los lectores sin experiencia previa en programación, aunque quienes tengan experiencia también pueden sacarle provecho. Python para bioinformática está pensado para biólogos, bioinformáticos y otros profesionales de las ciencias de la vida.
The author is letting you choose the price you pay for this book!
Una sólida introducción a la programación con Python, muy accesible para los lectores sin experiencia previa en programación, aunque quienes tengan experiencia también pueden sacarle provecho. Python para bioinformática está pensado para biólogos, bioinformáticos y otros profesionales de las ciencias de la vida.
About
About the Book
Primera edición en español de Python for Bioinformatics. Esta traducción es de la segunda edición en inglés (la mas actual). Hubo muchos cambios desde la primera edición que fue escrita en 2009, como el uso de Python 3. En este momento el estándar es 3.8 y es la versión usada en el libro. Con respecto a la versión original se agregó un capítulo sobre gráficos, se incluyeron las bases de datos NoSQL y se explica un framework web en su totalidad.
El libro cuenta con cuatro secciones principales:
- Python desde cero: Conceptos básicos de programación, instalando Python, modo interactivo, editores, tipos de datos (cadenas, Unicode, listas, tuplas, diccionarios, conjuntos), control de flujo (If-Else, For, While), funciones, generadores, módulos, uso de archivos, como leer y escribir CVS, XLSX, JSON, manejo de errores y una introducción a la programación orientada a objetos.
- Biopython: Los modulos más importante explicados con ejemplos de uso.
- Una sección con tópicos avanzados tales como: desarrollo web (CGI y Bottle), XML, base de datos (MySQL, SQLite y MongoDB), REGEX y gráficos (Bokeh).
- Recetas de Python con código comentado.
Feedback
Price
Pick Your Price...
With Membership
Free!
$19.99
You pay
$19.99Author earns
$15.99Author
About the Author
Sebastian Bassi
Licenciado en Biotecnología con especialización en Genética molecular, con más de 12 años de experiencia en el desarrollo de software profesional. Contribuye regularmente a proyectos de software de código abierto, como AllofPLOS. Autor de "Python para Bioinformática" de la editorial CRC y publicaciones en revistas arbitradas por pares como PLoS Computational Biology, BMC Plant Biology, Plant Physiology entre otras. Su experiencia incluye el desarrollo de proyectos de alto rendimiento basados en AWS, Django, MongoDB, PostgreSql y tecnologías relacionadas. Es arquitecto certificado en soluciones de Amazon Web Services. En su tiempo libre, escribe haikus inspirado en los videojuegos clásicos.
Contents
Table of Contents
1.Licencia
- 1.1Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)
- 1.2Avisos:
Prefacio a la primera edición en Español
- Biopython License Agreement
- BSD 3-Clause License
Dedicatoria
2.Introducción
- 2.1QUIÉN DEBERÍA LEER ESTE LIBRO
- 2.1.1Qué debería saber el lector antes de leer este libro
- 2.2CÓMO USAR EL LIBRO
- 2.2.1Convenciones tipográficas
- 2.2.2Iconos utilizados en este libro
- 2.2.3Versiones de Python
- 2.2.4Estilo de código
- 2.2.5Como aprovechar el libro sin leerlo entero
- 2.2.6Recursos online relacionados con el libro
- 2.3¿POR QUÉ APRENDER A PROGRAMAR?
- 2.4CONCEPTOS BÁSICOS DE PROGRAMACIÓN
- 2.4.1¿Qué es un programa?
- 2.5¿POR QUÉ PYTHON?
- 2.5.1Características principales de Python
- 2.5.2Comparando Python con otros lenguajes.
- 2.5.3¿Para que se lo usa?
- 2.5.4¿Quién usa Python?
- 2.5.5Variaciones de Python
- 2.5.6Distribuciones de Python especializadas
- 2.6RECURSOS ADICIONALES
3.Primeros pasos con Python
- 3.1INSTALANDO PYTHON
- 3.1.1Aprender Python usándolo
- 3.1.2Instalar Python localmente
- 3.1.3Instalando Anaconda
- 3.1.4Usando Python online
- 3.1.5Testeando Python
- 3.1.6Primer uso
- 3.2MODO INTERACTIVO
- 3.2.1Primeros pasos
- 3.2.2Entradas y salidas básicas
- 3.2.3Más sobre el modo interactivo
- 3.2.4Operaciones matemáticas
- 3.2.5Salir de la terminal de Python
- 3.3MODO BATCH
- 3.3.1Comentarios
- Extensiones en Python
- 3.3.2Indentación
- 3.4ELIGIENDO UN EDITOR
- 3.4.1Sublime Text
- 3.4.2Atom
- 3.4.3PyCharm
- 3.4.4Spyder IDE
- 3.4.5Palabras finales acerca de los editores
- 3.5OTRAS HERRAMIENTAS
- 3.6RECURSOS ADICIONALES
- AUTOEVALUACIÓN
4.Programación básica: Tipos de datos
- 4.1CADENAS (Strings)
- 4.1.1Las cadenas son secuencias de caracteres Unicode
- 4.1.2Manipulación de cadenas
- 4.1.3Métodos asociados con cadenas
- Aplicación bioinformática: Parsear archivos de BLAST.
- 4.2LISTAS
- 4.2.1Acceder a una lista de elementos
- 4.2.2Una lista con múltiples items repetidos.
- 4.2.3Listas por comprensión
- 4.2.4Modificando listas
- 4.2.5Copiar una lista
- 4.3TUPLAS
- 4.3.1Las tuplas son listas inmutables
- 4.4PROPIEDADES COMUNES DE LAS SECUENCIAS
- 4.5DICCIONARIOS
- 4.5.1Mapear: Llamar a cada valor por un nombre
- 4.5.2Operaciones con diccionarios
- 4.6CONJUNTOS
- 4.6.1Colección desordenada de objetos
- 4.6.2Operaciones de conjuntos
- 4.6.3Operaciones compartidas con otros tipos de datos
- 4.6.4Conjunto inmutable: frozenset
- 4.7NOMBRANDO OBJETOS
- 4.8ASIGNANDO UN VALOR A UNA VARIABLE VERSUS UNIR UN NOMBRE A UN OBJETO
- 4.9RECURSOS ADICIONALES
- AUTOEVALUACIÓN
5.Programación: Control de flujo
- 5.1IF-ELSE (o condicional)
- Sobre el código en este libro.
- ¿Qué es verdad?
- 5.1.1Sentencia Pass
- Expresiones condicionales.
- 5.2BUCLE FOR
- 5.3BUCLE WHILE
- 5.4BREAK: ROMPIENDO EL BUCLE
- 5.5Integrando las instrucciones de control de flujo
- 5.5.1Estimar la carga neta de una proteína
- 5.5.2Buscar zonas de baja degeneración
- 5.6RECURSOS ADICIONALES
- AUTOEVALUACIÓN
6.Manejo de archivos
- 6.1LEYENDO ARCHIVOS
- 6.1.1Ejemplo de manejador de archivo
- 6.2ESCRIBIENDO ARCHIVOS
- 6.2.1Ejemplos de lectura y escritura de archivos.
- 6.3ARCHIVOS CSV
- 6.3.1Leer archivos CSV con Pandas
- 6.3.2Leer y escribir archivos Excel
- 6.4PICKLE: ALMACENAR Y RECUPERAR EL CONTENIDO DE LAS VARIABLES
- 6.5ARCHIVOS JSON
- 6.6MANEJO DE ARCHIVOS: OS, OS.PATH, SHUTIL Y MÓDULO PATH
- 6.6.1Módulo path (antes llamado path.py)
- 6.6.2Consolidar secuencias múltiples de ADN en un archivo FASTA
- 6.7RECURSOS ADICIONALES
- AUTOEVALUACIÓN
7.Modularización del código
- 7.1INTRODUCCIÓN A LA MODULARIZACIÓN DEL CÓDIGO
- 7.2FUNCIONES
- 7.2.1Modo estándar de hacer un código modular en Python
- 7.2.2Las opciones de parámetros en las funciones
- Algunas cuestiones sobre Docstrings
- 7.2.3Generadores
- 7.3MÓDULOS Y PAQUETES
- 7.3.1Usando módulos
- 7.3.2Paquetes
- 7.3.3Instalación de módulos de terceros
- 7.3.4Virtualenv: Entornos Python aislados
- 7.3.5Conda: Entorno Virtual Anaconda
- 7.3.6Creando módulos
- 7.3.7Módulos de prueba
- 7.4RECURSOS ADICIONALES
- AUTOEVALUACIÓN
8.Manejo de errores
- 8.1INTRODUCCIÓN AL MANEJO DE ERRORES
- 8.1.1Try y Except
- 8.1.2Tipos de excepciones
- 8.1.3Desencadenando excepciones
- 8.2CREANDO EXCEPCIONES CUSTOMIZADAS
- 8.3RECURSOS ADICIONALES
- AUTOEVALUACIÓN
9.Introducción a la programación orientada a objetos (POO)
- 9.1PARADIGMA DE OBJETOS Y PYTHON
- 9.2EXPLORANDO LA JERGA
- 9.3CREANDO CLASES
- 9.4HERENCIA
- 9.5MÉTODOS ESPECIALES
- 9.5.1Crear un nuevo tipo de datos usando un tipo de datos incorporado
- 9.6HACIENDO NUESTRO CÓDIGO PRIVADO
- 9.7RECURSOS ADICIONALES
- AUTOEVALUACIÓN
10.Introducción a Biopython
- 10.1¿QUÉ ES BIOPYTHON?
- 10.1.1Organización del proyecto
- 10.2INSTALANDO BIOPYTHON
- 10.3COMPONENTES DE BIOPYTHON
- 10.3.1Alfabeto
- 10.3.2Seq
- La función de transcripción (transcribe) en Biopython
- 10.3.3MutableSeq
- 10.3.4SeqRecord
- 10.3.5Align
- 10.3.6AlignIO
- 10.3.7ClustalW
- 10.3.8SeqIO
- 10.3.9AlignIO
- 10.3.10BLAST
- Correr y procesar el BLAST sin Biopython
- 10.3.11Información biológica relacionada
- 10.3.12Entrez
- 10.3.13PDB
- 10.3.14PROSITE
- 10.3.15Restricción
- 10.3.16SeqUtils
- 10.3.17Secuenciación
- 10.3.18SwissProt
- 10.4CONCLUSION
- 10.5RECURSOS ADICIONALES
- AUTOEVALUACIÓN
11.Aplicaciones Web
- 11.1INTRODUCCIÓN A PYTHON EN LA WEB
- 11.2CGI EN PYTHON
- 11.2.1Configuración de un servidor web para CGI
- 11.2.2Probando el servidor con nuestro script
- 11.2.3Programa web para calcular la carga neta de una proteína (versión CGI)
- 11.3WSGI
- 11.3.1Bottle: un framework web de Python para WSGI
- 11.3.2Instalación de Bottle
- 11.3.3Aplicación mínima de Bottle
- 11.3.4Componentes de Bottle
- 11.3.5Programa web para calcular la carga neta de una proteína (versión Bottle)
- 11.3.6Instalación de un programa WSGI en Apache
- 11.4OPCIONES ALTERNATIVAS PARA HACER SITIOS WEB DINÁMICOS BASADOS EN PYTHON
- 11.5ALGUNAS PALABRAS SOBRE LA SEGURIDAD DE NUESTROS PROGRAMAS
- 11.6DONDE ALOJAR LOS PROGRAMAS DE PYTHON
- 11.7RECURSOS ADICIONALES
- AUTOEVALUACIÓN
12.XML
- 12.1INTRODUCCIÓN A XML
- 12.2ESTRUCTURA DE UN DOCUMENTO XML
- 12.3MÉTODOS PARA ACCEDER A LOS DATOS DENTRO DE UN DOCUMENTO XML
- 12.3.1SAX: cElementTree Iterparse
- 12.4RESUMEN
- 12.5RECURSOS ADICIONALES
- AUTOEVALUACIÓN
13.Python y bases de datos
- 13.1INTRODUCCIÓN A LAS BASES DE DATOS
- 13.1.1Gestión de la base de datos: RDBMS
- 13.1.2Componentes de una base de datos relacional
- 13.1.3Tipos de datos de la base de datos
- 13.2CONEXIÓN A UNA BASE DE DATOS
- 13.3CREANDO UNA BASE DE DATOS MYSQL
- 13.3.1Creación de tablas
- Crear una base de datos utilizando otra base de datos como plantilla.
- 13.3.2Cargar una tabla
- SUGERENCIA AVANZADA: MyISAM versus InnoDB
- 13.4PLANIFICACIÓN ADELANTADA
- 13.4.1PythonU: Base de datos de ejemplo
- Tipo de campo ENUM versus tabla de búsqueda
- 13.5SELECT: CONSULTANDO UNA BASE DE DATOS
- 13.5.1Construyendo una consulta
- 13.5.2Actualización de una base de datos
- 13.5.3Eliminación de un registro en una base de datos
- 13.6ACCESO A UNA BASE DE DATOS DE PYTHON
- 13.6.1Módulo PyMySQL
- 13.6.2Estableciendo la conexión
- 13.6.3Ejecutando la consulta desde Python
- 13.7SQLITE
- 13.8BASES DE DATOS NOSQL: MONGODB
- 13.8.1Usando MongoDB con PyMongo
- 13.9RECURSOS ADICIONALES
- AUTOEVALUACIÓN
14.Expresiones regulares
- 14.1INTRODUCCIÓN A LAS EXPRESIONES REGULARES (REGEX)
- 14.1.1Sintaxis REGEX
- 14.2EL MÓDULO RE
- 14.2.1Compilando un patrón
- 14.2.2Ejemplos de REGEX
- Probando un REGEX con Kodos
- 14.2.3Patrones de reemplazo
- 14.3REGEX EN BIOINFORMATICA
- 14.3.1Limpiando una secuencia
- 14.4RECURSOS ADICIONALES
- AUTOEVALUACIÓN
15.Gráficos en Python
- 15.1INTRODUCCIÓN A BOKEH
- 15.2INSTALANDO BOKEH
- 15.3USANDO BOKEH
- 15.3.1Un gráfico X-Y simple
- 15.3.2Gráfico de 2 series de datos
- 15.3.3Un diagrama de dispersión
- 15.3.4Mapa de calor (Heatmap)
- 15.3.5Diagrama de cuerdas.
16.Manipulación de secuencias en Batch
- 16.1DESCRIPCIÓN DEL PROBLEMA
- 16.2PROBLEMA UNO: CREAR UN ARCHIVO FASTA CON SECUENCIAS AL AZAR
- 16.2.1Código fuente comentado
- 16.3PROBLEMA DOS: FILTRAR SECUENCIAS VACÍAS DE UNA ARCHIVO FASTA
- 16.3.1Código fuente comentado
- 16.4PROBLEMA TRES: MODIFICAR CADA RÉCORD DE UN ARCHIVO FASTA
- 16.4.1Código fuente comentado
17.Aplicación web para filtrar contaminación de vectores
- 17.1DESCRIPCIÓN DEL PROBLEMA
- 17.1.1Código fuente comentado
- 17.2RECURSOS ADICIONALES
18.Buscando primers de PCR usando Primer3
- 18.1DESCRIPCIÓN DEL PROBLEMA
- 18.2DISEÑO DE PRIMER RODEANDO A UNA SECUENCIA DE LONGITUD VARIABLE
- 18.2.1Código fuente comentado
- 18.3DISEÑO DE PRIMER FLANQUEANDO UNA REGIÓN VARIABLE USANDO BIOPYTHON
19.Calculando la temperatura de melting de un conjunto de primers
- 19.1DESCRIPCIÓN DEL PROBLEMA:
- 19.2RECURSOS ADICIONALES
20.Filtrando campos específicos de un archivo de GenBank
- 20.1EXTRAYENDO SECUENCIAS DE PROTEÍNAS SELECCIONADAS
- 20.1.1Código fuente comentado
- 20.2EXTRAYENDO REGIONES UPSTREAM DE PROTEÍNAS SELECCIONADAS
- 20.2.1Código fuente comentado
- 20.3RECURSOS ADICIONALES
21.Infiriendo sitios de splicing
- 21.1DESCRIPCIÓN DEL PROBLEMA
- 21.1.1Inferiendo sitios de corte y empalme con código fuente comentado
- 21.1.2Muestra de ejecución del programa para estimar intrones:
22.Web Server para alineamientos múltiples
- 22.1DESCRIPCIÓN DEL PROBLEMA
- 22.1.1Interfaz Web: Front-End. Código HTML
- 22.1.2Interfaz web: Server-Side Script. Código fuente comentado
- 22.2RECURSOS ADICIONALES
23.Dibujando posiciones de marcadores usando información almacenada en una base de datos
- 23.1DESCRIPCIÓN DEL PROBLEMA
- 23.1.1Trabajo preliminar sobre los datos
- 23.1.2Versión de MongoDB con el código fuente comentado
24.Mutaciones de ADN con restricción
- 24.1DESCRIPCIÓN DEL PROBLEMA
- 24.1.1Introducir mutaciones puntuales y dar un perfil de restricción
- 24.1.2Correr el programa para introducir las mutaciones puntuales
- 24.2RECURSOS ADICIONALES
Get the free sample chapters
Click the buttons to get the free sample in PDF or EPUB, or read the sample online here
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them
Write and Publish on Leanpub
You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!
Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.
Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.