SlideShare una empresa de Scribd logo
1 de 26
Python para el procesamiento de
secuencias genéticas




                          Sebastián Bassi
                sbassi@genesdigitales.com

                          Twitter: @sbassi
La naturaleza de la información genética

LOCUS       NM_052948 3941 bp mRNA linear PRI 02­NOV­2012
DEFINITION  Homo sapiens Rho GTPase activating protein 33 (ARHGAP33),
            transcript variant 1, mRNA.
ACCESSION   NM_052948
VERSION     NM_052948.3  GI:289547505
SOURCE      Homo sapiens (human)
  ORGANISM  Homo sapiens
            Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; 
Euteleostomi;Mammalia; Eutheria; Euarchontoglires; Primates; 
Haplorrhini;Catarrhini; Hominidae; Homo.
  1 acgggcagcc gttaggggcg gggtctgcag ccgcccgcgc gcggctcgcg ccctcccctt
 61 tgtgtcgcca tggcggcggc agcggcgacg agaacggcga gcgaggggtc gagcgcggcc
121 ggggcctgag gaggctacgc gaccatggtg gcacgcagca ctgacagcct ggatggccca
181 ggggagggct cggtgcagcc tctacccact gctggggggc ccagtgtgaa ggggaagcct
241 gggaagaggc tctcagctcc tcgaggcccc ttcccgcggc tggctgactg cgcccatttc
301 cactacgaga acgttgactt tggccacatt cagctcctgc tgtctccaga ccgtgaaggg
361 cccagcctct ctggagagaa tgagctggtg ttcggggtgc aggtgacctg tcagggccgt
421 tcctggccgg ttctccggag ttacgatgac tttcgttccc tggatgccca cctccaccgg
481 tgcatatttg accggaggtt ctcctgcctt ccggagcttc ccccgccccc cgagggtgcc
541 agggctgccc agatgctggt gccactgctg ctgcagtacc tggagacact gtcaggactg
601 gtggacagta acctcaactg cgggcctgtg ctcacctgga tggagctgga caatcacggc
661 cggcgactgc tcctcagtga ggaggcgtca ctcaatatcc ctgcagtggc ggccgcccat
La naturaleza de la información genética
La naturaleza de la información genética
         Nomenclatura IUPAC

         A = adenine
         C = cytosine
         G = guanine
         T = thymine
         R = G A (purine)
         Y = T C (pyrimidine)
         K = G T (keto)
         M = A C (amino)
         S = G C (strong bonds)
         W = A T (weak bonds)
         B = G T C (all but A)
         D = G A T (all but C)
         H = A C T (all but G)
         V = G C A (all but T)
         N = A G C T (any)
La naturaleza de
la información
genética
La naturaleza de la información genética
Ancho de banda de la información genética humana

3.120 Mbp/ genoma haplotide.
4 nt = 2 bits (00 A, 01 C, 10 T, 11 G)
Eyaculación promedio: 200M espermatozooides
3,12*109 * 2 bits * 2*108 = 1,28*1018 bits = 145.519,152 TB
Considerando duración de 5 segs: 29.104 TB/seg
La naturaleza de la información genética
La naturaleza de la información genética
¿Cómo llega la información biológica a ser digital?
  Método enzimatico (antiguo aunque aun en uso)
Secuenciador enzimatico (ABI3700)
La naturaleza de la información genética
¿Cómo llega la información biológica a ser digital?
  Método ionico
Secuenciador Iónico (ion torrent)
Problemas con secuencias
>gi|291310313|gb|GQ250366.1| Phomopsis sp. JMS­
2010j isolate 439B4 translation elongation factor 
1­alpha (EF1­a) gene, partial cds
AAGGTTAGTAAATATCACAGTCACGGAACATGCTACCTGGCCCTCCATACT
GCACCTCAATCATCAGCCCGCAGCTGCTCGCGCGGCCTCGCCATGTCGGGG
GGCGCATTTTCACCCCTCGCTTTGGATTTTCAATTTTCAGTGCGAGTGCGG
GGTGCGCTTATCAGGGGGCGGGCTTATCTCCTACAACCAAAACCCTGTTAC
ATCACTCACTCAATCCTTGTCACCACCACCAATACGCTCACCATCAACCCC
ATCGCCTCTTTCAATACAACTCGTGAAACGCGT

