• Nenhum resultado encontrado

3.2 Implementa¸c˜ao do ambiente

3.2.1 Classes de objetos definidas

Neste ambiente computacional foram definidas v´arias classes de objetos que recebem desde os dados brutos ou normalizados contendo todo o conjunto de observa¸c˜oes at´e objetos espec´ıficos que recebem resultados de an´alises espec´ıficas. Inicialmente, foi definida uma classe de objetos do R que recebe todos os dados num´ericos e informa¸c˜oes de interesse para o conjunto de dados a ser analisado. Essa classe ´e denominada maigesPreRaw e possui listas que recebem os campos num´ericos de interesse lidos a partir das tabelas geradas pelo programa de an´alise de imagens, vetores de texto que especificam os grupos gˆenicos a serem avaliados no trabalho, grafos que definem as redes de regula¸c˜ao de interesse, a configura¸c˜ao das lˆaminas e r´otulos para os genes e amostras do estudo. Esta classe tem ainda um campo l´ogico especificando spots ruins e outro de texto que ´e usado para armazenar qualquer informa¸c˜ao adicional ou relevante. Como foi mencionado anteriormente, toda informa¸c˜ao carregada em objetos desta classe vem da p´agina do projeto MAIGES. Esta classe de objetos funciona como um sagu˜ao de entrada no R que define uma etapa intermedi´aria para a an´alise de dados. Nesta fase intermedi´aria ´e poss´ıvel fazer an´alises explorat´orias buscando a identifica¸c˜ao de poss´ıveis problemas no conjunto de dados e a atualiza¸c˜ao do campo referente aos spots ruins. Um exemplo de problema que pode ser detectado nesta etapa ´e a prov´avel marca de um dedo em uma lˆamina de um conjunto de dados p´ublico (Shyamsundar et al., 2005), como ilustrado na Figura 3.3. Realiza¸c˜oes de objetos

Cap´ıtulo 3. Ambiente computacional Pacote Descri¸c˜ao

annotate constru¸c˜ao de p´aginas HTML com anota¸c˜ao gˆenica convert convers˜ao entre classes de objetos diferentes

graph manipula¸c˜ao de grafos

limma normaliza¸c˜ao e an´alise de genes DE por ANOVA marray normaliza¸c˜ao e an´alise explorat´oria de dados multtest modelos de ajuste de n´ıveis descritivos

OLIN normaliza¸c˜ao OLIN e OSLIN

Tabela 3.2: Pacotes do bioconductor utilizados no ambiente de an´alise do MAI- GES.

Listagem dos pacotes do projeto bioconductor utilizados no ambiente computa- cional desenvolvido.

desta classe s˜ao criadas a partir do procedimento de carga de dados onde alguns m´etodos para a leitura das tabelas num´ericas e para a carga de grupos gˆenicos e redes de regula¸c˜ao podem ser executados. Esse procedimento ´e discutido em maiores detalhes na Se¸c˜ao 3.2.2.

A partir da classe maigesPreRaw apresentada anteriormente, objetos de classe maigesRaw s˜ao criados atrav´es da utiliza¸c˜ao de um m´etodo espec´ıfico que tamb´em est´a discutido em maiores detalhes na Se¸c˜ao 3.2.2. Esta classe define objetos que armazenam os dados brutos para um conjunto de experimentos de microarray a partir do qual os m´etodos de normaliza¸c˜ao podem ser empregados. Objetos de classe maigesRaw possuem quatro matrizes num´ericas que armazenam os valores de intensidade de sinal e background para os dois tipos de tecidos biol´ogicos estudados, uma matriz l´ogica que indexa os spots que ser˜ao utilizados para a normaliza¸c˜ao, outra matriz l´ogica que indexa os genes pertencentes a diferentes grupos gˆenicos e trˆes listas que cont´em as redes de intera¸c˜ao gˆenicas (ou vias metab´olicas) e os r´otulos de genes e amostras.

Objetos de classe maiges s˜ao gerados a partir da classe maigesRaw com a utiliza¸c˜ao das fun¸c˜oes de normaliza¸c˜ao, que s˜ao discutidas na Se¸c˜ao 3.2.4, os m´etodos matem´aticos e estat´ısticos usados para a normaliza¸c˜ao dos dados est˜ao detalhados no Cap´ıtulo 4. As matrizes dos valores de intensidade da classe maigesRaw s˜ao substitu´ıdas por outras duas matrizes que cont´em os valores de raz˜ao e de intensidade m´edia dos spots, ambas em escala logar´ıtmica. Gustavo H. Esteves 36 Bioinform´atica-USP

