Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

85
UMA APLICAÇÃO WEB PARA CÁLCULO DE SIMILARIDADE EM ACESSOS DE CANA-DE-AÇÚCAR. Aluno: José Júnior de Oliveira Silva Orientador: Elthon Alex da Silva Oliveira Co-orientador: Cícero Carlos de Sousa Almeida

description

Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar. Aluno: José Júnior de Oliveira Silva Orientador: Elthon Alex da Silva Oliveira Co-orientador: Cícero Carlos de Sousa Almeida. SUMÁRIO. Introdução; Fundamentação teórica; Trabalhos relacionados; - PowerPoint PPT Presentation

Transcript of Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

Page 1: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

UMA APLICAÇÃO WEB PARA CÁLCULO DE SIMILARIDADE EM ACESSOS DE CANA-DE-AÇÚCAR.

Aluno: José Júnior de Oliveira Silva

Orientador: Elthon Alex da Silva Oliveira

Co-orientador: Cícero Carlos de Sousa Almeida

Page 2: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

2

SUMÁRIO

Introdução; Fundamentação teórica; Trabalhos relacionados; O software proposto; Trabalhos futuros; Considerações finais.

Bacharelado em Ciência da Computação

Page 3: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

Introdução3

Iniciou com o projeto de pesquisa sistema de certificação de variedades de cana-e-açúcar utilizando “fingerprinting” de DNA, financiado pelo CNPq;

Esse projeto foi realizado no período de 2009 a 2010; Envolveu as áreas de Agronomia e Ciência da Computação; Objetivo de desenvolver um software que desse suporte a

pesquisadores de genética molecular; Realização de cálculo de similaridade entre os acessos de

cana-de-açúcar; Acessos são variedades diferentes de plantas, que podem

até ter as mesmas características morfológicas mas são geneticamente diferentes.

Bacharelado em Ciência da Computação

Page 4: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

4

Introdução

Necessidades iniciais: Armazenamento de dados genéticos; Comparação de acessos de cana-de-açúcar; Teste de paternidade ; Possibilidade de compartilhar os dados via

web; Ferramenta fácil de usar; Possibilidade de acessar remotamente o

sistema.

Bacharelado em Ciência da Computação

Page 5: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

5

Introdução

Solução: Implementação de um software para

cálculo de similaridade entre acessos de plantas;

Linguagem de programação PHP; Banco de dados MySql; Utilização de Zend Framework; Disponível na web; Interface simples e de fácil uso.

Bacharelado em Ciência da Computação

Page 6: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

6

Introdução

Contribuições: Prover um ambiente simples e fácil de usar; Identifica a similaridade entre acessos de

plantas; Identifica uso indevido de acessos de

plantas; É a base para o melhoramento genético

vegetal; A partir das informações geradas pode-se

inferir quais cruzamentos podem ser mais proveitosos em uma determinada cultura.Bacharelado em Ciência da Computação

Page 7: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

7

Introdução

Diferencial: Interface simples e fácil de usar comparada

com a maioria dos softwares com finalidades semelhantes;

Idioma português; Comparação de marcadores e não de

sequências; Possibilidade de interação entre muitos

pesquisadores.

Bacharelado em Ciência da Computação

Page 8: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

8

SUMÁRIO

Introdução; Fundamentação teórica; Trabalhos relacionados; O software proposto; Trabalhos futuros; Considerações finais.

Bacharelado em Ciência da Computação

Page 9: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

9

Fundamentação Teórica

Implementar uma aplicação requer um certo conhecimento do seu domínio;

Termos utilizados nas classes, relacionamentos e entidades de banco de dados podem ser muito complexos;

Entender o significado de cada termo é fundamental para a implementação;

Nem sempre essa tarefa é trivial; Em muitos casos existe a necessidade de recorrer a um

especialista na área; A bioinformática e a biologia computacional:

Utilizam a Ciência da Computação para solucionar problemas biológicos.

Bacharelado em Ciência da Computação

Page 10: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

10

Fundamentação Teórica