>GQ250366_Phomopsis_sp.
AAGGTTAGTAAATATCACAGTCACGGAACATGCTACCTGGCCCTCCATACT
GCACCTCAATCATCAGCCCGCAGCTGCTCGCGCGGCCTCGCCATGTCGGGG
GGCGCATTTTCACCCCTCGCTTTGGATTTTCAATTTTCAGTGCGAGTGCGG
GGTGCGCTTATCAGGGGGCGGGCTTATCTCCTACAACCAAAACCCTGTTAC
ATCACTCACTCAATCCTTGTCACCACCACCAATACGCTCACCATCAACCCC
ATCGCCTCTTTCAATACAACTCGTGAAACGCGT
Problemas con secuencias
Secuencias con vectores, conectores y
productos de clonado
Problemas con secuencias
Diseño de secuencias para sintesis de ADN: Introducir
mutaciones puntuales manteniendo traducción pero
alterando el perfil de restricción.

    Peptide: MGNCNGASK

    ORIGINAL SEQUENCE:

          7 FokI Tsp509I TspEI Sse9I
          |
          |    12 HpyCH4V CviRI
          |    |
          |    |       20 BseGI BstF5I
          |    |       |
    ATGGGTAATTGCAACGGGGCATCCAAG
    |||||||||||||||||||||||||||
    TACCCATTAACGTTGCCCCGTAGGTTC
    1                           27
Problemas con secuencias
Diseño de secuencias para sintesis de ADN: Introducir
mutaciones puntuales manteniendo traducción pero
alterando el perfil de restricción.

    Peptide: MGNCNGASK

        5 MaeIII
        |
        | 7 FokI
        | |
        | |    12 HpyCH4V CviRI
        | |    |
        | |    |       20 BseGI BstF5I
        | |    |       |
    ATGGGTAACTGCAACGGGGCATCCAAG
    |||||||||||||||||||||||||||
    TACCCATTGACGTTGCCCCGTAGGTTC
    1                           27
Biopython
Conjunto de herramientas libres en Python para bioinformática
y biología molecular

  Algunas características:

  ●Parseo archivos bioinformáticos en estructuras propias
  de Python
  ●Clase “sequence” para guardar secuencias, ids y

  distintas caracteristicas (features)
  ●Interfaces con programas bioinformáticos típicos

  (clustalw, blast, primer3 and more)
  ●Herramientas para realizar operaciones comunes con

  secuencias de ADN y proteinas (traducción, transcripción,
  Tm, peso molecular)
  ●Código para gestionar alineamientos

  ●Integración con otros lenguajes como BioCorba
Aportes a Biopython

Código:

●Tm function
●LCC function

●2 checksums function in Bio.SeqUtils.CheckSum




Otros:

●Feedback
●Bug reporting

●Testing (BLAST, SFF files, BioSQL)
Clase secuencia



>>> from Bio.Seq import Seq
>>> from Bio.Alphabet import IUPAC
>>> seq = Seq('GATCGATGGGCCTATATA',
IUPAC.unambiguous_dna)
>>> rna = seq.transcribe()
>>> str(rna)
'GAUCGAUGGGCCUAUAUA'
>>> rna.translate()
Seq('DRWAYI', IUPACProtein())
Clase SeqIO
class Convert_fasta_header():
   ''' Convert '''
   def __init__(self, seq_file_in, seq_file_out):
       ''' Read files into seq objects '''
       self.fh = open(seq_file_in, "rU")
       self.seqs = []
       for rec in SeqIO.parse(self.fh, "fasta"):
          self.c = rec.description.split('|')[3].split('.')[0]
          self.n = rec.description.split(' ')[1]
          self.n2 = rec.description.split(' ')[2].split('.')[0]
          self.new_header = '_'.join([self.c, self.n, self.n2])
          rec.description = ''
          rec.id = self.new_header
          self.seqs.append(rec)
       self.fh.close()
       self.fh = open(seq_file_out, "w")
       SeqIO.write(self.seqs, self.fh, "fasta")
       self.fh.close()
Búsqueda BLAST

from Bio.Blast import NCBIStandalone as BLAST
r,e = BLAST.blastall(b_exe, 'blastn', b_db,f_in,
                     gap_open='3', gap_extend='2',
                     wordsize=20, expectation=1e-50,
                     alignments=1, descriptions=1,
                     align_view='0', html='F')


     Analizar el resultado del BLAST
