Bio python
-
Upload
pericles-miranda -
Category
Documents
-
view
1.708 -
download
2
description
Transcript of Bio python
Péricles [email protected]
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]
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]
• Genômica
– Análise, edição e manipulação
• Proteômica
Importância biológica
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]
Péricles [email protected]
Computação solucionando problemas
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
Na Prática
>>> coding_dna
Seq('ATGGCCATTGG', IUPACUnambiguousDNA())
>>> messenger_rna = coding_dna.transcribe()
>>> messenger_rna
Seq('AUGGCCAUUG', IUPACUnambiguousRNA())
Péricles [email protected]
Na Prática
>>> messenger_rna
Seq("AUGGCCAUUG", IUPAC.unambiguous_rna)
>>> messenger_rna.translate()
Seq('MAIVMGR*KGAR*',
HasStopCodon(IUPACProtein(), '*'))
Péricles [email protected]
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]
Na Prática
Usando o programa para alinhamento:
>>> from Bio.Align.Applications import ClustalwCommandline
>>> cline = ClustalwCommandline("clustalw2", infile="opuntia.fasta")
Péricles [email protected]
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]
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]
Material
• http://biopython.org/
– Tutorial
– Downloads
– Samples
– Fóruns
– Documentação
– Repositório no Github
Péricles [email protected]