WISE2 Algoritmos inteligentes para busca em DNA

Slides:



Advertisements
Apresentações semelhantes
O DNA e a Síntese de Proteínas
Advertisements

Princípios da Genética Microbiana
Um programa em C Bibliotecas Variáveis globais
Síntese de Proteínas.
TRANSCRIÇÃO E TRADUÇÃO DE PROTEÍNAS EM PROCARIOTOS
Estrutura e função do RNA
Replicação da molécula de DNA
Ácidos Nucléicos.
PROFª. Marília Scopel Andrighetti
Ácidos Nucleicos.
Genética bacteriana.
O que você deve saber sobre
7 Abstração Genérica Unidades genéricas e instanciação.
ÁCIDOS NUCLEICOS (DNA e RNA)
Análise Computacional de Seqüências Nucleotídicas e Protéicas
Biologia volume único 3.ª edição Armênio Uzunian Ernesto Birner.
Transcription and Translation
GENÉTICA MOLECULAR Tanto em organismos procariontes como em organismos eucariontes, qualquer classe de moléculas deve preencher certos requisitos básicos.
BMP5748 – 2011 Exame * A C B classes
Replicação, transcrição e tradução
CITOGENÉTICA - os ácidos nucleicos -
CONVERSOR DE DNA Aperte “Enter” para começar!.
Genética Molecular em Análises Clínicas
ESTRUTURA DO GENOMA HUMANO
Solucionar de forma otimizada os problemas que exijam alto esforço computacional e assim assegurar a satisfação dos clientes.
Metabolismo de controle: síntese de proteínas
Primeira aula de PL/SQL Parte II
Prof. Ricardo Santos PONTEIROS
1ºCurso Avançado Tema :Engenharia Genética Prof.:Marcelo Brito
WISE2 Algoritmos inteligentes para busca em DNA
A genética e os genes.
Monte uma Proteína de Forma Interativa
Predição computacional de genes
Ciências da Natureza e suas Tecnologias - Biologia
Estrutura e função de ácidos nucleicos, Replicação de DNA, transcrição e processamento de RNA, expressão gênica.
CAP3 (Contig Assembly Program)
Programação e Aplicações Gráficas
Curso Intensivo de Anotação de ESTs de Crinipellis perniciosa Eduardo Fernandes Formighieri Laboratório de Genômica e Expressão / UNICAMP Fevereiro
Estruturas de Dados Aula 6: Cadeias de Caracteres
AULA 10 ÁCIDOS NUCLÉICOS Profº Lásaro Henrique. PRÊMIO NOBEL James Watson e Francis Crick.
RepeatMasker Aluno: Fred Ulisses maranhão Professora: Kátia S. Guimarães Algoritmos p/ processamento de Cadeias, Cin, UFPE - 1/2001.
Identificação dos Genes de uma cadeia de DNA com a ferramenta GENSCAN
Definições e tipos de alinhamento. O uso do BLAST
Identificação dos Genes de uma cadeia de DNA com a ferramenta GENSCAN Lauro Didier Lins Junho de 2001.
Como analisar um algoritmo
Daniel C. Carvalho(IC), Marco A. Romano-Silva,
Estrutura e função do RNA
Melhorando Alinhamentos Locais Katia Guimarães
Sequencing by Hybridization Aluno: Ennio Baptista Orientadora: Kátia Guimarães
Marcelo Falsarella Carazzolle Laboratório de Genômica e Proteômica
Análise Computacional de Seqüências Nucleotídicas e Protéicas BLAST Antonio Basílio de Miranda 24/11/2004 Adaptado por Marcos Catanho 10/05/2005.
Metabolismo De Construção
Principais algoritmos de alinhamento de sequências genéticas
Síntese proteica Colégio Delos Colégio Delos
Síntese de Proteínas Tradução.
Proteômica A.
Síntese de Proteínas.
SÍNTESE DE PROTEÍNAS SÍNTESE PROTEÍCA.
Bioinformática Felipe G. Torres.
Estrutura e função do RNA
Alinhamentos e Busca de Similaridade Ariane Machado Lima.
CITOGENÉTICA E CITOLOGIA CLÍNICA
ÁCIDOS NUCLEICOS: DNA e RNA
CENTRO DE GENOMICA E FITOMELHORAMENTO Introdução à Bioinformática
Supplementary Figure S1 A NormalLuminal A Luminal B Basal- like HER2- enriched Normal-like Ly6E Log2 (Expression Value) B ER+ Triple.
Hidden Markov Models 2 de maio de K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2.
Biologia dos marcadores moleculares parte I: o mundo de RNA Almir R. Pepato.
CITOGENÉTICA.
ÁCIDOS NUCLÉICOS Nos ácidos nucléicos podem identificar-se três constituintes fundamentais: Ácido fosfóricoÁcido fosfórico(fosfato) - confere aos ácidos.
ÁCIDOS NUCLEICOS BIOLOGIA. Em 1865, o bioquímico Friedrich Miescher verificou, no núcleo de glóbulos brancos do pus e de espermatozoides, a presença de.
Transcrição da apresentação:

WISE2 Algoritmos inteligentes para busca em DNA http://www.sanger.ac.uk/Software/Wise2/

DNA Exon 1 Intron A Exon 2 Intron B Exon 3 transcrição  Tradução Processo pelo qual a informação genética ( que é estocada na seqüência de nucleotídeos numa molécula de mRNA) é traduzida em uma seqüência de aminoácidos Intron Exon-GU..............................................AG-Exon DNA Exon 1 Intron A Exon 2 Intron B Exon 3 transcrição  Transcrito 5’ Exon 1 Intron A Exon 2 Intron B Exon 3 3’ Primário: Códon n Códon n+1 --------------------- Processamento do RNA  mRNA Exon 1 Exon 2 Exon 3 -- tradução  Polipeptídeo

A: GCT GCC GCA GCG C: TGT TGC D: GAT GAC E: GAA GAG F: TTT TTC G: GGT GGC GGA GGG H: CAT CAC I: ATT ATC ATA K: AAA AAG L: TTA TTG CTT CTC CTA CTG M: ATG N: AAT AAC P: CCT CCC CCA CCG Q: CAA CAG R: CGT CGC CGA CGG AGA AGG S: TCT TCC TCA TCG AGT AGC T: ACT ACC ACA ACG V: GTT GTC GTA GTG W: TGG X: TAA TAG TGA Y: TAT TAC

Problema: Dada uma proteína e uma seqüência de DNA, é possível compará-las, apesar de terem unidades distintas, existirem erros de notação e Introns?

O que é o WISE2 ? Wise2 é um pacote orientado à comparação de biopolímeros, comumente seqüências de DNA e proteínas. Mas já não existem outras ferramentas que fazem isso?

Concorrentes: BLAST package ( NCBI) Sequence Searching Fasta package (Bill Pearson) Sequence Searching SAM package (UC Santa Cruz) HMM HMMER package (Sean Eddy) HMM Pfam

Quais as vantagens do WISE2? O ponto forte do Wise2 é a comparação de seqüência de DNA a nível de sua tradução protéica . Implementação dos algoritmos mais robusta: Integração tecnológica faz do WISE2 o parceiro ideal para o HMMER e Pfam; Design permite reutilização e alteração do código. Manuseio de grandes pedaços de DNA sem estouro de memória;

Desvantagens Entradas de 6 a 80kb levam até 15 minutos para gerar uma saída Entradas acima de 80 kb produzem erros de saída via WEB Baixa Velocidade Opções -u -v ( início e final de cadeia de DNA a ser comparada) Scripts em Pearl - Blastwise e Halfwise O algoritmo GENEWISE não tenta predizer um gene inteiro, mas regiões que apresentam homologia com a proteína. Até o momento dispõe somente de arquivos de freqüencia de genes em Humanos e animais inferiores. Uso de memória Linear com perda de desempenho quando uso de matrizes ultrapassam 20 MB

Modos 4 programas principais executáveis: Genewise Cadeia proteica vs Seqüência simples de DNA Genewisedb Banco de dados de proteínas vs banco de dados de seqüências de DNA. Estwise Cadeia proteica vs Seqüência simples de cDNA/EST Estwisedb Banco de dados de proteínas vs banco de dados de seqüências de cDNA/EST.