DNA; Alelos; Marcadores moleculares; PCR; Cálculo de similaridade; Matriz de características; Coeficientes de similaridade; Matriz de distância; Método de agrupamento UPGMA; Dendograma.

Bacharelado em Ciência da Computação

Page 11: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

11

DNA

Presente nas células de todo indivíduo;

Carrega informações genéticas;

Diferente para cada indivíduo; Formado por uma dupla hélice

ligada por bases nitrogenadas; Essa dupla hélice forma a

sequência genética de um indivíduo;

Combinações de ACGT.

DNA Estrutura do DNA

Bacharelado em Ciência da Computação

Page 12: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

12

Fundamentação Teórica

DNA; Marcadores moleculares; Alelos; PCR; Cálculo de similaridade; Matriz de características; Coeficientes de similaridade; Matriz de distância; Método de agrupamento UPGMA; Dendograma.

Bacharelado em Ciência da Computação

Page 13: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

13

Marcadores moleculares

Herdados geneticamente; Servem como base para diferenciar indivíduos; SSR – Simple sequence repeats:

Caracterizado da repetição de uma sequências com 1 a 6 nucleotídeos;

São usados primers para marcar o início e fim de cada marcador.

Bacharelado em Ciência da Computação

Page 14: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

14

Fundamentação Teórica

DNA; Marcadores moleculares; Alelos; PCR; Cálculo de similaridade; Matriz de características; Coeficientes de similaridade; Matriz de distância; Método de agrupamento UPGMA; Dendograma.

Bacharelado em Ciência da Computação

Page 15: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

15

Alelos

São diferentes versões de um marcador em um indivíduo;

Podem significar a presença de características morfológicas;

A presença de mais de um alelo em um indivíduo é chamada de polimorfismo.

Bacharelado em Ciência da Computação

Page 16: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

16

Fundamentação Teórica

DNA; Marcadores moleculares; Alelos; PCR; Cálculo de similaridade; Matriz de características; Coeficientes de similaridade; Matriz de distância; Método de agrupamento UPGMA; Dendograma.

Bacharelado em Ciência da Computação

Page 17: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

17

PCR – Polimerase chain reaction

Reação em cadeia de polimerase; Cria múltiplas cópias de DNA sem a

utilização de um organismo vivo; Utilizada principalmente em situações

em que a quantidade de DNA disponível é reduzida;

Utiliza primers, que delimitam a área a ser amplificada.

Bacharelado em Ciência da Computação

Page 18: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

18

Fundamentação Teórica

DNA; Marcadores moleculares; Alelos; PCR; Cálculo de similaridade; Matriz de características; Coeficientes de similaridade; Matriz de distância; Método de agrupamento UPGMA; Dendograma.

Bacharelado em Ciência da Computação

Page 19: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

19

Cálculo de similaridade

Calcular a distância genética entre os indivíduos; Utiliza-se diferentes versões dos marcadores (alelos)

como base para calcular a similaridade; Cada acesso será caracterizado com a presença ou

ausência de determinado alelo para cada marcador apresentado por ele;

A comparação entre os acessos, utilizando uma metodologia específica, é o que determina a distância genética entre os indivíduos;

Para esta tarefa são usados coeficientes de similaridade; Os dados podem ser representados em uma matriz de

distância e/ou em uma árvore denominada dendograma.

Bacharelado em Ciência da Computação

Page 20: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

20

Fundamentação Teórica

DNA; Marcadores moleculares; Alelos; PCR; Cálculo de similaridade; Matriz de características; Coeficientes de similaridade; Matriz de distância; Método de agrupamento UPGMA; Dendograma.

Bacharelado em Ciência da Computação

Page 21: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

21

Matriz de características

As linhas dessa matriz representa os diferentes acessos de plantas;

As colunas representam os alelos que eles apresentam;

É preenchida com 1 ou 0. Representando a presença ou ausência de um alelo respectivamente.

Essa matriz serve de base para encontrar a similaridade entre cada par de acessos.

Bacharelado em Ciência da Computação

Page 22: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

