Successfully reported this slideshow.
Python para biología molecular Sebastián Bassi. UNLUX 2008
La biología está siendo transformada en una ciencia de la información "LOS COMPUTADORES SON A LA BIOLOGIA, LO QUE LA ...
 
 
EL RESULTADO ...
<ul><li>La información acumulada no sólo es información genética (secuencias de DNA). </li></ul><ul><li>Expresión de RNAs ...
“ This deluge of genomic information has, in turn, led to an absolute requirement for computerized databases to store, org...
BIOINFORMÁTICA BIOLOGÍA COMPUTACIONAL INFORMACIÓN GENÉTICA  ESTRUCTURA MOLECULAR FUNCIONES FENOTIPO
Desarrollo e implementación de herramientas para acceder, usar y administrar varios tipos de información. Desarrollo de nu...
Lenguajes: Compilados vs. Interpretados Esquema ciclo de lenguaje compilado The Intute Consortium. This material may be fr...
Ejecución programa interpretado The Intute Consortium. This material may be freely distributed and copied for educational ...
Scripting <ul><li>Asociado a “lenguaje interpretado” </li></ul><ul><li>Automatización de tareas. </li></ul><ul><li>Interfa...
Algunos usuarios de Python
Ventajas de Python para Bioinformática <ul><li>Manejo de texto y expresiones regulares: Nombres de secuencias, secuencias,...
www.mitochondrialgenome.org
Copia de archivo en C #include <stdio.h> int main(int argc, char **argv) { FILE *in, *out; int c; in = fopen(&quot;input.t...
Copia de archivo en Python in = open(&quot;input.txt&quot;) out = open(&quot;output.txt&quot;, &quot;w&quot;) out.writelin...
Biopython <ul><li>Colección de módulos para análisis bioinfomático </li></ul><ul><li>Soporte de secuencias, formatos bioló...
Aplicaciones bioinformáticas: Búsqueda de similitud de secuencias. BLAST:  B asic  L ocal  A lignment  S earch  T ool Desc...
 
 
Biopython: NCBIStandalone and NCBIXML >>> from Bio.Blast import NCBIStandalone >>> rh, eh = NCBIStandalone.blastall(my_bla...
M.A.S (Selección Asistida por marcadores). <ul><li>Técnica utilizada actualmente para la mayoría de los traits. </li></ul>...
Selección tradicional <ul><li>Se determina una propiedad (trait) que se desea modificar (altura, % de aceite, color de hoj...
Marcadores moleculares <ul><li>Permiten “mapear” zonas específicas del cromosoma. </li></ul><ul><li>Tienen sentido ubicarl...
MAS <ul><li>Se determina una propiedad (trait) que se desea modificar (altura, % de aceite, color de hoja resistencia a qu...
Ventajas uso de MAS <ul><li>Aceleración de tiempos. </li></ul><ul><li>Ahorro al no continuar lineas sin el trait. </li></ul>
Aportes de la Bioinformática al MAS <ul><li>Construcción de bases de datos de marcadores moleculares </li></ul><ul><li>ID ...
Estrategia de selección de primers <ul><li>Partida: Secuencia “blanco” (EST) </li></ul><ul><li>Objetivo: Buscar 1 zona de ...
 
Búsqueda de intrones
<ul><li>Búsqueda por homología de secuencia homologa en AT mRNA: BLAST. Herramientas:  NCBIStandalone y NCBIXML </li></ul>...
<ul><ul><li>>>> from Bio.Clustalw import MultipleAlignCL </li></ul></ul><ul><ul><li>>>> clpath='/opt/clustalw' </li></ul><...
 
Relaciones entre especies <ul><li>Sintenia: Preservación de un orden dado de genes entre cromosomas de especies relacionad...
Herramientas import cPickle import csv from Bio import SeqIO, SeqRecord, Seq from Bio.Blast import NCBIStandalone from Bio...
 
Envio de secuencias a Genbank Blog post: tinyurl.com/seqsubmit
Modelado molecular Programa de referencia en modelado molecular: Core en FORTRAN, “scripteable” en Python.
 
 
 
Para saber mas... <ul><li>www.python.org </li></ul><ul><li>www.biopython.org </li></ul><ul><li>www.python.com.ar  (PyAr) <...
Upcoming SlideShare
Loading in …5
×

Python en biología molecular (UNLUX 2008)

1,796 views

Published on

Charla para dar en UNLUX 2008
http://tinyurl.com/69n2zh

Published in: Education
  • Be the first to comment

Python en biología molecular (UNLUX 2008)

  1. 1. Python para biología molecular Sebastián Bassi. UNLUX 2008
  2. 2. La biología está siendo transformada en una ciencia de la información &quot;LOS COMPUTADORES SON A LA BIOLOGIA, LO QUE LA MATEMÁTICA ES A LA FISICA&quot;
  3. 5. EL RESULTADO ...
  4. 6. <ul><li>La información acumulada no sólo es información genética (secuencias de DNA). </li></ul><ul><li>Expresión de RNAs </li></ul><ul><li>Interacción entre proteínas </li></ul><ul><li>Estructuras tridimensionales </li></ul><ul><li>Anulación sistemática de genes </li></ul><ul><li>Etc, etc, ... </li></ul><ul><li>Cada vez más diversos estudios comienzan con el análisis de bases de datos. </li></ul><ul><li>Cada vez más el trabajo de laboratorio termina en la acumulación de colecciones masivas de datos que deben ser luego analizados </li></ul>
  5. 7. “ This deluge of genomic information has, in turn, led to an absolute requirement for computerized databases to store, organize, and index the data and for specialized tools to view and analyze the data.” Source: NCBI, National Center for Biotechnology Information www.ncbi.nlm.nih.gov
  6. 8. BIOINFORMÁTICA BIOLOGÍA COMPUTACIONAL INFORMACIÓN GENÉTICA ESTRUCTURA MOLECULAR FUNCIONES FENOTIPO
  7. 9. Desarrollo e implementación de herramientas para acceder, usar y administrar varios tipos de información. Desarrollo de nuevos algoritmos para establecer relaciones entre miembros de grandes cantidades de datos: Localizar genes en secuencias, predecir estructuras proteicas o función, establecer relaciones evolutivas, agrupar proteinas en familias, etc. Campos de acción de la bioinformática
  8. 10. Lenguajes: Compilados vs. Interpretados Esquema ciclo de lenguaje compilado The Intute Consortium. This material may be freely distributed and copied for educational purposes only, provided that appropriate acknowledgement is given to Intute as the copyright holder and original publisher.
  9. 11. Ejecución programa interpretado The Intute Consortium. This material may be freely distributed and copied for educational purposes only, provided that appropriate acknowledgement is given to Intute as the copyright holder and original publisher. <ul><li>Ciclo de desarrollo mas corto. </li></ul><ul><li>Mayor tiempo de ejecución. </li></ul>
  10. 12. Scripting <ul><li>Asociado a “lenguaje interpretado” </li></ul><ul><li>Automatización de tareas. </li></ul><ul><li>Interfase con otros programas </li></ul><ul><li>Ejemplos: Perl – Python – PHP – Ruby – Tlc – JS (ojo: JS!=JAVA) </li></ul>
  11. 13. Algunos usuarios de Python
  12. 14. Ventajas de Python para Bioinformática <ul><li>Manejo de texto y expresiones regulares: Nombres de secuencias, secuencias, anotaciones, referencias bibliograficas, etc. </li></ul><ul><li>Modular: Puede integrarse upstream o downstream con otros programas (en Python o en otros lenguajes). </li></ul><ul><li>Fácil de escribir: Ideal para programadores no profesionales </li></ul><ul><li>Buen lenguaje para prototipos: Es rápido para “codear”. </li></ul><ul><li>Apto para aplicaciones web: Método estandar en laboratorios para mostrar datos. </li></ul>
  13. 15. www.mitochondrialgenome.org
  14. 16. Copia de archivo en C #include <stdio.h> int main(int argc, char **argv) { FILE *in, *out; int c; in = fopen(&quot;input.txt&quot;, &quot;r&quot;); out = fopen(&quot;output.txt&quot;, &quot;w&quot;); while ((c = fgetc(in)) != EOF) { fputc(c, out); } fclose(out); fclose(in); }
  15. 17. Copia de archivo en Python in = open(&quot;input.txt&quot;) out = open(&quot;output.txt&quot;, &quot;w&quot;) out.writelines(in)
  16. 18. Biopython <ul><li>Colección de módulos para análisis bioinfomático </li></ul><ul><li>Soporte de secuencias, formatos biológicos y operaciones comunes </li></ul><ul><li>Proyecto abierto y colaborativo (cualquiera puede aportar). </li></ul><ul><li>Dependencias mínimas. </li></ul><ul><li>Dínamico. </li></ul>www.biopython.org
  17. 19. Aplicaciones bioinformáticas: Búsqueda de similitud de secuencias. BLAST: B asic L ocal A lignment S earch T ool Descripción del problema: Se obtienen nuevas secuencias y se quiere averiguar su función (¿codifica para una proteína? ¿que función cumple?)‏
  18. 22. Biopython: NCBIStandalone and NCBIXML >>> from Bio.Blast import NCBIStandalone >>> rh, eh = NCBIStandalone.blastall(my_blast_exe, &quot;blastn&quot;, my_blast_db, in_file) >>> from Bio.Blast import NCBIXML >>> blast_records = NCBIXML.parse(rh)
  19. 23. M.A.S (Selección Asistida por marcadores). <ul><li>Técnica utilizada actualmente para la mayoría de los traits. </li></ul><ul><li>Seguimiento de los traits usando marcadores moleculares </li></ul><ul><li>Conceptos involucrados: </li></ul><ul><ul><li>Selección “tradicional”. </li></ul></ul><ul><ul><li>Marcadores moleculares </li></ul></ul>
  20. 24. Selección tradicional <ul><li>Se determina una propiedad (trait) que se desea modificar (altura, % de aceite, color de hoja resistencia a quiebre, a enfermedades, etc). </li></ul><ul><li>Se identifica fuente del trait (o se induce si no la hubiese). </li></ul><ul><li>Se cruza la variedad que tiene el trait de interes, contra línea elite. </li></ul><ul><li>Se busca en la descendencia a los portadores del trait. </li></ul><ul><li>Se cruza nuevamente con los progenitores </li></ul>
  21. 25. Marcadores moleculares <ul><li>Permiten “mapear” zonas específicas del cromosoma. </li></ul><ul><li>Tienen sentido ubicarlos en regiones de alta variabilidad nucleotídica: </li></ul><ul><ul><li>Regiones no codificantes (NCR, aka “junk DNA”). </li></ul></ul><ul><ul><li>Intrones </li></ul></ul><ul><ul><li>Secuencias repetitivas. </li></ul></ul>
  22. 26. MAS <ul><li>Se determina una propiedad (trait) que se desea modificar (altura, % de aceite, color de hoja resistencia a quiebre, a enfermedades, etc). </li></ul><ul><li>Se identifica fuente del trait (o se induce si no la hubiese). </li></ul><ul><li>Se cruza la variedad que tiene el trait de interes, contra línea elite. </li></ul><ul><li>Se busca en la descendencia a los portadores de los marcadores. </li></ul><ul><li>Se cruza nuevamente con los progenitores </li></ul>
  23. 27. Ventajas uso de MAS <ul><li>Aceleración de tiempos. </li></ul><ul><li>Ahorro al no continuar lineas sin el trait. </li></ul>
  24. 28. Aportes de la Bioinformática al MAS <ul><li>Construcción de bases de datos de marcadores moleculares </li></ul><ul><li>ID de NCR </li></ul><ul><li>Diseño de primers </li></ul><ul><li>Búsqueda regiones polimorficas </li></ul><ul><li>ID de SNPs </li></ul>
  25. 29. Estrategia de selección de primers <ul><li>Partida: Secuencia “blanco” (EST) </li></ul><ul><li>Objetivo: Buscar 1 zona de + variabilidad rodeada de zonas “estables” (- variabilidad). </li></ul><ul><li>Estrategia: Predecir intrones en el EST en base a Arabidopsis Thaliana. </li></ul>
  26. 31. Búsqueda de intrones
  27. 32. <ul><li>Búsqueda por homología de secuencia homologa en AT mRNA: BLAST. Herramientas: NCBIStandalone y NCBIXML </li></ul><ul><li>Database retrieval de los resultados. Herramientas: MySQL-Python o SQLite </li></ul><ul><li>Alineamiento de 3 secuencias: problema (o target), AT mRNA y AT full length. Herramientas: Bio.Clustalw.MultipleAlignCL y Bio.Clustalw.do_alignment </li></ul>
  28. 33. <ul><ul><li>>>> from Bio.Clustalw import MultipleAlignCL </li></ul></ul><ul><ul><li>>>> clpath='/opt/clustalw' </li></ul></ul><ul><ul><li>>>> cl = MultipleAlignCL('i_file.fas',command=clpath) </li></ul></ul><ul><ul><li>>>> cl.set_output('cltest.txt') </li></ul></ul><ul><ul><li>>>> from Bio.Clustalw import do_alignment </li></ul></ul><ul><ul><li>>>> align = do_alignment(cl) </li></ul></ul><ul><ul><li>>>> for seq in align.get_all_seqs(): </li></ul></ul><ul><ul><li>.... print seq.description </li></ul></ul><ul><ul><li>.... print seq.seq </li></ul></ul><ul><ul><li>40|1tetH|gi|13278069 </li></ul></ul><ul><ul><li>QVQLQQSDAELVKPGASVKISCKVSGYTFTDHT----IHWVKQRPE </li></ul></ul><ul><ul><li>139|1tetH|gi|19343851 </li></ul></ul><ul><ul><li>QVQLLQSGPELVKPGASVKISCRASGYAFSKSW----MNWVKRRPG </li></ul></ul>
  29. 35. Relaciones entre especies <ul><li>Sintenia: Preservación de un orden dado de genes entre cromosomas de especies relacionadas. </li></ul>Ejemplo con AT (fuente: Wikipedia).
  30. 36. Herramientas import cPickle import csv from Bio import SeqIO, SeqRecord, Seq from Bio.Blast import NCBIStandalone from Bio.Blast import NCBIXML import xlrd
  31. 38. Envio de secuencias a Genbank Blog post: tinyurl.com/seqsubmit
  32. 39. Modelado molecular Programa de referencia en modelado molecular: Core en FORTRAN, “scripteable” en Python.
  33. 43. Para saber mas... <ul><li>www.python.org </li></ul><ul><li>www.biopython.org </li></ul><ul><li>www.python.com.ar (PyAr) </li></ul><ul><li>www.bioinformatica.info </li></ul><ul><li>PLoS Python: tinyurl.com/pythonplos </li></ul><ul><li>PLoS Argentina: tinyurl.com/bioargentina </li></ul><ul><li>Libro: tinyurl.com/biopython </li></ul><ul><li>XML MiniDOM: tinyurl.com/xmlminidom </li></ul>¡¡¡GRACIAS!!!

×