Biopython para el analisis de secuencias de ADN

download Biopython para el analisis de secuencias de ADN

If you can't read please download the document

Transcript of Biopython para el analisis de secuencias de ADN

1. Python para el procesamiento desecuencias genticasSebastin [email protected]: @sbassi 2. La naturaleza de la informacin genticaLOCUSNM_0529483941bpmRNAlinearPRI02NOV2012DEFINITIONHomosapiensRhoGTPaseactivatingprotein33(ARHGAP33),transcriptvariant1,mRNA.ACCESSIONNM_052948VERSIONNM_052948.3GI:289547505SOURCEHomosapiens(human)ORGANISMHomosapiensEukaryota;Metazoa;Chordata;Craniata;Vertebrata;Euteleostomi;Mammalia;Eutheria;Euarchontoglires;Primates;Haplorrhini;Catarrhini;Hominidae;Homo.1acgggcagccgttaggggcggggtctgcagccgcccgcgcgcggctcgcgccctcccctt61tgtgtcgccatggcggcggcagcggcgacgagaacggcgagcgaggggtcgagcgcggcc121ggggcctgaggaggctacgcgaccatggtggcacgcagcactgacagcctggatggccca181ggggagggctcggtgcagcctctacccactgctggggggcccagtgtgaaggggaagcct241gggaagaggctctcagctcctcgaggccccttcccgcggctggctgactgcgcccatttc301cactacgagaacgttgactttggccacattcagctcctgctgtctccagaccgtgaaggg361cccagcctctctggagagaatgagctggtgttcggggtgcaggtgacctgtcagggccgt421tcctggccggttctccggagttacgatgactttcgttccctggatgcccacctccaccgg481tgcatatttgaccggaggttctcctgccttccggagcttcccccgccccccgagggtgcc541agggctgcccagatgctggtgccactgctgctgcagtacctggagacactgtcaggactg601gtggacagtaacctcaactgcgggcctgtgctcacctggatggagctggacaatcacggc661cggcgactgctcctcagtgaggaggcgtcactcaatatccctgcagtggcggccgcccat 3. La naturaleza de la informacin gentica 4. La naturaleza de la informacin gentica NomenclaturaIUPAC A=adenine C=cytosine G=guanine T=thymine R=GA(purine) Y=TC(pyrimidine) K=GT(keto) M=AC(amino) S=GC(strongbonds) W=AT(weakbonds) B=GTC(allbutA) D=GAT(allbutC) H=ACT(allbutG) V=GCA(allbutT) N=AGCT(any) 5. La naturaleza dela informacingentica 6. La naturaleza de la informacin genticaAncho de banda de la informacin gentica humana3.120 Mbp/ genoma haplotide.4 nt = 2 bits (00 A, 01 C, 10 T, 11 G)Eyaculacin promedio: 200M espermatozooides3,12*109 * 2 bits * 2*108 = 1,28*1018 bits = 145.519,152 TBConsiderando duracin de 5 segs: 29.104 TB/seg 7. La naturaleza de la informacin gentica 8. La naturaleza de la informacin genticaCmo llega la informacin biolgica a ser digital?Mtodo enzimatico (antiguo aunque aun en uso) 9. Secuenciador enzimatico (ABI3700) 10. La naturaleza de la informacin genticaCmo llega la informacin biolgica a ser digital?Mtodo ionico 11. Secuenciador Inico (ion torrent) 12. Problemas con secuencias>gi|291310313|gb|GQ250366.1|Phomopsissp.JMS2010jisolate439B4translationelongationfactor1alpha(EF1a)gene,partialcdsAAGGTTAGTAAATATCACAGTCACGGAACATGCTACCTGGCCCTCCATACTGCACCTCAATCATCAGCCCGCAGCTGCTCGCGCGGCCTCGCCATGTCGGGGGGCGCATTTTCACCCCTCGCTTTGGATTTTCAATTTTCAGTGCGAGTGCGGGGTGCGCTTATCAGGGGGCGGGCTTATCTCCTACAACCAAAACCCTGTTACATCACTCACTCAATCCTTGTCACCACCACCAATACGCTCACCATCAACCCCATCGCCTCTTTCAATACAACTCGTGAAACGCGT>GQ250366_Phomopsis_sp.AAGGTTAGTAAATATCACAGTCACGGAACATGCTACCTGGCCCTCCATACTGCACCTCAATCATCAGCCCGCAGCTGCTCGCGCGGCCTCGCCATGTCGGGGGGCGCATTTTCACCCCTCGCTTTGGATTTTCAATTTTCAGTGCGAGTGCGGGGTGCGCTTATCAGGGGGCGGGCTTATCTCCTACAACCAAAACCCTGTTACATCACTCACTCAATCCTTGTCACCACCACCAATACGCTCACCATCAACCCCATCGCCTCTTTCAATACAACTCGTGAAACGCGT 13. Problemas con secuenciasSecuencias con vectores, conectores yproductos de clonado 14. Problemas con secuenciasDiseo de secuencias para sintesis de ADN: Introducirmutaciones puntuales manteniendo traduccin peroalterando el perfil de restriccin.Peptide:MGNCNGASKORIGINALSEQUENCE:7FokITsp509ITspEISse9I||12HpyCH4VCviRI||||20BseGIBstF5I|||ATGGGTAATTGCAACGGGGCATCCAAG|||||||||||||||||||||||||||TACCCATTAACGTTGCCCCGTAGGTTC127 15. Problemas con secuenciasDiseo de secuencias para sintesis de ADN: Introducirmutaciones puntuales manteniendo traduccin peroalterando el perfil de restriccin.Peptide:MGNCNGASK5MaeIII||7FokI||||12HpyCH4VCviRI||||||20BseGIBstF5I||||ATGGGTAACTGCAACGGGGCATCCAAG|||||||||||||||||||||||||||TACCCATTGACGTTGCCCCGTAGGTTC127 16. BiopythonConjunto de herramientas libres en Python para bioinformticay biologa molecularAlgunas caractersticas:Parseo archivos bioinformticos en estructuras propiasde PythonClase sequence para guardar secuencias, ids ydistintas caracteristicas (features)Interfaces con programas bioinformticos tpicos(clustalw, blast, primer3 and more)Herramientas para realizar operaciones comunes consecuencias de ADN y proteinas (traduccin, transcripcin,Tm, peso molecular)Cdigo para gestionar alineamientosIntegracin con otros lenguajes como BioCorba 17. Aportes a BiopythonCdigo:Tm functionLCC function2 checksums function in Bio.SeqUtils.CheckSumOtros:FeedbackBug reportingTesting (BLAST, SFF files, BioSQL) 18. 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()) 19. Clase SeqIOclass Convert_fasta_header():Convertdef __init__(self, seq_file_in, seq_file_out):Read files into seq objectsself.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_headerself.seqs.append(rec) self.fh.close() self.fh = open(seq_file_out, "w") SeqIO.write(self.seqs, self.fh, "fasta") self.fh.close() 20. Bsqueda BLASTfrom Bio.Blast import NCBIStandalone as BLASTr,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 BLASTfrom Bio.Blast import NCBIXMLfor rec in NCBIXML.parse(r):for align in rec.alignments:for hsp in align.hsps:print hsp.query_start, hsp.query_endprint hsp.sbjct_start, hsp.sbjct_endif hsp.identities>90:print align.title 21. Anlisis de restriccin# 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 22. SNPs en 23andme 23. #https://www.23andme.com/you/download/revisions/##Moreinformationonreferencehumanassemblybuild36:#http://www.ncbi.nlm.nih.gov/projects/mapview/map_search.cgi?taxid=9606&build=36##rsidchromosomepositiongenotypers4477212172017AArs30943151742429AArs31319721742584GGrs121248191766409AArs112407771788822GGrs66810491789870CCrs49703831828418ACrs44756911836671CTrs75377561844113AGrs133029821851671GGrs11100521863421GTrs22727561871896AGrs37485971878522CCrs133031061881808AGrs284153731883844CC 24. classSNPdata():RetrieveSNPdatadef__init__(self,seq_file_in): fh=open(seq_file_in) rsid={} forlineinfh: ifnotline.startswith("#"):data=line.split()rsid[data[0]]={chromosome:data[1],position:int(data[2]),genotype:data[3]}fh.close()def__getitem__(self,x):returnrsid[x]def__len__(self):returnlen(rsid) 25. Mas informacinBiopython website: www.biopython.orgDocumentation: biopython.org/wiki/Category:Wiki_DocumentationCock PJ, et al. Biopython: freely available Python tools forcomputational molecular biology and bioinformatics. Bioinformatics2009 Jun 1; 25(11) 1422-3. doi:10.1093/bioinformatics/btp163pmid:19304878.Bassi S (2007) A Primer on Python for Life Science Researchers. PLoSComput Biol 3(11): e199. doi:10.1371/journal.pcbi.0030199Book: Python for Bioinformatics http://tinyurl.com/biopythonMailing list:Users: http://lists.open-bio.org/mailman/listinfo/biopython/Developers: http://lists.open-bio.org/mailman/listinfo/biopython-devPython in Argentina: www.python.org.ar 26. Gracias!