22

Fundamentação Teórica

DNA; Marcadores moleculares; Alelos; PCR; Cálculo de similaridade; Matriz de características; Coeficientes de similaridade; Matriz de distância; Método de agrupamento UPGMA; Dendograma.

Bacharelado em Ciência da Computação

Page 23: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

23

Coeficientes de similaridade

Os coeficientes de similaridade mais usuais são: Baseados na distância (geralmente

euclidiana); Baseados na correlação entre pares de

valores; Baseado na associação entre caracteres

qualitativos; Neste trabalho foi usada a última

abordagem, utilizando dados binários.

Bacharelado em Ciência da Computação

Page 24: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

24

Similaridade utilizando caracteres qualitativos binários

Tomados dois objetos, temos as seguintes situações representadas por uma letra do alfabeto: A, se estes apresentarem o mesmo caractere ; B, se o caractere estiver presente no primeiro e

ausente no segundo; C, se estiver ausente no primeiro e presente no

segundo; D, se estiver ausente em ambos.

Bacharelado em Ciência da Computação

Page 25: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

25

Coeficientes de similaridade Binários

Utilizam os valores A, B, C e D de dois objetos para encontrar a similaridade entre eles;

Existem vários coeficientes que expressam similaridade;

Neste trabalho foi usado o de Jacard: simJaccard = a/(a+b+c)

Bacharelado em Ciência da Computação

Page 26: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

26

Similaridade utilizando caracteres qualitativos binários Exemplo utilizando uma matriz de dados

binários: O valor das variáveis é obtido como mostra a

figura; Ao final de cada comparação o número de

ocorrência de cada variável é usado por um coeficiente de similaridade como o de jaccard para encontrar a distância genética entre os pares de acessos.

Bacharelado em Ciência da Computação

Page 27: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

27

Fundamentação Teórica

DNA; Marcadores moleculares; Alelos; PCR; Cálculo de similaridade; Matriz de características; Coeficientes de similaridade; Matriz de distância; Método de agrupamento UPGMA; Dendograma.

Bacharelado em Ciência da Computação

Page 28: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

28

Matriz de distância

Aplicando o coeficiente jaccard à todos os pares da matriz anterior obtém-se a matriz de distância;

Esta matriz representa a distância genética entre os indivíduos;

Valores vão de 0 a 1, representando o grau de similaridade entre cada par;

Sendo 1 similaridade total e 0 nenhuma similaridade. A partir dos resultados dessa matriz pode-se agrupar os

acessos mais próximos geneticamente

Bacharelado em Ciência da Computação

Page 29: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

29

Teste de paternidade

Objetiva identificar possíveis utilizações ilegais de uma variedade de planta;

Procedimento semelhante à comparação de acessos;

O acesso suspeito junta-se a matriz de características do formada pelos acessos do banco de dados;

O resultado mostrará o quão similar este acesso (suspeito) é dos demais presentes no banco;

O resultado também será mostrado em uma matriz de distância, mas com uma linha e uma coluna a mais.

Bacharelado em Ciência da Computação

Page 30: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

30

Fundamentação Teórica

DNA; Marcadores moleculares; Alelos; PCR; Cálculo de similaridade; Matriz de características; Coeficientes de similaridade; Matriz de distância; Método de agrupamento UPGMA; Dendograma.

Bacharelado em Ciência da Computação

Page 31: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

31

Método de agrupamento UPGMA

Agrupa indivíduos semelhantes; Resultado da matriz de distância pode ser convertido em

um dendograma; Os nós desse dendograma são encontrados da seguinte

forma: Identifica-se o par com distância mínima entre o número

total de pares; Combinar esses dois objetos como um único par; Recalcula-se as distâncias entre os outros pares para formar

uma nova matriz; Identifica-se a menor distância entre os pares da nova

matriz; Repete-se os passos até que os últimos dois grupos sejam

analisados.

Bacharelado em Ciência da Computação

Page 32: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

32

Método de Agrupamento UPGMA - Exemplo