OPÇÕES -u Posição inicial no DNA -v Posição final no DNA -trev Comparação do reverso -tfor (default) Comparação standard -both Comparação nos dois sentidos -s Posição inicial na proteína - não aplicável a HMM -t Posição final na proteína - não aplicável a HMM -gap [no] default [12] gap penalty -ext [no] default [2] extension penalty -matrix default [blosum62.bla] Matriz de Comparação. Estima a probabilidade de comparações de aminoácidos -hmmer especifica que o modelo proteico é do tipo HMM -hname Nomeia o HMM -init DEFAULT

GENEWISE genewise protein.pep cosmid.dna compara uma seqüência proteica a uma de DNA genewise -hmmer pkinase.hmm cosmid.dna compara uma seqüência proteica ( HMM) a uma de DNA .

GENEWISEdb genewisedb protein.pep human.fa compara uma seqüência proteica a um banco de DNA genewisedb -hmmer pkinase.hmm human.fa compara uma seqüência proteica (HMM) a um banco de DNA genewisedb -prodb protein.pep -dnas cosmid.dna compara um banco de seqüências proteicas a uma seqüência de DNA genewisedb -pfam Pfam -dnas cosmid.dna compara um banco de seqüências proteicas (HMM) a uma seqüência de DNA genewisedb -prodb protein.pep human.fa compara um banco de seqüências proteicas a um de seqüências de DNA genewisedb -pfam Pfam human.fa compara um banco de seqüências proteicas (HMM) a uma seqüência proteica

ESTWISE estwise protein.pep singleest.fa compara uma seqüência proteica a uma de DNA estwise -hmmer pkinase.hmm singleest.fa compara uma seqüência proteica (HMM) a uma de DNA

ESTWISEdb estwisedb protein.pep est.fa compara uma seqüência proteica a um banco de DNA estwisedb -hmmer pkinase.hmm est.fa compara uma seqüência proteica (HMM) a um banco de DNA estwisedb -prodb protein.pep -dnas singleest.fa compara um banco de seqüências proteicas a uma de DNA estwisedb -pfam Pfam -dnas singleest.fa compara um banco de seqüências proteicas (HMM) a uma de DNA estwisedb -prodb protein.pep est.fa compara um banco de seqüências proteicas a um banco de DNA

genewise fly.pep human.genomic > genewise.out ENTRADA fly.pep >ROA1_DROME P07909 HETEROGENEOUS NUCLEAR RIBONUCLEOPROTEIN A1 (HNRNP CORE PROTEIN A1-A) (PEN REPEAT CLONE P9). MVNSNQNQNGNSNGHDDDFPQDSITEPEHMRKLFIGGLDYRTTDENLKAHFEKWGNIVDVVVMKDPRTKRSRGFGFITYSHSSMIDEAQKSRPHKIDGRVVEPKRAVPRQDIDSPNAGATVKKLFVGALKDDHDEQSIRDYFQHFGNIVDINIVIDKETGKKRGFAFVEFDDYDPVDKVVLQKQHQLNGKMVDVKKALPKQNDQQGGGGGRGGPGGRAGGNRGNMGGGNYGNQNGGGNWNNGGNNWGNNRGGNDNWGNNSFGGGGGGGGGYGGGNNSWGNNNPWDNGNGGGNFGGGGNNWNNGGNDFGGYQQNYGGGPQRGGGNFNNNRMQPYQGGGGFKAGGGNQGNYGGNNQGFNNGGNNRRY

