WISE2
description
Transcript of WISE2
WISE2
Algoritmos inteligentes para busca em DNA
http://www.sanger.ac.uk/Software/Wise2/
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
Exon-GU..............................................AG-ExonIntron
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 TGAY: 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
•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.
Quais as vantagens do WISE2?
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
Modos4 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.
-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
OPÇÕES
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 .
GENEWISE
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
GENEWISEdb
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 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
ESTWISEdb
genewise fly.pep human.genomic > genewise.out
>ROA1_DROME P07909 HETEROGENEOUS NUCLEAR RIBONUCLEOPROTEIN A1 (HNRNP CORE PROTEIN A1-A) (PEN REPEAT CLONE P9).
MVNSNQNQNGNSNGHDDDFPQDSITEPEHMRKLFIGGLDYRTTDENLKAHFEKWGNIVDVVVMKDPRTKRSRGFGFITYSHSSMIDEAQKSRPHKIDGRVVEPKRAVPRQDIDSPNAGATVKKLFVGALKDDHDEQSIRDYFQHFGNIVDINIVIDKETGKKRGFAFVEFDDYDPVDKVVLQKQHQLNGKMVDVKKALPKQNDQQGGGGGRGGPGGRAGGNRGNMGGGNYGNQNGGGNWNNGGNNWGNNRGGNDNWGNNSFGGGGGGGGGYGGGNNSWGNNNPWDNGNGGGNFGGGGNNWNNGGNDFGGYQQNYGGGPQRGGGNFNNNRMQPYQGGGGFKAGGGNQGNYGGNNQGFNNGGNNRRY
fly.pep
ENTRADA
>HSHNRNP
ACGCAAAGCTAGGACAAACTCCCGCCAACACGCAGGCGCCGTAGGTTCACTGCCTACTCCTGCCCGCCATTTCACGTGTTCTCAGAGGCAGGTGGAACTTCTTAATGCGCCTGCGCAAAACTCGCCATTTTACTACACGTGCGGTCAACAAGAGTTCATTGCAAAAAAATTGTTACCTCCTAGCTGCTTGTCTAATACATAGTGTTAATCATGCTTTGCCAAGCGACTTGACTGTAATATTTGCGCGTGGAAGATTAAAAAGATGTTAAACACCCAAGGTAGATTCAAATGTGAATGATTGGTCGGTTGGCCAATCAGACTGGTTAACAATAACATTACTCGGGAACCAATGGACTCCAAGGGGTGGAGACGGCGTAGAACGACCGAAGGAATGACGTTACACAGCAATGTGGCACCACAGGCCAATAGCAGGGGGAAGCGATTTCAAGTATCCAATCAGAGCTGTTCTAGGGCGGAGTCTACCAATGCCGAAAGCGAGGAGGCGGGGTAAAAAAGAGAGGGCGAAGGTAGGCTGGCAGATACGTTCGTCAGCTTGCTCCTTTCTGCCCGTGGACGCCGCCGAAGAAGCATCGTTAAAGTCTCTCTTCACCCTGCCGTCATGTCTAAGTCAGAGGTGAGTTAGGCGCGCTTTCCCACTTGAATTTTTTCCTCTCCCTTTCCTGAATCGGTAAGATGCTGCTGGGTTTCGTTCCTTGCACCAGCCCATTCTACAGTTCCTTCGGTCGCTGCCACGGCCTACCCCTCCCAAAGTTCAAGTCGCCATTTTGTCCTCTTGATCGCCATGAGGCCGCTCTCCGCCAACCATGTGTTATCATGCGGGACTCGTTACTCGTAGCAAAATTCTTAGGCACACAGGATCTTTGTCTTTTTTTAAACCTTGCCTTGGTGAGCGAGTTTTCTAAAGAGCGATTAGTCCCATTGTGGAGATGCACCCCTACCGCCCAAGCCTTTGTTGCGCGTGCGTCGGAAGGCGACTAGGGACGCATGCGCTTGCGATTTCCTAGCACTCCCAACTCCAGCATACGGCCTCCCTTGATAGGCAGAAGCACGTGTCTTGTTGCGACCTGAACGAACAATAAGTGCTAGGTACACAGTTGGTGTCTAGTTTTTCTTTTCCTCGATGGAAATTGTTTCGTGTTGTAGCCCATTTAACACTTCCCCCTCCCCCCACTCTAGTCTCCTAAAGAGCCCGAACAGCTGAGGAAGCTCTTCATTGGAGGGTTGAGCTTTGAAACAACTGATGAGAGCCTGAGGAGCCATTTTGAGCAATGGGGAACGCTCACGGACTGTGTGGTAAGATTTGGAAGGGACAAAGCAGTAAAACAGCCGATTTCCTTGGCTTATCTTGGTGCAGTCTTCTCCGAATGCTTATGAAAGTAGTTAATAGCATTATAGTTAGAGCTTTGTTGGCAAAGGAACGTCCTGCTTTGATTTTAAAAGCTAACCTCTTAAATCTAAGGGTAGTGGGAAACTGGACGAACTTTTTATAAAAGGCTGGTGTAAAGTTTCCTATTGCCCTATTCAAAGTTAAAATAACAAAAGCTTTTGCGGTCAGACTTTGTGTTACATAAATTAACACTGTTCTCAGGTAATGAGAGATCCAAACACCAAGCGCTCTAGGGGCTTTGGGTTTGTCACATATGCCACTGTGGAGGAGGTGGATGCAGCTATGAATGCAAGGCCACACAAGGTGGATGGAAGAGTTGTGGAACCAAAGAGAGCTGTCTCCAGAGAAGTGAGTGGGTTTTTTTTCTTCTTCTTCTTAAACTTACTTGGATATGTGCTGCTATGAACTTAAGATTCGGGAGTTTTCTAAACTTACCAAAATTTTTTATTCGAGTATAGGCTTTGCTAATCTAAACCTATGGTTTTTCTCCTATTAGGATTCTCAAAGACCAGGTGCCCACTTAACTGTGAAAAAGATATTTGTTGGTGGCATTAAAGAAGACACTGAAGAACATCACCTAAGAGATTATTTTGAACAGTATGGAAAAATTGAAGTGATTGAAATCATGACTGACCGAGGCAGTGGCAAGAAAAGGGGCTTTGCCTTTGTAACCTTTGACGACCATGACTCCGTGGATAAGATTGTCAGTAAGTATCAGATAGTGGCATTTAGTAAGGGTTCCACAATCTGTATGGCATTCTAAACCCTGATACCATGTTGTATCTATGTTTTTTTTTTAGTTCAGAAATACCATACTGTGAATGGCCACAACTGTGAAGTTAGAAAAGCCCTGTCAAAGCAAGAGATGGCTAGTGCTTCATCCAGCCAAAGAGGTATGCTTGTTGCTTAATTAAACCTTAAAGGTAACTTTGAGTTACTCCAGTATGAATGATTTAATGCTTAAACTTCATGTCTTAAGGTCGAAGTGGTTCTGGAAACTTTGGTGGTGGTCGTGGAGGTGGTTTCGGTGGGAATGACAACTTCGGTCGTGGAGGAAACTTCAGTGGTCGTGGTATGTATGGTTTATCTACATGTAGTTCTGACTTCTCACCATCTTTGCTATGAAGATTTTACAGTACGGGAACTGCATTCAGAATGTCACTTTAAGTCCAAGTCATACTTAAAACTTGAAACTTTTTCTTACAGGTGGCTTTGGTGGCAGCCGTGGTGGTGGTGGATATGGTGGCAGTGGGGATGGCTATAATGGATTTGGCAATGATGGTAAGTTTTTTAGGAATAAGTAGAGAAAAATTCCTGGCAACCTGGATCTTTAGAATAGGTTAGTAGAGACTAAAATTCTGGTGCATGTCAAACTCAACTTTGCCCATAACACGCATGCTGTGAGCAGGCCTTCAGCCGTTACACTTGCACAAGTTTTCATTGTCAAATACTTTTGTCTTATTGAGAAGAATTGTATTCTTGTAGGTGGTTATGGAGGAGGCGGCCCTGGTTACTCTGGAGGAAGCAGAGGCTATGGAAGTGGTGGACAGGGTTATGGAAACCAGGGCAGTGGCTATGGCGGGAGTGGCAGCTATGACAGCTATAACAACGGAGGCGGAGGCGGCTTTGGCGGTGGTAGTGGTAGGTATCCAGTGATCCAAGTACTTGGTGTGACAGCTAGATTAGCCTTTTAGAGCTTGGGTTCTGGTGCTGTTGAAGCATTGTGTGGTACACTGCATGGTATATTAAAAACAAATGGGCTTGCTATGCTACCTCCTCCTAGCTTTAAGCTGGGGCCGCCTCACTCCCAAATAGTAGAGATAAGTGGATAGTGTTGTCTTTGAGTTAGATTAGTATCATAGAAGGATTTAGTATTTTAACTCCTTTGGGACCTTAGGCGCTTAGTTGATGTATCCAAGATACTTCTGCTTGCTGTGGCCCTGGATCCGTGAAGGCCTTCAAGGCTGAAGGGTATGCTTGTGCCACTCTGAAAATCTCTTTATTTTATGTCATGGTGAGTTAGGCCAGTTTTCTTTGTATTACTGGATTATTCAACTGAATGCCTTTCCCAGAGAATGAAATGCAAAGATTGGAGTCACCATAGTTTGGGAGAAAGGAAGGCTGATAACTCAACCTTATTTTATTCTGACTGCTAAACAGAATTGGAAACTAACATCATCCTCAGGTAACAGATAAAGGCCCTCTTTCCCATTCATAGGAAGCAATTTTGGAGGTGGTGGAAGCTACAATGATTTTGGGAATTACAACAATCAGTCTTCAAATTTTGGACCCATGAAGGGAGGAAATTTTGGAGGCAGAAGCTCTGGCCCCTATGGCGGTGGAGGCCAATACTTTGCAAAACCACGAAACCAAGGTATGGTATCTATGTAATTTTGGATAATGTCAAAAGAGTGTCTGTAGCTACTGCTGGGAAGAAAGCCCTTTAACTGCTATGTCTGGGCAGCAAAACGTTTATAGTTTAGAACCTTCAGAAAGTGATAATTTGATCACAAATTAGAAAAATCATGGGACCTCTTTACCACCTCCCTTGTAGTAGGGCCATTTTTAAATGGCCAGACACTTGAATTTAACTTTTATTATCCCAAATATGAAAACATTACTGTTGGCACTTTGAAACTTTAAAAGAAAAATTGTACTTTTCAGGTGGCTATGGCGGTTCCAGCAGCAGCAGTAGCTATGGCAGTGGCAGAAGATTTTAATTAGGTAAGTAAGCACCTTTTTGTGTGTTGACATAATTTTTTAAATTGCTGATGAACCCAATAACCCTAATGTAGCTGAGCAGTGCAACATAGTTAACATTATAATTGCAGTAATTGTGGATATAAAGTTAATATTCAGATCAGCAAAATTTGTGGGAAACAAACTTGATATTGGATTGTAGCCTTGAGTCTTAATATGTTTAGATTAACAACTCTATTCCATATTGTTCAACAGGAAACAAAGCTTAGCAGGAGAGGAGAGCCAGAGAAGTGACAGGGAAGCTACAGGTTACAACAGATTTGTGAACTCAGC
human.genomic
genewise fly.pep human.genomic > genewise.out
ENTRADA
Query protein: ROA1_DROMEComp Matrix: blosum62.blaGap open: 12Gap extension: 2Start/End defaultTarget Sequence HSHNRNPAStrand: forwardStart/End (protein) defaultGene Paras: human.gfCodon Table: codon.tableSubs error: 1e-05Indel error: 1e-05Model splice? modelModel codon bias? flatModel intron bias? tiedNull model synAlgorithm 623
genewise outputScore 253.10 bits over entire alignmentScores as bits over a synchronous coding model
Warning: The bits scores is not probablistically correct for single seqs
genewise.out
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)
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)
SEED 1 CAPNN-PCSNGGTCVNTPGGSSDNFGGYTCECPPGDYYLSYTGKRC 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
Verificação de validade de arquivos e de argumento de entrada
Tradução de uma seqüência de DNA
Comparação de duas seqüências usando Smith Waterman
Proteína DNA/cDNA
• 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
• 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?
/* 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; }}
Construção de uma tabela de códons de um arquivo
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
Tradução de uma seqüência de DNA
20 Aminoácidos
5³ = 125 A C T G N
•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
Uso da função translate no objeto seqüênciaTradução de uma seqüência de DNA
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
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)
SEED 1 CAPNN-PCSNGGTCVNTPGGSSDNFGGYTCECPPGDYYLSYTGKRC 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