Considere 5 indivíduos (A, B, C , D e E); Com a matriz de distância a seguir; Agrupa-se o par com menor distância (AB); A distância em relação aos demais pares deve ser

recalculada; Exemplo:

A distância de C para AB = (60 + 50)/2 = 55

Bacharelado em Ciência da Computação

Page 33: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

33

Método de Agrupamento UPGMA - Exemplo

Como resultado do procedimento anterior obtém-se a seguinte matriz: Os passos devem ser seguidos até

restarem apenas dois grupos.

Bacharelado em Ciência da Computação

Page 34: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

34

Fundamentação Teórica

DNA; Marcadores moleculares; Alelos; PCR; Cálculo de similaridade; Matriz de características; Coeficientes de similaridade; Matriz de distância; Método de agrupamento UPGMA; Dendograma.

Bacharelado em Ciência da Computação

Page 35: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

35

Dendograma

Os valores mínimos obtidos em cada passo são usados pra construir o dendograma, que é mostrado a seguir:

Agrupa elementos mais próximos; Nós descrevem a distância entre elementos, entre

elementos e grupos ou entre grupos; Agrupam-se pares com menor distância.

Bacharelado em Ciência da Computação

Page 36: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

36

SUMÁRIO

Introdução; Fundamentação teórica; Trabalhos relacionados; O software proposto; Trabalhos futuros; Considerações finais.

Bacharelado em Ciência da Computação

Page 37: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

37

Trabalhos Relacionados

BLAST: Programa de alinhamento mais usado no

mundo; Realiza cruzamento de sequências; Trabalha com banco de dados públicos; Pode ser usado via web.

FASTA: Primeiro programa largamente utilizado para

encontrar similaridade em banco de dados; Dele deriva-se o formato de arquivo fasta;

Bacharelado em Ciência da Computação

Page 38: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

38

Trabalhos Relacionados

CrustalW: Versão web do crustal um dos programas

de alinhamento mais utilizados; Possui interface gráfica, proporcionando um

ambiente agradável para o usuário.

Bacharelado em Ciência da Computação

Page 39: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

39

SUMÁRIO

Introdução; Fundamentação teórica; Trabalhos relacionados; O software proposto; Trabalhos futuros; Considerações finais.

Bacharelado em Ciência da Computação

Page 40: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

40

Ferramenta Desenvolvida

Objetivos; Metodologia; Reuso de código (Zend Framework); Diagramas UML; Telas do sistema; Implementação; Exemplo prático.

Bacharelado em Ciência da Computação

Page 41: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

41

Ferramenta Desenvolvida

Objetivos: Armazenar dados genéticos; Realizar comparações entre acessos de

plantas; Realizar testes de paternidade; Poder ser utilizado via web; Ser simples e fácil de usar; Realizar comparações usando marcadores

moleculares.

Bacharelado em Ciência da Computação

Page 42: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

42

Ferramenta Desenvolvida

Objetivos; Metodologia utilizada; Reuso de código (Zend Framework); Diagramas UML; Telas do sistema; Implementação; Exemplo prático.

Bacharelado em Ciência da Computação

Page 43: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

43

Ferramenta Desenvolvida

Metodologia utilizada: Desenvolvido na linguagem PHP; Banco de dados MySql; Zend Framework; Padrão MVC;

Bacharelado em Ciência da Computação

Page 44: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

44

Ferramenta Desenvolvida

Objetivos; Metodologia utilizada; Reuso de código (Zend Framework); Diagramas UML; Telas do sistema; Implementação; Exemplo prático.

Bacharelado em Ciência da Computação

Page 45: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

45

Reuso de código (Zend Framework):

Por que usar um framework? Por que Zend Framework? Padrão MVC; Zend Config; Zend Table; Zend Form; Zend Auth; Zend Layout;

Bacharelado em Ciência da Computação

Page 46: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

46

Por que usar um framework?

Em projetos não triviais deve-se fazer a escolha por utilizar um framework existente ou criar um próprio;

O uso de um framework reduz o tempo de desenvolvimento;