genewise fly.pep human.genomic > genewise.out ENTRADA human.genomic >HSHNRNP ACGCAAAGCTAGGACAAACTCCCGCCAACACGCAGGCGCCGTAGGTTCACTGCCTACTCCTGCCCGCCATTTCACGTGTTCTCAGAGGCAGGTGGAACTTCTTAATGCGCCTGCGCAAAACTCGCCATTTTACTACACGTGCGGTCAACAAGAGTTCATTGCAAAAAAATTGTTACCTCCTAGCTGCTTGTCTAATACATAGTGTTAATCATGCTTTGCCAAGCGACTTGACTGTAATATTTGCGCGTGGAAGATTAAAAAGATGTTAAACACCCAAGGTAGATTCAAATGTGAATGATTGGTCGGTTGGCCAATCAGACTGGTTAACAATAACATTACTCGGGAACCAATGGACTCCAAGGGGTGGAGACGGCGTAGAACGACCGAAGGAATGACGTTACACAGCAATGTGGCACCACAGGCCAATAGCAGGGGGAAGCGATTTCAAGTATCCAATCAGAGCTGTTCTAGGGCGGAGTCTACCAATGCCGAAAGCGAGGAGGCGGGGTAAAAAAGAGAGGGCGAAGGTAGGCTGGCAGATACGTTCGTCAGCTTGCTCCTTTCTGCCCGTGGACGCCGCCGAAGAAGCATCGTTAAAGTCTCTCTTCACCCTGCCGTCATGTCTAAGTCAGAGGTGAGTTAGGCGCGCTTTCCCACTTGAATTTTTTCCTCTCCCTTTCCTGAATCGGTAAGATGCTGCTGGGTTTCGTTCCTTGCACCAGCCCATTCTACAGTTCCTTCGGTCGCTGCCACGGCCTACCCCTCCCAAAGTTCAAGTCGCCATTTTGTCCTCTTGATCGCCATGAGGCCGCTCTCCGCCAACCATGTGTTATCATGCGGGACTCGTTACTCGTAGCAAAATTCTTAGGCACACAGGATCTTTGTCTTTTTTTAAACCTTGCCTTGGTGAGCGAGTTTTCTAAAGAGCGATTAGTCCCATTGTGGAGATGCACCCCTACCGCCCAAGCCTTTGTTGCGCGTGCGTCGGAAGGCGACTAGGGACGCATGCGCTTGCGATTTCCTAGCACTCCCAACTCCAGCATACGGCCTCCCTTGATAGGCAGAAGCACGTGTCTTGTTGCGACCTGAACGAACAATAAGTGCTAGGTACACAGTTGGTGTCTAGTTTTTCTTTTCCTCGATGGAAATTGTTTCGTGTTGTAGCCCATTTAACACTTCCCCCTCCCCCCACTCTAGTCTCCTAAAGAGCCCGAACAGCTGAGGAAGCTCTTCATTGGAGGGTTGAGCTTTGAAACAACTGATGAGAGCCTGAGGAGCCATTTTGAGCAATGGGGAACGCTCACGGACTGTGTGGTAAGATTTGGAAGGGACAAAGCAGTAAAACAGCCGATTTCCTTGGCTTATCTTGGTGCAGTCTTCTCCGAATGCTTATGAAAGTAGTTAATAGCATTATAGTTAGAGCTTTGTTGGCAAAGGAACGTCCTGCTTTGATTTTAAAAGCTAACCTCTTAAATCTAAGGGTAGTGGGAAACTGGACGAACTTTTTATAAAAGGCTGGTGTAAAGTTTCCTATTGCCCTATTCAAAGTTAAAATAACAAAAGCTTTTGCGGTCAGACTTTGTGTTACATAAATTAACACTGTTCTCAGGTAATGAGAGATCCAAACACCAAGCGCTCTAGGGGCTTTGGGTTTGTCACATATGCCACTGTGGAGGAGGTGGATGCAGCTATGAATGCAAGGCCACACAAGGTGGATGGAAGAGTTGTGGAACCAAAGAGAGCTGTCTCCAGAGAAGTGAGTGGGTTTTTTTTCTTCTTCTTCTTAAACTTACTTGGATATGTGCTGCTATGAACTTAAGATTCGGGAGTTTTCTAAACTTACCAAAATTTTTTATTCGAGTATAGGCTTTGCTAATCTAAACCTATGGTTTTTCTCCTATTAGGATTCTCAAAGACCAGGTGCCCACTTAACTGTGAAAAAGATATTTGTTGGTGGCATTAAAGAAGACACTGAAGAACATCACCTAAGAGATTATTTTGAACAGTATGGAAAAATTGAAGTGATTGAAATCATGACTGACCGAGGCAGTGGCAAGAAAAGGGGCTTTGCCTTTGTAACCTTTGACGACCATGACTCCGTGGATAAGATTGTCAGTAAGTATCAGATAGTGGCATTTAGTAAGGGTTCCACAATCTGTATGGCATTCTAAACCCTGATACCATGTTGTATCTATGTTTTTTTTTTAGTTCAGAAATACCATACTGTGAATGGCCACAACTGTGAAGTTAGAAAAGCCCTGTCAAAGCAAGAGATGGCTAGTGCTTCATCCAGCCAAAGAGGTATGCTTGTTGCTTAATTAAACCTTAAAGGTAACTTTGAGTTACTCCAGTATGAATGATTTAATGCTTAAACTTCATGTCTTAAGGTCGAAGTGGTTCTGGAAACTTTGGTGGTGGTCGTGGAGGTGGTTTCGGTGGGAATGACAACTTCGGTCGTGGAGGAAACTTCAGTGGTCGTGGTATGTATGGTTTATCTACATGTAGTTCTGACTTCTCACCATCTTTGCTATGAAGATTTTACAGTACGGGAACTGCATTCAGAATGTCACTTTAAGTCCAAGTCATACTTAAAACTTGAAACTTTTTCTTACAGGTGGCTTTGGTGGCAGCCGTGGTGGTGGTGGATATGGTGGCAGTGGGGATGGCTATAATGGATTTGGCAATGATGGTAAGTTTTTTAGGAATAAGTAGAGAAAAATTCCTGGCAACCTGGATCTTTAGAATAGGTTAGTAGAGACTAAAATTCTGGTGCATGTCAAACTCAACTTTGCCCATAACACGCATGCTGTGAGCAGGCCTTCAGCCGTTACACTTGCACAAGTTTTCATTGTCAAATACTTTTGTCTTATTGAGAAGAATTGTATTCTTGTAGGTGGTTATGGAGGAGGCGGCCCTGGTTACTCTGGAGGAAGCAGAGGCTATGGAAGTGGTGGACAGGGTTATGGAAACCAGGGCAGTGGCTATGGCGGGAGTGGCAGCTATGACAGCTATAACAACGGAGGCGGAGGCGGCTTTGGCGGTGGTAGTGGTAGGTATCCAGTGATCCAAGTACTTGGTGTGACAGCTAGATTAGCCTTTTAGAGCTTGGGTTCTGGTGCTGTTGAAGCATTGTGTGGTACACTGCATGGTATATTAAAAACAAATGGGCTTGCTATGCTACCTCCTCCTAGCTTTAAGCTGGGGCCGCCTCACTCCCAAATAGTAGAGATAAGTGGATAGTGTTGTCTTTGAGTTAGATTAGTATCATAGAAGGATTTAGTATTTTAACTCCTTTGGGACCTTAGGCGCTTAGTTGATGTATCCAAGATACTTCTGCTTGCTGTGGCCCTGGATCCGTGAAGGCCTTCAAGGCTGAAGGGTATGCTTGTGCCACTCTGAAAATCTCTTTATTTTATGTCATGGTGAGTTAGGCCAGTTTTCTTTGTATTACTGGATTATTCAACTGAATGCCTTTCCCAGAGAATGAAATGCAAAGATTGGAGTCACCATAGTTTGGGAGAAAGGAAGGCTGATAACTCAACCTTATTTTATTCTGACTGCTAAACAGAATTGGAAACTAACATCATCCTCAGGTAACAGATAAAGGCCCTCTTTCCCATTCATAGGAAGCAATTTTGGAGGTGGTGGAAGCTACAATGATTTTGGGAATTACAACAATCAGTCTTCAAATTTTGGACCCATGAAGGGAGGAAATTTTGGAGGCAGAAGCTCTGGCCCCTATGGCGGTGGAGGCCAATACTTTGCAAAACCACGAAACCAAGGTATGGTATCTATGTAATTTTGGATAATGTCAAAAGAGTGTCTGTAGCTACTGCTGGGAAGAAAGCCCTTTAACTGCTATGTCTGGGCAGCAAAACGTTTATAGTTTAGAACCTTCAGAAAGTGATAATTTGATCACAAATTAGAAAAATCATGGGACCTCTTTACCACCTCCCTTGTAGTAGGGCCATTTTTAAATGGCCAGACACTTGAATTTAACTTTTATTATCCCAAATATGAAAACATTACTGTTGGCACTTTGAAACTTTAAAAGAAAAATTGTACTTTTCAGGTGGCTATGGCGGTTCCAGCAGCAGCAGTAGCTATGGCAGTGGCAGAAGATTTTAATTAGGTAAGTAAGCACCTTTTTGTGTGTTGACATAATTTTTTAAATTGCTGATGAACCCAATAACCCTAATGTAGCTGAGCAGTGCAACATAGTTAACATTATAATTGCAGTAATTGTGGATATAAAGTTAATATTCAGATCAGCAAAATTTGTGGGAAACAAACTTGATATTGGATTGTAGCCTTGAGTCTTAATATGTTTAGATTAACAACTCTATTCCATATTGTTCAACAGGAAACAAAGCTTAGCAGGAGAGGAGAGCCAGAGAAGTGACAGGGAAGCTACAGGTTACAACAGATTTGTGAACTCAGC