from Bio.Blast import NCBIXML
for rec in NCBIXML.parse(r):
    for align in rec.alignments:
        for hsp in align.hsps:
            print hsp.query_start, hsp.query_end
            print hsp.sbjct_start, hsp.sbjct_end
            if hsp.identities>90:
                print align.title
Análisis de restricción

# Hacer analisis de restriccion.
anal = Restriction.Analysis(Restriction.CommOnly, dna)
anal.print_as("map")
anal.print_that()
# Guardar las enzimas que cortan esta seq.
enzORI = anal.with_sites().keys()
enzORIset = set(enzORI)

(...)

anal = Restriction.Analysis(Restriction.CommOnly,
                            Seq.Seq(x, IUPAC.unambiguous_dna))
enzTMP = anal.with_sites().keys()
enzTMPset = set(enzTMP)
if enzTMPset!=enzORIset and enzORI!=None:
    pames = str(enzTMP)[1:-1]
    print 'Proposed sequence enzymes: %s' % pames
SNPs en 23andme
# https://www.23andme.com/you/download/revisions/
# 
# More information on reference human assembly build 36:
# http://www.ncbi.nlm.nih.gov/projects/mapview/map_search.cgi?
taxid=9606&build=36
#
# rsid  chromosome      position        genotype
rs4477212       1       72017   AA
rs3094315       1       742429  AA
rs3131972       1       742584  GG
rs12124819      1       766409  AA
rs11240777      1       788822  GG
rs6681049       1       789870  CC
rs4970383       1       828418  AC
rs4475691       1       836671  CT
rs7537756       1       844113  AG
rs13302982      1       851671  GG
rs1110052       1       863421  GT
rs2272756       1       871896  AG
rs3748597       1       878522  CC
rs13303106      1       881808  AG
rs28415373      1       883844  CC
class SNPdata():
  ''' Retrieve SNP data '''
  def __init__(self, seq_file_in):
     fh = open(seq_file_in)
     rsid = {}
     for line in fh:
       if not line.startswith("#"):
          data = line.split()
          rsid[data[0]] = {'chromosome':data[1], 
                           'position':int(data[2]),
                           'genotype':data[3]}
     fh.close()

  def __getitem__(self, x):
    return rsid[x]
  def __len__(self):
    return len(rsid)
Mas información
Biopython website: www.biopython.org

Documentation: biopython.org/wiki/Category:Wiki_Documentation

Cock PJ, et al. “Biopython: freely available Python tools for
computational molecular biology and bioinformatics”. Bioinformatics
2009 Jun 1; 25(11) 1422-3. doi:10.1093/bioinformatics/btp163
pmid:19304878.

Bassi S (2007) A Primer on Python for Life Science Researchers. PLoS
Comput Biol 3(11): e199. doi:10.1371/journal.pcbi.0030199

Book: “Python for Bioinformatics” http://tinyurl.com/biopython

Mailing list:

Users: http://lists.open-bio.org/mailman/listinfo/biopython/

Developers: http://lists.open-bio.org/mailman/listinfo/biopython-dev

Python in Argentina: www.python.org.ar
¡Gracias!

Más contenido relacionado

La actualidad más candente

Ejercicios espectrofotometria
Ejercicios espectrofotometriaEjercicios espectrofotometria
Ejercicios espectrofotometria
Vicky Zamora
 
Rutas Anapleróticas y Ciclo de Glioxilato
Rutas Anapleróticas y Ciclo de GlioxilatoRutas Anapleróticas y Ciclo de Glioxilato
Rutas Anapleróticas y Ciclo de Glioxilato
Naylil
 
Determinación de alcoholes por cromatografía de gases.
Determinación de alcoholes por cromatografía de gases.Determinación de alcoholes por cromatografía de gases.
Determinación de alcoholes por cromatografía de gases.
Jhonás A. Vega
 
Aplicaciones Del Analisis Gravimetrico
Aplicaciones Del Analisis GravimetricoAplicaciones Del Analisis Gravimetrico
Aplicaciones Del Analisis Gravimetrico
Luz
 
Metodos Electroquimicos de Analisis
Metodos Electroquimicos de AnalisisMetodos Electroquimicos de Analisis
Metodos Electroquimicos de Analisis
Magdiely Henriquez
 

La actualidad más candente (20)

Marcha del grupo 1
Marcha del grupo 1Marcha del grupo 1
Marcha del grupo 1
 