Classes já vem testadas; Utilizam padrões de projeto.

Bacharelado em Ciência da Computação

Page 47: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

47

Reuso de código (Zend Framework):

Por que usar um framework?; Por que Zend Framework?; Padrão MVC; Zend Config; Zend Table; Zend Form; Zend Auth; Zend Layout;

Bacharelado em Ciência da Computação

Page 48: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

48

Por que Zend Framework?

Framework de código aberto para desenvolvimento web;

Orientado a objetos; Implementado em PHP 5; Objetiva simplificar o desenvolvimento web; Componentes podem ser usados de forma padrão (MVC)

ou da forma que fizerem sentido na aplicação. Alguns componentes:

Zend layout; Zend Form; Zend Db Table; Zend Auth; Zend Config.

Bacharelado em Ciência da Computação

Page 49: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

49

Reuso de código (Zend Framework):

Por que usar um framework? Por que Zend Framework; Padrão MVC; Zend Config; Zend Table; Zend Form; Zend Auth; Zend Layout;

Bacharelado em Ciência da Computação

Page 50: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

50

Padrão MVC

Camada de negócio (models); Camada de representação (view); Camada de controle ( controller);

Bacharelado em Ciência da Computação

Page 51: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

51

Reuso de código (Zend Framework):

Por que usar um framework? Por que Zend Framework; Padrão MVC; Zend Config; Zend Table; Zend Form; Zend Auth; Zend Layout;

Bacharelado em Ciência da Computação

Page 52: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

52

Zend_Config

Arquivo de configuração compartilhado pelas classes do sistema;

Pode ser personalizado para que outras variáveis estejam sempre visíveis ao sistema;

Exemplo parâmetros do banco de dados:;Conexao com o banco de dadosresources.db.adapter = Pdo_Mysqlresources.db.params.host = localhostresources.db.params.username = rootresources.db.params.password = resources.db.params.dbname = geneticresources.db.params.charset = utf8resources.db.isDefaultTableAdapter = true

Bacharelado em Ciência da Computação

Page 53: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

53

Reuso de código (Zend Framework):

Por que usar um framework? Por que Zend Framework; Padrão MVC; Zend Config; Zend Table; Zend Form; Zend Auth; Zend Layout;

Bacharelado em Ciência da Computação

Page 54: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

54

Zend_Db_Table

Possui métodos para utilização do banco de dados de forma simplificada.

O trabalho do programador é minimizado; Exemplo de inserção na classe SSR, usando Zend_Db_Table:

public function inserir($ssr, $est, $tipo, $repeat, $arquivo, $tm, $alelos, $primer_r, $primer_f, $fasta, $polimorfico){

$id = 0; try { $id = parent::insert(array('marcador'=>$ssr, 'est'=> $est, 'tipo'=> $tipo, 'repeat'=>

$repeat, 'arquivo'=> $arquivo, 'tm'=> $tm, 'alelos'=> $alelos, 'primer_r'=> $primer_r,

'primer_f'=> $primer_f, 'fasta'=>$fasta, 'polimorfico'=>$polimorfico )); } catch (Exception $e) { echo $e; } //retorna o id do marcador inserido return $id; }

Bacharelado em Ciência da Computação

Page 55: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

55

Reuso de código (Zend Framework):

Por que usar um framework? Por que Zend Framework; Padrão MVC; Zend Config; Zend Table; Zend Form; Zend Auth; Zend Layout;

Bacharelado em Ciência da Computação

Page 56: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

56

Zend_Form

Criação dinâmica de formulários; Tratamento e validação de dados; Molda-se as necessidades do programador; Formulários como classes:

class Form_Login extends Zend_Form{...}$form = new Form_Login();

Os elementos podem ser adicionados de forma simples:

$username=$this->CreateElement('text','login'); Personalização feita com Zend_Decorators.

Bacharelado em Ciência da Computação

Page 57: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

57

Reuso de código (Zend Framework):

Por que usar um framework? Por que Zend Framework; Padrão MVC; Zend Config; Zend Table; Zend Form; Zend Auth; Zend Layout;

Bacharelado em Ciência da Computação

Page 58: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

58

Zend_Auth

Classe de autenticação do Zend; Permite múltiplos usuários e restrições

de acesso; Os dados podem ser enviados com uma

chave de criptografia;

Bacharelado em Ciência da Computação

Page 59: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

59

Zend_Auth

$login = $form->getValue('login');

$senha = $form->getValue('senha');

$dbAdapter = Zend_Db_Table::getDefaultAdapter();

//Inicia o adaptador Zend_Auth para banco de dados

$authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);