genewise.out SAÍDA Query protein: ROA1_DROME Comp Matrix: blosum62.bla Gap open: 12 Gap extension: 2 Start/End default Target Sequence HSHNRNPA Strand: forward Start/End (protein) default Gene Paras: human.gf Codon Table: codon.table Subs error: 1e-05 Indel error: 1e-05 Model splice? model Model codon bias? flat Model intron bias? tied Null model syn Algorithm 623 genewise output Score 253.10 bits over entire alignment Scores as bits over a synchronous coding model Warning: The bits scores is not probablistically correct for single seqs genewise.out SAÍDA

SAÍDA ROA1_DROME 26 EPEHMRKLFIGGLDYRTTDENLKAHFEKWGNIVDVV EPE +RKLFIGGL + TTDE+L++HFE+WG + D V EPEQLRKLFIGGLSFETTDESLRSHFEQWGTLTDCV HSHNRNPA 1206 gcgccaactaggtatgaaggacaactgctgacagtg acaatgatttggtgtaccaagtggataaggctcagt gcaggggcctaggctaattgcggcttgagagcgctg ROA1_DROME 62 VMKDPRTKRSRGFGFITYSHSSMIDE VM+DP TKRSRGFGF+TY+ +D VMRDPNTKRSRGFGFVTYATVEEVDA HSHNRNPA 1314 GTAAGAT Intron 1 CAGgaagcaaactagtgtgatgagggggg <0-----[1314 : 1608]-0>ttgacacagcggtgttcacctaatac agataccgctgctgtcatctggggta ROA1_DROME 88 AQKSRPHKIDGRVVEPKRAVPRQ DID A +RPHK+DGRVVEPKRAV R+ D AMNARPHKVDGRVVEPKRAVSRE DSQ HSHNRNPA 1687 gaagaccagggagggcaaggtagGTGAGTG Intron 2 TAGgtc ctacgcaataggttacagctcga<0-----[1756 : 1903]-0>aca tgtagacggtaatgaagatccaa tta ROA1_DROME 114 SPNAGATVKKLFVGALKDDHDEQSIRDYFQHFGNIVDINIVIDKETGKK P A TVKK+FVG +K+D +E +RDYF+ +G I I I+ D+ +GKK RPGAHLTVKKIFVGGIKEDTEEHHLRDYFEQYGKIEVIEIMTDRGSGKK HSHNRNPA 1913 acggctagaaatgggaaggaggcccagttgctgaaggagaaagcgagaa gcgcatctaatttggtaaacaaaatgaataaagatattattcaggggaa aatccatgagatttctaactaatcaatttagtaatagtacgtcactcga SAÍDA

