bio python

28
Péricles Miranda [email protected]

Upload: pericles-miranda

Post on 10-Jun-2015

1.708 views

Category:

Documents


2 download

DESCRIPTION

Presentation in PUG-PE on 11/06

TRANSCRIPT

Page 1: Bio python

Péricles [email protected]

Page 2: Bio python

Quem sou eu?

• Engenheiro da Computação - UPE

• Mestrando em CC – UFPE

• Interesse em Web, móvel e IA

• pbcm.wordpress.com

Péricles [email protected]

Page 3: Bio python
Page 4: Bio python

Importância biológica

• Medicina {Diagnóstico e tratamento}

• Farmácia {desenvolvimento de novos fármacos}

• Agricultura {aumento da qualidade e produtividade dos alimentos}

Péricles [email protected]

Page 5: Bio python

• Genômica

– Análise, edição e manipulação

• Proteômica

Importância biológica

Page 6: Bio python

Problemas na Biologia?

• A biologia possui muitos problemas:

– Comparação de sequências;

– Mapemento de sequências;

– Identificação de regiões conservadas;

– Identificação de novas espécies;

– Análise de doenças.

Péricles [email protected]

Page 7: Bio python

Péricles [email protected]

Computação solucionando problemas

Page 8: Bio python

Soluções

• Bioinformática:– Desenvolvimento de novos algoritmos e técnicas

estatísticas para encontrar relacionamentos entre atributos em grandes conjuntos de dados;

– Aplicação de ferramentas {implementam AM} de computação e análise para captura e interpretação de dados biológicos;

– Desenvolvimento e implementação de ferramentas que possibilitem o gerenciamento e acesso eficientes de vários tipos de informação.

Péricles [email protected]

Page 9: Bio python

Soluções

• BLAST – Ferramenta de comparação de sequências ;

– Gera relatórios textuais e gráficos;

– Integrado com vários repositórios;

– Documentação que tende à completude;

– Disponibiliza API.

Péricles [email protected]

Page 10: Bio python

Biologia Python BioPython

Péricles [email protected]

Soluções

Page 11: Bio python

BioPython

• É um conjunto de ferramentas disponíveispara computação biológica;

• Agrega bibliotecas e aplicações que satisfazemas necessidades da bioinformática;

• O código fonte está disponível.

Péricles [email protected]

Page 12: Bio python
Page 13: Bio python

BioPython

• Converte arquivos em formatos da bioinformática paraobjetos do tipo dicionário:– Blast– FASTA – GenBank– PubMed e Medline – UniGene– SwissProt

• Interfaces com os programas mais usados nabioinformática:– NCBI – Programa de alinhamento Clustalw– Ferramentas de linha de comando EMBOSS

Péricles [email protected]

Page 14: Bio python

BioPython

• A classe Sequence lida com sequências e suascaracterísticas;

• Ferramentas que operam sobre sequências: tradução, transcrição e cálculo de pesos;

• Çlassificadores usando k-NN, Naive Bayes ouSVM;

• Geração de alinhamentos, e definição de matrizesde pesos;

• Programas baseados em Interface gráfica;• Integração com o BioSQL.

Péricles [email protected]

Page 15: Bio python

Na Prática

>>> from Bio.Seq import Seq

>>> my_seq = Seq("AGTACACTGGT")

>>> my_seq

Seq('AGTACACTGGT', Alphabet())

>>> print my_seq

AGTACACTGGT

Péricles [email protected]

Page 16: Bio python

Na Prática

>>> seq1 = Seq('AGTACACTGGT', Alphabet())

>>> seq1.complement()

Seq('TCATGTGACCA',Alphabet())

>>> seq1.reverse_complement()

Seq('ACCAGTGTACT', Alphabet())

>>> str(seq1)

'AGTACACTGGT'

Péricles [email protected]

Page 17: Bio python

Na Prática

>>> from Bio.Seq import Seq

>>> from Bio.Alphabet import IUPAC

>>> my_prot = Seq("AGUACACUGGU", IUPAC.protein)

>>> my_prot

Seq('AGUACACUGGU', IUPACProtein())

>>> my_prot.alphabet

