Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO
Data Mining em Aplicaccedilotildees de DesenhoRacional de Faacutermacos
Daniela Cardeano
DISSERTACcedilAtildeO
Mestrado Integrado em Engenharia Informaacutetica e Computaccedilatildeo
Orientador Rui Camacho
Co-orientador Nuno Fonseca
31 de Julho de 2014
Data Mining em Aplicaccedilotildees de Desenho Racional deFaacutermacos
Daniela Cardeano
Mestrado Integrado em Engenharia Informaacutetica e Computaccedilatildeo
31 de Julho de 2014
Resumo
Os faacutermacos satildeo uma mais valia para a sauacutede de toda a populaccedilatildeo Uma das formas de umfaacutermaco atuar eacute a seguinte ligar-se a uma biomoleacutecula do nosso organismo conseguindo aumen-tar ou diminuir a sua funccedilatildeo e desencadear assim um efeito terapecircutico Para sintetizar um novofaacutermaco a induacutestria farmacecircutica tem de percorrer um longo e moroso processo Um dos grandesproblemas da concepccedilatildeo de faacutermacos estaacute no tempo gasto no seu desenvolvimento e por conse-guinte os elevadiacutessimos custos
Eacute preciso identificar a origem da doenccedila preferencialmente uma moleacutecula alvo Como a pro-teiacutena por exemplo causadora ou com forte influecircncia na ocorrecircncia de doenccedilas Eacute necessaacuteriodepois determinar como se consegue neutralizar essa origem (por exemplo obstruindoum siacutetioativo de um potencial) A parte de concepccedilatildeo de um faacutermaco comeccedila por procurar em grandesbases de dados moleacuteculas que possam neutralizaro alvo (este passo denomina-se screening) es-colher os candidatos mais promissores resultantes dessa pesquisa sintetizar algumas das novasmoleacuteculas testaacute-las em animais e no final requer ainda um longo periacuteodo de ensaios cliacutenicos emhumanos Um dos pontos que o Data Mining pode contribuir eacute no passo em que as novas moleacute-culas mais promissoras satildeo testadas em animais Com base em resultados de testes anteriores oData Mining pode ser usado para prever quais das novas moleacuteculas daratildeo melhores resultados Ostestes efetuados com as novas moleacuteculas satildeo cinco absorccedilatildeo distribuiccedilatildeo metabolismo excreccedilatildeoe toxicidade Satildeo conhecidos como testes ADMET
A proposta desta tese eacute desenvolver uma ferramenta que utiliza teacutecnicas de Data Mining deforma transparente para o utilizador (bioquiacutemico) que preveja os resultados dos testes ADMETdiminuindo o tempo gasto na concepccedilatildeo de um novo faacutermaco permitindo ao quiacutemico interagircom esta ferramenta e conceber novas moleacuteculas A ferramenta criada utiliza informaccedilatildeo sobremoleacuteculas existentes e usadas em testes reais para construir modelos que auxiliam o investigadorna construccedilatildeo de um protoacutetipo que tenha a atividade bioloacutegica pretendida
i
ii
Abstract
Drugs are an asset to the health of the entire population One form of a drug is to act as fol-lows to bind to a biomolecule of our organism achieving increase or decrease its function andthereby trigger a therapeutic effect To synthesize a new drug the pharmaceutical industry has along and lengthy process A major problem of drug design is the time spent in its developmentand therefore the high costs
You need to identify the origin of the disease preferably one target molecule As the proteinfor example or causes a strong influence on the occurrence of diseases You must then determinehow they can neutralize such an origin (for example blockingan active site of a potential) Partof designing the drug begins by searching in large databases molecules that can neutralizethetarget (this step is called screening) select the most promising candidates resulting from this re-search synthesize some of the new molecules test them in animals and in the end still requires along period of clinical trials in humans One of the points that the Data Mining can contribute isthe step where the most promising new molecules are tested on animals Based on the results ofprevious data mining tests can be used to predict which new molecules will give better results Thetests performed with the new molecules are five absorption distribution metabolism excretionand toxicity These are known as ADMET testing
The proposal of this thesis is to develop a tool that uses data mining techniques transparentlyto the user (biochemist) which provides the results of ADMET testing decreasing the time spentin the design of a new drug allowing the biochemist to interact with this tool and designing newmolecules The tool set uses information on existing molecules and used in actual tests to buildmodels that assist the researcher in building a prototype that has the desired biological activity
iii
iv
Agradecimentos
A quem de forma direta ou indireta contribuiram para que o meu percurso pela Faculdade deEngenharia da Universidade do Porto fosse bastante enriquecedor tanto a niacutevel intelectual como aniacutevel emocional
Mas um especial agradecimento aos meus Pais que sempre quiseram o melhor para mim eviveram de forma tatildeo ou mais fervorosa esta experiecircncia comigo
Daniela Cardeano
v
vi
ldquoIn any given moment we have two optionsto step forward into growthor to step back into safetyrdquo
Abraham Maslow
vii
viii
Conteuacutedo
1 Introduccedilatildeo 111 Projeto e Objetivos 112 Motivaccedilatildeo 213 Estrutura da Dissertaccedilatildeo 2
2 Estado da Arte 521 Processo de Desenho de Faacutermacos 522 A aplicaccedilatildeo iLogChem 823 Ferramentas informaacuteticas para Desenho de Faacutermacos 11
231 Descritores Moleculares 11232 Ferramentas para caacutelculo de Descritores Moleculares 12
24 Data Mining 13241 Algoritmos a utilizar 15242 Ferramentas de Data Mining 18
3 Descriccedilatildeo da Ferramenta 2331 Estrutura de diretoacuterios 2432 Detalhes da implementaccedilatildeo 2433 Utilizaccedilatildeo do sistema ALEPH 2534 WEKA 2835 Interface com o utilizador 2936 Tecnologias Utilizadas 31
4 Avaliaccedilatildeo Testes e Resultados 3341 Qualitativa 3342 Quantitativa 3343 Casos de Estudo 35
5 Conclusotildees 43501 Trabalho futuro 44
Referecircncias 47
ix
CONTEUacuteDO
x
Lista de Figuras
21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos 722 Estrutura da aplicaccedilatildeo iLogChem 1023 Origem dos descritores Retirado de httpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1224 Tipos de descritores moleculares 1325 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1426 Exemplo de aacutervore de decisatildeo 1627 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retirado de http
enwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg 17
28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng 19
31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos 2532 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb
para os literais do corpo) e de determinaccedilatildeo (determination) 2633 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-
wledge 2734 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge 2735 Pseudo-coacutedigo do funcionamento do wrapper 3036 Interface graacutefica - descritores moleculares 31
41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares 3442 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste 3543 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA 3644 Training set 3945 Training set model 40
xi
LISTA DE FIGURAS
xii
Abreviaturas e Siacutembolos
ADMET Absorption Distribution Metabolism Excretion ToxicityALEPH A Learning Engine for Proposing HypothesesAPI Application Programming InterfaceARFF Attribute-relation file formatCSV Comma-separated valuesDM Data MiningIDE Integrated development environmentILP Inductive logic programmingJVM Java Virtual MachineKNN K-nearest neighborsLIACC Laboratoacuterio de Inteligecircncia Artificial e Ciecircncia de ComputadoresOLAP On-line Analytical ProcessingPLI Programaccedilatildeo Loacutegica IndutivaRMN ressonacircncia magneacutetica nuclearSAR structure-activity relationSDF structure-data fileSMILES Simplified molecular-input line-entry systemSVM Support Vector MachineVMD Visual molecular dynamicsWEKA Waikato Environment for Knowledge AnalysisWWW World Wide WebYAP Yet Another Prolog
xiii
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Data Mining em Aplicaccedilotildees de Desenho Racional deFaacutermacos
Daniela Cardeano
Mestrado Integrado em Engenharia Informaacutetica e Computaccedilatildeo
31 de Julho de 2014
Resumo
Os faacutermacos satildeo uma mais valia para a sauacutede de toda a populaccedilatildeo Uma das formas de umfaacutermaco atuar eacute a seguinte ligar-se a uma biomoleacutecula do nosso organismo conseguindo aumen-tar ou diminuir a sua funccedilatildeo e desencadear assim um efeito terapecircutico Para sintetizar um novofaacutermaco a induacutestria farmacecircutica tem de percorrer um longo e moroso processo Um dos grandesproblemas da concepccedilatildeo de faacutermacos estaacute no tempo gasto no seu desenvolvimento e por conse-guinte os elevadiacutessimos custos
Eacute preciso identificar a origem da doenccedila preferencialmente uma moleacutecula alvo Como a pro-teiacutena por exemplo causadora ou com forte influecircncia na ocorrecircncia de doenccedilas Eacute necessaacuteriodepois determinar como se consegue neutralizar essa origem (por exemplo obstruindoum siacutetioativo de um potencial) A parte de concepccedilatildeo de um faacutermaco comeccedila por procurar em grandesbases de dados moleacuteculas que possam neutralizaro alvo (este passo denomina-se screening) es-colher os candidatos mais promissores resultantes dessa pesquisa sintetizar algumas das novasmoleacuteculas testaacute-las em animais e no final requer ainda um longo periacuteodo de ensaios cliacutenicos emhumanos Um dos pontos que o Data Mining pode contribuir eacute no passo em que as novas moleacute-culas mais promissoras satildeo testadas em animais Com base em resultados de testes anteriores oData Mining pode ser usado para prever quais das novas moleacuteculas daratildeo melhores resultados Ostestes efetuados com as novas moleacuteculas satildeo cinco absorccedilatildeo distribuiccedilatildeo metabolismo excreccedilatildeoe toxicidade Satildeo conhecidos como testes ADMET
A proposta desta tese eacute desenvolver uma ferramenta que utiliza teacutecnicas de Data Mining deforma transparente para o utilizador (bioquiacutemico) que preveja os resultados dos testes ADMETdiminuindo o tempo gasto na concepccedilatildeo de um novo faacutermaco permitindo ao quiacutemico interagircom esta ferramenta e conceber novas moleacuteculas A ferramenta criada utiliza informaccedilatildeo sobremoleacuteculas existentes e usadas em testes reais para construir modelos que auxiliam o investigadorna construccedilatildeo de um protoacutetipo que tenha a atividade bioloacutegica pretendida
i
ii
Abstract
Drugs are an asset to the health of the entire population One form of a drug is to act as fol-lows to bind to a biomolecule of our organism achieving increase or decrease its function andthereby trigger a therapeutic effect To synthesize a new drug the pharmaceutical industry has along and lengthy process A major problem of drug design is the time spent in its developmentand therefore the high costs
You need to identify the origin of the disease preferably one target molecule As the proteinfor example or causes a strong influence on the occurrence of diseases You must then determinehow they can neutralize such an origin (for example blockingan active site of a potential) Partof designing the drug begins by searching in large databases molecules that can neutralizethetarget (this step is called screening) select the most promising candidates resulting from this re-search synthesize some of the new molecules test them in animals and in the end still requires along period of clinical trials in humans One of the points that the Data Mining can contribute isthe step where the most promising new molecules are tested on animals Based on the results ofprevious data mining tests can be used to predict which new molecules will give better results Thetests performed with the new molecules are five absorption distribution metabolism excretionand toxicity These are known as ADMET testing
The proposal of this thesis is to develop a tool that uses data mining techniques transparentlyto the user (biochemist) which provides the results of ADMET testing decreasing the time spentin the design of a new drug allowing the biochemist to interact with this tool and designing newmolecules The tool set uses information on existing molecules and used in actual tests to buildmodels that assist the researcher in building a prototype that has the desired biological activity
iii
iv
Agradecimentos
A quem de forma direta ou indireta contribuiram para que o meu percurso pela Faculdade deEngenharia da Universidade do Porto fosse bastante enriquecedor tanto a niacutevel intelectual como aniacutevel emocional
Mas um especial agradecimento aos meus Pais que sempre quiseram o melhor para mim eviveram de forma tatildeo ou mais fervorosa esta experiecircncia comigo
Daniela Cardeano
v
vi
ldquoIn any given moment we have two optionsto step forward into growthor to step back into safetyrdquo
Abraham Maslow
vii
viii
Conteuacutedo
1 Introduccedilatildeo 111 Projeto e Objetivos 112 Motivaccedilatildeo 213 Estrutura da Dissertaccedilatildeo 2
2 Estado da Arte 521 Processo de Desenho de Faacutermacos 522 A aplicaccedilatildeo iLogChem 823 Ferramentas informaacuteticas para Desenho de Faacutermacos 11
231 Descritores Moleculares 11232 Ferramentas para caacutelculo de Descritores Moleculares 12
24 Data Mining 13241 Algoritmos a utilizar 15242 Ferramentas de Data Mining 18
3 Descriccedilatildeo da Ferramenta 2331 Estrutura de diretoacuterios 2432 Detalhes da implementaccedilatildeo 2433 Utilizaccedilatildeo do sistema ALEPH 2534 WEKA 2835 Interface com o utilizador 2936 Tecnologias Utilizadas 31
4 Avaliaccedilatildeo Testes e Resultados 3341 Qualitativa 3342 Quantitativa 3343 Casos de Estudo 35
5 Conclusotildees 43501 Trabalho futuro 44
Referecircncias 47
ix
CONTEUacuteDO
x
Lista de Figuras
21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos 722 Estrutura da aplicaccedilatildeo iLogChem 1023 Origem dos descritores Retirado de httpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1224 Tipos de descritores moleculares 1325 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1426 Exemplo de aacutervore de decisatildeo 1627 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retirado de http
enwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg 17
28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng 19
31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos 2532 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb
para os literais do corpo) e de determinaccedilatildeo (determination) 2633 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-
wledge 2734 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge 2735 Pseudo-coacutedigo do funcionamento do wrapper 3036 Interface graacutefica - descritores moleculares 31
41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares 3442 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste 3543 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA 3644 Training set 3945 Training set model 40
xi
LISTA DE FIGURAS
xii
Abreviaturas e Siacutembolos
ADMET Absorption Distribution Metabolism Excretion ToxicityALEPH A Learning Engine for Proposing HypothesesAPI Application Programming InterfaceARFF Attribute-relation file formatCSV Comma-separated valuesDM Data MiningIDE Integrated development environmentILP Inductive logic programmingJVM Java Virtual MachineKNN K-nearest neighborsLIACC Laboratoacuterio de Inteligecircncia Artificial e Ciecircncia de ComputadoresOLAP On-line Analytical ProcessingPLI Programaccedilatildeo Loacutegica IndutivaRMN ressonacircncia magneacutetica nuclearSAR structure-activity relationSDF structure-data fileSMILES Simplified molecular-input line-entry systemSVM Support Vector MachineVMD Visual molecular dynamicsWEKA Waikato Environment for Knowledge AnalysisWWW World Wide WebYAP Yet Another Prolog
xiii
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Resumo
Os faacutermacos satildeo uma mais valia para a sauacutede de toda a populaccedilatildeo Uma das formas de umfaacutermaco atuar eacute a seguinte ligar-se a uma biomoleacutecula do nosso organismo conseguindo aumen-tar ou diminuir a sua funccedilatildeo e desencadear assim um efeito terapecircutico Para sintetizar um novofaacutermaco a induacutestria farmacecircutica tem de percorrer um longo e moroso processo Um dos grandesproblemas da concepccedilatildeo de faacutermacos estaacute no tempo gasto no seu desenvolvimento e por conse-guinte os elevadiacutessimos custos
Eacute preciso identificar a origem da doenccedila preferencialmente uma moleacutecula alvo Como a pro-teiacutena por exemplo causadora ou com forte influecircncia na ocorrecircncia de doenccedilas Eacute necessaacuteriodepois determinar como se consegue neutralizar essa origem (por exemplo obstruindoum siacutetioativo de um potencial) A parte de concepccedilatildeo de um faacutermaco comeccedila por procurar em grandesbases de dados moleacuteculas que possam neutralizaro alvo (este passo denomina-se screening) es-colher os candidatos mais promissores resultantes dessa pesquisa sintetizar algumas das novasmoleacuteculas testaacute-las em animais e no final requer ainda um longo periacuteodo de ensaios cliacutenicos emhumanos Um dos pontos que o Data Mining pode contribuir eacute no passo em que as novas moleacute-culas mais promissoras satildeo testadas em animais Com base em resultados de testes anteriores oData Mining pode ser usado para prever quais das novas moleacuteculas daratildeo melhores resultados Ostestes efetuados com as novas moleacuteculas satildeo cinco absorccedilatildeo distribuiccedilatildeo metabolismo excreccedilatildeoe toxicidade Satildeo conhecidos como testes ADMET
A proposta desta tese eacute desenvolver uma ferramenta que utiliza teacutecnicas de Data Mining deforma transparente para o utilizador (bioquiacutemico) que preveja os resultados dos testes ADMETdiminuindo o tempo gasto na concepccedilatildeo de um novo faacutermaco permitindo ao quiacutemico interagircom esta ferramenta e conceber novas moleacuteculas A ferramenta criada utiliza informaccedilatildeo sobremoleacuteculas existentes e usadas em testes reais para construir modelos que auxiliam o investigadorna construccedilatildeo de um protoacutetipo que tenha a atividade bioloacutegica pretendida
i
ii
Abstract
Drugs are an asset to the health of the entire population One form of a drug is to act as fol-lows to bind to a biomolecule of our organism achieving increase or decrease its function andthereby trigger a therapeutic effect To synthesize a new drug the pharmaceutical industry has along and lengthy process A major problem of drug design is the time spent in its developmentand therefore the high costs
You need to identify the origin of the disease preferably one target molecule As the proteinfor example or causes a strong influence on the occurrence of diseases You must then determinehow they can neutralize such an origin (for example blockingan active site of a potential) Partof designing the drug begins by searching in large databases molecules that can neutralizethetarget (this step is called screening) select the most promising candidates resulting from this re-search synthesize some of the new molecules test them in animals and in the end still requires along period of clinical trials in humans One of the points that the Data Mining can contribute isthe step where the most promising new molecules are tested on animals Based on the results ofprevious data mining tests can be used to predict which new molecules will give better results Thetests performed with the new molecules are five absorption distribution metabolism excretionand toxicity These are known as ADMET testing
The proposal of this thesis is to develop a tool that uses data mining techniques transparentlyto the user (biochemist) which provides the results of ADMET testing decreasing the time spentin the design of a new drug allowing the biochemist to interact with this tool and designing newmolecules The tool set uses information on existing molecules and used in actual tests to buildmodels that assist the researcher in building a prototype that has the desired biological activity
iii
iv
Agradecimentos
A quem de forma direta ou indireta contribuiram para que o meu percurso pela Faculdade deEngenharia da Universidade do Porto fosse bastante enriquecedor tanto a niacutevel intelectual como aniacutevel emocional
Mas um especial agradecimento aos meus Pais que sempre quiseram o melhor para mim eviveram de forma tatildeo ou mais fervorosa esta experiecircncia comigo
Daniela Cardeano
v
vi
ldquoIn any given moment we have two optionsto step forward into growthor to step back into safetyrdquo
Abraham Maslow
vii
viii
Conteuacutedo
1 Introduccedilatildeo 111 Projeto e Objetivos 112 Motivaccedilatildeo 213 Estrutura da Dissertaccedilatildeo 2
2 Estado da Arte 521 Processo de Desenho de Faacutermacos 522 A aplicaccedilatildeo iLogChem 823 Ferramentas informaacuteticas para Desenho de Faacutermacos 11
231 Descritores Moleculares 11232 Ferramentas para caacutelculo de Descritores Moleculares 12
24 Data Mining 13241 Algoritmos a utilizar 15242 Ferramentas de Data Mining 18
3 Descriccedilatildeo da Ferramenta 2331 Estrutura de diretoacuterios 2432 Detalhes da implementaccedilatildeo 2433 Utilizaccedilatildeo do sistema ALEPH 2534 WEKA 2835 Interface com o utilizador 2936 Tecnologias Utilizadas 31
4 Avaliaccedilatildeo Testes e Resultados 3341 Qualitativa 3342 Quantitativa 3343 Casos de Estudo 35
5 Conclusotildees 43501 Trabalho futuro 44
Referecircncias 47
ix
CONTEUacuteDO
x
Lista de Figuras
21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos 722 Estrutura da aplicaccedilatildeo iLogChem 1023 Origem dos descritores Retirado de httpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1224 Tipos de descritores moleculares 1325 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1426 Exemplo de aacutervore de decisatildeo 1627 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retirado de http
enwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg 17
28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng 19
31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos 2532 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb
para os literais do corpo) e de determinaccedilatildeo (determination) 2633 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-
wledge 2734 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge 2735 Pseudo-coacutedigo do funcionamento do wrapper 3036 Interface graacutefica - descritores moleculares 31
41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares 3442 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste 3543 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA 3644 Training set 3945 Training set model 40
xi
LISTA DE FIGURAS
xii
Abreviaturas e Siacutembolos
ADMET Absorption Distribution Metabolism Excretion ToxicityALEPH A Learning Engine for Proposing HypothesesAPI Application Programming InterfaceARFF Attribute-relation file formatCSV Comma-separated valuesDM Data MiningIDE Integrated development environmentILP Inductive logic programmingJVM Java Virtual MachineKNN K-nearest neighborsLIACC Laboratoacuterio de Inteligecircncia Artificial e Ciecircncia de ComputadoresOLAP On-line Analytical ProcessingPLI Programaccedilatildeo Loacutegica IndutivaRMN ressonacircncia magneacutetica nuclearSAR structure-activity relationSDF structure-data fileSMILES Simplified molecular-input line-entry systemSVM Support Vector MachineVMD Visual molecular dynamicsWEKA Waikato Environment for Knowledge AnalysisWWW World Wide WebYAP Yet Another Prolog
xiii
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
ii
Abstract
Drugs are an asset to the health of the entire population One form of a drug is to act as fol-lows to bind to a biomolecule of our organism achieving increase or decrease its function andthereby trigger a therapeutic effect To synthesize a new drug the pharmaceutical industry has along and lengthy process A major problem of drug design is the time spent in its developmentand therefore the high costs
You need to identify the origin of the disease preferably one target molecule As the proteinfor example or causes a strong influence on the occurrence of diseases You must then determinehow they can neutralize such an origin (for example blockingan active site of a potential) Partof designing the drug begins by searching in large databases molecules that can neutralizethetarget (this step is called screening) select the most promising candidates resulting from this re-search synthesize some of the new molecules test them in animals and in the end still requires along period of clinical trials in humans One of the points that the Data Mining can contribute isthe step where the most promising new molecules are tested on animals Based on the results ofprevious data mining tests can be used to predict which new molecules will give better results Thetests performed with the new molecules are five absorption distribution metabolism excretionand toxicity These are known as ADMET testing
The proposal of this thesis is to develop a tool that uses data mining techniques transparentlyto the user (biochemist) which provides the results of ADMET testing decreasing the time spentin the design of a new drug allowing the biochemist to interact with this tool and designing newmolecules The tool set uses information on existing molecules and used in actual tests to buildmodels that assist the researcher in building a prototype that has the desired biological activity
iii
iv
Agradecimentos
A quem de forma direta ou indireta contribuiram para que o meu percurso pela Faculdade deEngenharia da Universidade do Porto fosse bastante enriquecedor tanto a niacutevel intelectual como aniacutevel emocional
Mas um especial agradecimento aos meus Pais que sempre quiseram o melhor para mim eviveram de forma tatildeo ou mais fervorosa esta experiecircncia comigo
Daniela Cardeano
v
vi
ldquoIn any given moment we have two optionsto step forward into growthor to step back into safetyrdquo
Abraham Maslow
vii
viii
Conteuacutedo
1 Introduccedilatildeo 111 Projeto e Objetivos 112 Motivaccedilatildeo 213 Estrutura da Dissertaccedilatildeo 2
2 Estado da Arte 521 Processo de Desenho de Faacutermacos 522 A aplicaccedilatildeo iLogChem 823 Ferramentas informaacuteticas para Desenho de Faacutermacos 11
231 Descritores Moleculares 11232 Ferramentas para caacutelculo de Descritores Moleculares 12
24 Data Mining 13241 Algoritmos a utilizar 15242 Ferramentas de Data Mining 18
3 Descriccedilatildeo da Ferramenta 2331 Estrutura de diretoacuterios 2432 Detalhes da implementaccedilatildeo 2433 Utilizaccedilatildeo do sistema ALEPH 2534 WEKA 2835 Interface com o utilizador 2936 Tecnologias Utilizadas 31
4 Avaliaccedilatildeo Testes e Resultados 3341 Qualitativa 3342 Quantitativa 3343 Casos de Estudo 35
5 Conclusotildees 43501 Trabalho futuro 44
Referecircncias 47
ix
CONTEUacuteDO
x
Lista de Figuras
21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos 722 Estrutura da aplicaccedilatildeo iLogChem 1023 Origem dos descritores Retirado de httpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1224 Tipos de descritores moleculares 1325 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1426 Exemplo de aacutervore de decisatildeo 1627 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retirado de http
enwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg 17
28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng 19
31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos 2532 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb
para os literais do corpo) e de determinaccedilatildeo (determination) 2633 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-
wledge 2734 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge 2735 Pseudo-coacutedigo do funcionamento do wrapper 3036 Interface graacutefica - descritores moleculares 31
41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares 3442 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste 3543 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA 3644 Training set 3945 Training set model 40
xi
LISTA DE FIGURAS
xii
Abreviaturas e Siacutembolos
ADMET Absorption Distribution Metabolism Excretion ToxicityALEPH A Learning Engine for Proposing HypothesesAPI Application Programming InterfaceARFF Attribute-relation file formatCSV Comma-separated valuesDM Data MiningIDE Integrated development environmentILP Inductive logic programmingJVM Java Virtual MachineKNN K-nearest neighborsLIACC Laboratoacuterio de Inteligecircncia Artificial e Ciecircncia de ComputadoresOLAP On-line Analytical ProcessingPLI Programaccedilatildeo Loacutegica IndutivaRMN ressonacircncia magneacutetica nuclearSAR structure-activity relationSDF structure-data fileSMILES Simplified molecular-input line-entry systemSVM Support Vector MachineVMD Visual molecular dynamicsWEKA Waikato Environment for Knowledge AnalysisWWW World Wide WebYAP Yet Another Prolog
xiii
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Abstract
Drugs are an asset to the health of the entire population One form of a drug is to act as fol-lows to bind to a biomolecule of our organism achieving increase or decrease its function andthereby trigger a therapeutic effect To synthesize a new drug the pharmaceutical industry has along and lengthy process A major problem of drug design is the time spent in its developmentand therefore the high costs
You need to identify the origin of the disease preferably one target molecule As the proteinfor example or causes a strong influence on the occurrence of diseases You must then determinehow they can neutralize such an origin (for example blockingan active site of a potential) Partof designing the drug begins by searching in large databases molecules that can neutralizethetarget (this step is called screening) select the most promising candidates resulting from this re-search synthesize some of the new molecules test them in animals and in the end still requires along period of clinical trials in humans One of the points that the Data Mining can contribute isthe step where the most promising new molecules are tested on animals Based on the results ofprevious data mining tests can be used to predict which new molecules will give better results Thetests performed with the new molecules are five absorption distribution metabolism excretionand toxicity These are known as ADMET testing
The proposal of this thesis is to develop a tool that uses data mining techniques transparentlyto the user (biochemist) which provides the results of ADMET testing decreasing the time spentin the design of a new drug allowing the biochemist to interact with this tool and designing newmolecules The tool set uses information on existing molecules and used in actual tests to buildmodels that assist the researcher in building a prototype that has the desired biological activity
iii
iv
Agradecimentos
A quem de forma direta ou indireta contribuiram para que o meu percurso pela Faculdade deEngenharia da Universidade do Porto fosse bastante enriquecedor tanto a niacutevel intelectual como aniacutevel emocional
Mas um especial agradecimento aos meus Pais que sempre quiseram o melhor para mim eviveram de forma tatildeo ou mais fervorosa esta experiecircncia comigo
Daniela Cardeano
v
vi
ldquoIn any given moment we have two optionsto step forward into growthor to step back into safetyrdquo
Abraham Maslow
vii
viii
Conteuacutedo
1 Introduccedilatildeo 111 Projeto e Objetivos 112 Motivaccedilatildeo 213 Estrutura da Dissertaccedilatildeo 2
2 Estado da Arte 521 Processo de Desenho de Faacutermacos 522 A aplicaccedilatildeo iLogChem 823 Ferramentas informaacuteticas para Desenho de Faacutermacos 11
231 Descritores Moleculares 11232 Ferramentas para caacutelculo de Descritores Moleculares 12
24 Data Mining 13241 Algoritmos a utilizar 15242 Ferramentas de Data Mining 18
3 Descriccedilatildeo da Ferramenta 2331 Estrutura de diretoacuterios 2432 Detalhes da implementaccedilatildeo 2433 Utilizaccedilatildeo do sistema ALEPH 2534 WEKA 2835 Interface com o utilizador 2936 Tecnologias Utilizadas 31
4 Avaliaccedilatildeo Testes e Resultados 3341 Qualitativa 3342 Quantitativa 3343 Casos de Estudo 35
5 Conclusotildees 43501 Trabalho futuro 44
Referecircncias 47
ix
CONTEUacuteDO
x
Lista de Figuras
21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos 722 Estrutura da aplicaccedilatildeo iLogChem 1023 Origem dos descritores Retirado de httpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1224 Tipos de descritores moleculares 1325 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1426 Exemplo de aacutervore de decisatildeo 1627 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retirado de http
enwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg 17
28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng 19
31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos 2532 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb
para os literais do corpo) e de determinaccedilatildeo (determination) 2633 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-
wledge 2734 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge 2735 Pseudo-coacutedigo do funcionamento do wrapper 3036 Interface graacutefica - descritores moleculares 31
41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares 3442 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste 3543 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA 3644 Training set 3945 Training set model 40
xi
LISTA DE FIGURAS
xii
Abreviaturas e Siacutembolos
ADMET Absorption Distribution Metabolism Excretion ToxicityALEPH A Learning Engine for Proposing HypothesesAPI Application Programming InterfaceARFF Attribute-relation file formatCSV Comma-separated valuesDM Data MiningIDE Integrated development environmentILP Inductive logic programmingJVM Java Virtual MachineKNN K-nearest neighborsLIACC Laboratoacuterio de Inteligecircncia Artificial e Ciecircncia de ComputadoresOLAP On-line Analytical ProcessingPLI Programaccedilatildeo Loacutegica IndutivaRMN ressonacircncia magneacutetica nuclearSAR structure-activity relationSDF structure-data fileSMILES Simplified molecular-input line-entry systemSVM Support Vector MachineVMD Visual molecular dynamicsWEKA Waikato Environment for Knowledge AnalysisWWW World Wide WebYAP Yet Another Prolog
xiii
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
iv
Agradecimentos
A quem de forma direta ou indireta contribuiram para que o meu percurso pela Faculdade deEngenharia da Universidade do Porto fosse bastante enriquecedor tanto a niacutevel intelectual como aniacutevel emocional
Mas um especial agradecimento aos meus Pais que sempre quiseram o melhor para mim eviveram de forma tatildeo ou mais fervorosa esta experiecircncia comigo
Daniela Cardeano
v
vi
ldquoIn any given moment we have two optionsto step forward into growthor to step back into safetyrdquo
Abraham Maslow
vii
viii
Conteuacutedo
1 Introduccedilatildeo 111 Projeto e Objetivos 112 Motivaccedilatildeo 213 Estrutura da Dissertaccedilatildeo 2
2 Estado da Arte 521 Processo de Desenho de Faacutermacos 522 A aplicaccedilatildeo iLogChem 823 Ferramentas informaacuteticas para Desenho de Faacutermacos 11
231 Descritores Moleculares 11232 Ferramentas para caacutelculo de Descritores Moleculares 12
24 Data Mining 13241 Algoritmos a utilizar 15242 Ferramentas de Data Mining 18
3 Descriccedilatildeo da Ferramenta 2331 Estrutura de diretoacuterios 2432 Detalhes da implementaccedilatildeo 2433 Utilizaccedilatildeo do sistema ALEPH 2534 WEKA 2835 Interface com o utilizador 2936 Tecnologias Utilizadas 31
4 Avaliaccedilatildeo Testes e Resultados 3341 Qualitativa 3342 Quantitativa 3343 Casos de Estudo 35
5 Conclusotildees 43501 Trabalho futuro 44
Referecircncias 47
ix
CONTEUacuteDO
x
Lista de Figuras
21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos 722 Estrutura da aplicaccedilatildeo iLogChem 1023 Origem dos descritores Retirado de httpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1224 Tipos de descritores moleculares 1325 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1426 Exemplo de aacutervore de decisatildeo 1627 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retirado de http
enwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg 17
28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng 19
31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos 2532 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb
para os literais do corpo) e de determinaccedilatildeo (determination) 2633 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-
wledge 2734 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge 2735 Pseudo-coacutedigo do funcionamento do wrapper 3036 Interface graacutefica - descritores moleculares 31
41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares 3442 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste 3543 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA 3644 Training set 3945 Training set model 40
xi
LISTA DE FIGURAS
xii
Abreviaturas e Siacutembolos
ADMET Absorption Distribution Metabolism Excretion ToxicityALEPH A Learning Engine for Proposing HypothesesAPI Application Programming InterfaceARFF Attribute-relation file formatCSV Comma-separated valuesDM Data MiningIDE Integrated development environmentILP Inductive logic programmingJVM Java Virtual MachineKNN K-nearest neighborsLIACC Laboratoacuterio de Inteligecircncia Artificial e Ciecircncia de ComputadoresOLAP On-line Analytical ProcessingPLI Programaccedilatildeo Loacutegica IndutivaRMN ressonacircncia magneacutetica nuclearSAR structure-activity relationSDF structure-data fileSMILES Simplified molecular-input line-entry systemSVM Support Vector MachineVMD Visual molecular dynamicsWEKA Waikato Environment for Knowledge AnalysisWWW World Wide WebYAP Yet Another Prolog
xiii
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Agradecimentos
A quem de forma direta ou indireta contribuiram para que o meu percurso pela Faculdade deEngenharia da Universidade do Porto fosse bastante enriquecedor tanto a niacutevel intelectual como aniacutevel emocional
Mas um especial agradecimento aos meus Pais que sempre quiseram o melhor para mim eviveram de forma tatildeo ou mais fervorosa esta experiecircncia comigo
Daniela Cardeano
v
vi
ldquoIn any given moment we have two optionsto step forward into growthor to step back into safetyrdquo
Abraham Maslow
vii
viii
Conteuacutedo
1 Introduccedilatildeo 111 Projeto e Objetivos 112 Motivaccedilatildeo 213 Estrutura da Dissertaccedilatildeo 2
2 Estado da Arte 521 Processo de Desenho de Faacutermacos 522 A aplicaccedilatildeo iLogChem 823 Ferramentas informaacuteticas para Desenho de Faacutermacos 11
231 Descritores Moleculares 11232 Ferramentas para caacutelculo de Descritores Moleculares 12
24 Data Mining 13241 Algoritmos a utilizar 15242 Ferramentas de Data Mining 18
3 Descriccedilatildeo da Ferramenta 2331 Estrutura de diretoacuterios 2432 Detalhes da implementaccedilatildeo 2433 Utilizaccedilatildeo do sistema ALEPH 2534 WEKA 2835 Interface com o utilizador 2936 Tecnologias Utilizadas 31
4 Avaliaccedilatildeo Testes e Resultados 3341 Qualitativa 3342 Quantitativa 3343 Casos de Estudo 35
5 Conclusotildees 43501 Trabalho futuro 44
Referecircncias 47
ix
CONTEUacuteDO
x
Lista de Figuras
21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos 722 Estrutura da aplicaccedilatildeo iLogChem 1023 Origem dos descritores Retirado de httpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1224 Tipos de descritores moleculares 1325 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1426 Exemplo de aacutervore de decisatildeo 1627 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retirado de http
enwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg 17
28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng 19
31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos 2532 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb
para os literais do corpo) e de determinaccedilatildeo (determination) 2633 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-
wledge 2734 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge 2735 Pseudo-coacutedigo do funcionamento do wrapper 3036 Interface graacutefica - descritores moleculares 31
41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares 3442 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste 3543 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA 3644 Training set 3945 Training set model 40
xi
LISTA DE FIGURAS
xii
Abreviaturas e Siacutembolos
ADMET Absorption Distribution Metabolism Excretion ToxicityALEPH A Learning Engine for Proposing HypothesesAPI Application Programming InterfaceARFF Attribute-relation file formatCSV Comma-separated valuesDM Data MiningIDE Integrated development environmentILP Inductive logic programmingJVM Java Virtual MachineKNN K-nearest neighborsLIACC Laboratoacuterio de Inteligecircncia Artificial e Ciecircncia de ComputadoresOLAP On-line Analytical ProcessingPLI Programaccedilatildeo Loacutegica IndutivaRMN ressonacircncia magneacutetica nuclearSAR structure-activity relationSDF structure-data fileSMILES Simplified molecular-input line-entry systemSVM Support Vector MachineVMD Visual molecular dynamicsWEKA Waikato Environment for Knowledge AnalysisWWW World Wide WebYAP Yet Another Prolog
xiii
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
vi
ldquoIn any given moment we have two optionsto step forward into growthor to step back into safetyrdquo
Abraham Maslow
vii
viii
Conteuacutedo
1 Introduccedilatildeo 111 Projeto e Objetivos 112 Motivaccedilatildeo 213 Estrutura da Dissertaccedilatildeo 2
2 Estado da Arte 521 Processo de Desenho de Faacutermacos 522 A aplicaccedilatildeo iLogChem 823 Ferramentas informaacuteticas para Desenho de Faacutermacos 11
231 Descritores Moleculares 11232 Ferramentas para caacutelculo de Descritores Moleculares 12
24 Data Mining 13241 Algoritmos a utilizar 15242 Ferramentas de Data Mining 18
3 Descriccedilatildeo da Ferramenta 2331 Estrutura de diretoacuterios 2432 Detalhes da implementaccedilatildeo 2433 Utilizaccedilatildeo do sistema ALEPH 2534 WEKA 2835 Interface com o utilizador 2936 Tecnologias Utilizadas 31
4 Avaliaccedilatildeo Testes e Resultados 3341 Qualitativa 3342 Quantitativa 3343 Casos de Estudo 35
5 Conclusotildees 43501 Trabalho futuro 44
Referecircncias 47
ix
CONTEUacuteDO
x
Lista de Figuras
21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos 722 Estrutura da aplicaccedilatildeo iLogChem 1023 Origem dos descritores Retirado de httpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1224 Tipos de descritores moleculares 1325 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1426 Exemplo de aacutervore de decisatildeo 1627 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retirado de http
enwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg 17
28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng 19
31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos 2532 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb
para os literais do corpo) e de determinaccedilatildeo (determination) 2633 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-
wledge 2734 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge 2735 Pseudo-coacutedigo do funcionamento do wrapper 3036 Interface graacutefica - descritores moleculares 31
41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares 3442 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste 3543 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA 3644 Training set 3945 Training set model 40
xi
LISTA DE FIGURAS
xii
Abreviaturas e Siacutembolos
ADMET Absorption Distribution Metabolism Excretion ToxicityALEPH A Learning Engine for Proposing HypothesesAPI Application Programming InterfaceARFF Attribute-relation file formatCSV Comma-separated valuesDM Data MiningIDE Integrated development environmentILP Inductive logic programmingJVM Java Virtual MachineKNN K-nearest neighborsLIACC Laboratoacuterio de Inteligecircncia Artificial e Ciecircncia de ComputadoresOLAP On-line Analytical ProcessingPLI Programaccedilatildeo Loacutegica IndutivaRMN ressonacircncia magneacutetica nuclearSAR structure-activity relationSDF structure-data fileSMILES Simplified molecular-input line-entry systemSVM Support Vector MachineVMD Visual molecular dynamicsWEKA Waikato Environment for Knowledge AnalysisWWW World Wide WebYAP Yet Another Prolog
xiii
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
ldquoIn any given moment we have two optionsto step forward into growthor to step back into safetyrdquo
Abraham Maslow
vii
viii
Conteuacutedo
1 Introduccedilatildeo 111 Projeto e Objetivos 112 Motivaccedilatildeo 213 Estrutura da Dissertaccedilatildeo 2
2 Estado da Arte 521 Processo de Desenho de Faacutermacos 522 A aplicaccedilatildeo iLogChem 823 Ferramentas informaacuteticas para Desenho de Faacutermacos 11
231 Descritores Moleculares 11232 Ferramentas para caacutelculo de Descritores Moleculares 12
24 Data Mining 13241 Algoritmos a utilizar 15242 Ferramentas de Data Mining 18
3 Descriccedilatildeo da Ferramenta 2331 Estrutura de diretoacuterios 2432 Detalhes da implementaccedilatildeo 2433 Utilizaccedilatildeo do sistema ALEPH 2534 WEKA 2835 Interface com o utilizador 2936 Tecnologias Utilizadas 31
4 Avaliaccedilatildeo Testes e Resultados 3341 Qualitativa 3342 Quantitativa 3343 Casos de Estudo 35
5 Conclusotildees 43501 Trabalho futuro 44
Referecircncias 47
ix
CONTEUacuteDO
x
Lista de Figuras
21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos 722 Estrutura da aplicaccedilatildeo iLogChem 1023 Origem dos descritores Retirado de httpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1224 Tipos de descritores moleculares 1325 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1426 Exemplo de aacutervore de decisatildeo 1627 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retirado de http
enwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg 17
28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng 19
31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos 2532 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb
para os literais do corpo) e de determinaccedilatildeo (determination) 2633 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-
wledge 2734 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge 2735 Pseudo-coacutedigo do funcionamento do wrapper 3036 Interface graacutefica - descritores moleculares 31
41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares 3442 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste 3543 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA 3644 Training set 3945 Training set model 40
xi
LISTA DE FIGURAS
xii
Abreviaturas e Siacutembolos
ADMET Absorption Distribution Metabolism Excretion ToxicityALEPH A Learning Engine for Proposing HypothesesAPI Application Programming InterfaceARFF Attribute-relation file formatCSV Comma-separated valuesDM Data MiningIDE Integrated development environmentILP Inductive logic programmingJVM Java Virtual MachineKNN K-nearest neighborsLIACC Laboratoacuterio de Inteligecircncia Artificial e Ciecircncia de ComputadoresOLAP On-line Analytical ProcessingPLI Programaccedilatildeo Loacutegica IndutivaRMN ressonacircncia magneacutetica nuclearSAR structure-activity relationSDF structure-data fileSMILES Simplified molecular-input line-entry systemSVM Support Vector MachineVMD Visual molecular dynamicsWEKA Waikato Environment for Knowledge AnalysisWWW World Wide WebYAP Yet Another Prolog
xiii
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
viii
Conteuacutedo
1 Introduccedilatildeo 111 Projeto e Objetivos 112 Motivaccedilatildeo 213 Estrutura da Dissertaccedilatildeo 2
2 Estado da Arte 521 Processo de Desenho de Faacutermacos 522 A aplicaccedilatildeo iLogChem 823 Ferramentas informaacuteticas para Desenho de Faacutermacos 11
231 Descritores Moleculares 11232 Ferramentas para caacutelculo de Descritores Moleculares 12
24 Data Mining 13241 Algoritmos a utilizar 15242 Ferramentas de Data Mining 18
3 Descriccedilatildeo da Ferramenta 2331 Estrutura de diretoacuterios 2432 Detalhes da implementaccedilatildeo 2433 Utilizaccedilatildeo do sistema ALEPH 2534 WEKA 2835 Interface com o utilizador 2936 Tecnologias Utilizadas 31
4 Avaliaccedilatildeo Testes e Resultados 3341 Qualitativa 3342 Quantitativa 3343 Casos de Estudo 35
5 Conclusotildees 43501 Trabalho futuro 44
Referecircncias 47
ix
CONTEUacuteDO
x
Lista de Figuras
21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos 722 Estrutura da aplicaccedilatildeo iLogChem 1023 Origem dos descritores Retirado de httpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1224 Tipos de descritores moleculares 1325 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1426 Exemplo de aacutervore de decisatildeo 1627 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retirado de http
enwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg 17
28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng 19
31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos 2532 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb
para os literais do corpo) e de determinaccedilatildeo (determination) 2633 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-
wledge 2734 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge 2735 Pseudo-coacutedigo do funcionamento do wrapper 3036 Interface graacutefica - descritores moleculares 31
41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares 3442 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste 3543 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA 3644 Training set 3945 Training set model 40
xi
LISTA DE FIGURAS
xii
Abreviaturas e Siacutembolos
ADMET Absorption Distribution Metabolism Excretion ToxicityALEPH A Learning Engine for Proposing HypothesesAPI Application Programming InterfaceARFF Attribute-relation file formatCSV Comma-separated valuesDM Data MiningIDE Integrated development environmentILP Inductive logic programmingJVM Java Virtual MachineKNN K-nearest neighborsLIACC Laboratoacuterio de Inteligecircncia Artificial e Ciecircncia de ComputadoresOLAP On-line Analytical ProcessingPLI Programaccedilatildeo Loacutegica IndutivaRMN ressonacircncia magneacutetica nuclearSAR structure-activity relationSDF structure-data fileSMILES Simplified molecular-input line-entry systemSVM Support Vector MachineVMD Visual molecular dynamicsWEKA Waikato Environment for Knowledge AnalysisWWW World Wide WebYAP Yet Another Prolog
xiii
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Conteuacutedo
1 Introduccedilatildeo 111 Projeto e Objetivos 112 Motivaccedilatildeo 213 Estrutura da Dissertaccedilatildeo 2
2 Estado da Arte 521 Processo de Desenho de Faacutermacos 522 A aplicaccedilatildeo iLogChem 823 Ferramentas informaacuteticas para Desenho de Faacutermacos 11
231 Descritores Moleculares 11232 Ferramentas para caacutelculo de Descritores Moleculares 12
24 Data Mining 13241 Algoritmos a utilizar 15242 Ferramentas de Data Mining 18
3 Descriccedilatildeo da Ferramenta 2331 Estrutura de diretoacuterios 2432 Detalhes da implementaccedilatildeo 2433 Utilizaccedilatildeo do sistema ALEPH 2534 WEKA 2835 Interface com o utilizador 2936 Tecnologias Utilizadas 31
4 Avaliaccedilatildeo Testes e Resultados 3341 Qualitativa 3342 Quantitativa 3343 Casos de Estudo 35
5 Conclusotildees 43501 Trabalho futuro 44
Referecircncias 47
ix
CONTEUacuteDO
x
Lista de Figuras
21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos 722 Estrutura da aplicaccedilatildeo iLogChem 1023 Origem dos descritores Retirado de httpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1224 Tipos de descritores moleculares 1325 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1426 Exemplo de aacutervore de decisatildeo 1627 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retirado de http
enwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg 17
28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng 19
31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos 2532 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb
para os literais do corpo) e de determinaccedilatildeo (determination) 2633 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-
wledge 2734 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge 2735 Pseudo-coacutedigo do funcionamento do wrapper 3036 Interface graacutefica - descritores moleculares 31
41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares 3442 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste 3543 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA 3644 Training set 3945 Training set model 40
xi
LISTA DE FIGURAS
xii
Abreviaturas e Siacutembolos
ADMET Absorption Distribution Metabolism Excretion ToxicityALEPH A Learning Engine for Proposing HypothesesAPI Application Programming InterfaceARFF Attribute-relation file formatCSV Comma-separated valuesDM Data MiningIDE Integrated development environmentILP Inductive logic programmingJVM Java Virtual MachineKNN K-nearest neighborsLIACC Laboratoacuterio de Inteligecircncia Artificial e Ciecircncia de ComputadoresOLAP On-line Analytical ProcessingPLI Programaccedilatildeo Loacutegica IndutivaRMN ressonacircncia magneacutetica nuclearSAR structure-activity relationSDF structure-data fileSMILES Simplified molecular-input line-entry systemSVM Support Vector MachineVMD Visual molecular dynamicsWEKA Waikato Environment for Knowledge AnalysisWWW World Wide WebYAP Yet Another Prolog
xiii
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
CONTEUacuteDO
x
Lista de Figuras
21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos 722 Estrutura da aplicaccedilatildeo iLogChem 1023 Origem dos descritores Retirado de httpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1224 Tipos de descritores moleculares 1325 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1426 Exemplo de aacutervore de decisatildeo 1627 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retirado de http
enwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg 17
28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng 19
31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos 2532 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb
para os literais do corpo) e de determinaccedilatildeo (determination) 2633 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-
wledge 2734 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge 2735 Pseudo-coacutedigo do funcionamento do wrapper 3036 Interface graacutefica - descritores moleculares 31
41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares 3442 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste 3543 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA 3644 Training set 3945 Training set model 40
xi
LISTA DE FIGURAS
xii
Abreviaturas e Siacutembolos
ADMET Absorption Distribution Metabolism Excretion ToxicityALEPH A Learning Engine for Proposing HypothesesAPI Application Programming InterfaceARFF Attribute-relation file formatCSV Comma-separated valuesDM Data MiningIDE Integrated development environmentILP Inductive logic programmingJVM Java Virtual MachineKNN K-nearest neighborsLIACC Laboratoacuterio de Inteligecircncia Artificial e Ciecircncia de ComputadoresOLAP On-line Analytical ProcessingPLI Programaccedilatildeo Loacutegica IndutivaRMN ressonacircncia magneacutetica nuclearSAR structure-activity relationSDF structure-data fileSMILES Simplified molecular-input line-entry systemSVM Support Vector MachineVMD Visual molecular dynamicsWEKA Waikato Environment for Knowledge AnalysisWWW World Wide WebYAP Yet Another Prolog
xiii
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Lista de Figuras
21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos 722 Estrutura da aplicaccedilatildeo iLogChem 1023 Origem dos descritores Retirado de httpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1224 Tipos de descritores moleculares 1325 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptors
eututorialsT2_moleculardescriptors_chemompdf 1426 Exemplo de aacutervore de decisatildeo 1627 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retirado de http
enwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg 17
28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng 19
31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos 2532 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb
para os literais do corpo) e de determinaccedilatildeo (determination) 2633 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-
wledge 2734 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge 2735 Pseudo-coacutedigo do funcionamento do wrapper 3036 Interface graacutefica - descritores moleculares 31
41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares 3442 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste 3543 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA 3644 Training set 3945 Training set model 40
xi
LISTA DE FIGURAS
xii
Abreviaturas e Siacutembolos
ADMET Absorption Distribution Metabolism Excretion ToxicityALEPH A Learning Engine for Proposing HypothesesAPI Application Programming InterfaceARFF Attribute-relation file formatCSV Comma-separated valuesDM Data MiningIDE Integrated development environmentILP Inductive logic programmingJVM Java Virtual MachineKNN K-nearest neighborsLIACC Laboratoacuterio de Inteligecircncia Artificial e Ciecircncia de ComputadoresOLAP On-line Analytical ProcessingPLI Programaccedilatildeo Loacutegica IndutivaRMN ressonacircncia magneacutetica nuclearSAR structure-activity relationSDF structure-data fileSMILES Simplified molecular-input line-entry systemSVM Support Vector MachineVMD Visual molecular dynamicsWEKA Waikato Environment for Knowledge AnalysisWWW World Wide WebYAP Yet Another Prolog
xiii
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
LISTA DE FIGURAS
xii
Abreviaturas e Siacutembolos
ADMET Absorption Distribution Metabolism Excretion ToxicityALEPH A Learning Engine for Proposing HypothesesAPI Application Programming InterfaceARFF Attribute-relation file formatCSV Comma-separated valuesDM Data MiningIDE Integrated development environmentILP Inductive logic programmingJVM Java Virtual MachineKNN K-nearest neighborsLIACC Laboratoacuterio de Inteligecircncia Artificial e Ciecircncia de ComputadoresOLAP On-line Analytical ProcessingPLI Programaccedilatildeo Loacutegica IndutivaRMN ressonacircncia magneacutetica nuclearSAR structure-activity relationSDF structure-data fileSMILES Simplified molecular-input line-entry systemSVM Support Vector MachineVMD Visual molecular dynamicsWEKA Waikato Environment for Knowledge AnalysisWWW World Wide WebYAP Yet Another Prolog
xiii
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Abreviaturas e Siacutembolos
ADMET Absorption Distribution Metabolism Excretion ToxicityALEPH A Learning Engine for Proposing HypothesesAPI Application Programming InterfaceARFF Attribute-relation file formatCSV Comma-separated valuesDM Data MiningIDE Integrated development environmentILP Inductive logic programmingJVM Java Virtual MachineKNN K-nearest neighborsLIACC Laboratoacuterio de Inteligecircncia Artificial e Ciecircncia de ComputadoresOLAP On-line Analytical ProcessingPLI Programaccedilatildeo Loacutegica IndutivaRMN ressonacircncia magneacutetica nuclearSAR structure-activity relationSDF structure-data fileSMILES Simplified molecular-input line-entry systemSVM Support Vector MachineVMD Visual molecular dynamicsWEKA Waikato Environment for Knowledge AnalysisWWW World Wide WebYAP Yet Another Prolog
xiii
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Capiacutetulo 1
Introduccedilatildeo
Os faacutermacos satildeo uma biomoleacutecula que aquando introduzida no sistema humano se liga a uma
moleacutecula alvo e produz um efeito terapecircutico O primeiro passo passa por determinar qual eacute esse
alvo (que tem influecircncia na doenccedila) e em seguida encontrar um faacutermaco que se consiga ligar ao
alvo e neutralizaacute-lo Existem bancos de dados que possuem informaccedilatildeo acerca de moleacuteculas jaacute
estudadas e estes satildeo o ponto de partida para a pesquisa pelo faacuteramaco As moleacuteculas mais promis-
soras satildeo selecionadas e sintetizadas Mas ateacute agora eacute tudo muito teoacuterico e dedutivo e por isso
o proacuteximo passo passa por pocircr em praacutetica o faacutermaco testando-o em animais e posteriormente
fazer estudos cliacutenicos em humanos Os testes em animais satildeo cinco absorccedilatildeo distribuiccedilatildeo me-
tabolismo excreccedilatildeo e toxicidade Estes denominam-se testes ADMET e satildeo fundamentais para
garantir a seguranccedila e niacutevel de atividade do faacutermaco
Todo este processo eacute extramamente complexo as etapas satildeo compostas por vaacuterias iteraccedilotildees ateacute
que os resultados positivos apareccedilam arrastando custos elevadiacutessimos
Este trabalho tem como objetivo a utilizaccedilatildeo de algoritmos de Data Mining que prevejam os resul-
tados dos testes ADMET assim novas moleacuteculas natildeo precisaratildeo de ser testadas em animais ou
pelo menos haveraacute uma reduccedilatildeo nestes testes Os resultados das moleacuteculas jaacute testadas satildeo o ponto
de partida para estes algoritmos que constrotildeem modelos preditivos que auxiliam os especialis-
tas nesta fase O especialista aleacutem de visualizar os modelos criados pode ter uma interaccedilatildeo mais
profunda com o sistema aplicando restriccedilotildees etc O resultado final seraacute frutode vaacuterias iteraccedilotildees
sistema-especialista
11 Projeto e Objetivos
Este projeto consiste em desenvolver uma aplicaccedilatildeo de Data Mining que utiliza algoritmos de
Machine Learning para construir modelos que ajudam a reduzir o tempo e os custos gastos nos
testes ADMET Os testes ADMET satildeo feitos em animais e pretendem apurar a seguranccedila do novo
composto (verificar niacutevel de toxicidade recomendada etc) e ainda se este possui um conjunto de
1
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Introduccedilatildeo
carateriacutesticas que lhe permitam chegar ao alvo bioloacutegico dentro do sistema humano como capaci-
dade de solubilidade entre outras
Este projeto eacute uma extensatildeo da ferramenta iLogChem esta ferramenta constroacutei modelos recor-
rendo aos algoritmos de Data Mining que lhe permitem determinar se uma moleacutecula eacute ativa ou
natildeo As moleacuteculas jaacute testadas satildeo exploradas e satildeo encontrados padrotildees dentro delas que permi-
tam inferir acerca da sua atividade tanto as moleacuteculas como os padrotildees podem ser visualizados
graficamente eo especialista pode ainda introduzir restriccedilotildees agrave criaccedilatildeo de novas regras
Este trabalho permite que o dataset introduzido possa ter mais que um formato natildeo prevecirc somente
a atividade ou inatividade da moleacutecula os modelos criados pretendem prever os testes ADMET
e aleacutem do sistema PLI usado anteriormente pela iLogChem utiliza uma outra ferramenta de Data
Mining denominada WEKA que lhe permitiraacute inferir acerca dos descritores moleculares
12 Motivaccedilatildeo
A grande mais valia na introduccedilatildeo de ferramentas computacionais no desenvolvimento de faacuter-
macos estaacute no encurtamento do tempo necessaacuterio para construccedilatildeo dos mesmos Uma das etapas
deste longo processo satildeo os testes ADMET ao utilizar algoritmos de Machine Learning que pre-
vejam resultados obteacutem-se uma diminuiccedilatildeo dos testes necessaacuterios de fazer em animais Isto leva a
que aleacutem de menos tempo gasto nesta etapa haja menos custos inerentes a procedimentos feitos
em laboratoacuterio
Embora as ferramentas computacionais sejam extremamente uacuteteis em todo o processo de desen-
volvimento de faacutermacos a sua utilizaccedilatildeo requere por vezes e em problemas mais complexos a
manipulaccedilatildeo por especialistas informaacuteticos Um dos objetivos deste trabalho eacute tornar estas ferra-
mentas (Data Mining) utilizaacuteveis de modo transparente pelos especialistas bioquiacutemicos
13 Estrutura da Dissertaccedilatildeo
O resto da Tese tem a seguinte estrutura
O capiacutetulo 2 descreve todas as etapas envolvidas no desenvolvimento de um faacutermaco Eacute apre-
sentada a ferramenta iLogChem Satildeo explicados os descritores moleculares e a sua importacircncia
para sistemas de desenvolvimento de faacutermacos em seguida satildeo referidas as ferramentas que me-
lhoram o processo de desenho de faacutermacos A uacuteltima secccedilatildeo diz respeito ao Data Mining quais as
tarefas e teacutecnias existentes e ainda as ferramentas que odem ser utilizadas para implementar estas
teacutecninas
O capiacutetulo 3 descreve a ferramenta como foi desenvolvida e quais as tecnologias utilizadas
2
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Introduccedilatildeo
O capiacutetulo 4 explica como eacute feita a avaliaccedilatildeo do trabalho final ou seja como seratildeo testados os
resultados
No capiacutetulo 5 satildeo apresentadas as conclusotildees retiradas deste trabalho e quais as melhorias
futuras que podem ser feitas a esta aplicaccedilatildeo
3
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Introduccedilatildeo
4
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Capiacutetulo 2
Estado da Arte
21 Processo de Desenho de Faacutermacos
Um faacutermaco tem diferentes maneiras de atuar para resolveratenuar problemas de sauacutede Nesta
tese vamos explorar apenas faacutermacos desenvolvidos para interagir com uma moleacutecula bioloacutegica
uacutenica e responsaacutevel pelo problema de sauacutede
Apoacutes ser feito um estudo de mercado e se ter decidido qual a doenccedila a ser tratada a etapa se-
guinte passa pela identificaccedilatildeo do alvo bioloacutegico Para ter sucesso um faacutermaco tem de atuar numa
determinada biomoleacutecula dentro de um organismo biomoleacutecula essa que depois de ser estimulada
pela accedilatildeo do faacutermaco modifica a sua actividade diminuindo ou aumentando a sua funccedilatildeo Nor-
malmente estas biomoleacuteculas satildeo proteiacutenas ou aacutecidos nucleicos que depois de ligadas ao faacutermaco
desencadeiam uma seacuterie de processos bioquiacutemicos e levam a que seja atingido um determinado
efeito terapecircutico O conhecimento do alvo bioloacutegico eacute fundamental para a construccedilatildeo do novo
faacutermaco pois as moleacuteculas desenvolvidas tecircm de ter carateriacutesticas estruturais miacutenimas para se
ligarem agraves regiotildees ativas do alvo pretendido Outro fator importante eacute a sua localizaccedilatildeo celular
nomeadamente a localizaccedilatildeo ao niacutevel da membrana da ceacutelula ou intracelular O protoacutetipo inicial
eacute descoberto por uma de duas formas possiacuteveis com base no ligante ou com base na sua estru-
tura A primeira forma consiste num conhecimento preacutevio das moleacuteculas jaacute conhecidas que se
ligam ao alvo bioloacutegico pretendido esta moleacutecula eacute posteriormente modificada mas tendo sempre
como base essa carateriacutestica estrutural A segunda forma natildeo parte de nenhuma carateriacutestica jaacute
preacute-estabelecida ou seja atraveacutes de meacutetodos como cristalografia de raio-x ou espectroscopia de
RMN eacute conhecida a estrutura tridimensional do alvo[RoA07]
A estrutura do faacutermaco a produzir estaraacute entatildeo dependente do local onde pretende atuar por
isso o desenvolvimento desta comeccedila jaacute com certos requisitos estruturais Mas aleacutem de se con-
seguir ligar ao alvo bioloacutegico o faacutermaco tem de conseguir alteraacute-lo e eacute ai que comeccedila uma nova
5
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
etapa designada triagem Nesta fase vaacuterios produtos quiacutemicos satildeo testados ou bases de dados
de entidades quiacutemicas jaacute descobertas satildeo pesquisadas para encontrar um produto que tenha uma
estrutura que requere a capacidade de inibir ou estimular a moleacutecula desejada Esta etapa eacute vul-
garmente conhecida como screening
Apoacutes estes passos eacute normal encontrar um conjunto de moleacuteculas que tenham potencial para
se tornarem no futuro faacutermaco Poreacutem o processo natildeo acaba quando se encontra uma moleacutecula
que iraacute produzir uma determinada atividade eacute ainda necessaacuterio otimizaacute-la aumentando o seu grau
de atividade aumentando a sua seletividade e fazendo com que ela passe num conjunto de testes
designado ADMET Estes testes satildeo feitos com o intuito de conhecer as carateriacutesticas que tecircm
influecircncia sobre a disposiccedilatildeo do faacutermaco no organismo
Eacute de extrema importacircncia que um medicamento seja eficaz daiacute ter de se verificar o grau de
atividade da droga se ela realmente produz os efeitos pretendidos na proteiacutena ou aacutecido nucleico a
que se destina
Uma das grandes preocupaccedilotildees com a ingestatildeo de certos faacutermacos satildeo os seus efeitos secun-
daacuterios o que na realidade acontece eacute que determinado faacutermaco aleacutem de se conseguir ligar ao alvo
bioloacutegico a que se destina consegue ainda fazecirc-lo com outras moleacuteculas natildeo desejadas e dai de-
sencadear certos processos quiacutemicos que natildeo interessam no tratamento de uma patologia e que
ateacute podem acarretar outros problemas Entatildeo eacute importante conseguir chegar a um protoacutetipo com
elevada seletividade ou seja que tenha reduzida atividade noutras moleacuteculas que natildeo a pretendida
Por fim este protoacutetipo teraacute de passar nos testes ADMET esta eacute uma abreviatura para Absor-
ccedilatildeo Distribuiccedilatildeo Metabolismo Excreccedilatildeo e Toxicologia O nosso organismo dispotildee de diversos
mecanismos de defesa que lhe permitem expulsar corpos estranhos e assim nos defender de certos
viacuterus infeccedilotildees etc Muitas das defesas que permitem ao nosso corpo resistir a substacircncias toacutexicas
e outras que prejudiquem a nossa sauacutede levam a que uma determinada droga natildeo consiga chegar
ao seu alvo ou que natildeo chegue laacute na quantidade desejada Existem ainda certas exigecircncias re-
gulamentares em relaccedilatildeo agrave toxicidade de um composto que precisam de ser cumpridas para que
ele possa ser disponibilizado Estas cinco carateriacutesticas dos testes ADMET tecircm de ser bem com-
preendidas para o desenvolvimento de um faacutermaco com sucesso A absorccedilatildeo eacute uma carateriacutestica
que determina a capacidade de um composto ultrapassar determinados obstaacuteculos do nosso corpo
e chegar ao tecido ou orgatildeo pretendido por exemplo caso seja administrado por via oral ele teraacute
de transpor as paredes do nosso intestino A forma como o faacutermaco seraacute administrado depende
da sua biodisponibilidade (fraccedilatildeo absorvida) A distribuiccedilatildeo eacute feita na maioria das vezes atraveacutes
da corrente sanguiacutenea e muitas vezes o efeito do faacutermaco no seu alvo correlaciona-se com a sua
concentraccedilatildeo plasmaacutetica aleacutem de que a maioria os orgatildeos e tecidos natildeo tecircm a mesma capacidade
de absorver os compostos e nem dispotildeem da mesma proporccedilatildeo de fluxo sanguiacuteneo por isso eacute
que a distribuiccedilatildeo estaacute intrinsecamente relacionada com a quantidade de faacutermaco administrada
6
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
O metabolismo consiste nas reaccedilotildees enzimaacuteticas a que os compostos estatildeo sujeitos por parte de
certos orgatildeos quando entram no nosso organismo estas podem ser reaccedilotildees de oxidaccedilatildeoreduccedilatildeo
que iratildeo modificar a estrutura quiacutemica do composto ou reaccedilotildees de hidroacutelise que iratildeo inativar o
composto ou tornaacute-o mais soluacutevel (mais faacutecil de ser expulso do nosso corpo ) ao juntaacute-lo com uma
moleacutecula polar O que acontece eacute que as moleacuteculas mal entram no nosso organismo comeccedilam a
quebrar e convertem-se em metaboacutelitos A excreccedilao iraacute eliminar do nosso corpo esses metaboacutelitos
atraveacutes da urina transpiraccedilatildeo ou fezes A toxicidade eacute o grau de danificaccedilatildeo que um medicamento
pode causar no nosso organismo Estas cinco carateriacutesticas satildeo validadas atraveacutes de meacutetodos test
in vitro (ceacutelulas isoladas) ou em animais
Estes protoacutetipos para serem otimizados satildeo sujeitos a rearranjos moleculares satildeo trocados grupos
funcionais por outros por forma a manter a sua atividade bioloacutegica
A uacuteltima parte deste desenvolvimento eacute a fase cliacutenica que diz respeito ao teste em humanos
para reforccedilar os resultados quanto agrave seguranccedila do medicamento agrave dosagem aconselhada e ainda a
sua eficaacutecia Eacute uma etapa de melhoria e de reforccedilo dos resultados
A Figura 21 resume o que foi escrito acerca de desenho de faacutermacos
Figura 21 Diferentes etapas a realizar no desenvolvimento de novos faacutermacos
7
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
Todas as etapas deste processo de desenho de faacutermacos geram muita informaccedilatildeo que a maior
parte das vezes natildeo eacute aproveitada O Data Mining utilizando alguns desses dados pode contruir
modelos que prevejam comportamentos A existecircncia de bases de dados com compostos conhe-
cidos e jaacute estudados pode ser um ponto de partida para os algoritmos de machine learning que
ao detectarem estes compostos dentro de uma moleacutecula podem inferir acerca da sua atividade O
mesmo acontece em relaccedilatildeo aos testes ADMET estes testes satildeo feitos em animais uma moleacutecula
eacute criada e depois eacute testada essa mesma moleacutecula eacute redesenhada (satildeo modificadas algumas liga-
ccedilotildees) e volta a ter de passar por esses testes o Data Mining pode utilizar esta informaccedilatildeo para
prever futuros resultados
22 A aplicaccedilatildeo iLogChem
Os compostos que possuem semelhanccedilas estruturais regra geral apresentam a mesma ativi-
dade farmacoloacutegica A relaccedilotildees estruturais satildeo estudadas de forma a tornar o faacutermaco mais ativo
este estudo de denomina-se SAR (structure-activity relation) Pretende-se determinar as partes da
estrutura do composto que satildeo responsaacuteveis pela sua atividade bioloacutegica ou pelos efeitos secundaacute-
rios apresentados A ferramenta iLogChem contribui para este estudo o seu objetivo eacute prever uma
propriedade de interesse atraveacutes da informaccedilatildeo estrutural existente num conjunto de compostos ou
faacutermacos [ILP10]
O objetivo do iLogChem bem como o presente trabalho eacute disponibilizar a anaacutelise das moleacute-
culas com ferramentas de Data Mining de modo transparente para o utilizador
O iLogChem recebe um dataset contendo um conjunto de moleacuteculas previamente testadas
algumas das moleacuteculas que acusaram atividade nos testes em animais e outras que natildeo e apartir
desta informaccedilatildeo satildeo identificados um conjunto de padrotildees que satildeo carateriacutesticos das moleacuteculas
com atividade Tanto as moleacuteculas como os padrotildees encontrados nelas podem ser visualizados
graficamente As representaccedilotildees quiacutemicas das moleacuteculas satildeo inseridas no sistema atraveacutes de fi-
cheiros em formato MDL SDF A firma MDL Information Systems desenvolveu uma seacuterie de
ficheiros com diferentes formatos capazes de guardar informaccedilatildeo relativa a um conjunto de mo-
leacuteculas Um dos formatos eacute o SDF bastante popular que significa ficheiro de estrutura de dados e
como o proacuteprio nome indica foi concebido especialmente para guardar informaccedilatildeo estrutural que
pode ser utilizada na construccedilatildeo de modelos 3D
Estando os resultados da aplicaccedilatildeo intrinsecamente ligados agrave informaccedilatildeo que eacute introduzida
no sistema eacute importante fornecer a informaccedilatildeo molecular uacutetil e detalhada suficiente para produzir
boas soluccedilotildees A representaccedilatildeo das moleacuteculas inclui caraterizaccedilatildeo dos seus aacutetomos e as ligaccedilotildees
quiacutemicas entre eles Podem tambeacutem ser utilizados descritores moleculares e grupos funcionais
8
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
Estamos perante um problema de substrutura comum maacutexima (SCM) ou seja encontrar um
padratildeo com o maacuteximo nuacutemero de aacutetomos e ligaccedilotildees que esteja presente em vaacuterias moleacuteculas exis-
tentes no dataset isto eacute facilmente encaixado num processo de graph mining em que o objetivo
eacute encontrar padrotildees a partir de conjuntos de dados semi-estruturados A pesquisa pode ser me-
lhorada introduzindo informaccedilatildeo acerca dos aacutetomos e suas ligaccedilotildees Uma abordagem para este
problema eacute a Programaccedilatildeo Loacutegica Indutiva (PLI) [RC11] uma interseccedilatildeo entre machine leraning
e programaccedilatildeo loacutegica Esta teacutecnica por ser baseada em loacutegica de primeira ordem tem um grande
poder de representaccedilatildeo mas apresenta problemas de eficiecircncia especialmente quando se lida com
grandes datasets
Os padrotildees satildeo representados por regras que usam a descriccedilatildeo sucinta e que se adequa a esta
aplicaccedilatildeo o output do PLI eacute um conjunto de regras ou teoria Estas regras satildeo induzidas apartir de
exemplos (as moleacuteculas) e informaccedilatildeo adicional como a estrutura de cada moleacutecula descritores
moleculares que representam valores acerca de certas carateriacutesticas da moleacutecula e grupos funcio-
nais
Uma carateriacutestica importante do sistema iLogChem eacute a possibilidade de acrescentar informa-
ccedilatildeo extra que iraacute beneficiar este processo de busca de um modelo adequado O utilizador tem a
possibilidade de escolher quais as estruturas quiacutemicas grupos de carbono entre outras que quer
ver serem detectadas nas moleacuteculas e com isto aleacutem de ser mais faacutecil para ele compreender os
modelos pode tambeacutem tirar ilaccedilotildees acerca de certos efeitos da mesma pois estes efeitos podem
estar ligados agraves macros existentes E esta carateriacutestica eacute conseguida pela capacidade do PLI em
aceitar facilmente informaccedilatildeo extra (background knowledge) para descoberta de regras
Em vez de mostrar os modelos construiacutedos com as ferramentas de Data Mining (neste caso o
PLI) os modelos satildeo mostradosao utilizador duma forma que os bioquiacutemicos estatildeo habituados
uma visualizaccedilatildeo da moleacutecula e do padratildeo
Como jaacute foi referido a estrutura da moleacutecula eacute o que determina o seu efeito terapecircutico o que
por vezes acontece eacute que um faacutermaco apresenta a atividade pretendida mas natildeo com a intensidade
necessaacuteria ou entatildeo satildeo detetados efeitos secundaacuterios natildeo desejados Para resolver estas situa-
ccedilotildees o processo de desenvolvimento inicia-se com a moleacutecula que jaacute apresenta alguma atividade e
satildeo feitas pequenas modificaccedilotildees para melhoraacute-la Mas esta abordagem tem um contra o grande
conjunto de moleacuteculas semelhantes obtido O que o iLogChem faz para resolver este problema eacute
usar a distacircncia de Tanimoto para filtrar pares de moleacuteculas semelhantes apenas retendo as mais
representativas O utilizador pode especificar um valor limite para esta distacircncia usada na filtra-
gem
Todo este processo de procura de padrotildees em compostos quiacutemicos eacute controlado pelo utiliza-
dor que interage com a aplicaccedilatildeo atraveacutes da visualizaccedilatildeo das moleacuteculas e os padrotildees encontrados
nas mesmas usando a ferramenta VMD Depois de acionar o PLI e obter um primeiro modelo o
9
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
utilizador pode visualizar cada regra do modelo e fazer overlap agrave subestrutura da moleacutecula coberta
por essa regra
Apoacutes o PLI ter construiacutedo um modelo o bioquiacutemico pode fazer refinamentos a estas regras
induzidas Ele pode efetuar duas accedilotildees fazer uma pesquisa local e manualou especificar restri-
ccedilotildees no padratildeo visualizado e pedir ao PLI que construa um novo modelo
No primeiro caso o utilizador pode produzir de forma incremental alteraccedilotildees ao padratildeo (adi-
cionando ou excluindo aacutetomos e ou ligaccedilotildees) e depois pedir ao iLogChem para avaliar o padratildeo
mudado Sempre que uma avaliaccedilatildeo eacute feita o usuaacuterio pode ver a lista das moleacuteculas positivas e
negativas atingidaspor esta nova subestrutura
No segundo caso o utilizador pode interativamente (novamente adiccedilatildeo remoccedilatildeo de aacutetomos e liga-
ccedilotildees) definir um novo padratildeo Este novo modelo pode ser convertido numa regra e esta ser usada
como ponto de partida do espaccedilo de busca
A estrutura da ferramenta iLogChem estaacute representada na Figura 22
Figura 22 Estrutura da aplicaccedilatildeo iLogChem
10
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
23 Ferramentas informaacuteticas para Desenho de Faacutermacos
231 Descritores Moleculares
O processo de obter a informaccedilatildeo quiacutemica contida numa moleacutecula objeto real eacute sempre di-
fiacutecil pois as mediccedilotildees experimentais feitas soacute conseguem obter uma parte de toda a informaccedilatildeo
existente[CT]
As propriedades da moleacutecula natildeo dependem exclusivamente das propriedades dos seus aacutetomos
mas tambeacutem das suas ligaccedilotildees Por esta razatildeo as propriedades da moleacutecula natildeo resultam da soma
das propriedades dos seus componentes satildeo sim inerentes de toda a organizaccedilatildeo molecular Por
exemplo um composto molecular eacute caraterizado pelas ligaccedilotildees covalentes entre os seus aacutetomos e
por esta razatildeo este composto natildeo conduz corrente eleacutetrica em nenhum estado fiacutesico o fato de uma
moleacutecula conter este composto natildeo significa que apresentaraacute esta propriedade pois o re-arranjo
dos restantes aacutetomos tambeacutem iraacute influenciar o seu comportamento
Como consequecircncia desta complexidade a estrutura molecular natildeo pode ser representada
por um uacutenico modelo formal vaacuterias representaccedilotildees moleculares podem representar uma mesma
moleacutecula[Tod]
Um descritor molecular eacute a descriccedilatildeo numeacuterica de certa propriedade da moleacutecula estes nuacuteme-
ros representam partes da informaccedilatildeo quiacutemica contida em diferentes representaccedilotildees moleculares
Os descritores moleculares derivam de vaacuterias aproximaccedilotildees teoacutericas tais como quiacutemica orgacircnica
matemaacutetica discreta entre outras(Figura 23)
Tipos de descritores As representaccedilotildees 3D dependem de coordenadas internas ou orientaccedilatildeo
absoluta da moleacutecula 2D representam descritores de valor uacutenico caacutelculados apartir do grafo da
moleacutecula caraterizam as estruturas de acordo com o tamanho grau de ramificaccedilatildeo e a forma da
moleacutecula de maneira geral 0D e 1D satildeo raacutepidos de calcular por serem tatildeo gerais e por essa razatildeo
natildeo descrevem uma moleacutecula suficientemente podem representar o peso da moleacutecula o nuacutemero
de aacutetomos primaacuterios de carbono entre outros impressotildees digitais que satildeo representaccedilotildees vetori-
ais onde as frequecircncias de vaacuterios fragmentos moleculares satildeo armazenadas Estas representaccedilotildees
encontram-se mais discriminados na Figura 24
Os descritores moleculares satildeo importantes para que os algoritmos de aprendizagem consigam
construir modelos estes satildeo o input de um sistema de data mining O quiacutemico decide quais des-
critores pretende considerar para avaliar um faacutermaco e inclui-os na sua pesquisa
Os descritores moleculares surgiram porque para que sejam geradas boas anaacutelises eacute necessaacute-
rio haver bons dados Tecircm sido fundamentais para os estudos de novos faacutermacos entre outras
aacutereas a prova disso satildeo o nuacutemero de descritores jaacute propostos mais de 2000 Na Figura 25
11
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
Figura 23 Origem dos descritores Retirado de httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
podemos ver o ciclo de criaccedilatildeo e utilizaccedilatildeo dos descritores moleculares estes descritores satildeo cal-
culados a partir de moleacuteculas reais atraveacutes de vaacuterias teorias satildeo usados por estudos das relaccedilotildees
estrutura-atividade quantitativa com o objetivo de prever a atividade de uma moleacutecula ou entatildeo
as propriedades fiacutesico-quiacutemicas da mesma
232 Ferramentas para caacutelculo de Descritores Moleculares
As ferramentas de caacutelculo de descritores moleculares conseguem transformar informaccedilotildees
quiacutemicas codificadas dentro de uma representaccedilatildeo simboacutelica de uma moleacutecula num nuacutemero uacutetil
Estas aplicaccedilotildees recebem ficheiros que contecircm informaccedilatildeo quiacutemica acerca de moleacuteculas e caacutelcu-
lam uma seacuterie de descritores moleculares
Existem vaacuterias aplicaccedilotildees com esta funccedilatildeo umas open source outras para uso comercial apenas
diferindo em algumas carateriacutesticas
bull PaDEL-Descriptor Capaz de calcular 905 descritores moleculares (770 descritores 1D 2D
e 135 descritores 3D ) e 10 tipos de impressotildees digitais Possui interface graacutefica eacute uma
aplicaccedilatildeo desenvolvida em java E eacute possiacutevel ser usada atraveacutes de linha de comandos
12
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
Figura 24 Tipos de descritores moleculares
bull PowerMV suporta ficheiros no formato MDL SDF As propriedades das moleacuteculas podem
ser exportadas para Excel para gerar relatoacuterios personalizados
bull Joelib eacute uma boblioteca de quimioinformaacutetica que suporta procura de subestruturas SMART
caacutelculo de descritores conversatildeo de formatos eacute feita em Java e tem disponiacutevel interface com
programas externos
bull MODEL - Molecular Descriptor Lab Calcula propriedades estruturais e fiacutesico-quiacutemicas
das moleacuteculas a partir da sua estrutura 3D
Nesta lista apenas ferramentas open source constam que satildeo as que interessam ao desenvol-
vimento deste projeto Estatildeo referidas as ferramentas com maior destaque e para cada uma delas
estatildeo apenas referidas as carateriacutesticas de maior interesse
De todas as ferramentas referidas anteriormente o PaDEL-Descriptor eacute a que reune as fun-
cionalidades necessaacuterias para se enquadrar no iLogChem Eacute a uacutenica cuja interaccedilatildeo pode ser feita
atraveacutes da linha de comandos carateriacutestica esta que interessa agrave aplicaccedilatildeo iLogChem por ser desen-
volvida em Java bastando invocar a linha de comandos e chamar as ferramentas externas (neste
caso o PaDEL) PaDEL eacute uma feramenta de faacutecil interaccedilatildeo tanto atraveacutes da interface graacutefica como
atraveacutes da linha de comandos no segundo caso basta enviar o diretoacuterio contendo o ficheiro com a
informaccedilatildeo quiacutemica das moleacuteculas e o nome de um ficheiro destino (onde se pretende guardar os
resultados) O formato dos ficheiros mais comuns eacute MDL mol e SMILES Eacute capaz de calcular um
vasto conjunto de descritores e o utilizador pode selecionar aqueles que mais lhe convecircm
24 Data Mining
Nos dias de hoje somos definidos como a ldquosociedade da informaccedilatildeordquo apoacutes a Segunda Guerra
Mundial ocorreu uma revoluccedilatildeo tecnoloacutegica que veio mudar a vida de toda a populaccedilatildeo As em-
presas acolheram as tecnologias e ao longo destes anos tecircm vindo a coletar e armazenar de forma
13
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
Figura 25 Ciclo dos descritores moleculares Retirada dehttpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf
contiacutenua uma grande quantidade de dados Nos anos 90 comeccedilou a ser dada uma especial atenccedilatildeo
a esses dados armazenados percebeu-se que os dados estavam a ser subutilizados e que estes po-
deriam ser uma mais valia para o posicionamento estrateacutegico das empresas
Para o conhecimento ser atingido ou seja para que a informaccedilatildeo contida nas bases de dados
tenha significadoaplicaccedilatildeo praacutetica estes dados tecircm de passar por uma seacuterie de etapas As etapas
satildeo as seguintes
bull Definir o objetivo o primeiro passo eacute definir os requisitos do sistema
bull Seleccedilatildeo criar o conjunto de dados no qual a aplicaccedilatildeo iraacute trabalhar que seratildeo usados pelos
algoritmos de Data Mining para encontar padrotildees
bull Preacute-processamento teacutecnicas de preacute-processamento satildeo responsaacuteveis pela remoccedilatildeo de ruiacute-
dos (erros e exemplos fora do padratildeo)
bull Transformaccedilatildeo tem por objetivo localizar caracteriacutesticas uacuteteis para representar os dados
bull Aplicar os algoritmos aplicar as teacutecnicas de data mining para a construccedilatildeo de modelos
14
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
bull InterpretaccedilatildeoAvaliaccedilatildeo visualizar os padrotildees extraiacutedos e utilizaccedilatildeo de meacutetricas para ava-
liar os padrotildees extraiacutedos
Data mining surgiu pois os meacutetodos tradicionais (SQL planilhas investigaccedilatildeo manual) eram
inviaacuteveis Este processo utiliza algoritmos eficientes que exploram um conjunto de dados e daiacute
extraem padrotildees uacuteteis para a criaccedilatildeo de novo conhecimento
Dependendo do tipo de problema a ser resolvido pelo processo de Data Mining seraacute escolhida
a melhor tarefa Neste projeto estamos a lidar com bases de dados contendo moleacuteculas jaacute testa-
das ou seja existe um conjunto de objetos preacute-classificados e pretende-se construir um modelo
que seja capaz de classificar automaticamente novos objetos Por isso a tarefa a ser usada seraacute a
classificaccedilatildeo
A classificaccedilatildeo eacute um tarefa preditiva pois cria um modelo contendo objetos cuja classe eacute des-
conhecida a partir de atributos existentes em classes conhecidas designados atributos preditivos
Dentro de cada tarefa de Data Mining existe um conjunto de teacutecnicas associadas que dizem
respeito aos algoritmos que podem ser utilizados no caso da tarefa de classificaccedilatildeo os algoritmos
uacuteteis satildeo aacutervores de decisatildeo k-nearest redes neurais e SVM (support vector machine)
Existem ferramentas que disponibilizam estes algoritmos o seu utilizador ao utilizaacute-las tem
de conhecer e saber manipular os algoritmos por elas disponibilizados
Na proacutexima secccedilatildeo seratildeo explicados os algoritmos que foram referidos anteriormente como
uacuteteis para a tarefa de classificaccedilatildeo e em seguida seratildeo apresentadas as ferramentas de Data Mi-
ning
241 Algoritmos a utilizar
2411 Aacutervores de Decisatildeo
As aacutervores de decisatildeo permitem que grandes conjuntos de regras assimeacutetricas possam ser mais
faacuteceis de entender Estas aacutervores satildeo treinadas com um conjunto de treino (no nosso caso moleacute-
culas jaacute testadas) e depois outros exemplos satildeo classificados de acordo com essa mesma aacutervore
Eacute utilizada uma heuriacutestica para selecionar o atributo que melhor separa as amostras em classes
individuais esse torna-se o atributo de decisatildeo um ramo eacute criado para cada valor conhecido do
atributo de testes e as amostras satildeo divididas em conformidade O algoritmo usa o mesmo pro-
cesso de forma recursiva para formar uma aacutervore de decisotildees para as amostras de cada divisoacuteria
Por isso eacute que as aacutervores de decisatildeo se caraterizam por utilizarem a estrateacutegia de divisatildeo e con-
quista pois pegam num problema e dividem-no em problemas mais simples e vatildeo recursivamente
aplicar esta estrateacutegia a sub-problemas[Tri91]
15
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
Figura 26 Exemplo de aacutervore de decisatildeo
Vejamos o exemplo presente na Figura 26 temos um tabela onde estatildeo contidas vaacuterias moleacute-
culas e essas moleacuteculas contecircm trecircs atributos polaridade acidez e toxicidade [ZA10] Foi gerado
um modelo classificador atraveacutes desta tabela (aacutervore de decisatildeo) onde cada noacute especifica um de-
terminado atributo da instacircncia cada ramo descendente corresponde a um dos possiacuteveis valores
para o atributo em questatildeo Facilmente podemos concluir que Moleacutecula polar natildeo eacute toacutexica Moleacute-
cula natildeo polar e com acidez menor ou igual a 25 eacute toacutexica Moleacutecula natildeo polar e com acidez maior
a 25 natildeo eacute toacutexica Estas regras satildeo verdade para o conjunto de treino
Os atributos polaridade e acidez satildeo preditivos e e o atributo toxicidade eacute atributo classe e o
que se obteve foi um modelo que classifica uma moleacutecula como toacutexica ou natildeo de acordo com a
sua polaridade e acidez
2412 K-nearest neighbour
Este algoritmo eacute baseado na distacircncia aos vizinhos mais proacuteximos para classificar novos exem-
plos Ou seja ele baseia-se nas carateriacutesticas dos objetos mais proacuteximos a um objeto em questatildeo
e apartir daiacute classifica-o K-nearest neighbour funciona da seguinte forma [Pet09]
Para determinar a classe de um elemento que natildeo pertenccedila ao conjunto de treinamento o
classificador KNN procura K elementos do conjunto de treino que estejam mais proacuteximos deste
elemento desconhecido ou seja que tenham a menor distacircncia Estes K elementos satildeo chama-
dos de K-vizinhos mais proacuteximos Verifica-se quais satildeo as classes desses K vizinhos e a classe
mais frequente seraacute atribuiacuteda agrave classe do elemento desconhecido Existem vaacuterias meacutetricas para o
16
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
Figura 27 Exemplo de aplicaccedilatildeo do algoritmo K-nearest neighbour Retiradode httpenwikipediaorgwikiK-nearest_neighbors_algorithmmediaviewerFileKnnClassificationsvg
caacutelculo da distacircncia entre dois pontos (a moleacutecula que se pretende classificar e a moleacutecula preacute-
classificada) mas a meacutetrica mais comum eacute a distacircncia Euclidiana
Para perceber melhor o algoritmo vejamos um exemplo Na Figura 27 o elemento em estudo
estaacute representado pela bola verde e agrave sua volta estatildeo distribuiacutedos os seus vizinhos de acordo com
o caacutelculo da distacircncia entre eles (mais proacuteximos mais semelhantes) Caso k seja igual a trecircs o
nosso elemento pretenceria agrave classe dos triacircngulos pois existem dois triacircngulos e soacute um quadrado
Caso k seja considerado cinco a sua classificaccedilatildeo jaacute seraacute diferente ele pertenceraacute agrave classe dos
quadrados A escolha do valor k eacute muito importante pois como vimos variaccedilotildees no k poderatildeo
levar a diferentes classificaccedilotildees para o objeto que se pretende classificar Este caso eacute facilmente
transposto para o ldquouniversordquo das moleacuteculas onde o ciacuterculo verde eacute uma moleacutecula a ser classificada
que nunca foi testada em animais e os quadrados e triacircngulos agrave sua volta satildeo moleacuteculas jaacute testadas
De acordo com as suas carateriacutesticas estruturais e os seus descritores moleculares as moleacuteculas
testadas seratildeo distribuiacutedas ao redor do protoacutetipo a classificaccedilatildeo deste depende da classe dos seus
vizinhos que aparecer mais frequentemente
17
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
Um aspeto a ter em atenccedilatildeo eacute que classes com mais objetos podem por vezes a estar em
desvantagem em relaccedilatildeo a outras com menos como eacute o caso do exemplo anterior que quando k era
trecircs e apesar de existirem mais quadrados o objeto foi classificado como triacircngulo Para resolver
esta questatildeo puderaacute ser uacutetil o caacutelculo da meacutedia (nuacutemero de moleacuteculas daquele tipo existentes no
conjunto) ter algum peso sobre as distacircncias ao objeto em questatildeo
2413 Maacutequina de Suporte de Vetores (SVMs)
Eacute um meacutetodo de aprendizagem supervisionado A sua tarefa eacute separar duas classes atraveacutes de
uma funccedilatildeo que eacute induzida a partir das amostras de treino O objetivo eacute produzir um classificador
que apresenta um bom desempenho junto a amostras natildeo observadas na fase de treino Esse
classificador denomina-se hiperplano de separaccedilatildeo oacutetimo
Existem vaacuterios classificadores que podem separar os dados mas haacute apenas um que maximiza
a margem de separaccedilatildeo (maximiza a distacircncia entre o classificador e os pontos mais proacuteximos dos
dados de cada classe) Observando a Figura 28 podemos ver um hiperplano que maximiza a
margem da soluccedilatildeo[Gor04]
Os classificadores SVM satildeo bastante precisos mas quando se trata de processamento de um
grande volume de dados revelam-se lentos
242 Ferramentas de Data Mining
Os algoritmos referidos anteriormente satildeo indispensaacuteveis para o caacutelculo dos modelos de pre-
visatildeo mas natildeo teratildeo de ser desenvolvidos Existem ferramentas que possibilitam a aplicaccedilatildeo dos
mesmos sem ser necessaacuterio ter contacto com estes apesar de ser importante compreendecirc-los
2421 WEKA
A WEKA eacute a ferramenta mais popular entre todas as existentes eacute open source e desenvolvida
em Java Por ser escrita em Java o coacutedigo encontra-se apto para ser executado em diferentes
plataformas Grande parte dos seus recursos encontra-se disponiacutevel atraveacutes da sua interface graacute-
fica Consegue executar vaacuterias tarefas de data mining como regras de associaccedilatildeo clusters e
classificaccedilatildeo Sendo a uacuteltima tarefa a que interessa ao nosso projeto Dispotildee de diversas teacutecnicas
(algoritmos) dentro de cada tarefa
O primeiro passo para a utilizaccedilatildeo desta aplicaccedilatildeo eacute gerar uma versatildeo ARFF da base de dados
com que iremos trabalhar Neste formato temos a declaraccedilatildeo da relaccedilatildeo seguida do cabeccedilalho
(onde satildeo declarados os atributos) e depois os dados
Como jaacute foi referido dispotildee de uma grande variedade de algoritmos de aprendizagem Apoacutes
carregados os dados podemos selecionar um dos algoritmos e ver os seus resultados e ainda visu-
alizar graficamente o classificador gerado (ex aacutervores de decisatildeo) Eacute possiacutevel filtrar os atributos
e instacircncias da base de dados importada e obter informaccedilotildees quantitativas e estatiacutesticas sobre os
18
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
Figura 28 Hiperplano Retirado de httpdocsopencvorg_imagesoptimal-hyperplanepng
atributos[Gon]
Permite testar teacutecnicas diferentes de modo a compaacutera-las verificando qual a que apresenta
menor taxa de erro por exemplo
Para que seja possiacutevel determinar a precisatildeo dos algoritmos mediante determinados dados esta
permite a anaacutelise de resultados
Aleacutem do modo graacuteficoexite uma interface que permite a execuccedilatildeo direta de comandos do
WEKA Estes comandos podem ser invocados por outra aplicaccedilatildeo que fornece os dados ao
WEKA seleciona os algoritmos configura os valores destes algoritmos (limites) e recolhe os
resultados
19
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
2422 RapidMiner
RapidMiner eacute tambeacutem uma ferramenta open source onde o utilizador define o processo de
tratamento de dados Possui mais funcionalidades que a ferramenta apresentada anteriormente
Aleacutem das funcionalidades que a WEKA dispotildee possui ainda operadores OLAP validaccedilatildeo e poacutes-
processamento[kn09]
2423 KNIME
O KMINE eacute outra ferramenta de Data mining que tal como a WEKA e o RapidMiner trabalha
os dados aplicando determinados algoritmos e consegue encontrar padrotildees Tem sido apontada
como a ferramenta com mais desempenho e melhor interface graacutefica
2424 Sistema PLI
Programaccedilatildeo loacutegica indutiva (PLI) eacute um subcampo da aprendizagem de maacutequina que usa a
loacutegica de programaccedilatildeo como uma representaccedilatildeo uniforme para exemplos conhecimento de fundo
e hipoacuteteses Sendo fornecido um conjunto de exemplos e conhecimento de fundo um sistema de
PLI vai derivar um programa de loacutegica (uma hipoacutetese) que implica todos os exemplos positivos e
nenhum dos exemplos negativos
Esquema exemplos positivos + exemplos negativos + conhecimento de fundo =gt hipoacutetese
Resumidamente PLI eacute a interseccedilatildeo de aprendizagem de maacutequina e programaccedilatildeo loacutegica Herda
o objetivo de Machine Learning que passa por induzir hipoacuteteses a partir de exemplos e obter as-
sim conhecimento A loacutegica computacional surge nesta abordagem para superar as limitaccedilotildees de
Machine Learning formalismo na representaccedilatildeo de conhecimento (dados estatildeo representados na
forma atributo-valor) e dificuldades em usar conhecimento preacutevio substancial
A Programaccedilatildeo Loacutegica Indutiva deriva regras gerais a partir de exemplos por isso mesmo
esta abordagem tem sido aplicada a problemas de prediccedilatildeo e classificaccedilatildeo Esta carateriacutestica do
PLI vem da induccedilatildeo que eacute uma forma de inferecircncia loacutegica que permite obter conclusotildees gerais a
partir de um conjunto particular de exemplos
Existem vaacuterios sistemas de PLI o ALEPH seraacute o utilizado neste trabalho
ALEPH
O sistema ALEPH [Sri07] eacute escrito em Prolog e possui uma poderosa linguagem de repre-
sentaccedilatildeo que permite representar expressotildees complexas e incorporar novo conhecimento com fa-
cilidade Eacute escrito em Prolog e pode ser utilizado com o compilados Yap Prolog e SWi Prolog
sendo a primeira a opccedilatildeo mais aconselhada pois a utilizaccedilatildeo do SWI Prolog prejudica algumas
20
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
funcionalidades do sistema
Eacute possiacutevel emular funcionalidades de vaacuterios outros sistemas de PLI como Progol FOIL
etc[MF07]
O ALEPH utiliza informaccedilatildeo contida em trecircs ficheiros dois deles com os exemplos a serem
utilizados (casos jaacute testados) um com os exemplos positivos e outro com os exemplos negativos o
terceiro ficheiro conteacutem a informaccedilatildeo sobre o conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem restriccedilotildees de tipos e paracircmetros
De modo a criar bons modelos o sistema aceita um conjunto grande de paracircmetros Os mais
importantes satildeo os que geram a procura no espaccedilo de modelos e os que restrigem a linguagem dos
modelos
ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese iterativamente por meio do
algoritmo descrito a seguir
1 Seleciona um exemplo positivo do conjunto de exemplos de treino para ser generalizado
(tecircm de existir sempre dois tipos de exemplos o positivo e o negativo por exemplo uma
moleacutecula que passou num teste de toxicologia e outra que natildeo passou) Se natildeo existirem
mais exemplos positivos paacutera
2 Saturaccedilatildeo construccedilatildeo da claacuteusula bottom esta eacute a claacuteusula mais especiacutefica do exemplo
selecionado Eacute a partir desta claacuteusula que o ALEPH constroacutei as possiacuteveis hipoacuteteses
3 Reduccedilatildeo encontrar uma claacuteusula mais geral que a bottom (que cubra o maior nuacutemero de
exemplos positivos e o menor nuacutemero de exemplos negativos) Realiza-se uma busca por
uma boa claacuteusula entre a claacuteusula mais geral a bottom e uma claacuteusula vazia a boa qualidade
de cada claacuteusula encontrada eacute avaliada atraveacutes de uma funccedilatildeo de avaliaccedilatildeo
4 Adiciona a claacuteusula de melhor qualidade agrave teoria e remove todos os exemplos positivos
cobertos por ela
5 Repete ateacute que todos os exemplos positivos sejam cobertos
21
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Estado da Arte
22
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Capiacutetulo 3
Descriccedilatildeo da Ferramenta
A aplicaccedilatildeo de software desenvolvida tem por objetivo melhorar o processo de desenvolvi-
mento de faacutermacos Tendo como ponto de partida moleacuteculas jaacute testadas em animais estas satildeo
disponibilizadas atraveacutes de um dataset A aplicaccedilatildeo tem como objectivo facilitar a utilizaccedilatildeo de
ferramentas de Data Mining (DM) para prever os resultado de testes ADMET Como o processo
de utilizaccedilatildeo do DM eacute geralmente um processo iterativo a aplicaccedilatildeo disponibiliza a possibilidade
de realizar estas experiecircncias com o DM em projectos Tipicamente em cada projecto o utilizador
usa um data set e constroi vaacuterios modelos ateacute ficar satisfeito com o resultado O projecto guarda e
gere todos os passos realizados A aplicaccedilatildep permite ao utilizador criar abrir e apagar um projeto
Cada projeto possui um dataset associado o username do utilizador que o criou a descriccedilatildeo deste
projeto e um conjunto de experiecircncias Dentro de um mesmo projeto o utilizador pode fazer mais
que uma experiecircncia para cada uma delas ele teraacute de selecionar quais os descritores moleculares e
grupos funcionais que pretende considerar para a construccedilatildeo dos modelos atraveacutes das ferramentas
de DM e ainda escolher qual a ferramenta que pretende utilizar se o ALEPH o WEKA ou ambas
Estas ferramentas de DM constrotildeem modelos para previsatildeo de propriedades (como toxicidade) a
partir de informaccedilatildeo sobre moleacuteculas jaacute classificadas Um ponto importante destas tecnologias
de DM eacute que em muitos algoritmos os modelos construiacutedos satildeo inteligiacuteveis e podem por isso ser
usados como pistas para explicar a propriedade que prevecircm O utilizador pode utilizar essas re-
gras para verificar se uma nova moleacutecula se encaixa no grupo das que passaram positivamente nos
testes em animais ou nas que natildeo passaram
Atraveacutes de um programa de visualizaccedilatildeo como o VMD os padrotildees encontrados pelos algorit-
mos de DM podem ser explorados ou seja as moleacuteculas e seus padrotildees correspondentes podem
ser exibidos A pesquisa por substruturas pode ter vaacuterias iteraccedilotildees o utilizador se pretender pode
modificar os padrotildees e pedir uma nova avaliaccedilatildeo dos mesmos ou ateacute mesmo escolher defini-los
como uma regra que seraacute usada numa nova iteraccedilatildeo com as ferramentas de DM Esta facilidade de
visualizaccedilatildeo estaacute disponiacutevel unicamente na versatildeo anterior do iLogChem
Este projeto consistiu em refazer em Java o sistema iLogChem original desenvolver um
sistema de gestatildeo de experiecircncias de DM interface com o PaDEL para caacutelculo dos descritores
23
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Descriccedilatildeo da Ferramenta
moleculares inclusatildeo do WEKA desenvolvimento de um wrapper para tornar automaacutetica e trans-
parente a utilizaccedilatildeo do WEKA e utilizaccedilatildeo do WEKA como pre-processador do ALEPH
31 Estrutura de diretoacuterios
A possibiliadde de guardar e gerir sob a forma de projectos as experiecircncias de DM eacute uma
mais valia importante em relaccedilatildeo agrave versatildeo original do iLogChem Dentro do projeto iLogChem
existe uma pasta denominada LogChemProjetcs onde eacute guardada toda a informaccedilatildeo relativa aos
projetos e agraves experiecircncias feitas em cada um deles
Para cada projeto iniciado eacute criada uma pasta correspondente dentro dessa pasta eacute guardada
toda a informaccedilatildeo relativa ao projeto Os dados gerais do projeto como nome de utilizador des-
criccedilatildeo do projeto nome do dataset satildeo guardados num ficheiro txt dentro dessa pasta O ficheiro
Prolog resultante do dataset com a estrutura das moleacuteculas o diretoacuterio contendo o dataset origi-
nal e o ficheiro CSV contendo os descritores moleculares satildeo guardados dentro deste diretoacuterio
do projeto Dentro de cada pasta de projeto existe uma outra denominada Experiments onde satildeo
guardadas todas as experiecircncias feitas dentro desse mesmo projeto Cada experiecircncia teraacute o seu
diretoacuterio contendo um ficheiro txt com a informaccedilatildeo geral da experiecircncia o ficheiro ARFF um
ficheiro Prolog com os descritores moleculares e outro com os grupos funcionais diretoacuterio com
as vaacuterias versotildees dentro de cada experiecircncia As versotildees guardam os vaacuterios ficheiros que foram
sendo utilizados como dados de entrada das ferramentas de DM e os resultados obtidos Os fichei-
ros de entrada satildeo ficheiros Prolog se usados pelo ALEPH ou ARFF se usados pelo WEKA Para
cada experiecircncia existem variaacuteveis que permanecem estaacuteticas descritores moleculares e grupos
funcionais O utilizador define quais descritores e grupos funcionais pretende utilizar uma soacute vez
para cada experiecircncia
Esta estrutura de diretoacuterios tem um aspecto idecircntico a uma hierarquia de classes tal como
mostra a Figura 31 Por exemplo o diretoacuterio de cada experiecircncia herda os ficheiros do diretoacuterio
do projeto de que faz parte experiecircncias (mesmo niacutevel hieraacuterquico) natildeo partilham ficheiros que
se encontram dentro do seu diretoacuterio ou seja herdam os dados do ficheiro que lhes deu origem e
constrotildeem os seus proacuteprios
32 Detalhes da implementaccedilatildeo
A aplicaccedilatildeo original iLogChem foi primeiramente desenvolvida em TclTk esta eacute uma lin-
guagem de programaccedilatildeo para scripts bastante utilizada em programas com interface graacutefica Tal
como o Java eacute open source e pode ser executada em diferentes plataformas No trabalho desta
tese o iLogChem foi reescrito e extendido em Java tendo como base a versatildeo original recriando
as suas funcionalidades (descritas no Capiacutetulo 2) e acrescentando novas Neste capiacutetulo seratildeo
apresentados os detalhes da implementaccedilatildeo como eacute feita a ligaccedilatildeo com ferramentas externas a
24
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Descriccedilatildeo da Ferramenta
Figura 31 Estrutura de diectoacuterios que implementa a organizaccedilatildeo em projectos
transformaccedilatildeo sofrida pelos dados desde que satildeo inseridos pelo utilizador no sistema e como eacute
guardada a informaccedilatildeo
O ficheiro de input da aplicaccedilatildeo (dataset) pode ser em formato SDF ou SMILES dois dos
formatos mais populares Caso o formato de entrada natildeo seja SDF ele iraacute ser convertido para
esse formato A ferramenta responsaacutevel por esta conversatildeo eacute o OpenBabel o Java interage com a
linha de comandos usando o Runtime e executa assim a aplicaccedilatildeo externa o OpenBabel recebe o
ficheiro de entrada e seleciona o formato do ficheiro de saiacuteda (que seraacute sempre SDF) este uacuteltimo
ficheiro pode ser diretamente guardado na pasta pretendida dentro do projeto que estaacute a ser criado
O iLogChem utiliza duas ferramentas de DM para obter padrotildees o sistema PLI denominado
ALEPH e a WEKA O dataset teraacute de sofrer algumas modificaccedilotildees para que possa ser trans-
formado nos ficheiros de entrada necessaacuterios agraves duas aplicaccedilotildees de DM Existe um passo co-
mum agraves duas ferramentas o caacutelculo dos descritores moleculares estes satildeo calculados atraveacutes do
PaDEL-Descriptor O dataset original conteacutem apenas informaccedilatildeo acerca da estrutura das moleacutecu-
las Usando esta informaccedilatildeo estrutural satildeo calculados descritores que representam vaacuterias variaacuteveis
das moleacuteculas como o peso a orientaccedilatildeo etc Para caacutelculo destes descritores moleculares satildeo usa-
dos o PaDEL eou o OpenBabel executados atraveacutes da linha de comandos O diretoacuterio contendo
o ficheiro original o ficheiro para onde guardar os descritores e quais os grupos de descritores que
se pretende obter os valores satildeo os argmentos desta aplicaccedilatildeo Eacute criado um ficheiro no local de-
signado e com formato CSV a primeira linha corresponde aos atributos e as restantes aos valores
de cada moleacutecula para cada um deles O PaDEL eacute uma aplicaccedilatildeo sofisticada que permite calcular
os trecircs tipos de descritores moleculares 1D 2D e 3D e disponibiliza perto de mil descritores
33 Utilizaccedilatildeo do sistema ALEPH
Para construir um modelo o ALEPH utiliza trecircs ficheiros
25
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Descriccedilatildeo da Ferramenta
- modeh(1active(+drug))- modeb(atom(+drug-atomidelement))- determination(active1atom3)- modeb(atom_bond(+drug+atomid-atomidelementelementint))- determination(active1atom_bond6)
Figura 32 Declaraccedilotildees de modo (modeh para o predicado da cabeccedila da claacuteusula e modeb para osliterais do corpo) e de determinaccedilatildeo (determination)
bull Ficheiro b conteacutem a informaccedilatildeo sobre conhecimento do domiacutenio as restriccedilotildees de busca e
linguagem (declaraccedilotildees de modo) e paracircmetros
bull Ficheiro f exemplos positivos
bull Ficheiro n exemplos negativos
Para produzir estes ficheiros necessaacuterios ao ALEPH a informaccedilatildeo disponiacuteel sobre as moleacuteculas
do data set tem que ser convertida para Prolog Para tal foram criados scripts que convertem a des-
criccedilatildeo SDF da estrutura moleclar para Prolog e os descitores moleculares prodizidos pelo PaDEL
tambeacutem para Prolog Primeiramente o dataset eacute percorrido e os ids das moleacuteculas satildeo passados
ou para o ficheiro f ou para o n (dependendo se forem exemplos positivos ou negativos) O passo
seguinte eacute construir o ficheiro b este conteacutem as declaraccedilotildees de modo que descrevem as relaccedilotildees
entre os objetos de dados e tipos desses dados e as declaraccedilotildees de determination que declaram os
predicados que podem ser utilizados para construir o modelo
Observando o coacutedigo da Figura 32 podemos ver que se pretende criar uma definiccedilatildeo do pre-
dicado active usando atom e atom_bond A regra a construir definiraacute o que eacute preciso para uma
moleacutecula ser ativa vatildeo ser inferidas quais as ligaccedilotildees entre aacutetomos que levam a que esta moleacute-
cula tenha essa carateriacutestica Para que sejam inferidas eacute preciso por efetivamente informaccedilatildeo real
relativamente agraves moleacuteculas existentes nos ficheiros b e n como vemos no trecho de coacutedigo da
Figura 33
No trecho da Figura 33 podemos verificar que a moleacutecula com id 4-DBPCAN-v4b (este id
estaraacute no ficheiro f ou ficheiro n) conteacutem um aacutetomo O e dois aacutetomos C e que o O se encontra
ligado a um C e existe uma ligaccedilatildeo entre os aacutetomos C O coacutedigo apresentado eacute apenas referente
agrave estrutura (ligaccedilotildees dos aacutetomos) o mesmo eacute feito para os descritores moleculares e grupos fun-
cionais estes uacuteltimos representam macros utilizadas para ajudar na compreensatildeo dos modelos e
controlar o refinamento das regras A utilizaccedilatildeo destas variaacuteveis levaraacute a que as regras criadas
indiquem quais os descritores moleculares e grupos funcionais que contribuem para a carateriacutestica
da moleacutecula ou seja para o fato dela ser ativa ou natildeo Para cada uma seraacute criada uma funccedilatildeo de
modeb e esse predicado seraacute usado como segundo argumento na funccedilatildeo determination
26
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Descriccedilatildeo da Ferramenta
atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo-4797-135606011)atom(rsquo4_DBPCAN_v4brsquo1rsquoOrsquo)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo-4243-2444-00222)atom(rsquo4_DBPCAN_v4brsquo2rsquoCrsquo)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo-2831-2436-00122)atom(rsquo4_DBPCAN_v4brsquo3rsquoCrsquo)bond(rsquo4_DBPCAN_v4brsquo121)bond(rsquo4_DBPCAN_v4brsquo231)bond(rsquo4_DBPCAN_v4brsquo2122)bond(rsquo4_DBPCAN_v4brsquo342)
Figura 33 Descriccedilatildeo das moleacuteclas utilizadas nos exemplos e que eacute parte do background kno-wledge
- modeb(rsquoAldehydersquo(+drug+atomid-atomid-atomid))- determination(active1aldehyde4)
AldehydersquoAldehydersquo(DA1A2A3) -atom(DA1rsquoCrsquo)atom(DA2rsquoHrsquo)atom(DA3rsquoOrsquo)bond(DA1A21)bond(DA1A32)
Figura 34 Definiccedilatildeo do grupo funcional Aldeiacutedo e que eacute parte do background knowledge
27
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Descriccedilatildeo da Ferramenta
O exemplo da Figura 34 representa o Aldehyde um dos vaacuterios grupos funcionais e que se
carateriza por ter aacutetomos do tipo C H e O e que o aacutetomo C tem uma ligaccedilatildeo ao H e duas ao O
O resultado do ALEPH seraacute uma regra com cabeccedila active (id da droga) e predicados codificando
uma substrutura existente em vaacuterias moleacuteculas ou seja um conjunto de relaccedilotildees atom e bond
(a primeira diz respeito a um aacutetomo e a segunda a uma ligaccedilatildeo) O sistema ALEPH possibilita
que o utilizador insira restriccedilotildees estas restriccedilotildees funcionaratildeo como exemplos negativos Todas as
hipoacuteteses criadas pelo ALEPH que violem as descriccedilotildees especificadas pelo utilizador seratildeo des-
cartadas Esta funcionalidade eacute uacutetil especialmente na interaccedilatildeo do quiacutemico com o iLogChem
atraveacutes da visualizaccedilatildeo das moleacuteculas ele poderaacute definir uma restriccedilatildeo (como por exemplo um
padratildeo) que ele considera que natildeo deveraacute estar presente nas regras finais
Uma vez construiacutedos os ficheiros f (de moleacuteculas que exibem a propriedade que se quer es-
tudarprever) n (das moleacuteculas que natildeo exibem a propriedade) e o b contendo toda a infrmaccedilatildeo
que o especialista julga ser relevante para a construccedilatildeo do modelo o sistema ALEPH eacute executado
e o modelo construiacutedo
Uma das grandes vantagens do uso do ALEPH eacute que os modelos satildeo descritos por um conjunto
(geralmenet pequeno) de regras que satildeo facilmente interpretaacuteveis pelo especialista (bioquiacutemico
por exemplo) Esta interpretabilidade dos modelos pode ser uma enorme mais-valia neste domiacutenio
do desenho racional de faacutermacos
Uma das desvantagens da utiizaccedilatildeo do ALEPH eacute que o seu tempo de execuccedilatildeo aumenta dras-
ticamente com a quantidade de informaccedilatildeo que lhe eacute dada sobre o domiacutenio (o nuacutemero de predi-
cados usados para caracterizar as moleacuteculas) Se nos lembrarmos que o PaDEL pode gerar quase
mil descritores moleculares torna-se difiacutecil usar o ALEPH nestas circunstacircncias Uma contri-
buiccedilatildeo importante desta nova versatildeo do iLogChem eacute a inclusatildeo de algoritmos de Machine Lear-
ning proposicionais tais como os algoritmos disponibilizados pelo WEKA Embora os algoritmos
proposicionais tenham enorme dificudade em representar informaccedilatildeo relacional (como por exem-
plo descrever os grupos funcionais) satildeo extremamente mais eficientes (raacutepidos) que o Alpeh A
incorporaccedilatildeodo WEKA no iLogChem permite usar algoritmos raacutepidos para selcionar quais os
descritores moleculares mais interessantese dar ao ALEPH soacute esse conjunto de descritores po-
tencialmente mais relevates Tentando assim atenuar o uso dos descritores moelculares por parte
do ALEPH
34 WEKA
O WEKA eacute uma ferramenta que possui uma lista variada de algoritmos no caso desta apli-
caccedilatildeo soacute os algoritmos de classificaccedilatildeo interessam Os modelos satildeo criados recorrendo a aacutervores
de decisatildeo e k-nearest neighbour O WEKA necessita de um ficheiro de treino e outro de teste o
primeiro controacutei o modelo e o segundo usa outras moleacuteculas para determinar a precisatildeo do modelo
28
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Descriccedilatildeo da Ferramenta
criado
Os ficheiros de input do WEKA satildeo em formato ARFF ou CSV Apoacutes serem calculados os des-
critores moleculares atraveacutes do PaDEL estes estatildeo contidos num ficheirocsv Atraveacutes do WEKA
os atributos (colunas) satildeo filtrados consoante os descritores moleculares selecionados
Em seguida o conjunto de dados eacute dividido em duas partes conjunto de treino e conjunto de
teste O primeiro representa 70 das instacircncias (que correpondem agraves linhas se considerarmos uma
tabela atributo-valor) e o segundo os restantes 30 O modeloclassificador eacute construiacutedo atraveacutes
do conjunto de treino satildeo inferidas regras que depois seratildeo testadas atraveacutes do conjunto de teste
bull Zagreb le 10rarr Positiva
bull Zagreb gt 10rarr Negativa
Este eacute um problema de classificaccedilatildeo o que eacute pretendido eacute que o WEKA classifique a moleacute-
cula em positiva ou negativa utilizando o atributo Zagreb Um atributo pode natildeo estar contido
nas regras produzidas caso tenha valores iguais para moleacuteculas com atributo classe diferente pois
torna-se irrelevante
O desempenho dos modelos inferidos eacute medido de acordo com as moleacuteculas de teste a per-
centagem daquelas que se enquadram nas regras produzidas O desempenho do classificador eacute
mostrado ao utilizador sob a forma de diversas meacutetricas que lhe indicam qual o erro do resultado
final Satildeo usadas aacutervores de decisatildeo variando os pacircrametros C (confianccedila de poda) e M (nuacutemero
miacutenimo de instacircncias por folha da aacutervore) diferentes por forma a verificar qual a que apresenta
uma melhor performance O utilizador tem acesso a esta comparaccedilatildeo A aplicaccedilatildeo iLogChem
utiliza a ferramenta WEKA atraveacutes da sua API que foi introduzida no coacutedigo Java Para tal bastou
incluir no projeto iLogChem o ficheiro wekajar [Gar] Atraveacutes de um conjunto de funccedilotildees aces-
siacuteveis por programaccedilatildeo e integrando-as no coacutedigo desenvolvido foram requisitadas algumas das
suas funcionalidades
Tendo em vista que um dos objectivos principais do iLogChem eacute esconderdo utilizador o
uso dos algoritmos de DM foi codificado um warpperpara os algoritmos disponibilizados pelo
WEKA O wrapper permite que estes palgoritms sejam usados e sintonizados sem que o utilizador
se aperceba como Uma descriccedilatildeo sumaacuteria do wrapper pode ser vista na Figura 35
35 Interface com o utilizador
O utilizador seja ele um quiacutemico um farmacecircutico ou ateacute uma pessoa com poucos conheci-
mentos quiacutemicos que queira somente visualizar as moleacuteculas pode facilmente interagir com esta
29
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Descriccedilatildeo da Ferramenta
WrapperEntrada ALGORITMOS conjunto de algoritmos
conjunto de valores para os parametros dos algoritmos
Accuracy = 0MelhorAlg = rdquoMelhorComb = rdquoPara Alg em ALGORITMOS
Para Comb em todas as combinaccedilotildees de paracircmetros de AlgSe accuracy de Comb melhor que Accuracy ENTAtildeOAccuracy = accuracy(comb)MelhorComb = combMelhorAlg = Alg
Retorna Accuracy MelhorAlg e MelhorComb
Figura 35 Pseudo-coacutedigo do funcionamento do wrapper
ferramenta A interface graacutefica desta aplicaccedilatildeo eacute desenvolvida com Swing uma API java Esta eacute
uma API de alto niacutevel mais abstracta com menos aproximaccedilatildeo agraves APIs do sistema operacional
por essa razatildeo tem menos performance e consome mais memoacuteria RAM Por ser uma API java
pode ser utilizada em qualquer sistema operativo que suporte JVM A ferramenta iLogChem do
ponto de vista do utilizador final eacute bastante simples Existe uma interface Main onde se pode se-
lecionar qual a accedilatildeo que se prentende tomar criar projeto apagar projeto abrir projeto opccedilatildeo de
ajuda para entender melhor o funcionamento do sistema e ainda quem desenvolveu a ferramenta
Nos capiacutetulos anteriores jaacute foram explicados todos os passos a serem tomados pela aplicaccedilatildeo
apoacutes ser introduzido um dataset o contacto com ferramentas externas a conversatildeo de ficheiros
etc o utilizador natildeo se apercebe de nenhum destes procedimentos ele apenas seleciona quais os
dados a considerar qual a ferramenta de data mining quais os algoritmos e depois soacute visualiza o
resultado interagindo com a visualizaccedilatildeo 3D
A interface foi projetada para que fosse user-friendly sendo o mais intuitiva possiacutevel pois eacute
projetada para ser de faacutecil interaccedilatildeo para pessoas com poucos conhecimentos informaacuteticos Por
exemplo na Figura 36 encontra-se o painel onde se pode selecionar quais os descritores mole-
culares a serem considerados para uma determinada experiecircncia existem centenas de descritores
e estes dividem-se em trecircs grupos o utilizador pode selecionaacute-los um a um selecionar um grupo
completo ou selecionar aqueles que natildeo quer e depois fazer reverse e automaticamente seratildeo sele-
cionados todos os que natildeo estavam selecionados anteriormente e excluiacutedos os que foram seleciona-
dos anteriormente (hipoacutetese vaacutelida para quando quiser excluir um pequeno nuacutemero de descritores)
30
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Descriccedilatildeo da Ferramenta
Figura 36 Interface graacutefica - descritores moleculares
36 Tecnologias Utilizadas
Este projeto consistiu em aprimorar uma aplicaccedilatildeo jaacute existente desenvolvendo um sistema de
gestatildeo de experiecircncias de DM A aplicaccedilatildeo iLogChem foi inicialmente desenvolvida em TCL TK
esta eacute uma linguagem de programaccedilatildeo para scripts e bastante utilizada para a escrita de programas
com interface graacutefica onde geralmente se utiliza a sua extensatildeo Tk Toolkit Uma das primeiras
tarefas deste projeto foi desenvolver a iLogChem em Java linguagem de programaccedilatildeo orientada
a objetos Esta linguagem natildeo eacute compilada para coacutedigo nativo e sim para um bytecode que eacute
interpretado por Maacutequinas Virtuais Java (JVMs) Esta carateriacutestica aleacutem de tornar a tarefa de pro-
gramar mais praacutetica (natildeo tendo de estar sempre a clicar na opccedilatildeo compilar para detetar os erros
sintaacuteticos) torna possiacutevel que os programas Java sejam independentes de plataforma executando
em qualquer sistema que possua uma JVM
O NetBeans foi o ambiente de desenvolvimento integrado (IDE) escolhido eacute opensource e
pode ser executado em muitas plataformas Permite que a ediccedilatildeo de coacutedigo seja feita de forma
raacutepida realccedilando coacutedigos-fonte sintaacutetica e semanticamente e dando dicas de codificaccedilatildeo editor de
coacutedigo fonte integrado rico em recursos para aplicaccedilotildees visuais com Swing que eacute uma API (In-
terface de Programaccedilatildeo de Aplicativos) Java para interfaces graacuteficas os recursos do GUI Builder
facilitam a criaccedilatildeo de interfaces graacuteficas o NetBeans Debugger permite inserir pontos de interrup-
ccedilatildeo no coacutedigo-fonte avanccedilar pelo coacutedigo e executar meacutetodos levando a que a descoberta dos erros
seja mais raacutepida Para caacutelculo dos descritores moleculares que satildeo utilizados pelas ferramentas de
data mining foi utilizado um software opensource o PaDEL desenvolvido em Java Ele eacute capaz
de calcular 905 descritores sendo provenientes de quatro teorias 1D 2D 3D e impressotildees digi-
tais Pode ser usado atraveacutes da interface graacutefica que disponibiliza ou pela linha de comandos esta
31
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Descriccedilatildeo da Ferramenta
segunda forma de interaccedilatildeo foi a razatildeo principal pela escolha desta ferramenta em detrimento de
outras Para invocar esta ferramenta atraveacutes do coacutedigo Java basta acionar a linha de comandos e
chamar o PaDEL e enviar toda a informaccedilatildeo necessaacuteria para que ele consiga calcular os descritores
e guardar os resultados
A versatildeo anterior da iLogChem estava condicionada a um tipo de formato de ficheiros quiacutemi-
cos o MDL SDF o utilizador para introduzir os dados na aplicaccedilatildeo tinha de usar este formato O
OpenBabel eacute um software com uma variedade de funcionalidades dentro da quimioinformaacutetica
entre elas filtrar e procurar subestruturas usando SMARTS e outros meacutetodos caacutelculo de impres-
sotildees digitais (tal como o PaDEL) e escrita leitura e conversatildeo de mais de 110 formatos de ficheiros
quiacutemicos Esta uacuteltima funcionalidade foi a que levou a que o OpenBabel fosse utilizado pela iLog-
Chem permitindo que ficheiros SMILES (bastante populares) tambeacutem possam ser introduzidos
Foram escolhidas duas ferramentas de DM para a construccedilatildeo de modelos apartir das infor-
maccedilotildees quiacutemicas fornecidas WEKA e ALEPH A aplicaccedilatildeo WEKA tem agrave sua disposiccedilatildeo um
conjunto de algoritmos de diversas teacutecnicas de DM eacute um software livre implementado em Java
o que torna possiacutevel a sua utilizaccedilatildeo em diferentes sistemas operacionais A escolha desta ferra-
menta deveu-se ao fato de poder ser facilmente integrada no coacutedigo Java atraveacutes da sua API ao
contraacuterio das outras alternativas Possui uma interface graacutefica que natildeo seraacute usada neste projeto
O sistema ALEPH estaacute escrito em Prolog pode ser utilizado com o compilador Yap-Prolog ou
SWIProlog Mas certas experiecircncias mostraram que ao usar o SWIProlog certas funcionalidades
do sistema satildeo prejudicadas O ALEPH constroacutei incrementalmente as claacuteusulas de uma hipoacutetese
iterativamente por meio de um algoritmo
O input do sistema ALEPH eacute um ficheiro em formato b e dois ficheiros contendo moleacuteculas
escritos em Prolog Prolog eacute uma linguagem de programaccedilatildeo loacutegica e declarativa Loacutegica pois
emprega o estilo da loacutegica matemaacutetica agrave programaccedilatildeo os problemas satildeo expressos como teorias
A loacutegica proporciona uma maneira de demonstrar se uma questatildeo eacute verdadeira ou falsa ou seja
verifica se uma hipoacutetese eacute validada por uma teoria O compilador usado para correr os scripts
de Prolog foi o Yap pela razatildeo jaacute explicada anteriormente Yap foi desenvolvido no LIACC na
Universidade do Porto Eacute considerado um dos sistemas de Prolog mais raacutepidos e possui vaacuterias fun-
cionalidades entre elas suporta stream IO exceptions arrays threads excepccedilotildees etc Depois de
serem encontrados pelos algoritmos de DM os padrotildees existentes nos datasets o utilizador pode
visualizaacute-los assim como as moleacuteculas O programa que permite esta visualizaccedilatildeo eacute o VMD foi
desenvolvido principalmente para visualizaccedilatildeo e anaacutelise dos resultados de simulaccedilotildees de moleacutecu-
las Permite a anaacutelise de grandes sistemas biomoleculares atraveacutes do uso de graacuteficos 3D VMD
pode ser usados em vaacuterios sistemas operativos MacOS X Unix ou Windows
32
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Capiacutetulo 4
Avaliaccedilatildeo Testes e Resultados
A aplicaccedilatildeo desenvolvida tem dois objectivos principais i) escolder a utilizaccedilatildeo dos algorit-
mos de DM e construir modelos precisos e se possiacuteveis que ajudem na explicaccedilatildeo das propri-
edades dos faacutermacos O trabalho final eacute por isso avaliado de duas formas qualitativamente e
quantitativamente
41 Qualitativa
A aplicaccedilatildeo eacute facilmente explorada por um utilizador que natildeo tenha nenhum conhecimento
de software Este escolhe apenas o dataset contendo a informaccedilatildeo molecular que seraacute associada
a um projeto A loacutegica de criaccedilatildeo de projetos e das experiecircncias que lhes estatildeo associadas eacute a
mesma de criar pastas e de seguida criar outras pastas dentro destas Eacute por isso um conceito
faacutecil de interpretar por um utilizador que tenha conhecimentos baacutesicos de como interagir com um
computador Para cada experiecircncia a seleccedilatildeo dos descritores moleculares e grupos funcionais eacute
bastante intuitiva e raacutepida Os descritores podem ser selecionados por grupos em que cada grupo
pode ser selecionado totalmente apenas alguns ou selecionado totalmente e depois retirado(s)
aquele(s) descritor(es) que natildeo satildeo desejaacuteveis O facto de se usar um interface graacutefico com cai-
xas de escolha (check boxes) e bototildees torna a aplicaccedilatildeo faacutecil de usar Neste projecto natildeo houve
oportunidade de contar com a opiniatildeo de especialistas Os especialistas poderiam natildeo soacute avaliar a
facilidade de interacccedilatildeo mas tambeacutem a inteligibilidade dos modelos construiacutedos
42 Quantitativa
Eacute importante garantir que os resultados obtidos sejam fiaacuteveis e estatisticamente significativos
Os algoritmos de aprendizagem utilizam meacutetricas de validaccedilatildeo estatiacutestica que permitem detetar
possiacuteveis anomalias no modelo Utilizando um conjunto de dados diferente dos dados de treino
eacute avaliado o comportamento do modelo construiacutedo Para que o modelo seja fiaacutevel eacute necessaacuterio
que este gere o mesmo tipo de previsotildees ou localize padrotildees semelhantes A taxa de erro pode ser
calculada usando vaacuterios tipos de validaccedilatildeo validaccedilatildeo de sub-amostras aleatoacuterias repetidas onde
33
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Avaliaccedilatildeo Testes e Resultados
Figura 41 Resultado da avaliaccedilatildeo de um modelo criado atraveacutes de descritores moleculares
os dados satildeo divididos aleatoacuteriamente em dois conjuntos o de treino e o de validaccedilatildeo n fold
cross-validation onde os dados satildeo divididos em N subconjuntos para uma aprendizagem de N ite-
raccedilotildees ao longo do processo de treino satildeo utilizados N ndash 1 blocos e apenas um para teste sendo
este diferente a cada iteraccedilatildeo validaccedilatildeo leave-one-out semelhante ao anterior soacute que o tamanho
da amostra eacute de um elemento no conjunto de teste validaccedilatildeo hold-out percentage split o conjunto
de testes eacute escolhido de modo aleatoacuterio
A ferramenta WEKA utilizada pelo iLogChem utiliza os descritores moleculares calculados
pelo PaDEL para construir modelos preditivos Depois de ser construiacutedo um modeloclassificador
este eacute validado e os resultados desta avaliaccedilatildeo satildeo mostrados ao utilizador para que o especialista
saiba qual a eficaacutecia do modelo Nesta aplicaccedilatildeo o meacutetodo de avaliaccedilatildeo foi o percentage split
(hold-out method) os dados satildeo divididos em dois conjuntos o de treino e o de teste O conjunto
de treino eacute usado para construir o classificador e o de teste verifica quais das instacircncias que natildeo
foram usadas pelo conjunto de treino verificam o modelo jaacute previamente construiacutedo A percenta-
gem de instacircncias usadas para treino eacute de 70 e para teste as restantes (30)
Os dados satildeo testados usando aacutervores de decisatildeo e algoritmos k-nearest neighbour No pri-
meiro caso satildeo usadas vinte e cinco aacutervores de decisatildeo o que varia nestas vinte e cinco aacutervores
satildeo as variaacuteveis C que significa confianccedila de poda e M que significa o nuacutemero miacutenimo de instacircn-
cias por folha da aacutervore O utilizador pode ver qual a precisatildeo de cada aacutervore criada e comparar O
mesmo acontece com os algoritmos k-nearest neighbour satildeo criados vaacuterios modelos com valores
de K diferentes e a precisatildeo de cada um deles eacute mostrada ao utilizador De relembrar que este
K representa quantos vizinhos pretende considerar ou seja a moleacutecula eacute classificada segundo os
seus k vizinhos mais proacuteximos A Figura 41 contecircm a avaliaccedilatildeo de um classificador O utilizador
consegue saber atraveacutes desta avaliaccedilatildeo quantas instacircncias foram avaliadas quantas destas instacircn-
cias natildeo verificavam o modelo construiacutedo e as respectivas percentagens o erro meacutedio absoluto a
raiacutez do erro meacutedio quadrado entre outras meacutetricas
34
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Avaliaccedilatildeo Testes e Resultados
Figura 42 Resultado de utilizaccedilatildeo do modelo nas instacircncias de teste
O atributo classe eacute o atributo que se pretende inferir atraveacutes dos modelos criados neste caso
pretende-se saber qual o conjunto de valores atribuiacutedos aos descritores moleculares que permitem
que uma moleacutecula seja ativa (passe nos testes ADMET) ou natildeo ativa Neste projeto o atributo
classe soacute tem dois valores possiacuteveis positivo ou negativo Na Figura 42 podemos ver outra
informaccedilatildeo disponibilizada ao utilizador sobre as instacircncias de teste ele pode verificar quais as
instacircncias que natildeo foram verificadas pelo modelo eacute apresentado qual o seu valor para o atributo
classe e qual aquele que foi previsto Esta informaccedilatildeo seria ainda mais uacutetil caso o conjunto de atri-
butos classe fosse maior que dois pois poderiam ser achados alguns erros comuns (por exemplo
que as instacircncias erradas eram sempre relativas a um determinado atributo classe)
43 Casos de Estudo
Este caso de estudo refere-se a um dataset com 177 moleacuteculas tanto moleacuteculas que passaram
num dos testes ADMET como outras moleacuteculas que natildeo passaram Utilizando este dataset foram
feitos trecircs testes
1 WEKA para construir um modelo utilizando apenas descritores 1D 2D
2 WEKA para construir um modelo utilizando todos os descritores excepto os 3D
3 ALEPH para construir um modelo utilizando informaccedilatildeo estrutural das moleacuteculas descri-
tores (excepto 3D) e grupos funcionais
Os testes 1 e 2 foram feitos atraveacutes da mesma ferramenta o WEKA diferem nos atributos
A informaccedilatildeo molecular encontra-se num ficheiro csv e para cada uma das moleacuteculas existe um
valor que a carateriza para cada um dos descritores Em baixo satildeo apresentados os valores de
cada um dos testes para as diferentes ferramentas e utilizando diferentes algoritmos Os resulta-
dos apresentados em baixo para esses testes satildeo apenas os melhores ou seja aqueles com maior
percentagem de instacircncias classificadas corretamente Existem vaacuterias meacutetricas apresentadas para
representar a precisatildeo estas jaacute satildeo disponibilizadas pela API do WEKA
35
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Avaliaccedilatildeo Testes e Resultados
Figura 43 Modelo codificado como Aacutervore de Decisatildeo pelo algoritmo J48 do WEKA
No caso das aacutervores de decisatildeo os dados satildeo treinados com conjuntos de valores C e M dife-
rentes estes valores satildeo apresentados ao utilizador para que ele escolha o(s) modelos com mais
precisatildeo Os modelos criados atraveacutes deste algoritmo satildeo de faacutecil anaacutelise vejamos a Figura 43
(este foi o modelo construiacutedo no teste 2)
Os noacutes da aacutervore representam os atributos e os ramos os valores que estes devem apresentar
para seguiram para o noacute seguinte nas folhas encontra-se sempre o valor da classe positivo ou ne-
gativo Algumas das regras que podemos retirar desta aacutervore apresentada em cima satildeo
bull se nX menor ou igual que 0 kier1 menor ou igual a 7 nBondsM maior que 1rArr moleacutecula
passa no teste
bull se nX maior que 0 BCUTc-1h menor ou igual a 0057743rArr a moleacutecula natildeo passa no teste
Em relaccedilatildeo ao algoritmo k-nearest neighbour o que varia eacute o valor de k como podemos verifi-
car no teste 1 o melhor modelo eacute o aquele cujo valor valor de k eacute 5 e no teste 2 eacute aquele cujo valor
de k eacute 10 O que acontece muitas vezes eacute existirem modelos com variaacuteveis de C M e K diferentes
e que apresentam a mesma precisatildeo
Teste 1
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
36
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Avaliaccedilatildeo Testes e Resultados
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
C 05
M 20
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 50 - 943396
Incorrectly Classified Instances 3 - 56604
Kappa statistic 08807
Mean absolute error 00806
Root mean squared error 01844
Relative absolute error 16304
Root relative squared error 372498
Coverage of cases (095 level) 100
Mean rel region size (095 level) 632075
Total Number of Instances 53
K 5
Teste 2
Aacutervores de decisatildeo J48
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01465
Root mean squared error 02084
Relative absolute error 296375
Root relative squared error 420953
Coverage of cases (095 level) 100
Mean rel region size (095 level) 100
Total Number of Instances 53
37
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Avaliaccedilatildeo Testes e Resultados
C 20
M 50
Algoritmo k-nearest neighbour
Results
Correctly Classified Instances 51 - 962264
Incorrectly Classified Instances 2 - 37736
Kappa statistic 09198
Mean absolute error 01327
Root mean squared error 02121
Relative absolute error 268397
Root relative squared error 428411
Coverage of cases (095 level) 100
Mean rel region size (095 level) 783019
Total Number of Instances 53
K 10
Teste 3
Em seguida encontra-se o conjunto de regras gerado pelo ALEPH seguido pelo valor calcu-
lado para a precisatildeo do modelo e por uacuteltimo a matriz da confusatildeo
[theory]
[Rule 2] [Pos cover = 27 Neg cover = 1]
active(A) -
atom(ABrsquoBrrsquo) atombond(ABCprimeBrprimeprimeCprime1)
[Rule 5] [Pos cover = 30 Neg cover = 0]
active(A) -
ketone(ABC) atom(ADrsquoClrsquo) atombond(ADEprimeClprimeprimeCprime1)
[Rule 7] [Pos cover = 13 Neg cover = 2]
active(A) -
atom(ABrsquoClrsquo) atombond(ABCprimeClprimeprimeCprime1)atombond(ACDprimeCprimeprimeCprime2)
Accuracy = 0853932584269663
[Training set summary] [[5732395]]
[time taken] [159744]
38
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Avaliaccedilatildeo Testes e Resultados
[total clauses constructed] [849910]
Figura 44 Training set
39
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Avaliaccedilatildeo Testes e Resultados
Na Figura 44 encontra-se a matriz de confusatildeo que utiliza o conjunto de treino onde satildeo
apresentadas as regras e para cada regra satildeo apresentados os valores de Pos cover e Neg cover
que indicam respetivamente o nuacutemero de exemplos positivos e negativos cobertos pela regra
Figura 45 Training set model
40
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Avaliaccedilatildeo Testes e Resultados
A Figura 45 explica quais os valores apresentados na matriz em seguida eacute apresentada a
legenda
TP - verdadeiros positivos
FP - falsos positivos
TN - verdadeiros negativos
FN - falsos negativos
P - nuacutemero total de exemplos positivos (P = TP + FN)
N - nuacutemero total de exemplos negativos (N=FP+TN)
PP - nuacutemero de exemplos classificados como negativos (PN = FN+TN)
PN - nuacutemero de exemplos classificados como negativos (PN = FN + TN)
Total - nuacutemero total de exemplos (Total = PP + PN)
41
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Avaliaccedilatildeo Testes e Resultados
42
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Capiacutetulo 5
Conclusotildees
A induacutestria farmacecircutica estaacute em constante desenvolvimento estatildeo sempre a surgir novas do-
enccedilas e a criaccedilatildeo de novos produtos eacute indispensaacutevel para a preservaccedilatildeo da sauacutede puacuteblica O
problema desta induacutestria eacute o tempo gasto nas pesquisas e por isso se tem usado as tecnologias
para combater esta demora no desenvolvimento de novos faacutermacos
Com o constante crescimento da informaccedilatildeo relativa a compostos quiacutemicos que tecircm vindo a
ser descoberto ao longo dos anos era importante mudar a forma como a investigaccedilatildeo neste sector
estava a ser feita Data Mining eacute um processo de explorar grandes quantidades de dados e en-
contrar padrotildees e tem sido bastante popular na construccedilatildeo de ferramentas que auxiliem as vaacuterias
etapas do desenho de drogas
O utilizador final desta aplicaccedilatildeo natildeo precisa de ter conhecimentos de software apenas de
saber utilizar um computador A ferramenta foi projetada para ser bastante intuitiva e facilitar
o trabalho dos quiacutemicos ou qualquer outro profissional dentro da aacuterea da biologia molecular O
especialista apenas observa os resultados e explora os dados natildeo toma conhecimento de nenhum
dos algoritmos que satildeo utilizados pelo iLogChem nem a transformaccedilatildeo que os dados sofrem ao
longo do processo
O bioquiacutemico pode criar vaacuterios projetos um projeto para cada dataset diferente e dentro de
cada projeto pode ainda fazer diversas experiecircncias com os dados disponiacuteveis selecionando di-
ferentes conjuntos de descritores moleculares e grupos funcionais
Por utilizar moleacuteculas jaacute testadas para a construccedilatildeo de modelos preditivos que evitem o teste
de novos compostos em animais este eacute um problema de classificaccedilatildeo A soluccedilatildeo desenvolvida
dispotildee de duas ferramentas de DM para construir modelos o ALEPH e o WEKA
43
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Conclusotildees
O WEKA constroacutei os modelos apenas utilizando informaccedilatildeo relativa aos descritores molecu-
lares as regras criadas satildeo de faacutecil compreensatildeo O grande problema desta ferramenta esta na
informaccedilatildeo capaz de ser inserida no sistema O ficheiro ARFF pode ser facilmente comparado
a um ficheiro Excell onde os aributos representam colunas e as moleacuteculas linhas Ora introdu-
zir informaccedilatildeo relativa agrave estrutura das moleacuteculas torna-seuma tarefa bastante ineficaz apesar dos
descritores moleculares representarem uma grande variedade de carateriacutesticas da moleacutecula muitas
delas ateacute estruturais muita informaccedilatildeo eacute deixada para traacutes Ligaccedilotildees entre aacutetomos de vaacuterios tipos
deixam de ser consideradas etc
Esta ferramenta eacute uacutetil apresenta uma performance aceitaacutevel (quando medida a sua precisatildeo)
mas a sua utilizaccedilatildeo durante o desenvolvimento de um novo faacutermaco deve ser feita de forma au-
xiliar ao sistema PLI ou para a obtenccedilatildeo de ilaccedilotildees mais diretas como por exemplo o utilizador
pretender saber qual a influecircncia do peso molecular ter um valor x
O sistema PLI traz uma grande vantagem a toda a pesquisa a sua capacidade de inserir dados
no sistema que atraveacutes de algoritmos de aprendizagem proposicional (aacutervores de decisatildeo SVMs
etc) natildeo seria possiacutevel
Ao serem utilizadas as duas tecnologias o resultado final seraacute ainda mais preciso podem ser
verificados quais os descritores moleculares existentes no classificador produzido pelo WEKA
tambeacutem estatildeo presentes nas regras produzidas pelo sistema PLI
As regras criadas pelo ALEPH compostas por um conjunto de predicados permitem construir
padrotildees estes padrotildees consistem em substruturas moleculares Para um quiacutemico esta eacute uma mais
valia poder observar graficamente estes padrotildees dentro das moleacuteculas correspondentes torna o seu
trabalho mais facilitado
Cada projeto diz respeito a um dos testes ADMET dependendo do dataset introduzido cada
teste eacute explorado separadamente Os testes ADMET natildeo poderiam ser todos avaliados de uma
soacute vez pois uma moleacutecula pode ter passado num teste de toxicidade e natildeo num de absorccedilatildeo e o
ALEPH aceita apenas dois ficheiros aleacutem do ficheirob que conteacutem ainformaccedilatildeo estrutural um
com as moleacuteculas que passaram positivamente e outra em que natildeo passaram
501 Trabalho futuro
O trabalho futuro seria explorar as regras criadas pelo ALEPH estas regras satildeo constituiacutedas
tanto por ligaccedilotildees entre aacutetomos como por determinados valores para os descritores moleculares e
ainda a existecircncia de grupos funcionais Cada dataset inserido no sistema corresponde a um dos
cinco testes ADMET Uma melhoria na aplicaccedilatildeo iLogChem seria sobrepor as regras criadas para
44
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Conclusotildees
cada um dos testes e extrair quais as regras em comum para os vaacuterios testes
Outra melhoria bastante uacutetil seria uma maior exploraccedilatildeo da ferramenta VMD permitindo ao
utilizador interagir melhor com o sistema atraveacutes da mesma Pois a anaacutelise por parte do especi-
alista de cada regra criada pelo ALEPH eacute bastante difiacutecil tendo em conta que estes satildeo datasets
contendo um grande nuacutemero de moleacuteculas
45
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Conclusotildees
46
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
Referecircncias
[CT] Viviana Consonni e Roberto Todeschini What is a molecular descrip-tor Disponiacutevel em httpwwwmoleculardescriptorseututorialsT1_moleculardescriptors_what_ispdf acedido a uacuteltima vez em 12 de Marccedilo de2014
[Gon] Eduardo Correcirca Gonccedilalves Data mining com a ferramenta Disponiacutevel emhttpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf
[Gor04] Geoff Gordon Support vector machines and kernel methods 2004
[ILP10] ILP-Web-Service Interactive Discriminative Mining of Chemical Fragments LNAI6489 2010
[kn09] Rapidminer 44 Disponiacutevel em httpforumsoftwarelivrecombr2011arquivospalestrasDataMining__Wekapdf 2009
[MF07] Maria Carolina Monard Mariza Ferro Fabiana Esteves de Paiva Mariza ferro fabianaesteves de paiva maria carolina monard Technical report ICMC Junho 2007
[Pet09] Leif E Peterson K-nearest-neighbor Disponiacutevel em httpwwwscholarpediaorgarticleK-nearest_neighbor 2009
[RC11] Viacuteıtor Santos Costa Nuno A Fonseca Carlos Adriano1 Carlos J V Simotildees Rui MM Brito Rui Camacho1 Max Pereira1 A relational learning approach to structure-activity relationships in drug design toxicity studies Journal of Integrative Bioinforma-tics 8(3)182ndash201 2011
[RoA07] Pharmaceutical Research e Manufacturers of America Drug discovery and de-velopment Disponiacutevel em httpwwwinnovationorgdrug_discoveryobjectspdfRD_Brochurepdf acedido a uacuteltima vez em 12 de Marccedilo de 20142007
[Sri07] Ashwin Srinivasan The aleph manual Disponiacutevel em httpwwwcsoxacukactivitiesmachlearnAlephalephhtml 2007
[Tod] Roberto Todeschini Lorem ipsummolecular descriptors and chemometrics apowerful combined tool for pharmaceutical toxicological and environmental pro-blems Disponiacutevel em httpwwwmoleculardescriptorseututorialsT2_moleculardescriptors_chemompdf acedido a uacuteltima vez em 12 de Marccedilode 2014
[Tri91] Duarte Trigueiros As aacutervores de decisatildeo 1991
47
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48
REFEREcircNCIAS
[ZA10] Fernando J Von Zuben e Romis R F Attux Aacutervores de decisatildeo 2010
48