Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Este libro es la respuesta a una pregunta que me hice hace dos años: "¿Qué libro querría leer primero para iniciarme en la bioinformática?". Cuando empecé a trabajar en este campo, tenía experiencia de programación en Python y R, pero poco más. Había estado buscando un buen texto de introducción a la bioinformática y, aunque encontré algunos buenos libros, la mayoría no estaban orientados al trabajo diario que yo realizaba como bioinformático. Algunos de los textos que encontré abordaban la bioinformática desde una perspectiva teórica y algorítmica, cubriendo temas como la alineación de Smith-Waterman, la reconstrucción de filogenias, la búsqueda de motivos y similares. Aunque su lectura era fascinante (y te recomiendo que explores este material), no tenía necesidad de implementar algoritmos bioinformáticos desde cero en mi trabajo bioinformático diario: ya existían numerosas implementaciones estupendas, altamente optimizadas y bien probadas de estos algoritmos. Otros textos de bioinformática adoptaron un enfoque más práctico, guiando a los lectores no familiarizados con la informática a través de cada paso de tareas como ejecutar un alineador o descargar secuencias de una base de datos. Aunque eran más aplicables a mi trabajo, gran parte del material de esos libros estaba anticuado.
Como podrás adivinar, no pude encontrar ese mejor "primer" libro de bioinformática.Bioinformatics Data Skills es mi versión del libro que estaba buscando. Este libro está dirigido a lectores que no están seguros de cómo salvar la enorme distancia que existe entre conocer un lenguaje de programación y practicar la bioinformática para responder a preguntas científicas de forma sólida y reproducible. Para salvar esta distancia, hay que aprender habilidades de datos, un enfoque que utiliza un conjunto básico de herramientas para manipular y explorar cualquier dato que encuentres durante un proyecto bioinformático.
Las destrezas con los datos son la mejor forma de aprender bioinformática porque estas destrezas utilizan herramientas probadas en el tiempo y de código abierto que siguen siendo la mejor forma de manipular y explorar datos cambiantes. Este enfoque ha superado la prueba del tiempo: la llegada de la secuenciación de alto rendimiento cambió rápidamente el campo de la bioinformática, pero los bioinformáticos expertos se adaptaron a estos nuevos datos utilizando estas mismas herramientas y habilidades. Al fin y al cabo, los datos de nueva generación no eran más que datos (datos diferentes, y en mayor cantidad), y los bioinformáticos expertos tenían las habilidades esenciales para resolver problemas aplicando sus herramientas a estos nuevos datos.Bioinformatics Data Skills se ha escrito para proporcionarte formación en estas herramientas esenciales y ayudarte a desarrollar estas mismas habilidades.
El enfoque de este libro
Muchos biólogos que se inician en la bioinformática tienden a equiparar "aprender bioinformática" con "aprender a ejecutar software bioinformático". Se trata de una idea desafortunada y mal informada de lo que hacen realmente los bioinformáticos. Es análogo a pensar que "aprender biología molecular" es sólo "aprender a pipetear". Aparte de unos pocos ejemplos sencillos utilizados para generar datos enel Capítulo 11, este libro no cubre la ejecución de software bioinformático como alineadores, ensambladores o llamadores de variantes. Ejecutar software bioinformático no es tan difícil, no requiere mucha destreza y no incorpora ninguno de los retos significativos de la bioinformática. No enseño a ejecutar este tipo de aplicaciones bioinformáticas en Habilidades Bioinformáticas de Datos por las siguientes razones:
-
Es bastante fácil averiguarlo por tu cuenta
-
El material quedaría rápidamente obsoleto a medida que se utilizaran nuevas versiones de software o programas totalmente nuevos en bioinformática
-
Los manuales originales de este software siempre serán el mejor recurso y el más actualizado sobre cómo ejecutar un programa
En su lugar, el enfoque de este libro es centrarse en las habilidades que los bioinformáticos utilizan para explorar y extraer significado de complejos y grandes conjuntos de datos bioinformáticos. Explorar y extraer información de estos conjuntos de datos es la parte divertida de la investigación bioinformática. El objetivo de Habilidades de Datos Bioinformáticos es enseñarte las herramientas computacionales y las habilidades de datos que necesitas para explorar estos grandes conjuntos de datos a tu antojo. Estas habilidades de datos te dan libertad; podrás mirar cualquier dato bioinformático -en cualquier formato y archivos de cualquier tamaño- y empezar a explorar los datos para extraer su significado biológico.
A lo largo de Habilidades Bioinformáticas de Datos, hago hincapié en trabajar de forma robusta y reproducible. Creo que estas dos cualidades -reproducibilidad y robustez- se pasan por alto con demasiada frecuencia en el trabajo computacional moderno. Porrobustez quiero decir que tu trabajo es resistente a los errores silenciosos, los factores de confusión, los fallos de software y los datos desordenados o ruidosos. Por el contrario, un enfoque frágil es aquel que no disminuye las probabilidades de que algún tipo de error afecte negativamente a tus resultados. Por reproducible me refiero a que tu trabajo pueda ser repetido por otros investigadores y lleguen a los mismos resultados. Para que esto sea así, tu trabajo debe estar bien documentado, y tus métodos, código y datos deben estar disponibles para que otros investigadores dispongan del material necesario para reproducirlo todo. La reproducibilidad también depende de que tu trabajo sea robusto: si un flujo de trabajo ejecutado en una máquina diferente produce un resultado distinto, no es robusto ni totalmente reproducible. Introduzco estos conceptos en mayor profundidad en el Capítulo 2, y son temas que reaparecen a lo largo del libro.
Por qué este libro se centra en los datos de secuenciación
La bioinformática es una disciplina amplia, y abarca subcampos como la proteómica, la metabolómica, la bioinformática de estructuras, la genómica comparativa, el aprendizaje automático y el procesamiento de imágenes. La Bioinformática de Datos se centra principalmente en el manejo de datos de secuenciación por varias razones.
En primer lugar, los datos de secuenciación son abundantes. Actualmente, ningún otro dato "ómico" es tan abundante como los datos de secuenciación de alto rendimiento. Los datos de secuenciación tienen amplias aplicaciones en toda la biología: detección de variantes y genotipado, secuenciación del transcriptoma para estudios de expresión génica, ensayos de interacción proteína-ADN como ChIP-seq, y secuenciación de bisulfitos para estudios de metilación, por citar sólo algunos ejemplos. Las formas en que pueden utilizarse los datos de secuenciación para responder a cuestiones biológicas no harán sino aumentar.
En segundo lugar, los datos de secuenciación son magníficos para perfeccionar tus habilidades con los datos. Aunque tu objetivo sea analizar otros tipos de datos en el futuro, los datos de secuenciación sirven como excelentes datos de ejemplo con los que aprender. Desarrollar las habilidades de procesamiento de texto necesarias para trabajar con datos de secuenciación será aplicable al trabajo con muchos otros tipos de datos.
En tercer lugar, otros subcampos de la bioinformática son mucho más específicos de un dominio. La amplia disponibilidad y los costes decrecientes de la secuenciación han permitido a científicos de todas las disciplinas utilizar datos genómicos para responder a preguntas en sus sistemas. En cambio, subdisciplinas de la bioinformática como la proteómica o el procesamiento de imágenes de alto rendimiento son mucho más especializadas y están menos extendidas. Aún así, si te interesan estos campos, Habilidades de Datos Bioinformáticos te enseñará útiles habilidades computacionales y de datos que te serán útiles en tu investigación.
Audiencia
Según mi experiencia enseñando bioinformática a amigos, colegas y alumnos de un curso intensivo de una semana impartido en la UC Davis, la mayoría de las personas que desean aprender bioinformática son biólogos o informáticos/programadores. Los biólogos desean desarrollar las habilidades computacionales necesarias para analizar sus propios datos, mientras que los programadores e informáticos desean aplicar sus habilidades computacionales a problemas biológicos. Aunque estos dos grupos difieren considerablemente en cuanto a conocimientos biológicos y experiencia computacional, Habilidades Bioinformáticas de Datos abarca material que debería ser útil para ambos.
Si eres biólogo, Bioinformatics Data Skills te enseñará las habilidades básicas que necesitas para trabajar con datos bioinformáticos. Es importante señalar que Bioinformatics Data Skills no es un libro de bioinformática sobre cómo hacerlo; un libro de bioinformática de este tipo quedaría rápidamente obsoleto o tendría un enfoque demasiado limitado para ayudar a la mayoría de los biólogos. Necesitarás complementar este libro con el conocimiento de tu investigación y sistema específicos, así como de los métodos estadísticos y bioinformáticos modernos que utiliza tu subcampo. Por ejemplo, si tu proyecto implica alinear lecturas de secuenciación con un genoma de referencia, este libro no te dirá cuál es el software de alineación más nuevo y mejor para tu sistema concreto. Pero independientemente del alineador que utilices, necesitarás conocer a fondo los formatos de alineación y cómo manipular los datos de alineación, tema que se trata en el Capítulo 11. A lo largo de este libro, estos conocimientos generales de informática y datos pretenden ser una base sólida y ampliamente aplicable sobre la que puedan construirse la mayoría de los biólogos.
Si eres informático o programador, es probable que ya estés familiarizado con algunas de las herramientas computacionales que enseño en este libro. Aunque el material presentado en Habilidades de Datos Bioinformáticos puede solaparse con los conocimientos que ya tienes, aprenderás sobre los formatos, herramientas y enfoques específicos que los bioinformáticos utilizan en su trabajo. Además, trabajar con los ejemplos de este libro te proporcionará una buena práctica en la aplicación de tus habilidades computacionales a los datos genómicos.
El Nivel de Dificultad de las Habilidades en Datos Bioinformáticos
Bioinformatics Data Skills está diseñado para ser un libro exhaustivo -y en algunas partes, denso-. Cuando empecé a escribir este libro, decidí que la mayor fechoría que podría cometer sería tratar la bioinformática como un tema más fácil de lo que realmente es. Trabajando como bioinformático profesional, veía habitualmente cómo podían surgir problemas muy sutiles y cambiar negativamente el resultado del análisis si no se detectaban. No quiero que tu trabajo bioinformático sea incorrecto porque yo haya simplificado artificialmente un tema. La profundidad con la que cubro los temas en Habilidades Bioinformáticas sobre Datos pretende prepararte para detectar problemas similares en tu propio trabajo, de modo que tus resultados sean sólidos.
El resultado es que algunas secciones de este libro son bastante avanzadas y resultarán difíciles para algunos lectores. ¡No te desanimes! Al igual que la mayor parte de la ciencia, este material es difícil y puede requerir varias lecturas antes de que se asimile por completo. A lo largo del libro, intento indicar cuándo determinadas secciones son especialmente avanzadas para que puedas saltártelas y volver a ellas más adelante.
Por último, a menudo utilizo jerga técnica a lo largo del libro. No me gusta utilizar jerga, pero es necesaria para comunicar conceptos técnicos en informática. Principalmente te ayudará a buscar recursos adicionales y ayuda. Es mucho más fácil buscar con éxito en Google "unión externa izquierda" que "fusión de datos en la que se incluyen registros nulos en una tabla".
Suposiciones de este libro
Bioinformatics Data Skills pretende ser un libro intermedio sobre bioinformática. Para asegurarnos de que todo el mundo empieza con el mismo pie, el libro comienza con unos cuantos capítulos sencillos. En el Capítulo 2, cubro los aspectos básicos de la creación de un proyecto bioinformático, y en el Capítulo 3 enseño algunos temas de Unix de recuperación destinados a garantizar que tengas un sólido conocimiento de Unix (porque Unix es un componente importante en capítulos posteriores). Aún así, como libro de nivel intermedio, hago algunas suposiciones sobre ti:
- Conoces un lenguaje de scripting
-
Este es el mayor supuesto del libro. A excepción de algunos programas de Python y del material de R (R se introduce en elCapítulo 8), este libro no se basa directamente en el uso de muchos scripts. Sin embargo, al aprender un lenguaje de scripts, ya te habrás encontrado con muchos conceptos informáticos importantes, como trabajar con un editor de texto, ejecutar y ejecutar programas en la línea de comandos y programación básica. Si no conoces un lenguaje de scripting, te recomiendo que aprendas Python mientras lees este libro. Libros como Bioinformatics Programming Using Python, de Mitchell L. Model (O'Reilly, 2009), Learning Python, 5ª Edición, de Mark Lutz (O'Reilly, 2013), y Python in a Nutshell, 2ª, de Alex Martelli (O'Reilly, 2006) son estupendos para empezar. Si conoces un lenguaje de programación distinto de Python (por ejemplo, Perl o Ruby), estarás preparado para seguir la mayoría de los ejemplos (aunque tendrás que traducir algunos ejemplos a tu lenguaje de programación preferido).
- Sabes utilizar un editor de texto
-
Es esencial que sepas manejarte con un editor de texto (por ejemplo, Emacs, Vim, TextMate2 o Sublime Text). Utilizar un procesador de textos (por ejemplo, Microsoft Word) no funcionará, y yo desaconsejaría el uso de editores de texto como el Bloc de notas o TextEdit de OS X, ya que carecen de soporte de resaltado de sintaxis para los lenguajes de programación habituales.
- Tienes conocimientos básicos de línea de comandos Unix
-
Por ejemplo, supongo que conoces la diferencia entre un terminal y un intérprete de comandos, sabes cómo introducir comandos, qué son las opciones/banderas y argumentos de la línea de comandos, y cómo utilizar la flecha hacia arriba para recuperar el último comando introducido. También debes tener conocimientos básicos de la jerarquía de archivos de Unix (incluidos conceptos como tu directorio personal, directorios relativos frente a absolutos y directorios raíz). También deberías ser capaz de moverte y manipular los directorios y archivos de Unix con comandos como
cd
,ls
,pwd
,mv
,rm
,rmdir
ymkdir
. Por último, deberías tener una noción básica de la propiedad y los permisos de los archivos de Unix, y de cómo cambiarlos conchown
ychmod
. Si estos conceptos no están claros, te recomiendo que primero juegues con la línea de comandos de Unix (¡con cuidado!) y consultes un buen libro para principiantes como Practical Computing for Biologists de Steven Haddock y Casey Dunn (Sinauer, 2010) o UNIX and Perl to the Rescue de Keith Bradnam e Ian Korf (Cambridge University Press, 2012). - Tienes conocimientos básicos de biología
-
Bioinformatics Data Skills es un libro BYOB (traetu propia biología). Los ejemplos no requieren muchos conocimientos de biología más allá de lo que son el ADN, el ARN, las proteínas y los genes, y del dogma central de la biología molecular. También debes estar familiarizado con algunos conceptos muy básicos de genética y genómica (por ejemplo, polimorfismos de un solo nucleótido, genotipos, contenido de GC, etc.). Todos los ejemplos biológicos del libro están diseñados para ser bastante sencillos; si no estás familiarizado con algún tema, deberías poder hojear rápidamente un artículo de Wikipedia y continuar con el ejemplo.
- Tienes conocimientos básicos de expresiones regulares
-
De vez en cuando, utilizaré expresiones regulares en este libro. En la mayoría de los casos, intento explicarte rápidamente cómo funciona una expresión regular para que puedas hacerte una idea general. Si te has encontrado con expresiones regulares mientras aprendías un lenguaje de programación, estás preparado. Si no, te recomiendo que aprendas lo básico, no porque las expresiones regulares se utilicen mucho en el libro, sino porque dominar las expresiones regulares es una habilidad importante en bioinformática. Introducing Regular Expressions de Michael Fitzgerald (O'Reilly) es una gran introducción. Hoy en día, escribir, probar y depurar expresiones regulares es más fácil que nunca gracias a herramientas en línea comohttp://regex101.com y http://www.debuggex.com. Te recomiendo que utilices estas herramientas en tu propio trabajo y cuando repases mis ejemplos de expresiones regulares.
- Sabes cómo obtener ayuda y leer la documentación
-
A lo largo de este libro, intento minimizar la información didáctica que puede encontrarse en las páginas del manual, en la documentación de ayuda o en Internet. Esto se debe a tres razones:
-
Quiero ahorrar espacio y centrarme en presentar el material de una forma que no puedas encontrar en ningún otro sitio
-
Las páginas del manual y la documentación siempre serán el mejor recurso para esta información
-
La capacidad de encontrar respuestas rápidamente en la documentación es una de las habilidades más importantes que puedes desarrollar al aprender informática
-
Este último punto es especialmente importante; no necesitas recordar todos los argumentos de un comando o función de R, sólo necesitas saber dónde encontrar esta información. Los programadores consultan la documentación constantemente en su trabajo, por eso existen herramientas de documentación como man
(en Unix) y help()
(en R).
- Puedes gestionar tu sistema informático (o tener un administrador del sistema)
-
Este libro no te enseña habilidades de administración de sistemas, como la configuración de un servidor o clúster bioinformático, la gestión de cuentas de usuario, la seguridad de la red, la gestión de discos y espacio en disco, las configuraciones RAID, las copias de seguridad de datos y los conceptos informáticos de alto rendimiento. Simplemente no hay espacio para cubrir adecuadamente estos importantes temas. Sin embargo, todos ellos son muy, muy importantes: si no tienes un administrador de sistemas y necesitas desempeñar esa función en tu laboratorio o grupo de investigación, también es esencial que domines estos conocimientos. Francamente, las habilidades de administración de sistemas tardan años en dominarse y los buenos administradores de sistemas tienen una paciencia y una experiencia increíbles en el manejo de problemas que harían enloquecer a la mayoría de los científicos. Si puedes emplear a un administrador de sistemas a tiempo completo compartido entre laboratorios o grupos, o utilizar un clúster universitario con un administrador de sistemas, yo lo haría. Por último, no debería ser necesario decirlo, pero por si acaso: haz constantemente copias de seguridad de tus datos y de tu trabajo. Al aprender Unix, es fácil ejecutar un comando que destruya archivos: tu mejor protección para no perderlo todo son las copias de seguridad continuas.
Material suplementario en GitHub
El material complementario necesario para los ejemplos de este libro está disponible en el repositorio de GitHub. Puedes descargar material de este repositorio a medida que lo necesites (el repositorio está organizado por capítulos), o puedes descargarlo todo utilizando el enlace Descargar Zip. Una vez que aprendas Git en el Capítulo 5, te recomiendo que clones el repositorio para que puedas restaurar los archivos de los ejemplos en caso de que los sobrescribas accidentalmente.
Intenta navegar a este repositorio ahora y husmear para familiarizarte con la disposición. Busca en el directorio del Prefacio y encontrarás el archivo README.md, que incluye información adicional sobre muchos de los temas que he tratado. Además de los archivos complementarios necesarios para todos los ejemplos del libro, este repositorio contiene:
-
Documentación sobre cómo se produjeron todos los archivos suplementarios o cómo se adquirieron. En algunos casos, he utilizado makefiles o scripts (ambos temas se tratan en el Capítulo 12) para crear datos de ejemplo, y todos estos recursos están disponibles en el directorio GitHub de cada capítulo. He incluido estos materiales no sólo con fines reproducibles, sino también para que sirvan como material de aprendizaje adicional.
-
Información adicional que los lectores pueden encontrar interesante para cada capítulo. Esta información se encuentra en el archivo README.md de cada capítulo. También he incluido otros recursos, como listas de libros recomendados para seguir aprendiendo.
-
Erratas, y cualquier actualización necesaria si el material queda obsoleto por algún motivo.
Decidí alojar los archivos complementarios de "Bioinformatics Data Skills" en GitHub para poder mantenerlo todo actualizado y resolver cualquier problema que pudieran tener los lectores. No dudes en crear una nueva incidencia en GitHub si encuentras algún problema con el libro o su material complementario.
Recursos informáticos y configuración
He escrito todo este libro en mi portátil, un MacBook Pro de 15 pulgadas con 16 GB de RAM. Aunque se trata de un portátil potente, es mucho más pequeño que los servidores habituales en informática bioinformática. Todos los ejemplos están diseñados y probados para funcionar en una máquina de este tamaño. Casi todos los ejemplos deberían funcionar en una máquina con 8 GB de memoria.
Todos los ejemplos de este libro funcionan en Mac OS X y Linux; no se admiten otros sistemas operativos (principalmente porque la bioinformática moderna se basa en sistemas operativos basados en Unix). Todo el software necesario a lo largo del libro está disponible gratuitamente y es fácil de instalar; proporciono algunas instrucciones básicas en cada sección a medida que se necesita la instalación del software. En general, debes utilizar el sistema de gestión de paquetes de tu sistema operativo (por ejemplo, apt-get
en Ubuntu/Debian). Si utilizas un Mac, te recomiendo encarecidamente Homebrew, un excelente gestor de paquetes para OS X que te permite instalar fácilmente software desde la línea de comandos. Puedes encontrar instrucciones detalladas en el sitio web de Homebrew, Lo más importante es que Homebrew mantiene una colección de paquetes de software científico llamada homebrew-science, incluido el software bioinformático que utilizamos a lo largo de este libro. Sigue las instrucciones del archivo README.md de homebrew-science para aprender a instalar estos programas científicos.
Organización de este libro
Este libro se compone de tres partes: La Parte I, que contiene un capítulo sobre ideología; la Parte II, que cubre los aspectos básicos para empezar un proyecto de bioinformática; y la Parte III, que trata de las habilidades bioinformáticas con los datos. Aunque los capítulos se escribieron para ser leídos secuencialmente, si te sientes cómodo con Unix y R, puede que descubras que puedes saltar de uno a otro sin problemas.
En el Capítulo 1, presento por qué aprender bioinformática desarrollando habilidades de datos es el mejor enfoque. También presento la ideología de este libro, y describo la bioinformática reproducible y robusta y algunas recomendaciones para aplicar en tu propio trabajo.
La Parte II de Habilidades en Datos Bioinformáticos presenta las habilidades básicas necesarias para iniciar un proyecto bioinformático. En primer lugar, veremos cómo configurar y gestionar un directorio de proyecto en el Capítulo 2. Puede parecer un tema trivial, pero los proyectos bioinformáticos complejos exigen que pensemos en la gestión de proyectos. En el frenesí de la investigación, habrá archivos por todas partes. Empezar con un proyecto cuidadosamente organizado puede evitar muchos problemas en el futuro. También aprenderemos sobre la documentación con Markdown, un formato útil para la documentación de proyectos en texto plano.
En el Capítulo 3, exploramos el Unix intermedio en bioinformática. Esto es para asegurarnos de que tienes una sólida comprensión de los conceptos esenciales (por ejemplo, tuberías, redirección, entrada y salida estándar, etc.). La comprensión de estos temas previos te permitirá centrarte en el análisis de datos en capítulos posteriores, sin tener que esforzarte por entender los conceptos básicos de Unix.
La mayoría de las tareas bioinformáticas requieren más potencia de cálculo de la que tenemos en nuestras estaciones de trabajo personales, lo que significa que tenemos que trabajar con servidores y clusters remotos. El Capítulo 4 cubre algunos consejos y trucos para aumentar tu productividad cuando trabajes con máquinas remotas.
En el Capítulo 5, aprendemos Git, que es un sistema de control de versiones que facilita la gestión de las versiones de los proyectos. Los proyectos bioinformáticos están llenos de mucho código y datos que deben gestionarse utilizando las mismas herramientas modernas que el software desarrollado en colaboración. Git es un software grande y potente, por lo que éste es un capítulo largo. Sin embargo, este capítulo se ha escrito para que puedas saltarte la sección sobre ramificación y volver a ella más adelante.
El Capítulo 6 trata de los datos en los proyectos bioinformáticos: cómo descargar grandes cantidades de datos, utilizar la compresión de datos, validar la integridad de los datos y descargar datos de forma reproducible para un proyecto.
En la Parte III, nuestra atención se centra en el desarrollo de las habilidades de datos esenciales que todos los bioinformáticos necesitan para abordar los problemas en su trabajo diario. El Capítulo 7se centra en las herramientas de datos Unix, que te permiten escribir rápidamente potentes pipelines Unix de procesamiento de flujos para procesar datos bioinformáticos. Este enfoque es la piedra angular de la bioinformática moderna, y es una habilidad de datos absolutamente esencial.
En el Capítulo 8, introduzco el lenguaje R mediante el aprendizaje de técnicas de análisis exploratorio de datos. Este capítulo te prepara para utilizar R para explorar tus propios datos mediante técnicas como la visualización y los resúmenes de datos.
Los datos de rangos genómicos son omnipresentes en la bioinformática, así que en el Capítulo 9 nos ocuparemos de los datos de rangos y de las operaciones con rangos. Primero repasaremos las distintas formas de representar los rangos genómicos, y trabajaremos con las operaciones de rango utilizando el paquete IRanges
de Bioconductor para reforzar nuestra intuición sobre los rangos. A continuación, trabajaremos con datos genómicos utilizando GenomicRanges
. Por último, veremos el conjunto de herramientas BEDTools para trabajar con datos de rangos en la línea de comandos.
En el Capítulo 10, aprenderemos sobre los datos de secuencias, un pilar de los datos bioinformáticos. Veremos los formatos FASTA y FASTQ (y sus limitaciones) y trabajaremos recortando las bases de baja calidad de las secuencias y viendo cómo afecta esto a la distribución de las puntuaciones de calidad. También veremos el análisis sintáctico de FASTA y FASTQ.
El Capítulo 11 se centra en los formatos de datos de alineación SAM y BAM. Comprender y manipular archivos en estos formatos es una habilidad bioinformática integral para trabajar con datos de secuenciación de alto rendimiento. Veremos cómo utilizar Samtools para manipular estos archivos y visualizar los datos, y veremos un ejemplo detallado que ilustra algunas de las complejidades de la llamada de variantes. Por último, aprenderemos a utilizar Pysam para analizar archivos SAM/BAM, de modo que puedas escribir tus propios scripts que trabajen con estos formatos de datos especializados.
La mayor parte del trabajo bioinformático diario implica escribir scripts y pipelines de procesamiento de datos. En el Capítulo 12, veremos cómo escribir estas cadenas de procesamiento de datos de forma robusta y reproducible. Nos ocuparemos específicamente de las secuencias de comandos Bash, de la manipulación de archivos mediante herramientas de Unix como find
y xargs
, y, por último, echaremos un vistazo rápido a cómo puedes escribir cadenas mediante Make y makefiles.
En bioinformática, a menudo nuestros datos son demasiado grandes para caber en la memoria de nuestro ordenador. En el Capítulo 7, vimos cómo el streaming con tuberías Unix puede ayudar a resolver este problema, pero el Capítulo 13 examina un método diferente: los enfoques fuera de memoria. En primer lugar, veremos Tabix, una forma rápida de acceder a la información de archivos indexados delimitados por tabulaciones. A continuación, veremos los fundamentos de SQL mediante el análisis de algunos datos GWAS utilizando SQLite.
Por último, en el Capítulo 14, hablo de hacia dónde debes dirigirte a continuación para seguir desarrollando tus habilidades bioinformáticas.
Convenciones del código
La mayoría de los datos bioinformáticos tienen algo en común: son grandes. En los ejemplos de código, a menudo necesito truncar la salida para que quepa en el ancho de una página. Para indicar que la salida ha sido truncada, siempre utilizaré [...]
en la salida. Además, en los ejemplos de código suelo utilizar nombres de variables cortos para ahorrar espacio. Te animo a que utilices nombres más descriptivos que los que he empleado a lo largo de este libro en tu trabajo personal.
Convenciones utilizadas en este libro
En este libro se utilizan las siguientes convenciones tipográficas:
- Cursiva
-
Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.
Constant width
-
Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.
Constant width bold
-
Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.
Constant width italic
-
Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.
Consejo
Este elemento significa un consejo o sugerencia.
Nota
Este elemento significa una nota general.
Advertencia
Este elemento indica una advertencia o precaución.
Utilizar ejemplos de código
Este libro está aquí para ayudarte a hacer tu trabajo. En general, si se ofrece código de ejemplo con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir un CD-ROM de ejemplos de los libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.
Agradecemos, pero no exigimos, la atribución. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo "Bioinformatics Data Skills por Vince Buffalo (O'Reilly). Copyright 2015 Vince Buffalo, 978-1-449-36737-4".
Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o al permiso concedido anteriormente, no dudes en ponerte en contacto con nosotros en permissions@oreilly.com.
Libros Safari® en línea
Nota
Safari Books Online es una biblioteca digital a la carta que ofrece contenido experto, tanto en forma de libro como de vídeo, de los autores más destacados del mundo en tecnología y empresa.
Los profesionales de la tecnología, los desarrolladores de software, los diseñadores web y los profesionales empresariales y creativos utilizan Safari Books Online como recurso principal para la investigación, la resolución de problemas, el aprendizaje y la formación en certificación.
Safari Books Online ofrece una gama de planes y precios para empresas, administraciones públicas, educación y particulares.
Los miembros tienen acceso a miles de libros, vídeos de formación y manuscritos previos a la publicación en una base de datos en la que se pueden realizar búsquedas completas, de editoriales como O'Reilly Media, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, Course Technology y cientos más. Para más información sobre Safari Books Online, visítanos en Internet.
Cómo contactar con nosotros
Dirige tus comentarios y preguntas sobre este libro a la editorial:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Norte
- Sebastopol, CA 95472
- 800-998-9938 (en Estados Unidos o Canadá)
- 707-829-0515 (internacional o local)
- 707-829-0104 (fax)
Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en http://bit.ly/Bio-DS.
Para hacer comentarios o preguntas técnicas sobre este libro, envía un correo electrónico a bookquestions@oreilly.com.
Para más información sobre nuestros libros, cursos, conferencias y noticias, consulta nuestro sitio web en http://www.oreilly.com.
Encuéntranos en Facebook: http://facebook.com/oreilly
Síguenos en Twitter: http://twitter.com/oreillymedia
Míranos en YouTube: http://www.youtube.com/oreillymedia
Agradecimientos
Escribir un libro es un esfuerzo monumental: durante dos años, he trabajado enHabilidades Bioinformáticas de Datos durante las noches y los fines de semana. Esto se suma a una exigente carrera como bioinformático profesional (y durante los últimos cinco meses de escritura, como estudiante de doctorado). Equilibrar el trabajo y la vida ya es bastante difícil para la mayoría de los científicos; ahora sé que equilibrar el trabajo, la vida y escribir un libro es casi imposible. No habría sobrevivido a este proceso sin el apoyo de mi compañera, Helene Hopfer.
Doy las gracias a Ciera Martínez por proporcionarme continuamente comentarios útiles y ayudarme a calibrar el tono y el público objetivo de este libro. Cody Markelz me proporcionó incansablemente sus comentarios y nunca tuvo miedo de decirme cuándo había errado el tiro en un capítulo, por lo que todos los lectores deberían estarle agradecidos. Mi amigo Al Marks merece un reconocimiento especial, no sólo por sus valiosos comentarios sobre muchos capítulos, sino también por iniciarme en la informática y la programación en el instituto. También doy las gracias a Jeff Ross-Ibarra por inspirar mi pasión por la genética de poblaciones y presentarme proyectos desafiantes e interesantes en su laboratorio. Tengo una deuda de gratitud con todo el Núcleo de Bioinformática de la UC Davis por el fantástico tiempo que pasé trabajando allí; gracias especialmente a Dawei Lin, Joe Fass, Nikhil Joshi y Monica Britton por compartir sus conocimientos y concederme libertad para explorar la bioinformática. Mike Lewis también merece un agradecimiento especial por enseñarme informática y ser una persona estupenda con la que empollar detalles técnicos. Peter Morrell, su laboratorio y el grupo de lectura "¿Computa[0]computa?" me proporcionaron muchos comentarios útiles que agradezco mucho. Doy las gracias a Jorge Dubcovsky: ser testigo de su incansable búsqueda de la ciencia me ha motivado a hacer lo mismo. Por último, estoy en deuda con mi maravilloso asesor, Graham Coop, por su paciencia a la hora de permitirme terminar este libro; con este libro fuera del camino, estoy ansioso por seguir mis futuras direcciones bajo su tutoría.
Este libro ha mejorado considerablemente gracias a las valiosas aportaciones de muchos revisores, colegas y amigos. Gracias a Peter Cock, Titus Brown, Keith Bradnam, Mike Covington, Richard Smith-Unna, Stephen Turner, Karthik Ram, Gabe Becker, Noam Ross, Chris Hamm, Stephen Pearce, Anke Schennink, Patrik D'haeseleer, Bill Broadley, Kate Crosby, Arun Durvasula, Aaron Quinlan y David Ruddock. Shaun Jackman merece un reconocimiento por su incansable esfuerzo por facilitar la instalación de software bioinformático a través de los proyectos Homebrew y apt-get
; mis lectores se beneficiarán enormemente de ello. También agradezco los comentarios y las opiniones positivas que recibí de muchos de los primeros lectores de este libro; la buena acogida supuso un gran empujón motivador para terminarlo todo. Sin embargo, como autora, asumo todo el mérito de cualquier error u omisión que se les haya escapado a estos devotos revisores.
La mayoría de los autores tienen suerte si trabajan con una gran editora; yo pude trabajar con dos. Gracias, Courtney Nash y Amy Jollymore, por vuestro esfuerzo continuado y vuestro ánimo durante todo este proceso. Sencillamente, no habría podido hacerlo sin vosotras dos. También me gustaría dar las gracias a mi editora de producción Nicole Shelby, a la correctora Jasmine Kwityn y al resto del equipo de producción de O'Reilly por su durísimo trabajo en la edición de Bioinformatics Data Skills. Por último, gracias, Mike Loukides, por tus comentarios y por interesarte por mi libro cuando no era más que una colección de primeras ideas en bruto: viste más.
Get Habilidades en Datos Bioinformáticos now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.