Leanpub Header

Skip to main content

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.

Free With Membership

The author is letting you choose the price you pay for this book!

Pick Your Price...
PDF
EPUB
WEB
398
Readers
About

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.

Price

Pick Your Price...

With Membership

Free!

$19.99

You pay

$19.99

Author earns

$15.99
$

All prices are in US $. You can pay in US $ or in your local currency when you check out.

EU customers: prices exclude VAT, which is added during checkout.

...Or Buy With Credits!

Number of credits (Minimum 0)

0
The author will earn $0.00 from your purchase!
You can get credits monthly with a Reader Membership

Author

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. 1.1Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)
  2. 1.2Avisos:

Prefacio a la primera edición en Español

  1. Biopython License Agreement
  2. BSD 3-Clause License

Dedicatoria

2.Introducción

  1. 2.1QUIÉN DEBERÍA LEER ESTE LIBRO
  2. 2.1.1Qué debería saber el lector antes de leer este libro
  3. 2.2CÓMO USAR EL LIBRO
  4. 2.2.1Convenciones tipográficas
  5. 2.2.2Iconos utilizados en este libro
  6. 2.2.3Versiones de Python
  7. 2.2.4Estilo de código
  8. 2.2.5Como aprovechar el libro sin leerlo entero
  9. 2.2.6Recursos online relacionados con el libro
  10. 2.3¿POR QUÉ APRENDER A PROGRAMAR?
  11. 2.4CONCEPTOS BÁSICOS DE PROGRAMACIÓN
  12. 2.4.1¿Qué es un programa?
  13. 2.5¿POR QUÉ PYTHON?
  14. 2.5.1Características principales de Python
  15. 2.5.2Comparando Python con otros lenguajes.
  16. 2.5.3¿Para que se lo usa?
  17. 2.5.4¿Quién usa Python?
  18. 2.5.5Variaciones de Python
  19. 2.5.6Distribuciones de Python especializadas
  20. 2.6RECURSOS ADICIONALES

3.Primeros pasos con Python

  1. 3.1INSTALANDO PYTHON
  2. 3.1.1Aprender Python usándolo
  3. 3.1.2Instalar Python localmente
  4. 3.1.3Instalando Anaconda
  5. 3.1.4Usando Python online
  6. 3.1.5Testeando Python
  7. 3.1.6Primer uso
  8. 3.2MODO INTERACTIVO
  9. 3.2.1Primeros pasos
  10. 3.2.2Entradas y salidas básicas
  11. 3.2.3Más sobre el modo interactivo
  12. 3.2.4Operaciones matemáticas
  13. 3.2.5Salir de la terminal de Python
  14. 3.3MODO BATCH
  15. 3.3.1Comentarios
  16. Extensiones en Python
  17. 3.3.2Indentación
  18. 3.4ELIGIENDO UN EDITOR
  19. 3.4.1Sublime Text
  20. 3.4.2Atom
  21. 3.4.3PyCharm
  22. 3.4.4Spyder IDE
  23. 3.4.5Palabras finales acerca de los editores
  24. 3.5OTRAS HERRAMIENTAS
  25. 3.6RECURSOS ADICIONALES
  26. AUTOEVALUACIÓN

4.Programación básica: Tipos de datos

  1. 4.1CADENAS (Strings)
  2. 4.1.1Las cadenas son secuencias de caracteres Unicode
  3. 4.1.2Manipulación de cadenas
  4. 4.1.3Métodos asociados con cadenas
  5. Aplicación bioinformática: Parsear archivos de BLAST.
  6. 4.2LISTAS
  7. 4.2.1Acceder a una lista de elementos
  8. 4.2.2Una lista con múltiples items repetidos.
  9. 4.2.3Listas por comprensión
  10. 4.2.4Modificando listas
  11. 4.2.5Copiar una lista
  12. 4.3TUPLAS
  13. 4.3.1Las tuplas son listas inmutables
  14. 4.4PROPIEDADES COMUNES DE LAS SECUENCIAS
  15. 4.5DICCIONARIOS
  16. 4.5.1Mapear: Llamar a cada valor por un nombre
  17. 4.5.2Operaciones con diccionarios
  18. 4.6CONJUNTOS
  19. 4.6.1Colección desordenada de objetos
  20. 4.6.2Operaciones de conjuntos
  21. 4.6.3Operaciones compartidas con otros tipos de datos
  22. 4.6.4Conjunto inmutable: frozenset
  23. 4.7NOMBRANDO OBJETOS
  24. 4.8ASIGNANDO UN VALOR A UNA VARIABLE VERSUS UNIR UN NOMBRE A UN OBJETO
  25. 4.9RECURSOS ADICIONALES
  26. AUTOEVALUACIÓN