Ejercicios espectrofotometria
Ejercicios espectrofotometriaEjercicios espectrofotometria
Ejercicios espectrofotometria
 
Unidad ii disoluciones quimicas
Unidad ii  disoluciones quimicasUnidad ii  disoluciones quimicas
Unidad ii disoluciones quimicas
 
Potenciometría AQII
Potenciometría AQIIPotenciometría AQII
Potenciometría AQII
 
Control del Proceso en la Disolucion de la Muetsra por VH
Control del Proceso en la Disolucion de la Muetsra por VHControl del Proceso en la Disolucion de la Muetsra por VH
Control del Proceso en la Disolucion de la Muetsra por VH
 
Rutas Anapleróticas y Ciclo de Glioxilato
Rutas Anapleróticas y Ciclo de GlioxilatoRutas Anapleróticas y Ciclo de Glioxilato
Rutas Anapleróticas y Ciclo de Glioxilato
 
Método patrón interno
Método patrón internoMétodo patrón interno
Método patrón interno
 
Clase espectrometría de masas 2015
Clase espectrometría de masas  2015Clase espectrometría de masas  2015
Clase espectrometría de masas 2015
 
Turbidimetría y nefelometría
Turbidimetría y nefelometríaTurbidimetría y nefelometría
Turbidimetría y nefelometría
 
Determinación de alcoholes por cromatografía de gases.
Determinación de alcoholes por cromatografía de gases.Determinación de alcoholes por cromatografía de gases.
Determinación de alcoholes por cromatografía de gases.
 
Tratamiento de la muestra: Extracciones
Tratamiento de la muestra: ExtraccionesTratamiento de la muestra: Extracciones
Tratamiento de la muestra: Extracciones
 
Practica 3 Carbohidratos
Practica 3 CarbohidratosPractica 3 Carbohidratos
Practica 3 Carbohidratos
 
Práctica 8 maneja el polarímetro de acuerdo al instructivo de operación
Práctica 8  maneja el polarímetro de acuerdo al instructivo de operaciónPráctica 8  maneja el polarímetro de acuerdo al instructivo de operación
Práctica 8 maneja el polarímetro de acuerdo al instructivo de operación
 
Unidad iv elementos-de_transicion
Unidad iv elementos-de_transicionUnidad iv elementos-de_transicion
Unidad iv elementos-de_transicion
 
Aplicaciones Del Analisis Gravimetrico
Aplicaciones Del Analisis GravimetricoAplicaciones Del Analisis Gravimetrico
Aplicaciones Del Analisis Gravimetrico
 
Disolucion de las mesclas
Disolucion de las mesclasDisolucion de las mesclas
Disolucion de las mesclas
 
Metodos Electroquimicos de Analisis
Metodos Electroquimicos de AnalisisMetodos Electroquimicos de Analisis
Metodos Electroquimicos de Analisis
 
Limites de detección,reportables y de cuantificacion en un laboratorio ambiental
Limites de detección,reportables y de cuantificacion en un laboratorio ambientalLimites de detección,reportables y de cuantificacion en un laboratorio ambiental
Limites de detección,reportables y de cuantificacion en un laboratorio ambiental
 
Las proteínas 2013
Las proteínas 2013Las proteínas 2013
Las proteínas 2013
 
Voltamperometría
VoltamperometríaVoltamperometría
Voltamperometría
 

Similar a Biopython para el analisis de secuencias de ADN

Bioinformatica
BioinformaticaBioinformatica
Bioinformatica
burn10
 
FusterMolla.PPT
FusterMolla.PPTFusterMolla.PPT
FusterMolla.PPT
CEXFOD
 
Trabajo bioinformatica
Trabajo bioinformatica Trabajo bioinformatica
Trabajo bioinformatica
QuoRUMsensin
 
Ingeniería genética
Ingeniería genéticaIngeniería genética
Ingeniería genética
merchealari
 
Nuevos enfoques en el análisis de datos de microarrays.
Nuevos enfoques en el análisis de datos de microarrays.Nuevos enfoques en el análisis de datos de microarrays.
Nuevos enfoques en el análisis de datos de microarrays.
Alberto Labarga
 
Data mining difuso para el estudio de características estructurales y funcion...
Data mining difuso para el estudio de características estructurales y funcion...Data mining difuso para el estudio de características estructurales y funcion...
Data mining difuso para el estudio de características estructurales y funcion...
Alberto Labarga
 

