Uma aplicação web para cálculo de similaridade em acessos de cana-de-açúcar .
-
Upload
eolande-orcoran -
Category
Documents
-
view
28 -
download
0
description
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
63
Diagramas UML
Diagrama de casos de uso; Diagrama de classes; Diagrama de sequência;
Bacharelado em Ciência da Computação
64
Diagrama de casos de uso
Bacharelado em Ciência da Computação
65
Diagramas UML
Diagrama de casos de uso; Diagrama de classes; Diagrama de sequência;
Bacharelado em Ciência da Computação
66
Diagrama de classes
Bacharelado em Ciência da Computação
67
Diagramas UML
Diagrama de casos de uso; Diagrama de classes; Diagrama de sequência;
Bacharelado em Ciência da Computação
68
Diagrama de sequência
Bacharelado em Ciência da Computação
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
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
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
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
73
Cadastro de novos marcadores
Realização do cadastro de novos marcadores SSR;
Herda de Zend_Form.
Bacharelado em Ciência da Computação
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
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
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
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
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
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
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
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
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
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
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
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