5.Programación: Control de flujo

  1. 5.1IF-ELSE (o condicional)
  2. Sobre el código en este libro.
  3. ¿Qué es verdad?
  4. 5.1.1Sentencia Pass
  5. Expresiones condicionales.
  6. 5.2BUCLE FOR
  7. 5.3BUCLE WHILE
  8. 5.4BREAK: ROMPIENDO EL BUCLE
  9. 5.5Integrando las instrucciones de control de flujo
  10. 5.5.1Estimar la carga neta de una proteína
  11. 5.5.2Buscar zonas de baja degeneración
  12. 5.6RECURSOS ADICIONALES
  13. AUTOEVALUACIÓN

6.Manejo de archivos

  1. 6.1LEYENDO ARCHIVOS
  2. 6.1.1Ejemplo de manejador de archivo
  3. 6.2ESCRIBIENDO ARCHIVOS
  4. 6.2.1Ejemplos de lectura y escritura de archivos.
  5. 6.3ARCHIVOS CSV
  6. 6.3.1Leer archivos CSV con Pandas
  7. 6.3.2Leer y escribir archivos Excel
  8. 6.4PICKLE: ALMACENAR Y RECUPERAR EL CONTENIDO DE LAS VARIABLES
  9. 6.5ARCHIVOS JSON
  10. 6.6MANEJO DE ARCHIVOS: OS, OS.PATH, SHUTIL Y MÓDULO PATH
  11. 6.6.1Módulo path (antes llamado path.py)
  12. 6.6.2Consolidar secuencias múltiples de ADN en un archivo FASTA
  13. 6.7RECURSOS ADICIONALES
  14. AUTOEVALUACIÓN

7.Modularización del código

  1. 7.1INTRODUCCIÓN A LA MODULARIZACIÓN DEL CÓDIGO
  2. 7.2FUNCIONES
  3. 7.2.1Modo estándar de hacer un código modular en Python
  4. 7.2.2Las opciones de parámetros en las funciones
  5. Algunas cuestiones sobre Docstrings
  6. 7.2.3Generadores
  7. 7.3MÓDULOS Y PAQUETES
  8. 7.3.1Usando módulos
  9. 7.3.2Paquetes
  10. 7.3.3Instalación de módulos de terceros
  11. 7.3.4Virtualenv: Entornos Python aislados
  12. 7.3.5Conda: Entorno Virtual Anaconda
  13. 7.3.6Creando módulos
  14. 7.3.7Módulos de prueba
  15. 7.4RECURSOS ADICIONALES
  16. AUTOEVALUACIÓN

8.Manejo de errores

  1. 8.1INTRODUCCIÓN AL MANEJO DE ERRORES
  2. 8.1.1Try y Except
  3. 8.1.2Tipos de excepciones
  4. 8.1.3Desencadenando excepciones
  5. 8.2CREANDO EXCEPCIONES CUSTOMIZADAS
  6. 8.3RECURSOS ADICIONALES
  7. AUTOEVALUACIÓN

9.Introducción a la programación orientada a objetos (POO)

  1. 9.1PARADIGMA DE OBJETOS Y PYTHON
  2. 9.2EXPLORANDO LA JERGA
  3. 9.3CREANDO CLASES
  4. 9.4HERENCIA
  5. 9.5MÉTODOS ESPECIALES
  6. 9.5.1Crear un nuevo tipo de datos usando un tipo de datos incorporado
  7. 9.6HACIENDO NUESTRO CÓDIGO PRIVADO
  8. 9.7RECURSOS ADICIONALES
  9. AUTOEVALUACIÓN