Similar a Biopython para el analisis de secuencias de ADN (20)

Python en biología molecular (UNLUX 2008)
Python en biología molecular (UNLUX 2008)Python en biología molecular (UNLUX 2008)
Python en biología molecular (UNLUX 2008)
 
Introducción a la programación en bioinformática
Introducción a la programación en bioinformáticaIntroducción a la programación en bioinformática
Introducción a la programación en bioinformática
 
Python en ciencia Pycon Argentina 2009
Python en ciencia Pycon Argentina 2009Python en ciencia Pycon Argentina 2009
Python en ciencia Pycon Argentina 2009
 
Las multiples caras de la bioinformatica
Las multiples caras de la bioinformaticaLas multiples caras de la bioinformatica
Las multiples caras de la bioinformatica
 
Secuencias Genoma.ppt
Secuencias Genoma.pptSecuencias Genoma.ppt
Secuencias Genoma.ppt
 
Taller 2 dorys viviescas
Taller 2 dorys viviescasTaller 2 dorys viviescas
Taller 2 dorys viviescas
 
INFORME DE LA PRACTICA N 04 ANALISIS DE SECUENCIAS DE ADN Y USO DEL BANCO DE ...
INFORME DE LA PRACTICA N 04 ANALISIS DE SECUENCIAS DE ADN Y USO DEL BANCO DE ...INFORME DE LA PRACTICA N 04 ANALISIS DE SECUENCIAS DE ADN Y USO DEL BANCO DE ...
INFORME DE LA PRACTICA N 04 ANALISIS DE SECUENCIAS DE ADN Y USO DEL BANCO DE ...
 
Examen final Bio_y_Lab_I_2020
Examen final Bio_y_Lab_I_2020Examen final Bio_y_Lab_I_2020
Examen final Bio_y_Lab_I_2020
 
Bioinformatica
BioinformaticaBioinformatica
Bioinformatica
 
FusterMolla.PPT
FusterMolla.PPTFusterMolla.PPT
FusterMolla.PPT
 
Nº1 analisis de secuencias ayrton soto
Nº1 analisis de secuencias ayrton sotoNº1 analisis de secuencias ayrton soto
Nº1 analisis de secuencias ayrton soto
 
Juan Antonio Calles & Patricia Rada - Biohacking: Almacenando información en ...
Juan Antonio Calles & Patricia Rada - Biohacking: Almacenando información en ...Juan Antonio Calles & Patricia Rada - Biohacking: Almacenando información en ...
Juan Antonio Calles & Patricia Rada - Biohacking: Almacenando información en ...
 
Biologia Celular Atlasbiologiamoleculari(2)
Biologia Celular Atlasbiologiamoleculari(2)Biologia Celular Atlasbiologiamoleculari(2)
Biologia Celular Atlasbiologiamoleculari(2)
 
Trabajo bioinformatica
Trabajo bioinformatica Trabajo bioinformatica
Trabajo bioinformatica
 
Bioinformática: desde las proteínas mitocondriales a la genómica
Bioinformática: desde las proteínas mitocondriales a la genómicaBioinformática: desde las proteínas mitocondriales a la genómica
Bioinformática: desde las proteínas mitocondriales a la genómica
 
Ingeniería genética
Ingeniería genéticaIngeniería genética
Ingeniería genética
 
Ejercicios biologia primer cuatrimestre
Ejercicios biologia primer cuatrimestreEjercicios biologia primer cuatrimestre
Ejercicios biologia primer cuatrimestre
 
Python workshop
Python workshopPython workshop
Python workshop
 
Nuevos enfoques en el análisis de datos de microarrays.
Nuevos enfoques en el análisis de datos de microarrays.Nuevos enfoques en el análisis de datos de microarrays.
Nuevos enfoques en el análisis de datos de microarrays.
 
Data mining difuso para el estudio de características estructurales y funcion...
Data mining difuso para el estudio de características estructurales y funcion...Data mining difuso para el estudio de características estructurales y funcion...
Data mining difuso para el estudio de características estructurales y funcion...
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (11)

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Biopython para el analisis de secuencias de ADN

Notas del editor

  1. Advanta: Crop genotyping (sunflower and corn) Primer design Marker seach database curation INTA: Sequencing effort Data display