Figura 3.3: Poss´ıvel problema em uma imagem de microarray.

Imagem ilustrando um poss´ıvel problema com uma lˆamina de microarray de um conjunto de dados p´ublico (Shyamsundar et al., 2005), onde observamos uma marca avermelhada que se assemelha bastante com a marca de um dedo a esquerda da imagem.

Cap´ıtulo 3. Ambiente computacional Al´em dessas duas matrizes, esta classe ainda define outras trˆes que podem armazenar o desvio padr˜ao e intervalos de confian¸ca para os valores normalizados, valores esses que s˜ao calculados atrav´es de um processo iterativo que repete o ajuste lowess v´arias vezes selecionando grupos de spots aleatoriamente. Os demais campos da classe maigesRaw s˜ao mantidos na classe maiges. Aten¸c˜ao especial ´e dada `a classe maigesANOVA, que ´e uma extens˜ao da classe maiges contendo outros dois campos que s˜ao as matrizes de planejamento e contrastes utilizadas para o ajuste de um modelo de an´alise de variˆancia (discutido no Cap´ıtulo 5) e para estima¸c˜ao de parˆametros, respectivamente.

As classes de objetos definidas neste ambiente foram implementadas de maneira que os diversos atributos n˜ao s˜ao obrigat´orios. Como exemplo, se o usu´ario n˜ao for realizar nenhum tipo de an´alise que utilize informa¸c˜oes de redes de regula¸c˜ao gˆenica, esse atributo pode ficar vazio e se o usu´ario executar algum m´etodo que exija essa informa¸c˜ao o m´etodo vai acusar um problema somente neste caso, enquanto todos os outros m´etodos continuam funcionando sem problemas. Isso n˜ao ´e implementado em outros pacotes, como no marray por exemplo. Outras classes de objetos foram desenhadas para armazenar resultados de an´alises espec´ıficas, o que est´a resumido a seguir:

• maigesDE - classe destinada a armazenar resultados de an´alises que buscam genes dife- rencialmente expressos (genes DE), ver a Se¸c˜ao 5.2;

• maigesDEcluster - extens˜ao da classe anterior, com a inclus˜ao da matriz de valores de raz˜ao onde pode-se executar m´etodos de agrupamento, veja a Se¸c˜ao 5.1;

• maigesClass - classe destinada a armazenar resultados de an´alises de discrimina¸c˜ao, ou classifica¸c˜ao, ver a Se¸c˜ao 5.3;

• maigesActMod - classe destinada a armazenar resultados de an´alises de classifica¸c˜ao fun- cional de grupos gˆenicos, ver o Cap´ıtulo 6;

• maigesRelNetB - classe destinada a armazenar resultados de an´alises de redes de relevˆancia (Butte et al., 2000), ver o Cap´ıtulo 7;

• maigesRelNetM - classe destinada a armazenar resultados de an´alises de redes de re- levˆancia usando o modelo aprimorado discutido neste trabalho, ver o Cap´ıtulo 7;

• maigesActNet - classe destinada a armazenar resultados de an´alises de classifica¸c˜ao fun- cional de redes de regula¸c˜ao gˆenica, proposta nesta tese no Cap´ıtulo 8.

´

E importante mencionar que a cria¸c˜ao dessas classes de objetos define uma estrutura computacional robusta e eficiente para a an´alise de dados de microarray. Tamb´em foram definidos m´etodos para a convers˜ao de objetos das principais classes definidas neste pacote (maigesRaw e maiges) em outros objetos de classes definidas nos pacotes marray (Yang, 2006) e limma (Smyth, 2005), o que possibilitou a utiliza¸c˜ao de todas as ferramentas dispon´ıveis nestes dois pacotes sem maiores dificuldades em nosso ambiente. Tamb´em foram criados m´etodos para a convers˜ao de objetos de classes definidas neste dois pacotes em objetos dessas duas classes principais definidas aqui, o que faz com que dados j´a carregados nestas outras ferramentas tamb´em possam ser analisados em nosso ambiente. A seguir s˜ao apresentados, sucintamente, os principais m´etodos desenvolvidos neste trabalho. Esses m´etodos sempre atuam sobre objetos de classes definidas nesta se¸c˜ao e geram outros objetos ou sa´ıdas gr´aficas ou textuais.