$authAdapter->setTableName('usuario')

->setIdentityColumn('login')

->setCredentialColumn('senha')

->setCredentialTreatment('SHA1(?)');

//Define os dados para processar o login

$authAdapter->setIdentity($login)

->setCredential($senha);

//Efetua o login

$auth = Zend_Auth::getInstance();

$result = $auth->authenticate($authAdapter);Bacharelado em Ciência da Computação

Page 60: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

60

Reuso de código (Zend Framework):

Por que usar um framework? Por que Zend Framework; Padrão MVC; Zend Config; Zend Table; Zend Form; Zend Auth; Zend Layout;

Bacharelado em Ciência da Computação

Page 61: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

61

Zend_Layout

Criação de layouts de forma simples e rápida;

Tudo feito com um único comando; Basta editar o script gerado pelo

comando e ele aparecerá em todas as páginas.

Bacharelado em Ciência da Computação

Page 62: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

62

Ferramenta Desenvolvida

Objetivos; Metodologia utilizada; Reuso de código (Zend Framework); Diagramas UML; Telas do sistema; Implementação; Exemplo prático.

Bacharelado em Ciência da Computação

Page 63: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

63

Diagramas UML

Diagrama de casos de uso; Diagrama de classes; Diagrama de sequência;

Bacharelado em Ciência da Computação

Page 64: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

64

Diagrama de casos de uso

Bacharelado em Ciência da Computação

Page 65: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

65

Diagramas UML

Diagrama de casos de uso; Diagrama de classes; Diagrama de sequência;

Bacharelado em Ciência da Computação

Page 66: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

66

Diagrama de classes

Bacharelado em Ciência da Computação

Page 67: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

67

Diagramas UML

Diagrama de casos de uso; Diagrama de classes; Diagrama de sequência;

Bacharelado em Ciência da Computação

Page 68: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

68

Diagrama de sequência

Bacharelado em Ciência da Computação

Page 69: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

69

Ferramenta Desenvolvida

Objetivos; Metodologia utilizada; Reuso de código (Zend Framework); Diagramas UML; Telas do sistema; Implementação; Exemplo prático.

Bacharelado em Ciência da Computação

Page 70: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

70

Telas do Sistema

Tela inicial; Autenticação de usuários; Ambiente do usuário; Cadastro de marcadores; Lista de marcadores; Inserção de análise;

Bacharelado em Ciência da Computação

Page 71: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

71

Autenticação de usuários

Utiliza a classe Zend_Auth; Os dados são criptografados com uma chave de

criptografia SH1; Formulário criado com Zend_Form; Permite criar sistemas multiusuários de forma rápida e

fácil; Interação com o banco de dados.

Bacharelado em Ciência da Computação

Page 72: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

72

Ambiente do usuário

Mostra as possíveis opções que o usuário pode realizar;

Restrições de acesso;

Bacharelado em Ciência da Computação

Page 73: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

73

Cadastro de novos marcadores

Realização do cadastro de novos marcadores SSR;

Herda de Zend_Form.

Bacharelado em Ciência da Computação

Page 74: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

74

Lista de marcadores

Lista os marcadores do banco de dados; Opções de edição e deleção; Inserção de análise.

Bacharelado em Ciência da Computação

Page 75: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

75

Inserção de análise

A análise é composta pelo nome do acesso e uma sequência de números (1 ou 0) representando presença e ausência de algum alelo;

Bacharelado em Ciência da Computação

Page 76: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