10.Introducción a Biopython

  1. 10.1¿QUÉ ES BIOPYTHON?
  2. 10.1.1Organización del proyecto
  3. 10.2INSTALANDO BIOPYTHON
  4. 10.3COMPONENTES DE BIOPYTHON
  5. 10.3.1Alfabeto
  6. 10.3.2Seq
  7. La función de transcripción (transcribe) en Biopython
  8. 10.3.3MutableSeq
  9. 10.3.4SeqRecord
  10. 10.3.5Align
  11. 10.3.6AlignIO
  12. 10.3.7ClustalW
  13. 10.3.8SeqIO
  14. 10.3.9AlignIO
  15. 10.3.10BLAST
  16. Correr y procesar el BLAST sin Biopython
  17. 10.3.11Información biológica relacionada
  18. 10.3.12Entrez
  19. 10.3.13PDB
  20. 10.3.14PROSITE
  21. 10.3.15Restricción
  22. 10.3.16SeqUtils
  23. 10.3.17Secuenciación
  24. 10.3.18SwissProt
  25. 10.4CONCLUSION
  26. 10.5RECURSOS ADICIONALES
  27. AUTOEVALUACIÓN

11.Aplicaciones Web

  1. 11.1INTRODUCCIÓN A PYTHON EN LA WEB
  2. 11.2CGI EN PYTHON
  3. 11.2.1Configuración de un servidor web para CGI
  4. 11.2.2Probando el servidor con nuestro script
  5. 11.2.3Programa web para calcular la carga neta de una proteína (versión CGI)
  6. 11.3WSGI
  7. 11.3.1Bottle: un framework web de Python para WSGI
  8. 11.3.2Instalación de Bottle
  9. 11.3.3Aplicación mínima de Bottle
  10. 11.3.4Componentes de Bottle
  11. 11.3.5Programa web para calcular la carga neta de una proteína (versión Bottle)
  12. 11.3.6Instalación de un programa WSGI en Apache
  13. 11.4OPCIONES ALTERNATIVAS PARA HACER SITIOS WEB DINÁMICOS BASADOS EN PYTHON
  14. 11.5ALGUNAS PALABRAS SOBRE LA SEGURIDAD DE NUESTROS PROGRAMAS
  15. 11.6DONDE ALOJAR LOS PROGRAMAS DE PYTHON
  16. 11.7RECURSOS ADICIONALES
  17. AUTOEVALUACIÓN

12.XML

  1. 12.1INTRODUCCIÓN A XML
  2. 12.2ESTRUCTURA DE UN DOCUMENTO XML
  3. 12.3MÉTODOS PARA ACCEDER A LOS DATOS DENTRO DE UN DOCUMENTO XML
  4. 12.3.1SAX: cElementTree Iterparse
  5. 12.4RESUMEN
  6. 12.5RECURSOS ADICIONALES
  7. AUTOEVALUACIÓN

13.Python y bases de datos

  1. 13.1INTRODUCCIÓN A LAS BASES DE DATOS
  2. 13.1.1Gestión de la base de datos: RDBMS
  3. 13.1.2Componentes de una base de datos relacional
  4. 13.1.3Tipos de datos de la base de datos
  5. 13.2CONEXIÓN A UNA BASE DE DATOS
  6. 13.3CREANDO UNA BASE DE DATOS MYSQL
  7. 13.3.1Creación de tablas
  8. Crear una base de datos utilizando otra base de datos como plantilla.
  9. 13.3.2Cargar una tabla
  10. SUGERENCIA AVANZADA: MyISAM versus InnoDB
  11. 13.4PLANIFICACIÓN ADELANTADA
  12. 13.4.1PythonU: Base de datos de ejemplo
  13. Tipo de campo ENUM versus tabla de búsqueda
  14. 13.5SELECT: CONSULTANDO UNA BASE DE DATOS
  15. 13.5.1Construyendo una consulta
  16. 13.5.2Actualización de una base de datos
  17. 13.5.3Eliminación de un registro en una base de datos
  18. 13.6ACCESO A UNA BASE DE DATOS DE PYTHON
  19. 13.6.1Módulo PyMySQL
  20. 13.6.2Estableciendo la conexión
  21. 13.6.3Ejecutando la consulta desde Python
  22. 13.7SQLITE
  23. 13.8BASES DE DATOS NOSQL: MONGODB
  24. 13.8.1Usando MongoDB con PyMongo
  25. 13.9RECURSOS ADICIONALES
  26. AUTOEVALUACIÓN

