Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática Licenciatura em Engenharia Electrónica e Telecomunicações Relatório de Projecto de Final de Curso Ano Lectivo 2005/2006 Exploração, filtragem e análise de dados laboratoriais Orientadores: Prof. José Luís Oliveira Eng. Joel Arrais Autores: Francisco Castro Lopes nº mec. 21741 Hugo Luís de Melo Pais nº mec. 21053 Universidade de Aveiro, DETI/IEETA, 3810-193 Aveiro, Portugal Julho 2006 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Índice: 1. Introdução ........................................................................................................... 4 2. 1.1. Contextualização do trabalho realizado......................................................... 4 Objectivos ........................................................................................................... 5 3. 2.1. Actividades previstas..................................................................................... 5 Resumo ............................................................................................................... 6 4. Conceitos de Biologia e Tecnologia “Microarray” ........................................... 7 4.1. Biologia Molecular......................................................................................... 7 4.1.1. 4.1.2. 4.1.3. 4.2. O Ácido Desoxirribonucleico (ADN).............................................................................. 9 Síntese Proteica – o processo de formação de proteínas............................................ 10 Reacção em cadeia por polimerase (PCR – Polymerase chain reaction)..................... 11 Tecnologia “Microarray” .............................................................................. 12 4.2.1. 4.2.2. 4.2.3. 4.2.4. 4.2.5. 5. Como se fabrica e como funciona um Microarray ....................................................... 12 Microarrays – o princípio de funcionamento................................................................ 13 Construção do microarray.......................................................................................... 14 Desafios para a tecnologia “ Microarray ” ................................................................... 15 Desafios para a Bioinformática .................................................................................. 16 Controlo de qualidade e análise de dados...................................................... 17 5.1. 5.2. Fases do ciclo experimental biológico ......................................................... 17 Controlo de qualidade ................................................................................. 18 5.2.1. 5.2.2. Técnicas para redução de efeitos indesejados (fontes de ruído) ................................. 19 Métodos usados para correcção de background e normalização................................. 20 5.3. 5.4. 6. Análise de dados experimentais.................................................................. 21 Análise baseada em modelos e considerações sobre o design experimental 22 Sistema de Gestão de Informação Laboratorial (LIMS) da Universidade de Aveiro, MIND – Microarray Information Database .................................................. 25 6.1. O que é um LIMS? ...................................................................................... 25 6.2. O que é o Mind?.......................................................................................... 25 6.3. O que é um LIMS? Normas e Ontologias na base do sistema MIND........... 26 6.4. Arquitectura do MIND.................................................................................. 27 7. Levantamento de Packages em R, Identificação de ferramentas e funcionalidades para análise de dados de experiências de Microarrays............. 29 7.1. Identificação e Levantamento de packages R, ferramentas Web e pacotes comerciais .............................................................................................................. 29 7.1.1. 7.1.2. 7.1.3. 7.1.4. 7.1.5. 7.1.6. 7.1.7. 7.1.8. 7.1.9. 7.1.10. 7.1.11. 7.1.12. 7.1.13. 7.1.14. SAM (Significance Analysis of Microarrays) versão 2.2.0 ............................................ 32 SMA (Statistics for Microarray Analysis) versão 0.5.13 (2003/08/15) ........................... 33 GeneTS (Gene Transcription) versão 2.8.0 (2005/08/15) ............................................ 33 LIMMA (Linear Models for Microarray Data) versão 2.4.7 (2006/01/03) ....................... 34 YASMA (Yet Another Statistical Microarray Analysis) v 0.20 ....................................... 35 BIOCONDUCTOR..................................................................................................... 36 SNOMAD ( Standardization and NOrmalization of MicroArray Data )........................... 37 Cap-Web (Cgh Array analysis Platform on the WEB).................................................. 38 GeneSpring gx 7.3 .................................................................................................... 40 GeneSight v4.1 ......................................................................................................... 41 J-Express Pro 2.7...................................................................................................... 42 Rosetta Resolver....................................................................................................... 43 Spotfire DecisionSite System v8.2.............................................................................. 44 S+ArrayAnalyzer®..................................................................................................... 44 Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 2 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 8. Grafcreator ........................................................................................................ 46 8.1. 8.2. 8.2.1. 8.2.2. 8.2.3. 8.3. 8.3.1. 8.3.2. 8.3.3. 8.3.4. 9. Objectivos ................................................................................................... 46 Ferramentas utilizadas ................................................................................ 46 Tecnologia de desenvolvimento ................................................................................. 46 Linguagem estatística utilizada .................................................................................. 46 Interligação Java – R................................................................................................. 47 Sistema implementado................................................................................ 48 Diagrama de blocos................................................................................................... 48 Diagrama de fluxo da aplicação ................................................................................. 49 Diagrama de fluxo para o utilizador ............................................................................ 50 Conversão dos ficheiros ............................................................................................ 54 Mind – Controlo de qualidade e análise de dados.......................................... 56 9.1. 9.2. 9.2.1. 9.2.2. 9.2.3. 9.3. 9.3.1. 9.3.2. 9.3.3. 9.3.4. 9.3.5. 9.3.6. Objectivos ................................................................................................... 56 Análise ao sistema base (MIND) ................................................................. 56 Tecnologia de desenvolvimento ................................................................................. 56 Modelo de dados....................................................................................................... 57 Formato dos ficheiros ................................................................................................ 58 Sistema Implementado................................................................................ 58 Diagrama de blocos ............................................................................................................................. 58 RLinker ................................................................................................................................................. 59 Design Experimental ............................................................................................................................ 61 “WorkFlow” para o utilizador ................................................................................................................ 64 “WorkFlow” Global................................................................................................................................ 65 Funcionalidades ................................................................................................................................... 66 Conclusões ............................................................................................................... 77 Bibliografia:............................................................................................................... 78 Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 3 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 1. Introdução Com a realização deste relatório pretende-se fazer uma descrição o mais detalhada possível do trabalho realizado pelos autores, no projecto final do curso da Licenciatura em Engenharia Electrónica e Telecomunicações da Universidade de Aveiro durante o ano lectivo de 2005/2006. 1.1. Contextualização do trabalho realizado Da aliança das duas ciências que mais evoluíram nos últimos anos, a biologia molecular e a informática, nasceu um novo campo do conhecimento: a Bioinformática. Na realidade, devido a avanços da ciência, a principal ferramenta deste novo biólogo deixou de ser o microscópio para passar a ser o computador o que gerou uma demanda de aplicações informáticas capazes de satisfazerem as suas necessidades. Na universidade de Aveiro, no laboratório de biologia molecular já se encontra em funcionamento com uma base de dados que tem vindo a acumular dados de experiências com relevante valor. No entanto, sem o auxílio de ferramentas informáticas que possibilitem o estudo dos dados existentes não é possível uma plena valorização dos mesmos. Como a quantidade de dados gerados numa experiência biológica, neste caso de microarrays, é enorme, não sendo possível de um modo empírico e simples fazer uma análise válida tanto da qualidade de dados armazenados com análise de interpretação dos mesmos, ou seja, os métodos tradicionais de análise não se adequam a tão grande escala, deste modo, surge a necessidade de desenvolver ferramentas que permitam efectuar análise de dados em colaboração com os sistemas desenvolvidos e em desenvolvimento nesta academia. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 4 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 2. Objectivos O objectivo deste projecto é o de desenvolver uma aplicação Web, que em colaboração com os sistemas existentes, e de acordo com um workflow pré-definido, permita uma correcta exploração filtragem e análise de dados provenientes de experiências biológicas. Para o desenvolvimento deste projecto é necessário fazer uso das tecnologias de desenvolvimento Web, de tecnologias de base de dados, assim como de ferramentas que permitam geração de gráficos. 2.1. Actividades previstas o Estudo da arquitectura do sistema actual assim como o enquadramento do projecto (http://bioinformatics.ieeta.pt/mind); o Definição do workflow assim como do conjunto de ferramentas a desenvolver; o Desenvolvimento e teste das ferramentas de análise; o Desenvolvimento de uma aplicação Web que faça uso do workflow definido e que incorpore as ferramentas anteriormente desenvolvidas; o Integração do sistema desenvolvido no conjunto de sistemas já existentes; Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 5 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 3. Resumo Este documento tem como objectivo documentar o trabalho realizado durante a elaboração do “Projecto Exploração, filtragem e análise de dados laboratoriais” de forma a criar a uma ferramenta interligada com o sistema já existente que permita o controlo de qualidade e a análise de dados de uma experiência de microarrays. O trabalho desenvolvido segundo os seguintes pontos: I. II. Conceitos de Biologia Molecular e tecnologia Microarrays; Controlo de Qualidade e Análise de Dados; III. Estudo do Sistema existente – Mind; IV. Levantamento ferramentas existentes úteis no desenvolvimento do projecto; V. GrafCreator – Sistema Independente para Controlo de Qualidade de experiências de microarrays; VI. Mind – Interligação de ferramentas de Controlo de Qualidade e Análise de Dados; VII. Conclusões. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 6 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 4. Conceitos de Biologia e Tecnologia “Microarray” 4.1. Biologia Molecular O universo biológico apresenta-se aos olhos de um biólogo com uma espantosa diversidade, pois é constituído por plantas, animais e até criaturas microscópicas tais como as bactérias. Mas observando mais atentamente no fundo de toda esta biodiversidade existe uma poderosa constância, pois todos os sistemas biológicos ao mais baixo nível são compostos pelos mesmos tipos de moléculas químicas [7] usando princípios similares de organização celular. As células são a unidade estrutural e funcional de todos Figura 1 – Cultura celular os organismos vivos, sendo por vezes chamado “o bloco de construção da vida ”, a estrutura de todas as células é muito semelhante, mas a organização das células é o que distingue os seres vivos em dois grupos de organismos: eucariotas e procariotas. As células procariotas são distinguidas das células eucariotas na base da sua organização nuclear, especialmente devido a ausência da sua membrana nuclear. As procariotas também se caracterizam pela ausência da maioria das organelas intercelulares e estruturas que são características das células eucariotas (uma importante Figura 3 – célula procariota excepção são os ribossomas que se encontram presentes tanto nas células procariotas como nas eucariotas). As funções das organelas, tais como a mitocôndria, cloroplastas e o aparato golgi, são substituídas pela membrana de plasma do procariota. A estrutura das células procariotas encontra-se dividida em três regiões arquitecturais: apêndices chamados flagella e pili que são proteínas ligadas á superfície da célula, a envolvente da célula que é constituída pela parede celular e a membrana de plasma e uma ultima região que é a região citoplásmica que Figura 2 – célula contem o genóma da célula (DNA) os ribossomas e vários tipos de inclusões. As células eucariotas são tipicamente 10 vezes maiores do que o Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 7 Exploração, filtragem e análise de dados laboratoriais (2005/2006) tamanho de uma célula típica procariota, mas podem chegar a ter 1000 vezes o volume de uma célula procariota. A maior diferença entre os dois tipos de células consiste na existência de compartimentos circundados por uma membrana nas eucariotas, compartimentos estes onde ocorrem actividades metabólicas específicas. O mais importante destes compartimentos é o núcleo celular, que é um compartimento delimitado por uma membrana e que contem o DNA [7,8] da célula eucariota, este núcleo e o que da o nome a célula pois eucariota quer dizer “núcleo verdadeiro”. Figura 4 – Árvore da vida filogenética As células procariotas dividem-se em dois subgrupos, as Archea e as Bactérias, por sua vez as eucariotas formam um grupo único que é constituído por todos os seres vivos restantes tais como todos os animais, plantas e fungos. Existem dois tipos de material genético o ADN (Ácido Desoxirribonucleico) e o RNA (Ácido Ribonucleico), a maioria dos organismos usam o ADN para armazenar a informação a longo prazo, mas alguns vírus (exemplo: retrovirus) têm RNA na sua informação genética. A informação biológica contida num organismo é codificada nas suas sequencias de ADN ou RNA. O RNA é também usado para transportar informação Figura 5-Primeiro esboço de Francis Crick‘s do (exemplo: mRNA) e para funções enzimáticas (exemplo: RNA padrão de dupla espiral do ribosomal) em organismos que usam ADN para código ácido desoxirribonucleico ADN genético em si. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 8 Exploração, filtragem e análise de dados laboratoriais (2005/2006) De modo a ser descodificada toda a informação genética para perceber o funcionamento de qualquer organismo é necessário compreender e estudar a sua “Expressão Genética” [7,8]. 4.1.1. O Ácido Desoxirribonucleico (ADN) O ADN é um ácido nucleíco, usualmente na forma de uma dupla espiral que contem instruções genéticas especificando o desenvolvimento biológico de todas as formas de vida celulares e alguns vírus. Este é um polímero de nucleótidos (um polinucleótido) e codifica a sequência de resíduos de aminoácidos em proteínas usando um código genético, um código de tripletos de nucleótidos. Cada elipse é uma cadeia de nucleótidos ligados quimicamente, Figura 6– Estrutura geral em que cada um deles consiste de um açúcar (desoxirribose) [7], de uma secção de ADN um fosfato e um de quatro tipos de bases. Porque as espirais de ADN são compostas por estas subunidades de nucleótidos, elas são chamadas de polímeros. A existência de uma diversidade de bases significa que existem quatro tipos de nucleótidos que normalmente são referenciados pelo primeiro carácter do nome que identifica as suas bases são estes: Adenina (A), Timina (T), Citosina (C) e a Guanina (G). A ordem ou sequência das bases ao longo da cadeia do ADN é variável existe um efeito que se denomina de “Complementaridade” [9], ou seja, cada Timina opõe-se sempre a uma Adenina e cada Guanina opõe-se sempre a uma Citosina. Figura 7 – Complementaridade de bases azotadas Citando Watson e Crick na sua descrição do modelo de ADN, “O modelo de ADN não é mais que uma longa sequência de nucleótidos, que estão emparelhados formando Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 9 Exploração, filtragem e análise de dados laboratoriais (2005/2006) uma longa cadeia dupla enrolada em espiral”. Ou seja, cada molécula de ADN enrola-se em proteínas, formando estruturas chamadas cromossomas, em que cada porção determinada de ADN forma um gene, sendo os genes considerados como unidades indivisíveis dos cromossomas onde estão situados. Como unidade funcional do material genético os genes são unidades fundamentais de hereditariedade, contêm o código para a produção de proteínas, muitas das quais são enzimas químicas que possibilitam e controlam as reacções químicas das células. 4.1.2. Síntese Proteica – o processo de formação de proteínas O processo de produção de proteínas denominado de síntese proteica ocorre em duas fases denominadas de tradução e transcrição. Durante o processo de transcrição [10] a hélice de ADN desenrola-se e as suas cadeias separam-se com uma das cadeias a servir de molde, produz-se uma molécula de mRNA (RNA mensageiro) a partir dos nucleótidos livres, existentes no nucleoplasma, os quais se ligarão á cadeia Figura 8– Esquema de transcrição do ADN. molde segundo o principio da complementaridade de Legenda: X-ADN Y-mRNA bases. No RNA é que ter em atenção que não existe a base azotada Timina, pois esta é substituída pela base Urucilo (U), ou seja a pentose de RNA é a ribose A cadeia de mRNA anteriormente formada, desloca-se do núcleo da célula para Citoplasma da mesma, onde ocorre a tradução da informação genética. O processo de Tradução [10] é um fenómeno que ocorre pela intervenção de um organito celular, o ribossoma, que se ligará à cadeia de mRNA. Nesta cadeia, o conjunto de três bases azotadas é conhecido como codão e este especifica um aminoácido. O processo de tradução inicia-se pelo codão AUG (codão de iniciação), que traduz o aminoácido metionina. Cada um dos codões do mRNA e os respectivos aminoácidos são incapazes de se “reconhecerem” directamente havendo então necessidade de existir um “adaptador” que faculte esse reconhecimento. A função de “adaptador” é efectuada pelo tRNA (RNA de transferência), ou seja, o tRNA é uma ponte entre os aminoácidos Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 10 Exploração, filtragem e análise de dados laboratoriais (2005/2006) e o mRNA, para assim ser efectuada a tradução da informação codificada no mRNA em proteína. Quando é atingido um codão de terminação, o ribossoma solta-se e a cadeia de aminoácidos é libertada, enrolando-se de modo a formar uma proteína completa, e o gene assim e traduzido numa proteína. 4.1.3. Reacção em cadeia por polimerase (PCR – Polymerase chain reaction) A técnica PCR é uma técnica muito utilizada em investigação medica e biológica para uma variedade de funções, tais como a detecção de doenças hereditárias, identificação de impressões digitais genéticas, no diagnostico de doenças infecciosas, na clonagem de genes, testes de paternidade e computação de ADN e microarrays. A PCR é uma técnica da biologia molecular inventada por Kary B. Mullis, para replicar ADN enzimaticamente sem usar um organismo vivo, tais como E. coli. Esta técnica permite que uma pequena quantidade de ADN seja amplificada exponencialmente, todavia devido ao facto de ser uma técnica in vitro ela pode ser efectuada sem restrições na forma do ADN e pode ser extensivamente modificada de modo a fornecer uma grande quantidade de manipulações genéticas. Para ser executada a técnica PCR é necessário um conhecimento prévio da sequência do ácido nucleico que se deseja amplificar, ou seja ter-se conhecimento da sequência alvo. Partindo da sequência alvo, são desenhados dois iniciadores, também denominados de “primers” para se dar inicio ao processo numa área específica da sequência. O “primer” é uma pequena sequência de nucleotídos que híbrida no início de uma sequência alvo que se quer amplificar e da qual é complementar. Ao identificar o “primer” a polimerase sintetiza uma cópia complementar, respeitando a informação contida na sequência de ADN a ser sintetizado esta técnica precisa ainda de deoxinucleosideos trifosfatados (dATP, dTTP, dGTP, dCTP) que são quatro componentes químicos que actuam como tijolos na construção da molécula de ADN. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 11 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 4.2. Tecnologia “Microarray” A tecnologia de microarrays é uma tecnologia muito recente e actualmente apresentase como uma das tecnologias com maior potencial na produção de problemas e soluções para a Biologia no ramo da Genómica, tendo como grande vantagem um grande ritmo de obtenção de dados experimentais. A tecnologia utiliza arrays microscópicos (microarrays) de moléculas imobilizadas em superfícies sólidas para análise bioquímica, actualmente os microarrays podem ser usados para distintos tipos de análise como por exemplo “análise de expressão genética, detecção de polimorfismos, re-sequenciação genética, genotipagem e escalagem genómica ” [1]. As técnicas habitualmente utilizadas para construir, analisar e processar dados são a fotolitografia, ‘micro-spotting’ e impressão por jacto (tecnologia semelhante á utilizada nas impressoras de jacto de tinta), combinadas com técnicas sofisticadas de detecção por fluorescência, sendo a análise estatística e a bioinformática (elementos chave devido à quantidade de informação produzida). 4.2.1. Como se fabrica e como funciona um Microarray Na actualidade existem várias técnicas, para a realização de microarrays sendo elas: - Ilumina bead array (www.illumina.com); - Serial Analisys of Gene Expression (www.sagenet.org); - Nylon Membrane (www.schleicher-schuell.com); - Agilent: Long oligo Ink Jet (www.home.agilent.com) - GeneChip Affymetrix (www.affymetrix.com) - cDNA microarrays; - Microarrays de proteínas e Oligo Microarrays; Apesar da existência de arrays de expressão genética em variados formatos, são usados com mais regularidade duas categorias, os microarrays de cDNA compostos por cDNA ou oligonucletotidos e também arrays de grande densidade produzidos comercialmente que contêm oligonucleotidos sintetizados [2]. O princípio pelo qual todos os arrays se regem é o da capacidade de uma sequência presa de nucleótidos se colar ou hibridar há sua sequência complementar e formar uma sequência dupla de ADN. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 12 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 4.2.2. Microarrays – o princípio de funcionamento Preparação das células Tratada Cultura de células Controlo Centrifugação Extracção de mRNA Visualização do array cDNA Braço robótico Marcação do cDNA Misturar o cDNA marcado Hibridação Impressão do array Figura 9 – Esquema exemplificando a análise de expressão genética usando tecnologia de microarrays (“spoted microarrays”) Observando a (Figura 9), verifica-se que a produção de um microarray naquele caso específico é a seguinte, após colhidas as células do elemento que pretendemos analisar, são criadas culturas de células Normais/Controlos e Tratadas/células anormais (com alguma mutação) essas células em seguida serão transferidas para tubos de centrifugação. Então o RNA mensageiro mRNA de cada tipo de célula é usado para gerar cDNA marcado com um marcador fluorescente. O mRNA de cada tipo de célula é marcado com um diferente tipo de fluoroforo de modo a poder haver comparação. Os dois cDNA são então misturados e hibridados com um microarray de DNA preparado com métodos de spotting (ex. micro-spotting robótico ou jacto de tinta). No final os níveis de expressão genética são monitorizados através da medição da intensidade de luz usando ferramentas de visualização e programas computacionais. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 13 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Em maior detalhe, uma experiência com uma array de cDNA tem cinco passos básicos: o O cDNA é impresso num substrato sólido como por exemplo vidro ou plástico; o A amostra de RNA é isolada; o O cDNA é sintetizado e marcado para posterior detecção o A sonda de cDNA é hibridada de modo a aderir ao cDNA no substrato, ou seja, quando uma amostra de DNA ou RNA é aplicada array qualquer sequência na amostra que encontre um o seu complementar irá ligar-se a um determinado spot do array; o Finalmente os resultados da hibridação são transformados numa imagem e analisados produzindo um ficheiro com as intensidades de luz dos spots quando expostos a determinados comprimentos de onda; 4.2.3. Construção do microarray Como já referido anteriormente, apesar de várias técnicas para construção de microarrays existirem na actualidade, têm-se destacado especialmente duas. No método mais utilizado estes são construídos agregando fisicamente fragmentos de DNA tais como uma livraria de clones ou reacção em cadeia por polymerase PCR (polymerase chain reaction). Ao usar um construtor de arrays robótico (Figura 10) e o princípio da capilaridade podem ser impressos arrays com tamanho até 23000 fragmentos de genes impressos numa lamela de microscópio. Figura 10 – Spoter robótico, para impressão de microarrays Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 14 Exploração, filtragem e análise de dados laboratoriais (2005/2006) No outro método os arrays são construídos sintetizando uma camada única de oligonucleotidos in situ esta técnica usa técnicas de litografia [4] (Figura 11) esta técnica tem vantagens relativamente hás anteriormente apresentadas em que facilmente e de uma forma económica e flexível se construía um microarray com grande densidade, no caso da técnica de litografia a densidade é superior (>280000/ 1.28x1.28cm) [3] e elimina a necessidade de recolher e armazenar o DNA clonado ou os produtos resultantes da PCR (polymerase chain reaction). Figura 11 – Spoter litográfico para impressão de microarrays; No caso de microarrays personalizados, que são muito comuns nos laboratórios de genómica, são construídos seleccionando os genes a serem impressos de bases de dados públicas (repositórios públicos) ou fontes institucionais, obtendo-se assim um desenho de um microarray adequado ao processo experimental em causa. Existem até empresas que efectuam a produção e desenho de experiências de microarrays como é o caso da Agilent Technologies (http://www.chem.agilent.com/). A preparação para a impressão de chips de cDNA de grande densidade é apoiada normalmente em sistemas robóticos que cumprem o processo de produção de milhares de reacções PCR necessárias a elaboração dos microarrays. Após obtidos os produtos das reacções, estes são depositados em spots para um chip por um robot, que deposita aproximadamente um nano-litro de produto PCR para uma matriz numa ordem definida pelo design do mesmo array. A aderência do DNA ao slide é melhorada através de um tratamento com “polylysine” ou outras camadas químicas de químicos de “crosslinking”. 4.2.4. Desafios para a tecnologia “ Microarray ” No seu estado inicial, a tecnologia Microarray era limitada a empresas de biotecnologia com grandes recursos orçamentais. Mas com o passar do tempo a tecnologia começou a amadurecer, e esta começou a tornar-se mais acessível a Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 15 Exploração, filtragem e análise de dados laboratoriais (2005/2006) laboratórios académicos e a utilizadores comerciais, este processo tornou possível a instituições como a Universidade de Aveiro, e centros tecnológicos como BioCant a utilização de tal tecnologia para investigação em áreas de genómica e sequenciação. Contudo a tecnologia ainda tem as suas limitações [3], como a sua dificuldade técnica, especificidade e fiabilidade. O sucesso da tecnologia de microarrays gera também situações adversas que têm de ser resolvidas, acabando por gerar também desafios estruturantes a diferentes ramos de investigação, como a Bioinformática e a Estatística. Neste momento ainda não existem processos perfeitos de gestão e manuseamento de grandes quantidades conjuntos de dados complexos, pois o grande desafio neste momento não aparenta ser o modelo de produção de arrays, mas sim a manipulação e análise das matrizes de dados, sendo outro dos grandes problemas a ausência de um protocolo estandardizado para manuseamento de dados, embora este problema caminhe a passos largos para a sua resolução com a criação de grupos de trabalho como o MGED (Microarray Gene Expression Data Society - MGED Society) que procuram criar um processo de uniformização de manipulação e armazenamento de dados de expressão genética. 4.2.5. Desafios para a Bioinformática Os desafios que mais directamente se apresentam á Bioinformática neste momento são criar bibliotecas com anotações sobre os genes mais relevantes, de modo a facilitar a análise de estatística, através de clustering, etc. Ou seja os desafios futuros consistem de base de dados e algoritmos para análise de grandes quantidades de dados e métodos de visualização [5]. Sendo que os cientistas do Instituto Europeu de Bioinformática identificaram como tendência e caminho a seguir a criação de serviços presentes na “World Wide Web”, que cumpram os standards criados pelo MGED e forneçam dados em um ficheiro baseado em XML [6]. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 16 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 5. Controlo de qualidade e análise de dados 5.1. Fases do ciclo experimental biológico As experiências biológicas neste caso de microarrays são divididas em vários estágios fundamentais para obtenção de resultados como se pode observar pelo diagrama funcional apresentado na figura seguinte. Questão Biológica Design Experimental Falhou Experiência Microarrays Controlo de Qualidade Análise da Imagem Passou Normalização Pré-processamento Análise Estimação Teste Clustering Descriminação Verificação Biológica e interpretação Figura 12 – Ciclo de vida experimental de uma experiência biológica [11] O processo aparentemente, é muito linear e simples, pois após surgir uma questão biológica, parte-se para o desenho experimental e para a experiência de microarrays, mas a partir deste momento começam a surgir os desafios tanto em termos biológicos, estatísticos e informáticos. Na fase de pré-processamento surge uma questão fundamental em qualquer procedimento experimental que é o da qualidade dos dados gerados pela mesma, devido a esses problemas surge a necessidade de implementar uma metodologia que permita estabelecer parâmetros de filtragem dos dados. Após a fase do controlo de qualidade terão que existir procedimentos de normalização de dados de modo a tornar possível a eliminação ou pelo menos reduzir o efeito das fontes de ruído presentes em qualquer experiência, só após o cumprimento destes passos Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 17 Exploração, filtragem e análise de dados laboratoriais (2005/2006) se torna possível partir para uma a Análise experimental onde serão implementadas diversas técnicas, sendo escolhidas pelo investigador as que se apresentam como mais indicadas para a sua experiência. Cumprida esta fase poderá então o biólogo debruçar-se sobre a verificação biologia e interpretação dos resultados correndo o risco de o processo se ter que repetir sistematicamente até que seja respondida a questão biológica em causa. Olhando para o ciclo de vida biológico do ponto de vista de um informático, a necessidade de intervenção deste aparenta ser reduzida mas esse ponto é uma aparente ilusão pois este irá ter que intervir nos processos de controlo de qualidade e normalização e análise, através do desenvolvimento de aplicações que permitam a realização de uma forma sistemática e simples por forma a acelerar o processo experimental. 5.2. Controlo de qualidade O controlo de qualidade surge com questão pertinente, pois é necessário ter a capacidade de diferenciar os bons dos maus dados. No caso dos microarrays isto deve-se a quatro questões fundamentais [11]: o Dados de expressão genética em microarrays têm uma grande gama dinâmica (exemplo: [100...104]) figura ; o Existem múltiplas fontes de ruído: Correlacionadas, Sistemáticas e dependentes de factores experimentais; o Não existem unidades absolutas, apenas relativas, pois a calibração é em tudo diferente de array para array e muito diferente para diferentes setup’s experimentais; o Grande variação espacial e temporal. Figura 13 – Exemplo da variação de gama dinâmica de dados de microarrays Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 18 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 5.2.1. Técnicas para redução de efeitos indesejados (fontes de ruído) As fontes de ruído mais comuns numa experiência de microarrays são : Contaminação de amostras; o Degradação do RNA; o Eficiência da Amplificação; o Eficiência da transcrição reversa; o Eficiência e especificidade da Hibridação; o Eficiência de Spotting; o Quantificação do sinal; o Segmentação da Imagem; o Outros problemas relacionados com o fabrico dos arrays. Para reduzir a influência de tais fontes de ruído usualmente são utilizadas métodos de correcção de background (ajuste de sinal) e normalização. As técnicas de correcção de background têm entre outras funções, a importância de corrigir o ruído de background e efeitos de processamento dos arrays, como falhas de circularidade (Figura 14) nos spots, e nuvens de ruído biológico (Figura 15) resultantes de falhas no processo laboratorial, como por exemplo uma má eliminação de materiais residuais durante a lavagem do microarray. a) b) Figura 15 – Exemplo de spot’s: a) Estado ideal b) Estado experimental Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) Figura 14 – exemplo de array com mau background 19 Exploração, filtragem e análise de dados laboratoriais (2005/2006) De uma forma muito resumida a função da correcção de background é ajustar as ligações não específicas e ajustar os valores de expressão de modo a estarem dentro de uma gama apropriada. A outra técnica de correcção de redução da influência das fontes de ruído nos dados experimentais é a normalização pois “Factores não biológicos podem contribuir para a variabilidade dos dados…De modo a poder comparar dados de múltiplos arrays as diferenças de origem não biológica devem ser minimizadas”1. A razão fundamental para a utilização de tal técnica é a existência de factores experimentais que têm efeitos sistemáticos e não conseguem ser controlados com a tecnologia existente e prática laboratorial, pois embora a experiência possa ser realizada pelo mesmo investigador os resultados podem ser diferentes em diferentes execuções do mesmo protocolo experimental. Em suma a normalização vai reduzir a variação indesejada tanto dentro como entre arrays, podendo ser usada a informação de vários arrays em simultâneo. 5.2.2. Métodos usados para correcção de background e normalização Os métodos mais usados para a correcção de background são [13]: o Subtract; o Norm Exp; o Moving Gmin. Embora existam muitos outros. O método “Subtract” é recomendado para situações em que é pretendida uma análise simples dos dados, o que é efectuado por esta técnica é uma subtracção simples dos valores de foreground aos valores de background. Quanto ao método Norm Exp, é preferível quando é necessária uma análise de expressão diferencial, pois o que este método realiza é um ajuste da adaptabilidade do foreground para as intensidades de background, resultando disso apenas valores positivos e ajustados da intensidade, i.e., são evitados resultados nulos ou negativos de intensidade. O método Moving Gmin, o background estimado é substituído pelo background mínimo dos spots vizinhos, i. e., o background é substituido através da movimentação de uma matriz 3X3 á volta de cada spot determinando o mínimo valor da vizinhança. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 20 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Relativamente aos métodos de normalização os mais comuns são [14]: o Loess; o Printip Loess; O método de Loess [14], normaliza as intensidades do canal cy3 ou cy5 de todos os spots aplicando o algoritmo LOESS ajustando tanto a intensidade cy3 ou cy5 de cada spot com factores Loess determinados pelo algoritmo, neste caso o algoritmo é aplicado a todos os dados do microarray, relativamente ao método PrinttipLoess, o método é exactamente igual ao aplicado no método anterior, com uma diferença relativamente aos dados usados para a aplicação do algoritmo, sendo neste caso aplicados a um printip do array como exemplificado na Figura 20. PRINTTIP 1 PRINTTIP 2 Figura 16 – Exemplo de array e seus printtips 5.3. Análise de dados experimentais A grande maioria das experiências de microarrays são de uma natureza comparativa [9], ou seja pretende-se quase sempre perceber relações entre elementos do mesmo grupo ou grupos distintos de forma a obter resultados úteis. Posto isto, é simples perceber que na grande maioria das experiências é pretendido comparar níveis de expressão de um grupo de genes segundo duas ou mais condições, ou seja, identificar genes que sejam significativamente diferencialmente expressos perante as condições. Um exemplo em que é pretendido este tipo de análise é o caso de uma experiência que pode ser conduzida para comparar vários níveis de expressão de vários genes em células Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 21 Exploração, filtragem e análise de dados laboratoriais (2005/2006) cancerígenas do fígado versus uma situação de células normais numa tentativa de identificar os genes mais expressos em células cancerígenas do fígado mas não em células normais. A forma mais simples de analisar experiências comparativas [9] é considerar cada gene de uma forma isolada e comparar o seu nível de expressão cruzando os seus valores de expressão com os pertencentes às outras condições. Quando se quiser fazer uma análise a um nível mais elevado de complexidade, os genes podem ser analisados em combinação, comparando os níveis de expressão dos clusters de genes através dos grupos. Para isso são identificados por Dahmmika Amaratunga e Javier Cabrera [9] como processos estatísticos a seguir: o Calculo de FOLD Changes; o T-test; o Robust t-test o SAM; o Entre outros. 5.4. Análise baseada em modelos e considerações sobre o design experimental Durante os últimos anos têm trabalhado na aplicação de técnicas estatísticas de modelos lineares diversos grupos de investigadores tentando aplicar os mesmos modelos para a análise comparativa de microarrays, tendo este tipo de modelo de análise obrigado a uma reflexão sobre a importância do design experimental ideal para a análise de uma determinada experiência de microarrays. A literatura sobre estes tópicos tem vindo a aumentar gradualmente [9] existindo um grupo de autores a considerar segundo Dhammika Amaratunga e Javier Cabrera. Numa fase inicial Kerr e Churchil (2001) e Kerr et al. (2000,2002) são referências para técnicas usadas para a análise de dados de microarrays de cDNA com multicanais, estes também defenderam a existência e a importância do design da experiência, tendo proposto vários métodos de design inovadores. Numa fase mais avançada surgem Churchill (2002) e Yang e Speed (2002), com revisões do trabalho realizado pelos autores apresentados no paragrafo anterior. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 22 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Yang e Speed são elementos integrantes do grupo de investigação que desenvolveu a package R LIMMA (Linear Models for Microarray Data) tendo esta package servido de base a todo o trabalho realizado neste projecto. Como já referido no ponto anterior um elevado número de experiências são analisadas segundo um modelo de comparação. O design de tais experiências refere-se á atribuição de várias amostras a diferentes factores ou condições, no caso das experiências de microarrays a variável de interesse é o nível de expressão genética e o design experimental faz referência a atribuição das amostras sobre o nível de factores tais como a variedade ou “dye” (replica invertida de um microarray, se no array M1, o canal R tem amostra Y e G amostra X então array M2 canal R tem amostra X e canal G tem amostra Y), e ainda replicas biológicas. Como exemplos de design temos: o Design com amostra de referência (tabela 1); o Design em Loop (tabela 2); o Design Saturado (tabela 3); o Design em Loop com referência; Array Array Array A1 A2 A3 Canal R REF REF REF Canal G A B C Design D1 A A1 REF A2 B A3 C Tabela 1 – Tabela de Design do tipo amostra de referência, e respectivo diagrama de grafos; Array Array Array A1 A2 A3 Canal R A B C Canal G B C A Design D2 B A1 A A2 A3 C Tabela 2 – Tabela de Design do tipo LOOP, e respectivo diagrama de grafos; Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 23 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Array Array Array Array Array Array A1 A2 A3 A4 A5 A6 Canal R A B C B C A Canal G B C A A B C Design D1 Tabela 3 – Tabela de design do tipo Saturado, e respectivo diagrama de grafos Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) A4 A B A1 A5 A3 A2 A6 C 24 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 6. Sistema de Gestão de Informação Laboratorial (LIMS) da Universidade de Aveiro, MIND – Microarray Information Database Neste capítulo é pretendido efectuar uma pequena e resumida explicação sobre o sistema LIMS actualmente em funcionamento na Universidade de Aveiro – Mind, cuja arquitectura e dados serão a base deste projecto. 6.1. O que é um LIMS? Os sistemas LIMS são um conceito relativamente recente, datado da década de 60, tendo surgido no momento do inicial do surgimento de tecnologias de informação, no início do “boom” da informática. Cerca de 20 anos mais tarde, com os custos da tecnologia a diminuírem e a qualidade dos sistemas de informação a aumentar, esta deixou de ser apenas uma potencial ferramenta que poderia ter influências na qualidade da investigação e no funcionamento das organizações para passar a ser um motor de desenvolvimento das mesmas, aumentado a produtividade e competitividade reduzindo custos operacionais e aumentando a capacidade decisória das organizações. Paralelamente há evolução das tecnologias de informação também existiu evolução noutras áreas como a Biologia, Bioquímica, etc… e as quantidades de dados provenientes começou a ser incomportável de gerir com os métodos tradicionais então surgiram os sistemas LIMS [15], que eram versáteis e simples e permitiam sistematizar o trabalho do investigador de uma forma impar. As funções principais dos sistemas LIMS são gerir toda a informação necessária a um laboratório (protocolos, experiências e dados), de forma a permitir um fácil acesso e manuseamento da informação e partilha da mesma, sendo esta consequência da estruturação dos dados na actualidade estar regulada por entidades que procuram uniformizar o formato de dados como o grupo MIAME/MGED. 6.2. O que é o Mind? O Mind é o sistema LIMS da Universidade de Aveiro, este tem vindo a ser desenvolvido nos últimos dois anos, tendo dado origem a duas versões de implementação. O desenvolvimento foi elaborado segundo um procedimento interdisciplinar em que foi necessário que os elementos que iriam projectar o mesmo se sentassem a mesa com Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 25 Exploração, filtragem e análise de dados laboratoriais (2005/2006) os biólogos e bioquímicos futuros utilizadores do sistema, de forma a ser atingido um consenso quanto ao workflow e dados a processar, durante o processo foi evidente que seria necessário que o sistema MIND teria que cumprir as normas MGED, de modo a que fosse possível existir um modelo universal de partilha de dados entre laboratórios [16]. 6.3. O que é um LIMS? Normas e Ontologias na base do sistema MIND A arquitectura da base de dados e do workflow foi baseado nas normas produzidas pelo grupo MGED, como já foi referido este grupo procura produzir normalização e recomendações de modo a que todos os sistemas informáticos LIMS possuam um padrão mínimo de informação sobre as experiências de Microarrays de modo a facilitar a partilha de informação e criação de sistema de análise de dados. O MIAME é uma recomendação produzida pelo grupo MGED para um padrão de representação de dados associados às experiências com microarrays, assim como ontologias e protocolos, sendo um grupo multidisciplinar composto por Biólogos, Estatísticos e Informáticos. A recomendação MIAME divide-se em seis áreas diferentes de recomendação [19] : o Design experimental: procura descrever a Experiência como um bloco; o Design do Array: Descreve cada Array e cada spot em cada Array; o Amostras: Descreve as amostras usadas e correspondente preparação e marcação; o Hibridação: Descreve todos os procedimentos efectuados para a realização da experiência; o Medições: Descreve imagens, especificações e quantificações efectuadas durante o procedimento normal do procedimento experimental; o Controlos de Normalização: Processo de normalização dos dados obtidos. Por sua vez a norma que orienta a implementação dos conceitos introduzidos pelo MIAME é a norma MAGE ( Microarray Gene Expression), esta norma é dividida em dois grupos de especificações MAGE-OM (MAGE- Object Model)e MAGEML(MAGE- Markup Language). De uma forma muito simplificada a normalização que definiu a totalidade do formato da estrutura de dados do MIND é comandado pelas normas MAGE apresentadas no parágrafo anterior em que o MAGE define os requesitos dos dados a armazenar, o Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 26 Exploração, filtragem e análise de dados laboratoriais (2005/2006) MAGE-OM define a estrutura de objectos da informação a guardar e o MAGE-ML define a forma como partilhar e como partilhar os dados da base de dados. 6.4. Arquitectura do MIND Submitter BioAssayData Experiment BioAssay Image Lab. Extract Array Protocol ArrayBatch ArrayDesign Mandatory relationships for introducing new data Extract Mandatory relationships for completing the experiment BioSample Treatment BioMaterial Figura 17– Arquitectura Top-bottom do Mind V2 [19] Como é exemplificado na figura 18, a arquitectura do sistema de informação MIND cumpriu as especificações das normas MAGE e por consequência as recomendações MIAME, como se observa facilmente existem seis grupos distintos mas relacionados, sendo eles: o Design – descrito pelos blocos Experiment e Protocol; o Design do Array – descrito pelos blocos Array Design e Array Batch; o Amostras – descrito pelos blocos Lab.Extract, Extract, Biosample e Biomaterial; o Hibridação – descrito pelo bloco Bioassay; o Medições – descrito pelo bloco Bioassay Data; Embora a interpretação da estrutura de dados não possa ser feita de uma forma tão simplista pois esta possui informação a um nível mais complexo, contendo o máximo de Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 27 Exploração, filtragem e análise de dados laboratoriais (2005/2006) informação possível de forma a uma maior qualidade dos dados armazenados, ou seja, possui mais informação do que a recomendada pelo MAGE. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 28 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 7. Levantamento de Packages em R, Identificação de ferramentas e funcionalidades para análise de dados de experiências de Microarrays 7.1. Identificação e Levantamento de packages R, ferramentas Web e pacotes comerciais O levantamento efectuado restringiu-se há identificação de três tipos de produtos existentes no mercado, packages R, ferramentas Web e pacotes comerciais, pretendendo-se identificar quais as funcionalidades oferecidas, custos no caso de pacotes comerciais, tipos de licença no caso de packages R sendo a informação limitada aos dados fornecidos pelos proprietários dos produtos em causa. A metodologia de identificação utilizada partiu da exploração de sítios de referência, que disponibilizam análises e identificam vários produtos desenvolvidos e em desenvolvimento. O sítio mais utilizado foi o Bioconductor que se encontra no endereço (www.bioconductor.org), este tem como missão dos projectos os seguintes pontos: Fornecer acesso a uma grande quantidade de ferramentas estatísticas e métodos gráficos para análise de dados genómicos; Facilitar a integração de metadados biológicos na análise de dados experimentais: exp. Literatura da PubMed, dados de anotações da LocusLink; Permitir um rápido desenvolvimento de software extensível, escalável e inter-operativo; Promover documentação de grande qualidade e investigação reproduzível; Fornecer treino em métodos estatísticos e computacionais para a análise de dados de Genómica. Outra metodologia, foi a utilização de motores de busca como Google and Altavista, tentando identificar projectos em desenvolvimento por vários grupos de bioinformática de várias instituições, tentou-se também observar grupos de discussão ligados a utilizadores de R o que nos iria efectivamente fazer perceber o que esta a ser usado por vários investigadores da área. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 29 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Neste capítulo vai ser feita uma descrição generalista e concisa das listas de packages, serviços web e pacotes comerciais seguintes seguintes: Packages para R: Tipo de Aplicação Package R Excel add-ins Package R Produto Instituto/Organização Notas: SAM Stanford University 7.1.1. SMA Berkeley University (Speed Berkeley Research Group) 7.1.2. Ludwig-Maximilians-Universitat Package R GeneTS Munchen 7.1.3. (Departamento de Estatística) The Walter and Eliza Hall Institute Package R Limma of Medical Research Melbourne, Australia 7.1.4. London University Package R Yasma (The Intracellular Pathogen 7.1.5. Cooperative Group) Aplicações WEB: Tipo de Produto Instituto/Organização Notas: BIOCONDUCTOR (Vários) 7.1.6. Aplicação Base de dados de packages de Principal: Unidade de R para Genética Bioestatistica do Instituto Médico de Harvard Web page SNOMAD Jonhns Hopkins School of 7.1.7. Public Health Web page CAP-WEB Curie institut Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 7.1.8. 30 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Pacotes Comerciais: Tipo de Produto Instituto/Organização Notas: Custo: GeneSpring gx 7.3 Agilent Technologies 7.1.9 Inf.não Aplicação Desktop application Desktop fornecida GeneSight v4.1 Biodiscovery, Inc 7.1.10 Application Desktop fornecida J-Express Pro 2.7 MolMine 7.1.11 Application Desktop Application Inf.não fornecida Rosetta Resolver Rosetta Biosoftware 7.1.12 Application Desktop Inf.não Inf.não fornecida Spotfire Spofire.inc 7.1.13 Inf.não fornecida DecisionSite System v8.2 Desktop S+ArrayAnalyzer® Insightful Corporation Application Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 7.1.14 Inf.não fornecida 31 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 7.1.1. SAM (Significance Analysis of Microarrays) versão 2.2.0 URL: http://www-stat.stanford.edu/~tibs/SAM/ Licença: freeware para uso académico; Funcionalidades: Excel Add-in; Pode ser aplicado a dados de arrays Oligo ou cDNA, SNP, Proteínas, etc...; Correlaciona a expressão de dados para parâmetros clínicos incluindo tratamento, categorias de diagnostico, tempo de sobrevivência, emparelhado (antes e depois), quantitativa (ex. Volume de tumor) e uma classe. Tanto testes paramétricos e não paramétricos são oferecidos; Correlaciona os dados expressos com o tempo, para estudar tendências temporais. As unidades experimentais podem cair em uma ou duas classes, ou ser emparelhadas; Imputação automática de dados em falta via algoritmo do vizinho mais próximo; Ponto inicial ajustável determina o número de genes chamados significativos; Usa permutação de dados para fornecer uma estimativa da taxa de descoberta falsa para teste múltiplo; Reporta taxas de descoberta falsa e taxas de falhas locais; Pode lidar com designs bloqueados, por exemplo, quando os tratamentos são aplicados dentro de diferentes séries de arrays; Descoberta de padrões via “eigengenes”; Desenvolvido por: Stanford University Statistics and Biochemistry Labs. Based on paper of Tusher, Tibshirani and Chu (2001) "Significance analysis of microarrays applied to the ionizing radiation response". PNAS, Apr 24, 2001 Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 32 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 7.1.2. SMA (Statistics for Microarray Analysis) versão 0.5.13 (2003/08/15) URL: http://www.stat.berkeley.edu/users/terry/zarray/Software/smacode.html Licença: GPL version 2; Funcionalidades: Permite uma análise de dados de microarrays de cDNA implementando: - Técnicas de normalização de dados; - Vários métodos estatísticos para identificação de genes expressos em experiências replicadas de cDNA; - Varias técnicas de clustering; Desenvolvido por: Speed Berkeley Research Group Departamento de Estatística da Universidade da Califórnia, Berkeley 7.1.3. GeneTS (Gene Transcription) versão 2.8.0 (2005/08/15) URL: http://www.statistik.lmu.de/~strimmer/software/genets/ Licença: GPL version 2; Funcionalidades: Este package permite uma análise de dados da expressão de genes (time series). Actualmente este package permite dois tipos de análise: - Identificação de genes periódicos; - Interferência de redes de associação em larga escala de genes; Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 33 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Este fornece também estruturas de dados e funções para dados longitudinais com múltiplas variáveis, medidas repetidas, e pontos de tempo irregularmente espaçados; Desenvolvido por: Miika Ahdesmaki <[email protected]>, Konstantinos Fokianos <[email protected]>, Juliane Schaefer <[email protected]>, Korbinian Strimmer <[email protected]>. 7.1.4. LIMMA (Linear Models for Microarray Data) versão 2.4.7 (2006/01/03) URL: http://bioinf.wehi.edu.au/limma Licença: LGPL Funcionalidades: O Limma é um package que permite efectuar a análise da expressão genética em dados de microarrays, especialmente o uso de modelos lineares para experiências desenhadas e para avaliação da expressão diferencial. A mesma fornece a capacidade de comparação e análise entre múltiplos alvos em simultâneo e possui também funcionalidades que tornam as análises estáveis mesmo para experiências com um número muito baixo de arrays, isto é obtido através da partilha de informação entre genes. As funções de normalização e de análise exploratória de são concebidas para microarrays a duas cores. O modelo linear e as expressões diferenciais podem ser aplicadas a todos dados gerados por scanners de microarrays incluindo Affymetrics e outros microarrays de um só canal. Passando a enumerar a funcionalidades deste package: o Leitura de dados de experiências a duas cores; o Exploração de dados; o Pré-processamento de dados de experiências a duas cores: o Correcção de Background; Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 34 Exploração, filtragem e análise de dados laboratoriais (2005/2006) o Normalização dentro do array; o Normalização entre arrays; o Modelos Lineares; o Desenhos específicos: o Comparações simples: o Replicar arrays; o Dey swaps; o Replicação técnica; o Dois Grupos (referencias comuns e Affymetrix); o Vários grupos; o Curso de tempo de experiências; o Análise para canal separado de dados de experiências de microarrays a duas cores; o Estatísticas para expressão diferencial. Desenvolvido por: The Walter and Eliza Hall Institute of Medical Research Melbourne, Austrália 7.1.5. YASMA (Yet Another Statistical Microarray Analysis) v 0.20 URL: http://people.cryst.bbk.ac.uk/~wernisch/yasma.html Licença: GPL version 2; Funcionalidades: O Yasma é uma biblioteca add-on para R, que pode ser usada para analisar experiências replicadas simples. A intenção desta biblioteca é complementar a package referida anteriormente SMA (Significance Analysis of Microarrays). Esta biblioteca oferece uma análise estatística do tipo ANOVA, e análise de componentes de variância, sendo válida esta metodologia desde que por exemplo, no caso de experiências com múltiplos preparados de mRNA hibridados em vários arrays, seja usado o mesmo número de arrays para cada preparado. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 35 Exploração, filtragem e análise de dados laboratoriais (2005/2006) No momento em que esta análise está a ser realizada a package Yasma contem as seguintes funcionalidades: o Rotinas para encontrar relação entre réplicas de arrays e remover os genes que possuem menor expressão causa de baixa correlação; o Um método para interpolar dados em falta usando estimativas de uma análise ANOVA; o Rotinas para uma análise “fast ANOVA” de dados típicos de uma experiência com microarrays. o Rotinas para uma análise de variância de componentes: culturas, arrays, etc... o Rotina para cálculo do desenho óptimo de uma experiência baseado nos custos relativos de culturas, arrays, etc... o Calculo de P-values obtidos através da análise de componentes de variância. Se os resíduos mostram diferentes valores de variância (caso comum) “hierarchical bootstrapping” dos resíduos é o método mais viável de obter os p-values. o Implementa testes adicionais “standard” (“t-statistic”), de Newton’s e métodos de modelo hierárquico para experiências múltiplas. Desenvolvido por: The Intracellular Pathogen Cooperative Group, London University 7.1.6. BIOCONDUCTOR URL: http://www.bioconductor.org/ Licença: Open source software Funcionalidades: O “Bioconductor” funciona como um projecto de desenvolvimento de software open source e de desenvolvimento livre para a análise e compreensão de dados de experiências genéticas. Num estádio inicial do grupo os esforços dirigiram-se essencialmente para a análise de dados de microarrays de DNA, mas neste instante muitas das ferramentas de análise Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 36 Exploração, filtragem e análise de dados laboratoriais (2005/2006) são generalistas e podem ser usadas de um modo alargado para a análise de dados genéticos. A programação do “Bioconductor” é baseada na linguagem de programação R. Como ferramentas presentes interessantes temos as que se encontram incluídas na base de dados: o LIMMA (já referida no ponto 1.4); o arrayMAGIC (efectua: preprocessamento e controlo de qualidade para arrays de cDNA de duas cores); o geneRecommender (efectua: algoritmos de clustering localizados para a análise de dados de microarrays); o GeneMeta (efectua: esta centrado na combinação de data sets baseados na comparação de duas amostras, os procedimentos são largamente baseados no t-test); o Convert (efectua: a conversão entre classes de dados de microarrays, ou seja pode converter os formatos dos dados entre as packages limma, Biobase e marray); o Ebarrays (efectua: aplica uma metodologia empírica de Bayes para dados de expressão genética para lidar com arrays replicados e múltiplas condições); Desenvolvido por: (Vários) Principal: Unidade de Bioestatística do Instituto Medico de Harvard 7.1.7. SNOMAD ( Standardization and NOrmalization of MicroArray Data ) URL: http://pevsnerlab.kennedykrieger.org/snomadinput.html Licença: (GNU license)Freeware, não é necessário o registo de utilizador; Funcionalidades: O SNOMAD é constituído por uma colecção de algoritmos dirigidos para a estandardização e normalização de dados de microarrays de DNA. Esta ferramenta web tem grande parte das suas transformações dirigidas ao refinamento de dados de pares de microarrays. Como se pode observar na Figura 1. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 37 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Figura 18 – Vista geral das transformações do SNOMAD Desenvolvido por: Carlo Colantuoni and George W. Henry no laboratory of Jonathan Pevsner (Johns Hopkins School of Medicine, Department of Neuroscience and Kennedy Krieger Research Institute, Department of Neurology) e Scott Zeger (Johns Hopkins School of Public Health). 7.1.8. Cap-Web (Cgh Array analysis Platform on the WEB) URL: http://bioinfo-out.curie.fr/CAPweb/ Licença: Freeware, necessita registo para uso Funcionalidades: A Ferramenta CapWeb, é uma ferramenta de que permite a gestão, visualização e análise comparativa de arrays de hibiridização genética. A arquitectura do sistema é apresentada na Figura 2. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 38 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Figura 19 – Cap-Web arquitectura do software. O procedimento para o utilizador é: o Upload dos ficheiros e análise de uma imagem de uma CGH array e anotação do array (gerados por: Genepix, spot, Maia, ...); o Efectua a normalização de dados automaticamente. Este usa o package MANOR do R; o Detecção do ponto de fractura e atribuição de estado usando o package do R GLAD do R; o Produção de um relatório para validação e posterior análise ou descarte da análise. o Integração no VAMP (interface gráfico para visualização e análise de arrays CGH); Desenvolvido por: Stéphane Liva, Philippe Hupé, Pierre Neuvial, Isabel Brito, Emmanuel Barillot and Philippe La Rosa, Institut Curie Bioinformatics Unit Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 39 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 7.1.9. GeneSpring gx 7.3 URL: http://www.chem.agilent.com/Scripts/PDS.asp?lPage=27881 Funcionalidades: O GeneSpring é uma aplicação do tipo desktop, talvez uma das soluções de análise de dados de experiências de microarrays mais completas presentes no mercado, na sua versão actual permite: Ferramentas estatísticas avançadas: o ANOVA de um e dois parâmetros; o Taxa de falsas descobertas; o Correcções de Múltiplo teste; o Testes pós Hoc Tukey e Student-Newman-Keuls; Reconhecimento de Padrões: o Arvores de Genes; o Arvores de experiência; o Mapas Auto-organizativos; o Clustering de k-médias; o Custering QT; o Análise de componentes principais; Displays Gráficos intuitivos: o Gráficos de Distribuição 2D e 3D; o Gráficos Volcano; o Gráficos de Caixa; o “Dendograms” 2D; o Mapas de cromossomas; Compatibilidade Multi-plataforma: o Permite utilizar dados de gerados por diferentes tipos de scanners Agilent, Affymetrix, GE Healthcare, etc. e exporta os dados para o formato MAGE-ML (Microarray Gene Expression-Markup Language ). Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 40 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Funcionalidades extensíveis: - Permite o uso de aplicações externas tais como BioConductor, SAS, MATLAB® e algoritmos R; Teste de Hipóteses; Avaliação de qualidades de dados: o Normalização “LOWESS” de intensidades independentes; o Normalização Global por Chip ou por Gene; o Normalização para amostras de controlo especificadas; Desenvolvido por: Agilent Technologies, Inc. 7.1.10. GeneSight v4.1 URL: http://www.biodiscovery.com/index/genesight Funcionalidades: Figura 20 – Screen shots “genesight” O GeneSight permite aos investigadores explorar grandes quantidades de dados de várias experiências usando técnicas e ferramentas avançadas de normalização, visualização e decisão estatísticas. Estas ferramentas incluem GenePie™, gráficos de distribuição 2D, gráficos de Histogramas de rácios interactivos, gráficos hierárquicos, K-médias, Clustering de redes neuronais, análise de componentes principais, e análises Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 41 Exploração, filtragem e análise de dados laboratoriais (2005/2006) condicionais tais como séries temporais. A ferramenta analisadora de significados (“significance analyzer”) pode determinar genes que tenham padrões de expressão que podem variar entre classes de condições experimentais, tais como estados de doença. O Genesight possui também capacidade de “query” a bases de dados públicas para relacionamento adicional de dados dos genes que estão a ser analisados no microarray, de modo a que sejam efectuadas análises estatísticas em dados que contenham valores replicados, construir subgrupos de genes usando metodologias gráficas ou visuais, e gerar relatórios contendo todos os campos de dados. Desenvolvido por: Biodiscovery, Inc 7.1.11. J-Express Pro 2.7 URL: http://www.molmine.com/ Funcionalidades: Figura 21 – Screen shots “J-Express 2.7” O J-Express 2.7 é software que permite análise e visualização de dados de Microarrays, este programa dá acesso a algoritmos de “scaling” multi-dimensional, Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 42 Exploração, filtragem e análise de dados laboratoriais (2005/2006) clustering e visualização de um modo flexível. Este é compatível com dados da Genepix, Affymetrix, Agilent, Scanalyze e Array Express e permite muito agilmente construir filtros para conversão para outros sistemas, e os ficheiros com formatação tabular (ex.: Excel) são também facilmente exportados. As funcionalidades principais do J-Express são: o SAM (referido no ponto 1.1); o Mapeamento de Ontologia de Genes; o ANOVA + p – valores e FDR; o Scripting; o Estrutura extendida para agrupar genes e amostras; o Teste de t-score e s-score; o Documentação estendida de informação de meta dados; o Formato MAGE-ML na entrada e saída; Desenvolvido por: Molmine Bioinformatics Software Solutions 7.1.12. Rosetta Resolver URL: http://www.rosettabio.com/products/resolver/ Funcionalidades: A aplicação “Rosetta Resolver” é uma ferramenta de análise de experiências de microarrays muito semelhante ás anteriormente apresentadas, esta ferramenta é muito versátil que permite normalização de dados, análise ao nível de genes, sendo que esta está preparada para o sistema operativo Affymetrix GeneChip®. Actualmente esta aplicação encontra-se integrada na ferramenta descrita no ponto 3.1, GeneSpring desenvolvida pela Agilent technologys. Desenvolvido por: Rosetta Biosoftware Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 43 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 7.1.13. Spotfire DecisionSite System v8.2 URL: http://support.spotfire.com/ Funcionalidades: O software Spotfire é uma ferramenta de data mining que sofreu alterações de modo a que seja efectuada análise de dados de experiências de microarrays. O Spotfire corre num browser Web, e as diferentes ferramentas de análise são carregadas no lado do cliente conforme as necessidades. Este é um package empresarial e fornece acesso a bases de dados extensivas e a plataformas de desenvolvimento, workflows guiados, e ferramentas de visualização e análise dinâmicas. As suas ferramentas de visualização podem ser directamente exportadas para o MS WORD™ ou POWER POINT™ ou mesmo uma página web. Desenvolvido por: Spotfire.Inc 7.1.14. S+ArrayAnalyzer® URL: http://www.insightful.com/products/s-plus_arrayanalyzer/ Funcionalidades: O S+ArrayAnalyser é um produto desktop que efectua data-mining, que fornece módulos para o software de estatística S-PLUS de modo a que seja efectuada a análise de dados de experiências de microarrays. As principais funcionalidades do S+ ArrayAnalyser são: o Filtragem e controlo de qualidade; o Métodos de normalização particulares; o Técnicas de Clustering: o Controlo de taxa de erro de familiaridade e taxa de falsa descoberta; o Gestão da lista de anotação e genes; Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 44 Exploração, filtragem e análise de dados laboratoriais (2005/2006) o Relatórios tabulares e gráficos; o Ambiente de desenvolvimento extensivo e aberto; o Inclui portos de comunicação entre R e S-PLUS do BIOCONDUCTOR. O S+ArrayAnalyser encontra-se preparado para operar com dados dos seguintes fabricantes: o Affymetrix GeneChip® MAS 4/5 summary data; o Affymetrix probe-level (CEL, CDF and Probe) data; o Two-channel data including GenePix, Spot, ScanAlyze, e Agilent; o Desenvolvido: o Insightful Corporation Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 45 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 8. Grafcreator 8.1. Objectivos Esta fase do trabalho teve como objectivo desenvolver uma aplicação Web independente que permitisse a geração de relatório constituído por gráficos que permitem realizar o controlo de qualidade de uma experiência de microarrays. Aplicação desenvolvida permite a utilização de ficheiros de dados proveniente dos scaners mais utilizados: spoted arrays; Quantarray; Agilent; 8.2. Ferramentas utilizadas 8.2.1. Tecnologia de desenvolvimento Optou-se pelo desenvolvimento utilizando a tecnologia Java/JSP (Java Server Pages) que se trata de uma plataforma de desenvolvimento independente orientada aos objectos muito flexível, versátil e gratuita que permite a utilização de software já existente para comunicação entre o “R” e a aplicação. 8.2.2. Linguagem estatística utilizada R é uma linguagem “open source” que proporciona um ambiente de desenvolvimento de alto nível para programação estatística e um conjunto de pacotes adicionais desenvolvidos especificamente para a análise de experiências biológicas. R pode ser utilizado de acordo os termos de licença pública GNU. Para implementação dos gráficos gerados pela aplicação desenvolvida foi principalmente utilizado o pacote “limma” (Linear Models for Microarray Data) já referenciado no ponto 7.1.4. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 46 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 8.2.3. Interligação Java – R o R-(D)COM (http://www.sciviews.org/_rgui/projects/RDcom.html) R-(D)COM pode ser utilizada para construir um interface para gráficos R usando ferramentas Microsoft (Microsoft C++, Microsoft Visual Basic ou Microsoft Excel). É uma ferramenta bastante limitada, só pode se utilizado exclusivamente em sistemas Windows, e não prevê a utilização de Java que para a implementação da aplicação não é interessante. o rJava (http://stats.math.uni-augsburg.de/software/rJava/index.shtml ) rJava é um interface que utiliza a Java Native Interface (JNI) para implementar a comunicação R – Java. É um sistema muito básico que permite a criação de objectos e chamar métodos a aceder objectos Java a partir do R. o Rserve (http://stats.math.uni-augsburg.de/Rserve/ ) Rserve foi desenvolvido e é mantido por Simon Urbanek. É um servidor TCP/IP que permita a comunicação R – Java ou C++. A sua grande vantagem reside no facto de não ser necessário a inicialização ou ser incorporado numa biblioteca partilhada. Além de ligações locais o Rserve permite também ligações remotas e transferências de ficheiros. Também fornece ao utilizador opções de segurança, tal como, login e password encriptadas. Existe uma livraria (JRClients) que permite a conversão directa de alguns dos tipos de dados primitivos de dados do R para Java e vice-versa, mantendo os dados enquanto a ligação se mantiver activa. Permite também que as instruções R possam ser passadas directamente da aplicação. Rseve é um sistema que funciona em qualquer plataforma que suporte R tais como: Windows, Linux, Mac OS, entre outros. Devido ao facto de o Windows não suportar a instrução “fork”, método que permita o lançamento de novos processos, não é possível estabelecer ligações em paralelo utilizando apenas um instanciação do Rserve. Este Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 47 Exploração, filtragem e análise de dados laboratoriais (2005/2006) problema pode ser resolvido lançando um processo por cada ligação que se pretenda estabelecer. O tamanho de dados torna-se algo limitativo para analisar experiências de microarrays que tem um grande número de dados. Alguns métodos podem ser utilizados para ultrapassar esta limitação. Rserve é assim uma aplicação muito versátil e de relativa facilidade de utilização, foi por isso a opção para a aplicação desenvolvida. 8.3. Sistema implementado 8.3.1. Diagrama de blocos O sistema implementado é constituído pelos blocos representados na figura em baixo. WEB Query JAVA JSP RServe Response R Limma Depósito de Ficheiros necessários para a análise HDD Figura 22 – Diagrama de blocos do sistema implementado O RServe serve de ponte entre a página Web e o R. Quando o utilizador efectua um pedido os dados que serão analisados são colocados num deposito no servidor Java/Jsp. Após ser realizado esta operação é realizado um pedido ao Rserve para correr um script R, previamente colocado no servidor, que gera um conjunto de gráficos predefinidos Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 48 Exploração, filtragem e análise de dados laboratoriais (2005/2006) importantes para realização do controlo de qualidade da experiência de microarrays. Estes gráficos são colocados pelo R no depósito de dados para que possam ser mostrados ao utilizador. Para cada utilizador que requer a utilização da aplicação é criado um depósito individual para permitir a utilização simultânea da aplicação. Os dados gerados são posteriormente eliminados tendo em consideração a data criação e de ultima utilização dos dados. 8.3.2. Diagrama de fluxo da aplicação Upload Ficheiros Escolher Tecnologia Retirar informação excessiva do ficheiro segundo fabricante Iniciar Escolher Parâmetros Gerar Relatório Estabelecer ligação com R usando RServe Efectuar a análise do usando Script’s R predefinidos Figura 23 – Diagrama de fluxo do sistema implementado O sistema foi implementado tendo em conta um estrutura circular de modo a que não seja possível passar a uma fase seguinte sem que as anteriores sejam realizadas. A primeira fase é a escolha do fabricante, já que os diferentes fabricantes têm estruturas de ficheiros diferentes. Na segunda fase é pedido ao utilizador que realize a escolha dos ficheiros necessários para a realização. Para a realização do controlo é necessário um ficheiro que contem a anotação da experiência (ficheiro GAL) e de o ficheiro que contem os dados provenientes do scaner (ficheiro SPOT), é este ficheiro que contem os dados de intensidade de vermelho e verde, assim como outros valores importantes para efectuar os gráficos. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 49 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Na terceira fase é pedido ao utilizador que efectua a escolha do tipo de marcação dos spots do array (ficheiro SPOT-TYPE). Este ficheiro permite que determinado spots que contem certos tipos de genes sejam marcados com cores diferentes para que a visualização dos gráficos seja mais fácil e intuitiva. Na quarta e ultima fase e mostrado ao utilizador o resultado final na forma de um relatório e permite também fornecido uma versão do relatório que é possível ser imprimida. 8.3.3. Diagrama de fluxo para o utilizador Iniciar Escolher Tecnologia Upload Ficheiros Escolher Parâmetros Gerar Relatório Figura 24 – Diagrama de fluxo para o utilizador Para o utilizador o diagrama de fluxo responde há exigência de uma estrutura simples e linear e que exija pouca interacção por parte do utilizador. Numa primeira fase é pedido ao utilizador a escolha do fabricante do scaner que produziu os ficheiros que pretende submeter para análise. Esta escolha torna-se necessário devido ao facto de cada fabricante ter uma estrutura diferente para os ficheiros, este problema será discutido no ponto seguinte. A figura mostra menu inicial e os fabricantes permitidos pela aplicação. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 50 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Figura 25 – Diferentes fabricantes permitidos pela aplicação Do ponto de vista do utilizador os passos seguintes são independentes das escolhas efectuadas neste passo. Mas para a aplicação terão que ser efectuados alguns procedimentos que serão explicados no ponto seguinte. No passo seguinte o utilizador tem que efectuar o “upload” dos ficheiros que pretende analisar, sendo obrigatório introduzir o ficheiro experimental e o ficheiro de anotações, tal como explicado no ponto anterior. A figura seguinte mostra o menu para realizar o “upload” dos ficheiros. Figura 26 – Menu para realização do “upload” dos ficheiros Após efectuar o “upload” dos ficheiros a utilizador tem realizar a escolha do ficheiro “Spot-Types”. Neste ficheiro e definido uma cor e uma terminologia (Spot Type) para um conjunto de genes ou spots para a experiência que se pretende efectuar o controlo de qualidade. Este ficheiro torna-se essencial para efectuar a geração dos gráficos porque assim é possível dividir os “spots” de acordo com a sua função na experiência, por exemplo separar os controlos (“spots” que tem como finalidade controlar o resultado da experiência) dos genes mais relevantes para análise dos resultados. A figura seguinte mostra um exemplo de um ficheiro “SpotTypes”. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 51 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Figura 27 – Exemplo do ficheiro “SpotTypes” A aplicação permite que o utilizador opte por uma das seguintes possibilidades: Uma de duas opções por defeito que correspondem a ficheiros “SpotTypes” habitualmente utilizados na realização de “arrays”; O utilizador realizar “online” o seu ficheiro “SpotTypes”; Efectuar o “upload” de um ficheiro “SpotTypes”. A figura seguinte mostra o menu onde o utilizador deverá efectuar a sua escolha: Figura 28 – Menu para escolha de opção do ficheiro “SpotTypes” Após efectuar estes passos é iniciado o processo de geração dos gráficos. Este processo poderá demorar alguns minutos já que os ficheiros a serem analisados tem dimensões consideráveis e o Rserve implica alguma perda de rapidez na produção dos resultados finais. Durante o tempo em que se está a realizar a operação é mostrado um quadro com seguinte: Figura 29 – Quadro mostrado durante a geração do relatório Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 52 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Após a geração do relatório é mostrada uma página com um relatório com as imagens geradas, tal como é mostrado na figura seguinte: Figura 30 – Cabeçalho do relatório gerado O cabeçalho do relatório é constituído por alguns “links” que correspondem aos blocos de imagens geradas: o Dado crus (sem qualquer tratamento); o Dados normalizados em relação aos controlos; o Dados normalizados em relação aos genes; o Dados normalizados em relação aos genes e controlos; o Gráficos de “background” e Relação Sinal Ruído; o Histogramas. O utilizador tem também a possibilidade de utilizar um versão com as dimensões adequadas para ser impressa. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 53 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 8.3.4. Conversão dos ficheiros Um dos principais problemas que ocorreram durante o desenvolvimento desta aplicação foi a diversidade de fabricantes de “scaners” e falta de homogeneidade dos ficheiros produzidos por cada um deles. A utilização do pacote “R” limma, que está optimizado para ficheiros “spot arrays” levou a optar uma estratégia de conversão dos ficheiros dos outros fabricantes (“QuantaArray” e “Agilent”) num semelhante ao modelo mais comum (“spot arrays”). De notar que os ficheiros destes fabricantes são ficheiros mais completos mas a informação adicional é irrelevante para o controlo de qualidade e para a análise de experiências de microarrays. o Ficheiros “Agilitent” Figura 31 – Exemplo ilustrativo do cabeçalho dos ficheiros “agilitent” Após a análise deste tipo de ficheiros verificou-se que cada um dos blocos constituintes está separado por palavras-chave tal como “FEPARAMS”, “STATS”, “FEATURES”. Como para o controlo de qualidade apenas tem relevância os valores do canal vermelho, verde e os valores do nível de “background” e estes valores estão situados na zona “FEATURES”, optou-se por criar um novo ficheiro constituído apenas por este bloco do ficheiro. Como a posição das colunas e os respectivos nomes não correspondem aos utilizados por defeito no pacote “limma” é passado através do script a posição e nome das colunas relevantes para o controlo de qualidade. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 54 Exploração, filtragem e análise de dados laboratoriais (2005/2006) o Ficheiros “QuantArray” Figura 32 – Exemplo ilustrativo de um ficheiro “Quantarray” Figura 33 – Fim do bloco de dados Após a análise dos ficheiros “Quantarray” verificou-se que os dados relevantes estão entre as palavras-chave “Begin Data” e “End Data”. Tal como no caso dos ficheiros “Agilitent” optou-se por criar um novo ficheiro contendo apenas os valores contidos entre as palavras-chave. A opção escolhida revelou-se bastante eficaz, permitindo que aplicação suportasse dados dos vários fabricantes de modo simples e sem necessidade de grande intervenção por parte do utilizador. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 55 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 9. Mind – Controlo de qualidade e análise de dados 9.1. Objectivos Nesta segunda fase de desenvolvimento teve como objectivo o desenvolvimento de uma aplicação que possibilite o controlo de qualidade e análise de dados de uma experiência de microarrays interligada com o sistema LIMS (ver capitulo 6) em desenvolvimento – o Mind (Microarray INformation Database). 9.2. Análise ao sistema base (MIND) O Mind é um sistema de armazenamento de dados laboratoriais bastante completo pelo que este ponto irá focar-se apenas nos aspectos relevantes para a interligação de ferramentas de controlo de qualidade e análise de dados. 9.2.1. Tecnologia de desenvolvimento A versão mais recente do “Mind” foi desenvolvida utilizando a tecnologia “Asp.Net 2.0” da Microsoft. A mudança de tecnologia baseou-se sobretudo no facto de esta tecnologia ser mais recente e permitir a utilização de meios de desenvolvimento mais evoluídos (Microsoft Visual Studio 2005) que permitem uma programação mais simples e eficaz. Algumas das funcionalidades da Microsoft Visual Studio 2005 permitem que o programador utilize o tempo com mais eficácia, sobretudo no design da página. A base de dados que serve de suporte foi implementada com a utilização do Microsoft SQL Server 2005, que permite um interligação bastante eficaz com o Microsoft Visual Studio 2005. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 56 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 9.2.2. Modelo de dados Uma experiência de microarrays geralmente é constituída por vários arrays de modo, tal como já foi referido em pontos anteriores, a minimizar a ocorrência de erros e se poder realizar um análise eficaz dos dados resultantes da experiência. Assim a base de dados do Mind está estruturada de modo a permitir ao utilizador uma grande variedade de opções na inserção dos dados. Figura 34 – Diagrama representativo do modelo de dados utilizado no Mind A figura em cima representa base de dados do Mind no que respeita a par de introdução de uma experiência os dados resultantes dessa experiência. Cada experiência que um determinado utilizador submete a base dados tem associada um ou mais “bioassay”. Um “bioassay” representa cada uma das hibridações realizadas durante a experiência. Cada experiência tem associado um ficheiro (ficheiro GAL) que contem as anotações experimentais, como já referido em pontos anteriores. Cada um dos bioassays tem associado uma ou mais imagens do microarray, podem ser imagens de diferentes scaners. A imagem tem associada uma tabela denominada Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 57 Exploração, filtragem e análise de dados laboratoriais (2005/2006) “Biassay Data” que contem os dados experimentais provenientes do scaner. A cada “Bioassay Data” está associada um ficheiro com os dados da experiência (Spot File). 9.2.3. Formato dos ficheiros Como já foi referenciado em pontos anteriores um dos maiores problemas na análise de experiências de microarrays reside no facto de não homogeneidade nos ficheiros de saída dos scaners. Para resolver esse problema, os ficheiros armazenados no Mind tem todos a mesma estrutura independentemente da sua origem. Os ficheiros ao serem submetidos são alterados de modo a serem semelhantes aos ficheiros “Spoted Arrays”. Este método tem as vantagens de ser mais fácil: o A manipulação dos dados; o A exportação, visualização e análise dos dados. 9.3. Sistema Implementado 9.3.1. Diagrama de blocos WEB Depósito Scripts -Dados -Scripts Desejados ASP.NET 2.0 RLinker C# Mind Database Script R R 2.1.1 Depósito de Ficheiros Resultantes Figura 35 – Diagrama de blocos do sistema implementado Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 58 Exploração, filtragem e análise de dados laboratoriais (2005/2006) A figura em cima representa o diagrama de blocos do sistema implementado. A aplicação construída em Asp.Net 2.0 serve de interface entre o utilizador e a base de dados do Mind. A aplicação quando um utilizador submete um pedido comunica com a base de dados do Mind e retira toda a informação necessária para efectuar o controlo ou análise de dados, colocando-a num “depósito”. O RLinker, será explicado com mais detalhe posteriormente, recebe os pedidos da aplicação dos utilizadores e constrói um script que irá permitir satisfazer os pedidos. Depois comunica com o R de modo a produzir os resultados desejados. 9.3.2. RLinker Como se optou por uma implementação utilizando a tecnologia Asp.Net 2.0 e C# inviabilizou-se a possibilidade de utilizar o Rserve (já descrito no ponto 8.2.3), como tal, surgiu a necessidade de implementar uma mecanismo que efectua-se a comunicação entre o Mind e o R, foi então que surgiu o “Rlinker”. Palavras-chave Exemplo: fictargets = “exemplo.txt” gal_file = “fish.gal” path = “c:/data” RLinker targets <- readTargets("fictargets") RG <-read.maimages(targets$FileName, wt.fun=wtarea(150), source = "spot") RG$weights<-matrix(1,length(RG$R),1) RG$genes <- readGAL (galfile = "gal_file") RG$printer <- getLayout(RG$genes) types <- readSpotTypes() RG$genes$Status <- controlStatus(types, RG) Depósito Scripts save.image("path/fictargets.RData") Lança um processo para executar o novo script Script R A ser executado Os resultados são colocados numa pasta comum targets <- readTargets("exemplo.txt ") RG <-read.maimages(targets$FileName, wt.fun=wtarea(150), source ="spot") RG$weights<-matrix(1,length(RG$R),1) RG$genes <- readGAL (galfile ="fish.gal ") RG$printer <- getLayout (RG$genes) types <- readSpotTypes() RG$genes$Status <- controlStatus(types, RG) save.image(" c:/data /fictargets.RData") Figura 36 – Diagrama de blocos do Rlinker Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 59 Exploração, filtragem e análise de dados laboratoriais (2005/2006) A figura em cima representa o diagrama de blocos do “Rlinker” e o seu modo de funcionamento pode ser subdividido em vários passos: o Recebe um conjunto de variáveis e o conjunto de scripts que a aplicação pretende lançar; o Ao receber o pedido, lê de um banco de “scripts” o conjunto dos scripts que se pretende executar e junta-os num único script; o Substitui um conjunto de palavras-chave dos scripts originais pelas variáveis que recebeu por parta da aplicação; o Chama o R através de um processo lançado; o O “script” resultante é executado; o Os dados de saída são colocados numa pasta previamente definida. O funcionamento do “Rlinlker”, apesar de ser muito simples, revelou-se bastante eficaz. Simulação de utilização simultânea de vários utilizadores De modo a poder ser aferido o comportamento do “Rlinker” quando for sujeito a utilização intensiva por parte dos utilizadores, criou-se um mecanismo que permitia lançar N processos simultâneos. Os resultados da simulação estão apresentados nas figuras seguinte: Tem po por Proces so Tempo por Processo 32 31,5 31 30,5 30 29,5 29 28,5 0 5 10 15 20 25 Processos Figura 37 – Gráfico número de processos simultâneos versos Tempo por cada processo Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 60 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Tempo Total Espera 700 600 Tempo (s) 500 400 300 200 100 0 0 5 10 15 20 25 Proce ssos Figura 38 – Gráfico número de processos versus tempo total As simulações foram efectuadas utilizando um “script” que continha todos os gráficos que o Mind suporta e foram executados num computador pessoal, pelo que no servidor os tempos de execução deverão se mais curtos. Da análise dos gráficos pode-se verificar que o tempo médio por é independente do número de utilizadores (30s). A medida que aumentamos o número de utilizadores simultâneos o tempo total que cada um terá de esperar pelos resultados aumenta linearmente e pode tornar-se incomportável. De notar que na aplicação a execução dos scrips é dividida ao longo das várias etapas, quer do controlo de qualidade quer da análise de dados, o que permite que tempo de espera seja mais dissipado. Podemos assim concluir, que apesar do Rlinker responder às pretensões iniciais torna-se demasiado lento se o número de utilizadores aumentar, torna-se assim um ponto importante na evolução do Mind. 9.3.3. Design Experimental Como já foi referenciado no sub-capítulo 5.4, o design experimental de uma experiência de microarrays pode assumir as mais variadas formas dependendo do objectivo da experiência. Como é óbvio para analisar uma experiência torna-se obrigatório criar um mecanismo que permita ao utilizador definir o design experimental. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 61 Exploração, filtragem e análise de dados laboratoriais (2005/2006) O pacote R, limma, necessita para que a análise seja efectuada de uma matriz que representa o design experimental, por exemplo no caso seguinte: A1 A B1 A2 A3 A4 B2 Figura 39-Exemplo Design Array 1 Array 2 Cy3 A B1 Cy5 B1 A Array 3 Array 4 A B2 B2 A A Minus A Minus Figura 40 – Lista de relações B1 B2 Figura 41 – Matriz de Design A conjugação da matriz de design e da lista de relações deverá originar uma matriz única e que explicite correctamente o design experimental, para este exemplo seria: A – B1 A – B2 1 0 -1 0 0 1 0 -1 Figura 42 – Vector Design Surge assim a necessidade de criar um algoritmo que gere o vector design com o mínimo de intervenção por parte do utilizador. O algoritmo deverá o gerar uma matriz com o número de colunas igual ao número de relações definidas e o número de linhas igual ao número de arrays da experiência. O número de relações necessárias é sempre igual ao número de classes diferentes menos uma, condição necessária e suficiente para definir o vector de design. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 62 Exploração, filtragem e análise de dados laboratoriais (2005/2006) O algoritmo desenvolvido tem o seguinte procedimento: o Determinar o número de classes diferentes na matriz de design; o Receber do utilizador as relações entre as classes definidas; o Efectuar uma comparação de cada uma das relações. Neste caso poderão ocorrer três situações: o Caso a linha numero “n” da matriz seja igual a relação numero “y” colocase um “1” na posição (n, y). o Caso a linha numero “n” da matriz seja a inversa da relação numero “y” coloca-se um “-1” na posição (n, y). o Caso a linha numero “n” da matriz seja diferente da relação numero “y” coloca-se um “0” na posição (n, y). Após a implementação do algoritmo realizaram-se alguns testes que revelaram que este funcionava de um modo correcto e que satisfazia as necessidades inerentes a realização de análise de dados no Mind. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 63 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 9.3.4. “WorkFlow” para o utilizador Do ponto de vista do utilizador, o Mind está divido em duas partes distintas: “Controlo de Qualidade” e “Análise de Dados”. Controlo de Qualidade O controlo de qualidade está dividido em cinco passos básicos como mostra a figura em baixo. Data – Set Spot type File Background Correction Methods Normalization Results Methods Figura 43 – “WorkFlow” – Controlo de Qualidade o Data Set – seleccionar os ficheiros para análise; o Spot File – escolher o tipo de marcador para cada um dos “spots”; o Background Correction Methods – escolher o tipo de correcção de background no controlo de qualidade; o Normalization Methods – escolher o tipo de normalização de dados a realizar durante o controlo de qualidade; o Results – Diversos tipos de métodos de visualização disponíveis. Análise de dados A análise de dados está dividida em cinco passos básicos, tal como mostra a figura em baixo. Data – Set Spot type Design File Output Results Configuration Figura 44 – “WorkFlow” – Análise de dados o Data Set – seleccionar os ficheiros para análise; o Spot File – escolher o tipo de marcador para cada um dos “spots”; o Design – definir o design experimental; o Output Configuration – definir o modo dos dados de saída; o Results – Diversos tipos de métodos de visualização disponíveis Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 64 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 9.3.5. “WorkFlow” Global Figura 45 – “WorkFlow” da organização do Mind Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 65 Exploração, filtragem e análise de dados laboratoriais (2005/2006) 9.3.6. Funcionalidades o Data Set O primeiro passo para se iniciar o controlo de qualidade ou a análise de dados é o “Data Set”. O “Data Set” consiste na escolha das experiências e por consequência os ficheiros para pretendidos para efectuar a análise ou controlo de qualidade. O Data Set está divido em três passos: o Selecção da Experiência Este primeiro passo consiste na escolha da Experiência que contem os ficheiros que o utilizador pretende analisar ou efectuar o controlo de qualidade. A aplicação apenas permite que uma experiência seja seleccionada. Se o utilizador pretender uma pesquisa mais rápida pode utilizar a funcionalidade de pesquisa que a executa baseada no nome da experiência. Para prosseguir o utilizador deverá pressionar o botão “Accept”. Figura 46 – Exemplo do menu “Experiment” o Selecção das hibridações Como já foi referido em pontos anteriores cada experiência é constituída por várias hibridações. Neste passo o utilizador deverá escolher o conjunto das hibridações que são validas para o controlo de qualidade ou a análise de dados. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 66 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Figura 47 – Exemplo do menu “Bioassays” É obrigatório utilizador escolher pelo menos uma hibridação para continuar. Pode ainda ordenar a tabela por ordem ascendente ou descendente conforme qualquer um dos parâmetros apresentados no cabeçalho da tabela. o Selecção dos ficheiros Este ponto difere caso o utilizador tenha escolhido Controlo de Qualidade ou Análise de Dados. Podem então ocorrer dois casos: Controlo de Qualidade Não existe limitação no número de ficheiros a poderem ser seleccionados. Figura 48 – Exemplo do menu “Data Files” – Controlo de Qualidade Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 67 Exploração, filtragem e análise de dados laboratoriais (2005/2006) A árvore representa a escolhas efectuadas pelo utilizador até este ponto, a experiência e as respectivas hibridações seleccionadas. Surgem agora os ficheiros de dados de cada uma das hibridações, o utilizador deverá seleccionar aqueles que pretende levar para o Controlo de Qualidade. Para facilitar essa tarefa pode utilizar os botões “Select All” e “Unselect All” para seleccionar e desceleccionar todos os ficheiros presentes na árvore. Análise de Dados Para o caso do utilizador estar a efectuar a “Análise de Dados” não faz sentido poder escolher mais do que um ficheiros por cada hibridação. Figura 49 – Exemplo do menu “Data Files” – Análise de dados Assim quando o utilizador seleccionar uma das hibridações na árvore surgirá os ficheiros de dados relacionados com essa hibridação. O utilizador poderá escolher apenas um desses ficheiros. Depois de seleccionar os ficheiros o utilizador pode realizar uma última confirmação dos ficheiros que pretende levar para a Análise de Dados. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 68 Exploração, filtragem e análise de dados laboratoriais (2005/2006) o Data Set inicial O passo inicial para realizar o Controlo de Qualidade ou a Análise é o Data Set, tal como foi explicado no ponto anterior Caso durante a sessão actual nenhum “Data Set” tenha sido efectuado surgirá um quadro como o da figura em baixo. Figura 50 – Menu sem “Data Set” Para continuar o utilizador deverá realizar o “Data Set” tal com foi explicado no ponto anterior. Após ter conseguido concluir o “Data Set” com sucesso surgira um quadro tal como na figura em baixo. Figura 51 – Menu com “Data Set” Este menu mostra um resumo das escolhas efectuadas pelo utilizador. O utilizador poderá efectuar uma última escolha dos ficheiros que pretende levar para o Controlo de Qualidade ou Análise de Dados baseado nas notas e valores que estão associados aos ficheiros escolhidos no “Data Set”. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 69 Exploração, filtragem e análise de dados laboratoriais (2005/2006) o Escolha dos ficheiros “Spot Files” Este ponto é comum quer ao Controlo de Qualidade quer à Análise de Dados. Figura 52 – Default 1 Figura 53 – Default 2 Figura 54 – “Costum” Spot File Figura 55 – Upload File Spot Type O ficheiro “SpotTypes” tem como finalidade definir o tipo de realce que o utilizador pretende dar um certo tipo de “spots” como já foi referenciado em secções anteriores. Existem algumas formas de o utilizador poder definir este ficheiro: o Default 1 e 2 – dois tipos comuns de ficheiros “SpotType”, podem servir de exemplo. o “Costum” – O utlizador pode definir “online” os seu próprio ficheiro “SpotType”. Para isso existem quatro campos de preenchimento obrigatório: o Spot – Type – Define tipo de spot (Gene ou Controlo); o ID – Define o id dos genes para os quais esta marcação é valida; o Name - Define o nome dos genes para os quais esta marcação é valida; o Colour – Define a cor com qual estes “spots” serão marcados em alguns gráficos. o “Upload” – O utilizador pode realizar o “upload” de ficheiros “SpotFiles” que obedeça às regras descritas em cima. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 70 Exploração, filtragem e análise de dados laboratoriais (2005/2006) o Correcção de “background” – Controlo de Qualidade Figura 56 – Menu correcção de backgorund – Controlo de Qualidade Neste ponto o utilizador deverá escolher o método de correcção de background e os gráficos Os métodos disponíveis são: o None – os valores do background são tratados como fossem zero; o Subtract – os valores das intensidades “background” e “forgorund” são subtraídos; o Movingmin – o valor do background é estimado com base no mínimo de uma matriz 3× 3 em redor de um determinado “Spot”; o Half – os valores das intensidades cujos valores são inferiores a 0,5 depois da correcção de background ficam iguais a 0,5; o Minimum – qualquer valor de intensidade negativo depois da correcção de background é igualado ao mínimo dos positivos; o Edwards – é usada uma interpolação logarítmica para ajustar os valores de background; o Normexp – usando a covalência do sinal de “background” é ajustado de modo as intensidades finais sejam positivas. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 71 Exploração, filtragem e análise de dados laboratoriais (2005/2006) o Normalização dos dados – Controlo de Qualidade Figura 57 – Menu normalização de dados – Controlo de Qualidade Neste ponto o utilizador deverá escolher o método de normalização que pretende utilizar durante o Controlo de Qualidade. Os métodos disponíveis são: o None – nenhum tipo de normalização é realizada o Median – realiza a normalização dos valores M e A entre uma série de arrays. o Robust Spline – normaliza os valores m de um único microarray e usando o método de regressão empírico de Bayes; o Loess – uma versão rápida da regressão pesada quando existe apenas uma variável. o PrinttiLoess – método “loess” realizado por cada grupo printtip. O utilizador pode escolher um ou mais dos gráficos disponíveis. Se escolher “Plot M vs A” irão ser gerados os gráficos MA para dados normalizados em relação a genes controlos e todos os dados. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 72 Exploração, filtragem e análise de dados laboratoriais (2005/2006) o Resultados – Controlo de Qualidade Figura 58 – Menu “Report” – Controlo de Qualidade Para cada um dos ficheiros analisados ira surgir alguns métodos de visualização. Os métodos são os mesmos para todos os ficheiros analisados, mas os resultados sai independentes entre si. Para escolher o ficheiro que o utilizador pretende ver os resultados de saída o utilizador basta seleccionar o seu nome na árvore do lado esquerdo. Os métodos disponíveis são: o “Slide Show” com todos os gráficos gerados pelo Mind (figura 59) o Pode escolher cada um dos gráficos na árvore do lado esquerdo o Rolar por todos os gráficos com a ajuda dos botões “Previous” e “Next” o “Download” de um ficheiro PDF que contem todos os gráficos gerados pelo Mind; o “Download” de um ficheiros com colunas separadas por “tab” com os dados normalizados das intensidades do vermelho e do verde; o Actualização das notas e valores numéricos da avaliação de cada um dos ficheiros (figura 60) Figura 59 – “Slide Show” Figura 60 – Notas e valores da classificação Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 73 Exploração, filtragem e análise de dados laboratoriais (2005/2006) o Design Experimental – Análise de Dados Figura 61 – Menu “Design” – Análise de dados Neste ponto o utilizador deverá definir a matriz de design. O sistema define uma matriz exemplo com base no biomaterial de cada canal, mas permite que esta seja alterada de forma que a matriz seja a correcta. Apesar de no Mind se poder submeter arrays de vários tipos, já referenciados em outros pontos, a análise efectuada pelo Mind apenas se podem aplicar arrays de duplo canal. Assim caso um array submetido não seja deste tipo surgirá uma mensagem de aviso e o array será ignorado no decorrer do processo de análise, tal como é exemplificado na figura em cima. Depois do utilizador explicitar a matriz de análise a aplicação corre o algoritmo explicado no ponto 9.3.3. e vai gerar as variáveis suficientes para que o utilizador possa definir as relações experimentais. Após isso o sistema irá gerar o vector design tal como foi explicado no ponto 9.3.3. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 74 Exploração, filtragem e análise de dados laboratoriais (2005/2006) o Configuração – Análise de Dados Figura 62 – Menu Configuração – Análise de Dados Esta secção tem como objectivo a definição de parâmetros importante nos resultados finais, para isso o utilizador terá que definir: O método de correcção de background a aplicar a cada a array (explicados no ponto 9.3.6.4.) o None; o Subtract; o Movingmin; o Half; o Minimum; o Edwards; o Normexp. O método de normalização a aplicar a cada array (explicados no ponto 9.3.5.5) o None; o Median; o Robust Spline; o Loess; o PrinttiLoess. O número de elementos da Top Table. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 75 Exploração, filtragem e análise de dados laboratoriais (2005/2006) o Resultados – Análise de Dados Figura 63 – Menu “results” – Análise de dados Neste ponto estão disponíveis para o utilizador os resultados finais: o Volcano Plot – cria um gráfico dos “log-f old” versus as probabilidades logarítmicas da expressão diferencial; o Q-Q Plots – cria um gráfico de uma amostra versus valor teórico de um distribuição “Student’s t” ; o Top Table – contem a lista dos genes mais expressos. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 76 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Conclusões O principal resultado deste trabalho foi a implementação de ferramentas para a análise e controlo de dados perfeitamente integradas no sistema LIMS – Mind – tendo sido concebida uma ferramenta Web que interage com o R através de um interpretador programado em C# capaz de fazer uma gestão de scrips e dados a processar, agilizando a comunicação entre sistemas. Neste trabalho foi desenvolvida uma ferramenta bastante completa capaz de efectuar o controlo de qualidade aplicando várias técnicas de correcção de background, normalização dos dados e diversos tipos de gráficos. A ferramenta desenvolvida mostrou-se capaz de satisfazer as necessidades dos utilizadores do laboratório de genética da Universidade de Aveiro. As ferramentas de análise desenvolvidas encontram-se num estado muito embrionário podendo ser implementadas novas técnicas e metodologias para uma análise mais eficaz das experiências de microarrays. A vantagem principal do sistema desenvolvido é a sua flexibilidade no sentido em que é possível e relativamente simples efectuar uma extensão da mesma, incorporando novos algoritmos e técnicas de análise. A selecção do conjunto de ferramentas a implementar no sistema revelou-se um dos maiores problemas encontrados durante o seu desenvolvimento, tendo sido necessária uma grande interacção com os elementos Grupo de Bioinformática. A titulo pessoal o projecto permitiu-nos um grande enriquecimento pessoal ao nível dos conhecimentos científicos, informáticos e sobretudo permitiu-nos obter uma maior percepção do que é o trabalho em equipas multidisciplinares, assim como o uso de um vasto leque de linguagens de programação tais como: Java, JSP, C#, ASP.NET 2.0, SQL, e R. Como pontos importante a considerar numa futura evolução do sistema actual salientamos os seguintes pontos: o Novas ferramentas de análise de dados; o Implementação de técnicas de mineração de dados; o Utilização de sistema “Atlas” para maior interacção com o utilizador; o Revisão do método de interligação com o R. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 77 Exploração, filtragem e análise de dados laboratoriais (2005/2006) Bibliografia: [1] Mark Schena et al, “Overview of DNA chip technology”,Department of Biochemistry, Beckman Center, Stanford University School of Medicine,Stanford CA 94305, USA (_author for correspondence; phone: (650) 723–5484, fax: (650) 723–6783, email:[email protected]), Abril 1998; [2] Lockhart DJ, et al: “Expression monitoring by hibridization to high-density oligonucleotide arrays”. Nat Biotechnol 14(13):1675-80,1996; [3] Ahmed Fadiel et al: “Microarray applications and challenges: a vast array of possibilitys”, The Center for Applied Genomics, Hospital of Sick Children, Canada, 2003, email: [email protected]; [4] Lockhart DJ, et al: Expression monitoring by hybridization to high-density oligonucleotide arrays. Nat Biotechnol. 14(13):1675-80, 1996; [5] Brazma A, et al: Minimum information about a microarray experiment (MIAME)toward standards for microarray data. Nat Genet 29(4): 365-71, 2001; [6] Brazma A, et al: Onestop shop for microarray data. Nature 403: 699-700, 2000; [7] I.M Ranja Eklund, Vesa Ollikainen, Paivi Onkamo, Ana Rautanen, Jamo Tuimala, “Genetics for Computer Scientists”, 2004; [8] Joel Perdiz Arrais, Relatório – Bolsa de Iniciação a Investigação, Aveiro, Portugal 2005; [9] Cabrera Javier, “Exploration and Analysis of DNA microarray and protein array data”, wiley 2004 [10] Biological Sciences Curriculum Study – Biologia das moléculas ao Homem Parte1 – Edart - São Paulo Livraria Editora Ltda.; [11] Microarray: Quality Control, Normalization and Design, presentation, Dkfz, 19/9/05, ou 25 - 27 January 2006,Department of Statistics and Operations Research Faculty of Sciences, University of Lisbon, Portugal by Natalie Thorne Cambridge University [12] “The Limma Package”, http://bioinf.wehi.edu.au/limma; Gordon Smith, 5/1/2006, p22; url: [13] Statistical Issues in cDNA Microarray Data Analysis, Gordon K. Smyth1, Yee Hwa Yang2 and Terry Speed12,1. Walter and Eliza Hall Institute of Medical Research, 2. Department of Statistics, University of California, Berkeley Address for correspondence: Dr Gordon K. Smyth, Walter and Eliza Hall Institute, Post Office, Royal Melbourne Hospital, Victoria 3050, Australia, [email protected]; [14] “Normalization of cDNA Microarray Data”, Speed,4/4/2003, University of California, Berkeley”; Gordon Smith and Terry [15] “The Lims Institute, inc”. url: “http://www.limsconference.org/” Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 78 Exploração, filtragem e análise de dados laboratoriais (2005/2006) [16] “Relatório de Projecto de Final de Curso, FunBase”, Maria Rodrigues e Luís Silva, universidade de Aveiro, Julho de 2005. [17] “Apresentação- Mind V2”, Joel Arrais, 19/5/2006; [18] ”Thinking in Java – 3rd Edition”, Bruce Eckel; [19] ”Writing Advanced Applications for the JavaTM Platform”, Calvin Austin and Monica Pawlan; [20] “Introducing Microsoft® ASP.NET 2.0”, Dino Esposito. Francisco Castro Lopes (nº 21741) – Hugo Luís de Melo Pais (nº 21053) 79