Alignment 1 Score 35.31 (Bits) Ex 2 SEED 1 CAPNN-PCSNGGTCVNTPGGSSDNFGGYTCECPPGDYYLSYTGKRC CA++ C++ +CVN + +++C+C PG Y L+ + K C CAEGGHGCQH--QCVNAWA-------MFHCTCNPG-YKLAADNKSC EM:HS453C12 132851 tggggcgtcc ctgagtg atctatacg tacgggaaat gcaggaggaa agtacgc ttagcgacg aatccaaagg ttggattcgc atctcgc gccccccac CGAAATCGCT Alignment 2 Score 45.92 (Bits) CA+++ C + CVN+PG +Y+C+C++G +L+ + + C CAEGTHGCEH--HCVNSPG-------SYFCHCQVG-FVLQQDQRSC EM:HS453C12 134919 tgggacgtgc ctgatcg ttttctcgg tgcccgcaat gcagcaggaa agtaccg catgagatg tttaaaaggg ttagctatgc ccctcac ctctccatc tacggcggcc Ex 2

tggcatggggcgcaggttctctatacaccccccgcccccggctgccaggctctgcggcctcaccttggaactacagggcaagagcttcttccagggggtgaggttttcggtgcagaccacctcccgcggcagcacagcatagcgcagaaagtagtggtcagtgtctgagggagacagaggtctgtctggggtgggccttgggctctgacccctcgggatccacattccagagatgggaatgaccctcctgctccccacaccacctctagcaccacagtctggacagtcccaactgggagtaggactcccttctctccttgggaaaaggcatgcagagatggcacagtattgggggcctgcacacacaggggacttaggatctagcccaggctgaggaagcaggaaactgagggaaaaggaggcaaaggtttgggcaggaggtaagaggaagaaggaaagggctgtaggggttatctcaccattggccagacccaggggtttgaaggaggcagtgggagtgactgtgttggtggagtcgatgaagttgagagaggcgcagaagatccctgagaggacattactgagctccttccaagatttatccacactggatagagacacaaatccactcactgtcctggggctacctctgctccctctttcaaagtccacagctggctgctaaacctatgataggaggaggctgtattcttaactattagacgggccagttgatggagctggaacattgctgcccccagccagcccacttgctgggtctcatcctactcagccccttcttcctcactctcctctggacatctctgcatccccatgggtctctgctcaggtgattcttccttccttgcaagcctttgctaacttctttctgcctaccttcatgatccggctccagtgcttacctcccctccacgaagcctttcctgccctccttaagcacagtctcctctgtgcagtcacggttctgaccatccaagcatcttactaggtccctcctgggagatggctaggtggcagcagcatcgtgtcctgaccaccttttctccctaactaggctgtaagcaacttgaggacaaggaccagtctgggtcatctatgtacttcccctgacaccatggaaagcgcctcatgtatcagagctgaaatgagctcactgatcttccttgaatgtgctgggctgggcaaaacaatgcatactaccctgtgtatactctgggaataaaggtaagtcctgattctactatcatggtgagaagtcttatatccaaaaaagctcactgaacatgggaaaaacaactgttctaggatttcataaaaacatcaaattaaattaatgttcttttcttggagaaatatcaaaagagatttgctctcagtaatagagaaagcataaaacttaataagcactagaaagaattctaagcatttgctccacatttcaggcaattacgggctgagggaagacagtgacagcagagtagacaggaaagggtaggggagccagagttgaggcaagagagaaagtcttggcaagctggggagttactgcttattccttattccttagtgttgtccaggagcttttgataattctatgttcagagcttttcaactgctccaatccttaagcctcaaataaaaatggcaaacttgaagccggaaagctctactcaaaccataaacatgcttcatttggtatgcacaacattgacccgcacagcactcaaaaaatttttaaattacttgctgatatttgaatttgccaattttcacattaaattccagatttctggtatctcttgaaaaatgaggccaggtgtggtggctcttgcctgtaatcccaacactttgggaggctgaggcaggaggatCGCTtgaacccaggagttcgagaccagcctgggcaatatagtgagaccttgtttctacaaaaaatttttagaaacatttgactctgaccacattaggcctctattcccacatggcaacaatccatagaagctgagtggcagagctgtcctcg