76

Algoritmos

Comparação entre dois acesos; Comparação entre vário acessos; Construção da matriz de características; Construção da matriz de distância.

Bacharelado em Ciência da Computação

Page 77: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

77

Comparação entre dois acessos:

Entrada: acessosComuns nuloEntrada: contador 0para cada valor v em vetor1 faça

para cada valor v2 em vetor2 façase v1 = v2 entãoEntrada: acessosComuns[contador] v1Entrada: contador contador + 1

fim para cada

fim para cadaretorna acessosComuns

Bacharelado em Ciência da Computação

Page 78: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

78

Comparação entre acessos:

Entrada: acessosComuns nulo

Entrada: contador 0

Entrada: acessosComuns acessos(marcadoresSelecionados[1])

Para i de 2 até tamanho de marcadoresSelecionados faça

Entrada: dados acessos(marcadoresSelecionados[i])

Entrada: acessosComuns compararAcessos(dados, acessosComuns)

fim para

retorna acessosComuns

Bacharelado em Ciência da Computação

Page 79: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

79

Algoritmo de criação da matriz de características

Entrada: linhasMatriz nullEntrada: contador 0Entrada: contLinhaMatriz 0para cada valor v em matrizDeAcessosComuns faça

Entrada: array nullEntrada: array[′acesso′] vpara cada marcador m em marcadoresSelecionados faça

Entrada: dados buscaSql(m,v)para cada dado d em dados faça

Entrada: array[contador] dEntrada: contador contador + 1

fim para cadafim para cadaEntrada: contador 0Entrada: linhasMatriz[contLinhaMatriz] arrayEntrada: contLinhaMatriz contLinhaMatriz + 1

fim para cadaretorna linhasMatriz

Bacharelado em Ciência da Computação

Page 80: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

80

Algoritmo de Criação da matriz de distância

Entrada: matrizDistancia nulo

Entrada: contador 0

para cada linha l da matriz matrizDeCaracteristicas façapara cada linha j da matriz matrizDeCaracteristicas faça

Entrada: a 0Entrada: b 0Entrada: c 0Entrada: d 0para i de 1 até o tamanho de l faça

se l[i] =1 e j[i] = 1 então a a + 1se l[i] =1 e j[i] = 0 então b b + 1se l[i] =0 e j[i] = 1 então c c + 1se l[i] =0 e j[i] = 0 então d d + 1

fim paraEntrada: matrizDistancia[contador] a/a + b + cEntrada: contador contador+contador + 1

fim para cada

fim para cada

retorna matrizDistancia

Bacharelado em Ciência da Computação

Page 81: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

81

SUMÁRIO

Introdução; Fundamentação teórica; Trabalhos relacionados; O software proposto; Trabalhos futuros; Considerações finais.

Bacharelado em Ciência da Computação

Page 82: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

82

Trabalhos Futuros

Criação de dendogramas: Classes já prontas, mas falta a integração

com o sistema. Sistema para múltiplos projetos em

genética molecular: Possibilita a outros pesquisadores a criação

de seus próprios projetos.

Bacharelado em Ciência da Computação

Page 83: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

83

SUMÁRIO

Introdução; Fundamentação teórica; Trabalhos relacionados; O software proposto; Trabalhos futuros; Considerações finais.

Bacharelado em Ciência da Computação

Page 84: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

84

Considerações Finais

A utilização de recursos computacionais para a realização de certas tarefas torna-se primordial para que pesquisas na área de genética molecular possam fluir com maior rapidez.

Implementar software desse tipo requer um conhecimento técnico mais próximo da genética;

O ideal é que um profissional especializado dê suporte a implementação.

Bacharelado em Ciência da Computação

Page 85: Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .

UMA APLICAÇÃO WEB PARA CÁLCULO DE SIMILARIDADE EM ACESSOS DE CANA-DE-AÇÚCAR.

Aluno: José Júnior de Oliveira Silva

Orientador: Elthon Alex da Silva Oliveira

Co-orientador: Cícero Carlos de Sousa Almeida