14.Expresiones regulares

  1. 14.1INTRODUCCIÓN A LAS EXPRESIONES REGULARES (REGEX)
  2. 14.1.1Sintaxis REGEX
  3. 14.2EL MÓDULO RE
  4. 14.2.1Compilando un patrón
  5. 14.2.2Ejemplos de REGEX
  6. Probando un REGEX con Kodos
  7. 14.2.3Patrones de reemplazo
  8. 14.3REGEX EN BIOINFORMATICA
  9. 14.3.1Limpiando una secuencia
  10. 14.4RECURSOS ADICIONALES
  11. AUTOEVALUACIÓN

15.Gráficos en Python

  1. 15.1INTRODUCCIÓN A BOKEH
  2. 15.2INSTALANDO BOKEH
  3. 15.3USANDO BOKEH
  4. 15.3.1Un gráfico X-Y simple
  5. 15.3.2Gráfico de 2 series de datos
  6. 15.3.3Un diagrama de dispersión
  7. 15.3.4Mapa de calor (Heatmap)
  8. 15.3.5Diagrama de cuerdas.

16.Manipulación de secuencias en Batch

  1. 16.1DESCRIPCIÓN DEL PROBLEMA
  2. 16.2PROBLEMA UNO: CREAR UN ARCHIVO FASTA CON SECUENCIAS AL AZAR
  3. 16.2.1Código fuente comentado
  4. 16.3PROBLEMA DOS: FILTRAR SECUENCIAS VACÍAS DE UNA ARCHIVO FASTA
  5. 16.3.1Código fuente comentado
  6. 16.4PROBLEMA TRES: MODIFICAR CADA RÉCORD DE UN ARCHIVO FASTA
  7. 16.4.1Código fuente comentado

17.Aplicación web para filtrar contaminación de vectores

  1. 17.1DESCRIPCIÓN DEL PROBLEMA
  2. 17.1.1Código fuente comentado
  3. 17.2RECURSOS ADICIONALES

18.Buscando primers de PCR usando Primer3

  1. 18.1DESCRIPCIÓN DEL PROBLEMA
  2. 18.2DISEÑO DE PRIMER RODEANDO A UNA SECUENCIA DE LONGITUD VARIABLE
  3. 18.2.1Código fuente comentado
  4. 18.3DISEÑO DE PRIMER FLANQUEANDO UNA REGIÓN VARIABLE USANDO BIOPYTHON

19.Calculando la temperatura de melting de un conjunto de primers

  1. 19.1DESCRIPCIÓN DEL PROBLEMA:
  2. 19.2RECURSOS ADICIONALES

20.Filtrando campos específicos de un archivo de GenBank

  1. 20.1EXTRAYENDO SECUENCIAS DE PROTEÍNAS SELECCIONADAS
  2. 20.1.1Código fuente comentado
  3. 20.2EXTRAYENDO REGIONES UPSTREAM DE PROTEÍNAS SELECCIONADAS
  4. 20.2.1Código fuente comentado
  5. 20.3RECURSOS ADICIONALES

21.Infiriendo sitios de splicing

  1. 21.1DESCRIPCIÓN DEL PROBLEMA
  2. 21.1.1Inferiendo sitios de corte y empalme con código fuente comentado
  3. 21.1.2Muestra de ejecución del programa para estimar intrones:

22.Web Server para alineamientos múltiples

  1. 22.1DESCRIPCIÓN DEL PROBLEMA
  2. 22.1.1Interfaz Web: Front-End. Código HTML
  3. 22.1.2Interfaz web: Server-Side Script. Código fuente comentado
  4. 22.2RECURSOS ADICIONALES

23.Dibujando posiciones de marcadores usando información almacenada en una base de datos

  1. 23.1DESCRIPCIÓN DEL PROBLEMA
  2. 23.1.1Trabajo preliminar sobre los datos
  3. 23.1.2Versión de MongoDB con el código fuente comentado

24.Mutaciones de ADN con restricción

  1. 24.1DESCRIPCIÓN DEL PROBLEMA
  2. 24.1.1Introducir mutaciones puntuales y dar un perfil de restricción
  3. 24.1.2Correr el programa para introducir las mutaciones puntuales
  4. 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.

Learn more about writing on Leanpub