Proteína DNA/cDNA   Verificação de validade de arquivos e de argumento de entrada Tradução de uma seqüência de DNA  Construção de uma tabela de códons de um arquivo Construção de um objeto seqüência de um arquivo ( DNA/cDNA) Uso da função translate no objeto seqüência Comparação de duas seqüências usando Smith Waterman  Construção de uma matriz de comparação Utilizar a matriz de comparação Mostrar o alinhamento

Verificação de validade de arquivos e de argumento de entrada "commandline.dy" Os arquivos de entrada estão no modo FASTA? Os argumentos de pesquisa, precedidos por ‘- ‘ são válidos?

Tradução de uma seqüência de DNA Construção de uma tabela de códons de um arquivo /* Function: base_from_char(c) * * Descrip: mapeia um char (atcgn) em um número, * case insensitive base base_from_char(char c) { c = (char)toupper((int)c); ** switch(c) { case 'A' : return BASE_A; case 'T' : return BASE_T; case 'G' : return BASE_G; case 'C' : return BASE_C; case 'N' : return BASE_N; default : return BASE_N; } Opção de mapeamento simultâneo de bases complementares switch(c) { case 'A' : return BASE_T; case 'T' : return BASE_A; case 'G' : return BASE_C; case 'C' : return BASE_G; case 'N' : return BASE_N; default : return BASE_N; }

Tradução de uma seqüência de DNA Construção de uma tabela de códons de um arquivo 5³ = 125 A C T G N 20 Aminoácidos Freqüência das bases no DNA entrada probabilidade de uma base ocupar uma determinada posição no aminoácido A: GCT GCC GCA GCG

Tradução de uma seqüência de DNA Construção de um objeto seqüência de um arquivo ( DNA/cDNA) Manutenção de bases com baixa probabilidade * Manutenção de bases com alta probabilidade ** Substituição de bases prováveis para melhor casamento com respectivos aminoácidos

Tradução de uma seqüência de DNA Uso da função translate no objeto seqüência code é um array de 65 strings, representando a tradução dos 64 códons em ordem AAA, AAC, AAG, AAU, ..., UUA, UUC, UUG, UUU. char * Translate(char *seq, char **code) { int codon; /* index for codon */ char *aaseq; /* RETURN: the translation */ char *aaptr; /* ptr into aaseq */ int i; if (seq == NULL) { squid_errno = SQERR_NODATA; return NULL; } if ((aaseq = (char *) calloc (strlen(seq) + 1, sizeof(char))) == NULL) Die("calloc failed"); aaptr = aaseq; for (; *seq != '\0' && *(seq+1) != '\0' && *(seq+2) != '\0'; seq += 3) { /* calculate the lookup value for this codon */ codon = 0; for (i = 0; i < 3; i++) codon *= 4; switch (*(seq + i)) { case 'A': case 'a': break; case 'C': case 'c': codon += 1; break; case 'G': case 'g': codon += 2; break; case 'T': case 't': codon += 3; break; case 'U': case 'u': codon += 3; break; default: codon = 64; break; } if (codon == 64) break; strcpy(aaptr, code[codon]); aaptr += strlen(code[codon]); } return aaseq;} ***** no final do objeto seqüência