IUPACProtein()

Péricles [email protected]

Page 18: Bio python

Na Prática

from Bio import SeqIO

for seq_record in SeqIO.parse("ls_orchid.fasta","fasta"): print seq_record.id print repr(seq_record.seq) print len(seq_record)

Saída:gi|2765658|emb|Z78533.1|CIZ78533Seq('CGTAACAAGGTTTCCGTAGGTGCGTGG...CGC', SingleLetterAlphabet())740 ... gi|2765564|emb|Z78439.1|PBZ78439Seq('CATTGTTGAGATCACATAATAATTGATCT...GCC', SingleLetterAlphabet()) 592

Péricles [email protected]

Page 19: Bio python

Na Prática

>>> from Bio import SeqIO

>>> record = SeqIO.read("NC_005816.gb", "genbank")

>>> record

SeqRecord(seq=Seq('TGT...CTGTAGA', IUPACDNA()), id='NC_005816.1',

name='NC_005816',

description='Microtus str. 91001 plasmid pPCP1, dbxrefs=['Project:10638'])

Péricles [email protected]

Page 20: Bio python

Na Prática

>>> coding_dna

Seq('ATGGCCATTGG', IUPACUnambiguousDNA())

>>> messenger_rna = coding_dna.transcribe()

>>> messenger_rna

Seq('AUGGCCAUUG', IUPACUnambiguousRNA())

Péricles [email protected]

Page 21: Bio python

Na Prática

>>> messenger_rna

Seq("AUGGCCAUUG", IUPAC.unambiguous_rna)

>>> messenger_rna.translate()

Seq('MAIVMGR*KGAR*',

HasStopCodon(IUPACProtein(), '*'))

Péricles [email protected]

Page 22: Bio python

Na Prática

• Existe uma série de algoritmos biológicos;• A ideia não é que o usuário os reimplemente;• Existem programas, acessíveis ao BioPython, que

realiza o trabalho por você.

>>> import Bio.Align.Applications >>> dir(Bio.Align.Applications) ...['ClustalwCommandline', 'DialignCommandline',

'MafftCommandline', 'MuscleCommandline', 'PrankCommandline', 'ProbconsCommandline', 'TCoffeeCommandline' ...]

Péricles [email protected]

Page 23: Bio python

Na Prática

Usando o programa para alinhamento:

>>> from Bio.Align.Applications import ClustalwCommandline

>>> cline = ClustalwCommandline("clustalw2", infile="opuntia.fasta")

Péricles [email protected]

Page 24: Bio python

Na Prática

Alinhamento no BLAST:

>>> from Bio.Blast import NCBIWWW

>>> fasta_string = open("m_cold.fasta").read()

>>> result_handle = NCBIWWW.qblast("blastn", "nr", fasta_string)

>>> from Bio.Blast.Applications import NcbiblastxCommandline

>>> blastx_cline = NcbiblastxCommandline(query="opuntia.fasta",

db="nr", evalue=0.001, ... outfmt=5, out="opuntia.xml")

Péricles [email protected]

Page 25: Bio python

Na Prática

• Buscando o lineage do organismo:>>> from Bio import Entrez

>>> handle = Entrez.esearch(db="Taxonomy", term="Cypripedioideae")

>>> records[0].keys() [u'Lineage', u'Division', u'ParentTaxId', u'PubDate', u'LineageEx', u'CreateDate', u'TaxId', u'Rank', u'GeneticCode', u'ScientificName', u'MitoGeneticCode', u'UpdateDate']

>>> records[0]["Lineage"] 'cellular organisms; Eukaryota; Viridiplantae; Streptophyta; Streptophytina; Embryophyta; Tracheophyta; Euphyllophyta; Spermatophyta; Magnoliophyta; Liliopsida; Asparagales; Orchidaceae'

Péricles [email protected]

Page 26: Bio python

Na Prática

• Suporte 3D;

• PyMol.

Péricles [email protected]

Page 27: Bio python

Material

• http://biopython.org/

– Tutorial

– Downloads

– Samples

– Fóruns

– Documentação

– Repositório no Github

Page 28: Bio python

Péricles [email protected]