Smith Waterman algorithm Comparação de duas seqüências usando Smith Waterman Smith Waterman algorithm (Pseudo-code) N = length of sequence 1 M = length of sequence 2 best = -infinity Match[N][M] = -infinity Insert[N][M] = -infinity Delete[N][M] = -infinity for( i goes 0 to N-1) for( j goes 0 to M-1) Match(i,j) = max { 0, Match(i-1,j-1), Insert(i-1,j-1), Delete(i-1,j-1) } + MatchScore(seq[i],seq[j]) Insert(i,j) = max { Match(i-1,j) - gap_open, Insert(i-1,j) - gap_ext } Delete(i,j) = max { Match(i,j-1) - gap_open, Delete(i,j-1) - gap_ext best = max(best,Match(i,j)) return best 2 Seqüências Matriz de comparação de 20x20 aminoácidos Penalidade Open Gap Penalidade Extensão GAP int gap = (+2); int ext = (+1); int match = (+4); int mismatch = (-3)

Alignment 1 Score 35.31 (Bits) SEED 1 CAPNN-PCSNGGTCVNTPGGSSDNFGGYTCECPPGDYYLSYTGKRC CA++ C++ +CVN + +++C+C PG Y L+ + K C CAEGGHGCQH--QCVNAWA-------MFHCTCNPG-YKLAADNKSC EM:HS453C12 132851 tggggcgtcc ctgagtg atctatacg tacgggaaat gcaggaggaa agtacgc ttagcgacg aatccaaagg ttggattcgc atctcgc gccccccac CGAAATCGCT Alignment 2 Score 45.92 (Bits) CA+++ C + CVN+PG +Y+C+C++G +L+ + + C CAEGTHGCEH--HCVNSPG-------SYFCHCQVG-FVLQQDQRSC EM:HS453C12 134919 tgggacgtgc ctgatcg ttttctcgg tgcccgcaat gcagcaggaa agtaccg catgagatg tttaaaaggg ttagctatgc ccctcac ctctccatc tacggcggcc