Universidade de Brasília

Tamanho: px
Começar a partir da página:

Download "Universidade de Brasília"

Transcrição

1 Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da Computação Pipelines para transcritomas obtidos por sequenciadores de alto desempenho Paulo Antonio Alvarez Monografia apresentada como requisito parcial para conclusão do Bacharelado em Ciência da Computação Orientadora Prof. a Maria Emília Machado Telles Walter Brasília 2009

2 Universidade de Brasília UnB Instituto de Ciências Exatas Departamento de Ciência da Computação Bacharelado em Ciência da Computação Coordenador: Prof. Marcus Vinicius Lamar Banca examinadora composta por: Prof. a Maria Emília Machado Telles Walter (Orientadora) CIC/UnB Prof. a Célia Ghedini Ralha CIC/UnB Prof. Marcelo de Macedo Brígido IB/UnB CIP Catalogação Internacional na Publicação Alvarez, Paulo Antonio. Pipelines para transcritomas obtidos por sequenciadores de alto desempenho / Paulo Antonio Alvarez. Brasília : UnB, p. : il. ; 29,5 cm. Monografia (Graduação) Universidade de Brasília, Brasília, Sequenciadores de alto desempenho, 2. Projetos Genoma, 3. Métodos Computacionais, 4. pipeline CDU 004 Endereço: Universidade de Brasília Campus Universitário Darcy Ribeiro Asa Norte CEP Brasília DF Brasil

3 Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da Computação Pipelines para transcritomas obtidos por sequenciadores de alto desempenho Paulo Antonio Alvarez Monografia apresentada como requisito parcial para conclusão do Bacharelado em Ciência da Computação Prof. a Maria Emília Machado Telles Walter (Orientadora) CIC/UnB Prof. a Célia Ghedini Ralha CIC/UnB Prof. Marcelo de Macedo Brígido IB/UnB Prof. Marcus Vinicius Lamar Coordenador do Bacharelado em Ciência da Computação Brasília, 14 de dezembro de 2009

4 Dedicatória Dedico este trabalho aos meus pais e a minha família. 4

5 Agradecimentos Agradeço a minha orientadora pelo apoio durante o desenvolvimento deste projeto. 5

6 Resumo Neste trabalho propusemos e implementamos um protótipo de pipeline de software para projetos transcritoma utilizando dados provenientes de sequenciadores de alto desempenho. O pipeline foi desenvolvido utilizando a linguagem Java e o sistema gerenciador de banco de dados PostgreSQL, sendo executado através da linha de comando e configurado por meio da edição de arquivos de properties. O estudo de caso feito com o pipeline envolveu dados de Salmonella enterica obtidos por meio do sequenciador 454/Roche. O pipeline completo executou em menos de duas horas, com arquivos iniciais totalizando cerca de sequências. O filtro da montagem selecionou cerca de sequências agrupadas em cerca de grupos (contigs e singlets ). Foram anotados cerca de grupos utilizando BLAST com o banco de dados KOG. Palavras-chave: Sequenciadores de alto desempenho, Projetos Genoma, Métodos Computacionais,pipeline 6

7 Abstract In this work we propose and implement a software pipeline prototipe for transcriptome projects using data from high throughput DNA sequencers. The pipeline was developed using the Java programming language and the database management system PostgreSQL, it runs through the command line and is configured by means of editing properties files. The test case was developed with data from Salmonella enterica obtained by the sequencer 454/Roche. The pipeline executed in less than two hours, with its inicial files providing about sequences. The assembly filter select around sequences, which originated around groups(singlets and contigs). Around groups were annotated using BLAST against the KOG database. Keywords: Next generation sequencers, Genome Projects, Computational Methods, pipeline 7

8 Sumário Lista de Figuras 10 Lista de Tabelas 11 1 Introdução Contextualização Problema Hipóteses Objetivos Descrições dos Capítulos Conceitos Básicos em Biologia Molecular Vida Proteínas Ácidos nucléicos DNA RNA Genes e cromossomos Dogma central da Biologia Molecular Bioinformática Pipeline de um projeto de sequenciamento Pipeline para um projeto de sequenciamento Sanger Projetos transcritoma Sequenciadores Massivamente Paralelos FLX Roche Illumina Solexa Softwares e pipelines para Sequenciadores Massivamente Paralelos Softwares para submissão Software para submissão do sequenciador Software para submissão do sequenciador Illumina Softwares para mapeamento Softwares para montagem Softwares para anotação Pipelines para sequenciadores de alto desempenho

9 5 Proposta de pipeline para o Sequenciador 454 e Estudo de Caso Estrutura geral do pipeline Subsistema de submissão Subsistema de mapeamento Subsistema de montagem Subsistema de anotação Detalhes técnicos A camada de persistência Armazenamento de informações Aplicação do pipeline com dados de Salmonella enterica Conclusões e Trabalhos Futuros 57 Referências 59 9

10 Lista de Figuras 2.1 Estrutura geral dos aminoácidos Ligação peptídica entre dois aminoácidos Os diversos níveis estruturais de uma proteína, sendo mostradas em azul as seções correspondentes entre cada nível Estrutura dos 20 aminoácidos encontrados na natureza Representação esquemática da estrutura de um nucleotídeo, mostrando seus principais componentes: açúcar, fosfato e base Os açúcares encontrados nos ácidos nucléicos. São mostradas as numerações dos átomos de carbono e destacados os carbonos 3 e 5, através das quais uma orientação dos ácidos nucléicos pode ser obtida Estrutura espacial das moléculas de DNA e RNA, em conjunto com a estrutura química das bases nitrogenadas Associação entre trincas de bases (códons) e aminoácidos. Consulte a Figura 2.4 para a ligação entre o código de três letras e o nome e estrutura dos aminoácidos Processo de sequenciamento utilizado pelo sequenciador 454/Roche [19] Visão esquemática do processo de amplificação do DNA utilizado pelo sequenciador Illumina/Solexa [19] Processo de determinação de uma base do sequenciador Illumina/Solexa [19] Exemplo de grafos de de Bruijn e o relacionamento entre eles Pipeline de software para novos sequenciadores com a fase de mapeamento Pipeline de software para novos sequenciadores sem a fase de mapeamento Pipeline de software para novos sequenciadores com as fases de submissão, mapeamento e anotação Diagrama esquemático mostrando o fluxo das informações pelo pipeline e os programas utilizados em cada fase Hierarquia das classes básicas de comando utilizadas na camada de persistência Tabelas utilizadas no protótipo de pipeline desenvolvido

11 Lista de Tabelas 4.1 Lista de programas de mapeamento e respectivos endereços web onde mais informações podem ser obtidas (Adaptado de [29]) Tabela com dados de montadores para sequenciadores massivamente paralelos Número de sequências tratadas em cada etapa do pipeline e tempo necessário para execução de cada etapa

12 Capítulo 1 Introdução A descoberta da estrutura espacial da molécula de DNA por Watson e Crick [32] abriu novos horizontes para as ciências da vida, em especial no que tange ao entendimento das diversas características em nível molecular dos seres vivos no mundo. Como um repositório das informações necessárias à construção de proteínas de um dado organismo, o DNA assumiu um papel central em pesquisas biológicas, e propiciou o surgimento de diversas novas disciplinas, entre elas a Biologia Molecular. A Biologia Molecular busca explicar os fenômenos genéticos em termos das leis químicas e físicas conhecidas [30]. 1.1 Contextualização A partir dos estudos feitos em Biologia Molecular, verificou-se que as informações necessárias à síntese de proteínas em um dado organismo estão armazenadas no seu DNA, e a passagem do DNA de geração a geração permite que as espécies se mantenham essencialmente inalteradas com o passar do tempo. Dessa forma, a determinação da informação contida no DNA tornou-se um importante meio no estudo das características dos seres vivos. Para descobrir a informação armazenada no DNA deve-se identificar a sua sequência de bases, o que é feito por meio de técnicas de sequenciamento. No entanto, o trabalho envolvido na determinação de tais bases é, em geral, muito grande. Assim, para a determinação das bases do DNA de um organismo são constituídos os projetos genoma, formados por equipes de diversas áreas com o objetivo comum de decodificar e analisar a informação presente no DNA. Atualmente, mais de 1000 projetos genoma foram concluídos e aproximadamente 6000 estão em andamento, o que mostra a grande importância do estudo das informações contidas no DNA [12]. Entre os diversos projetos genoma já concluídos, podemos destacar o Projeto Genoma Humano (PGH), uma iniciativa no sentido de determinar todos os pares de bases do DNA humano. Após nove anos de trabalho envolvendo diversas organizações e países, em 2001 foi publicado um rascunho do genoma humano pelo Consórcio Genoma Humano [3] [9]. Além de ter estimulado um grande desenvolvimento das técnicas de sequenciamento de DNA, o PGH impulsionou uma série de outros projetos genoma, com o objetivo de estudar organismos similares ao humano 12

13 e/ou com características significativas dentro de uma determinada classificação taxonômica. No Brasil, o primeiro projeto genoma concluído com sucesso foi o sequenciamento do genoma completo da bactéria Xylella fastidiosa [8], causadora de uma doença em plantas conhecida como amarelinho com enormes prejuízos na cultura de laranja, cerca de 30% dos laranjais paulistas são afetados por essa doença. No caso específico da Região Centro-Oeste, um grande impulso foi dado com a implantação do projeto Rede Genoma Centro-Oeste. Este projeto foi submetido ao MCT/CNPq, tendo sido aprovado como uma das oito unidades regionais brasileiras para o sequenciamento de genomas. Foi iniciado em 2001 e concluído em 2004, tanto em relação aos experimentos realizados nos laboratórios de biologia molecular quanto no tocante ao desenvolvimento de um sistema computacional para armazenamento e tratamento das informações biológicas. Até recentemente, os projetos genoma utilizavam principalmente a técnica de sequenciamento Sanger, assim nomeada em homenagem a Frederick Sanger, criador da técnica [25]. Nesta técnica, a molécula de DNA é primeiramente fragmentada em diversos pedaços. Após isso, são feitas diversas cópias dos fragmentos de DNA, seja por meio de reações químicas envolvendo diversas enzimas ou inserindo o fragmento desejado de DNA em vírus ou bactérias e utilizando a capacidade reprodutiva dos mesmos para a realização das diversas cópias necessárias [26]. Após isso, uma técnica conhecida como gel eletroforese é utilizada para a determinação das bases de DNA. Esta última técnica é automatizada, permitindo a determinação das bases de maneira rápida e menos sujeita a erros. Uma vantagem do sequenciamento Sanger é o tamanho dos fragmentos que podem ser sequenciados de cada vez, que pode chegar a até 1000 bases. Durante décadas, esta foi praticamente a única técnica utilizada nestes projetos. Apesar de ser uma técnica relativamente barata, custando apenas US$ 0,001 para cada base sequenciada [28], este custo se torna proibitivo quando se tenta sequenciar genomas muito grandes, da ordem de bilhões de bases de DNA. Como em geral o sequenciamento de DNA é feito mais de uma vez, o custo desses projetos se torna muito alto para ser viável com sequenciamento Sanger. Assim, a comunidade científica percebeu a necessidade de um novo método mais barato de sequenciamento. Recentemente, novos sequenciadores de alto desempenho surgiram para atender a esta necessidade. Estes sequenciadores produzem uma quantidade imensa de dados, a uma fração do custo dos sequenciadores Sanger, por exemplo, laboratórios cobram US$ 0,0002 para cada base obtida com o sequenciador 454. Elas obtém tal desempenho ao realizar o sequenciamento de milhões de sequências de DNA em paralelo, utilizando uma série diversas de técnicas, tais como pirosequenciamento e sequenciamento por síntese. Como exemplos desses sequenciadores de alto desempenho podemos citar o 454-FLX da Roche, o Illumina da Solexa, e o Solid. Atualmente, o Brasil dispõe de quatro sequenciadores de alto desempenho, sendo um 454 em São Paulo, outro em Brasília e um último no LNCC(RJ), e um Illumina localizado em Brasília. Diversos projetos científicos estão sendo montados para fazer uso desta nova tecnologia e assim permitir o desenvolvimento de vacinas e remédios, aumento 13

14 da produtividade na agricultura e pecuária e uma melhor compreensão sobre as características biológicas de diversos seres vivos de interesse. Nesse contexto, a criação de um pipeline para realizar o processamento de dados dos novos sequenciadores ajudaria tais projetos a obter resultados mais confiáveis em um espaço de tempo menor, melhorando assim o uso dos recursos. 1.2 Problema O uso dos novos sequenciadores abre diversas fronteiras para a pesquisa biológica derivada do sequenciamento de DNA. No entanto, os dados produzidos por tais sequenciadores possuem características muito diversas dos dados oriundos dos sequenciadores Sanger, tornando muito difícil a adaptação dos programas utilizados em análise computacional de dados de sequenciadores Sanger. Mesmo assim, o baixo custo e a grande quantidades de dados são motivos suficientemente fortes para o desenvolvimento de novos métodos para processamento desses dados, e de fato, diversos programas para tratamento de sequências dos novos sequenciadores já foram desenvolvidos. 1.3 Hipóteses Como os novos sequenciadores permitem um custo mais baixo de sequenciamento, espera-se um grande aumento na quantidade de dados a serem processados por sistemas de bioinformática. Com o sequenciamento paralelo, a quantidade de dados de sequenciamento produzida por unidade de tempo também tende a aumentar. Dadas essas considerações, é improvável um processamento eficaz deste enorme volume de dados gerados em um tempo menor, por meio de programas seriais ou sistemas baseados em processamento serial. De fato, assumimos como hipótese que nas diferentes fases de processamento das sequências biológicas produzidas deverão ser adotadas técnicas de processamento paralelo e/ou distribuído para a análise dos dados em tempo hábil. Além disso, o armazenamento e recuperação de dados nesse novo contexto deve ser repensado. 1.4 Objetivos Nesse contexto, nosso objetivo é a criação de um protótipo de pipeline de software para análise de transcritomas produzidos por sequenciadores de alto desempenho. Tal pipeline será aplicado nos dados produzidos pelos sequenciadores 454 e Illumina, recentemente adquiridos pela Fundação de Apoio à Pesquisa do Distrito Federal (FAP-DF). Após a conclusão de tal trabalho, objetivamos a escrita de um artigo cientifíco junto aos biológos da Universidade de Brasília (UnB) para estender o conhecimento científico neste novo ramo de pesquisas. 14

15 1.5 Descrições dos Capítulos No Capítulo 2 apresentamos os diversos conceitos de Biologia Molecular necessários ao desenvolvimento do presente trabalho e expomos os principais aspectos da bioinformática, a disciplina específica onde este trabalho se encontra. Além disso detalhamos alguns tipos de projetos de sequenciamento onde este trabalho será aplicado. A seguir o Capítulo 3 mostra de forma resumida o funcionamento de alguns dos novos sequenciadores, apontando características específicas advindas do método utilizado por cada um. Para realizar a montagem do pipeline, é necessário utilizar ou adaptar softwares para realizar o processamento dos dados dos sequenciadores de alto desempenho. No Capítulo 4 analisamos os diversos softwares disponíveis na literatura. Além disso, apresentamos o método de pipeline a ser adotado no projeto de genomas baseado em sequenciadores de alto desempenho. O Capítulo 5 apresenta a estrutura do pipeline e sua aplicação em um estudo de caso feito a partir de sequências de Salmonella obtidas com o sequenciador 454. Por fim no Capítulo 6 apresentamos as conclusões e trabalhos futuros. 15

16 Capítulo 2 Conceitos Básicos em Biologia Molecular Neste capítulo serão definidos os conceitos básicos de biologia molecular necessários ao entendimento deste trabalho. A Seção 2.1 discute de forma breve o conceito de vida e apresenta as motivações para o estudo dos conceitos expostos nas próximas seções. A Seção 2.2 apresenta os principais conceitos referentes às proteínas em um ser vivo, enfatizando o importante papel exercido pelas mesmas. Na Seção 2.3, são apresentados os conceitos importantes relativos a ácidos nucléicos e detalhados os dois principais ácidos encontrados nos seres vivos, o DNA e o RNA. A Seção 2.4, define genes e apresenta o código genético utilizado na tradução das bases do DNA em proteínas. Na Seção 2.5 é exposto o dogma central da biologia molecular, ou o processo através do qual as informações contidas no DNA são utilizadas para a síntese de proteínas. Finalmente, a Seção 2.6 detalha os conceitos relativos à Bioinformática, área onde este trabalho se insere. 2.1 Vida De acordo com pesquisas, a vida na Terra começou a cerca de 3,5 bilhões de anos. Desde então, os seres vivos vêm sofrendo constantes mutações devido a um processo chamado evolução, onde os mesmos tentam se adaptar às condições do ambiente [5]. Mas o que é a vida, como podemos definí-la? De maneira muito simplista, neste trabalho diremos que todo ser que troca constantemente matéria e energia com o ambiente está vivo. Embora imperfeita, tal definição servirá a todos os nossos propósitos. Apesar das formas de vida variarem muito em tamanho e complexidade, todas possuem uma química molecular básica, ou bioquímica. Os principais componentes desta química são as proteínas e os ácidos nucléicos. As proteínas realizam diversas funções necessárias à manutenção da vida, como catalisação de reações e transporte de nutrientes, entre muitas outras. Já os ácidos nucléicos contém a informação necessária para a síntese de proteínas e a passagem dessa informação de geração para geração permite que as espécies permaneçam essencialmente inalteradas por longos períodos de tempo. A seguir discutiremos em mais detalhes esses componentes essenciais à vida. 16

17 2.2 Proteínas As proteínas são polímeros (moléculas grandes formadas pelo encadeamento de moléculas mais simples) com uma gama muito vasta de funções nos seres vivos, variando desde o transporte de nutrientes e eliminação de resíduos tóxicos, até a construção de estruturas complexas. Além disso, proteínas chamadas enzimas são responsáveis por catalisar, ou acelerar, a ocorrência de reações químicas necessárias à vida. Sem essas enzimas, diversas reações importantes a manutenção da vida ocorreriam muito lentamente, encerrando-a completamente. Como se vê, as funções das proteínas são essenciais a manutenção de um ser vivo, compreendêlas significa também compreender o funcionamento de um dado organismo que sintetiza essas proteínas. Para melhor entendê-las é necessário, no entanto, um conhecimento básico sobre a estrutura das mesmas. As proteínas são formadas a partir do encadeamento de moléculas mais simples chamadas aminoácidos. A estrutura geral de um aminoácido é mostrada na Figura 2.1. Nessa figura são mostrados os principais elementos de um aminoácido, a saber: um carbono central, ou carbono alfa(c α ) onde se ligam um grupo amina, um grupo carboxila e uma cadeia lateral (denotada na figura como R). Figura 2.1: Estrutura geral dos aminoácidos Os aminoácidos diferem entre si pela estrutura da cadeia lateral, que varia desde um único átomo de hidrogênio até anéis carbônicos. Existem 20 aminoácidos diferentes na natureza e toda proteína, não importa sua complexidade, é formada a partir destes 20 aminoácidos básicos. A Figura 2.4 mostra a estrutura dos vinte aminoácidos, junto com os códigos de uma e três letras utilizados para designar os mesmos. 17

18 Para formar uma proteína, os aminoácidos encadeiam-se através de ligações químicas chamadas ligações peptídicas. Nessa ligação, o carbono do grupo carboxila de um aminoácido liga-se ao átomo de nitrogênio do grupo amina de um outro aminoácido, liberando uma molécula de água no processo. Após essa ligação, o que resta é um resíduo dos aminoácidos originais, por causa disso falamos em uma proteína com 200 resíduos, e não 200 aminoácidos. A Figura 2.2 mostra esquematicamente a ligação peptídica entre dois aminoácidos quaisquer, os átomos em vermelho são os átomos perdidos pelas moléculas após a ligação, e em verde é mostrado o ponto onde a ligação molecular entre os aminoácidos é estabelecida. Assim, uma dada proteína é formada pela ligação peptídica entre seus diversos aminoácidos, podendo ser composta por um número muito grande desses. Dado que uma proteína é, sob certo ponto de vista, uma sequência de aminoácidos, toda proteína pode ser descrita e identificada de forma única pela sequência de aminoácidos que a compõem. Figura 2.2: Ligação peptídica entre dois aminoácidos. Embora uma proteína possa ser identificada univocamente pela sequência de aminoácidos que a forma, as proteínas não são cadeias lineares de aminoácidos. Forças moleculares atuando entre aminoácidos próximos e grupos de aminoácidos dão à uma proteína uma forma espacial bem definida. Essa forma espacial pode ser visualizada em diferentes níveis, assim falamos nos níveis estruturais de uma dada proteína, a saber: 1. O nível primário, formado apenas pela sequência linear de aminoácidos. 2. O nível secundário, onde existem arranjos espaciais de aminoácidos próximos na cadeia. 18

19 3. O nível terciário, onde existem arranjos espaciais dos aminoácidos fisicamente distantes na cadeia (estrutura tri-dimensional). 4. O nível quartenário, a estrutura espacial formada pela união e interação entre diversas proteínas. A Figura 2.3 dá um exemplo de cada um desses níveis e mostra a relação entre os mesmos em uma proteína hipotética. Figura 2.3: Os diversos níveis estruturais de uma proteína, sendo mostradas em azul as seções correspondentes entre cada nível. A importância do estudo do formato tridimensional das proteínas reside na observação de uma íntima conexão entre o formato de uma proteína e a função exercida pela mesma. De fato, as diversas hélices e dobras formam uma estrutura única capaz de se ligar a um grupo de moléculas, podendo essas serem componentes de uma reação química ou ainda outras proteínas que formam estruturas mais complexas [26]. Algumas ligações são tão específicas que é utilizado o termo ligação chave-fechadura para as mesmas. Dada a sua imensa importância, as proteínas são constantemente fabricadas pelos seres vivos, desde os procariotos mais simples até os eucariotos mais complexos. Entender o processo de síntese das mesmas é, portanto, essencial no sentido de auxiliar na identificação e descoberta das mesmas. Tal processo está intimamente ligado a moléculas conhecidas como ácidos nucléicos, explicados a seguir. 19

20 Figura 2.4: Estrutura dos 20 aminoácidos encontrados na natureza. 20

21 2.3 Ácidos nucléicos Assim como as proteínas, os ácidos nucléicos também são polímeros formados a partir de moléculas mais simples, os nucleotídeos. Um nucleotídeo é formado por um açúcar composto por cinco átomos de carbono (pentose), ligado a um grupo fosfato e uma base nitrogenada. ( Figura 2.5). Figura 2.5: Representação esquemática da estrutura de um nucleotídeo, mostrando seus principais componentes: açúcar, fosfato e base. As ligações entre diferentes nucleotídeos para a formação de ácidos nucléicos se dá através dos grupos fosfatos, por meio de uma ligação chamada ligação fosfodiéster. Nesse tipo de ligação o átomo de fósforo do grupo fosfato estabelece fortes ligações covalentes com os átomos de carbono da pentose dos nucleotídeos. Essa pentose tem os átomos numerados de 1 até 5, assim é possível identificar os átomos de carbono participantes nas ligações fosfodiéster. A Figura 2.6 mostra as duas principais pentoses encontradas nos seres vivos DNA O DNA é um ácido nucléico cuja principal função biológica é o armazenamento das informações necessárias a síntese das proteínas de um organismo. Esse ácido é formado por nucleotídeos com a pentose 2-desoxirribose (Figura 2.6 (a)) e as bases são quatro, a saber: adenina (A), timina (T), citosina (C) e guanina (G). A molécula de DNA tem o formato espacial de duas fitas (ou cadeias) de ácidos nucléicos unidos pelas bases nitrogenadas formando uma espiral que gira no sentido da mão direita [32]. A Figura 2.7 apresenta uma visão desse formato espacial, em conjunto com a estrutura das bases nitrogenadas do DNA. As fitas do DNA são ditas complementares, pois a cada base presente em uma fita corresponde uma base complementar na fita oposta. As bases adenina e timina são complementares entre si, o mesmo valendo para a citosina e a guanina. 21

22 Figura 2.6: Os açúcares encontrados nos ácidos nucléicos. São mostradas as numerações dos átomos de carbono e destacados os carbonos 3 e 5, através das quais uma orientação dos ácidos nucléicos pode ser obtida. 22

23 Figura 2.7: Estrutura espacial das moléculas de DNA e RNA, em conjunto com a estrutura química das bases nitrogenadas 23

24 2.3.2 RNA O RNA é o outro ácido nucléico encontrado nos seres vivos. Em contraste com o DNA, a pentose presente em seus nucleotídeos é a ribose (Figura 2.6 (b)), outra diferença significativa é a presença da base nitrogenada uracila (U) em substituição à timina. A molécula de RNA tem uma única cadeia (fita) de nucleotídeos e não assume uma forma espacial bem definida, tendo diversos formatos de acordo com a função exercida por ela. Dessa forma, diversas classes de RNA são encontradas nas células dos seres vivos. A Figura 2.7 mostra uma possível disposição espacial de uma molécula de RNA. O RNA ribossômico (rrna) é responsável pela constituição de ribossomos, organelas celulares cujo propósito é a construção de proteínas. O RNA mensageiro (mrna) carrega as informações para a síntese de proteínas do DNA para os ribossomos. Finalmente, o RNA transportador (trna) é responsável por trazer ao ribossomo os aminoácidos necessários para formar uma proteína. 2.4 Genes e cromossomos Como visto, toda a informação necessária a produção das proteínas de um dado ser vivo está presente em seu DNA. Mais especificamente, essa informação está dispersa pela sequência de bases presentes nas fitas do DNA. Embora o DNA armazene as informações necessárias à produção de proteínas, nem todas as sequências de nucleotídeos do DNA codificam essa informação. Para cada proteína sintetizada por um organismo, existe uma porção de DNA correspondente onde estão presentes os dados para sua fabricação. A esta porção de DNA contendo a informação de uma proteína damos o nome de gene. Os genes são distribuídos através das grandes moléculas de DNA, chamadas de cromossomos. O número e o tamanho dos cromossomos varia de espécie para espécie, e não está diretamente ligado a complexidade da mesma. Então, os genes armazenam a informação necessária para síntese de uma proteína. Conforme visto na Seção 2.2, uma dada sequência de aminoácidos permite a identificação precisa de uma proteína. No caso dos genes, os aminoácidos são codificados por meio de trincas de nucleotídeos, conhecidas como códons. Cada trinca corresponde a um aminoácido. Como existem 4 bases nitrogenadas no DNA, é possível formar 64 trincas diferentes, no entanto existem apenas 20 aminoácidos na natureza. A consequência disso é que diversos aminoácidos são codificados por mais de um códon. Essa redundância permite diminuir o impacto das mutações, que são alterações na sequência de nucleotídeos do DNA. Assim a informação presente no DNA é conservada por um período maior de tempo. A Figura 2.8 mostra a associação entre códons e aminoácidos, na tabela do Código Genético. O STOP é um sinal especial utilizado para indicar o final do processo de síntese de uma proteína. Nessa figura, as bases mostradas não são bases do DNA, mas sim as bases do RNA. Isso ocorre pois o RNA transporta a informação contida num gene para o local onde as proteínas serão sintetizadas, processo que será detalhado a seguir. 24

25 Figura 2.8: Associação entre trincas de bases (códons) e aminoácidos. Consulte a Figura 2.4 para a ligação entre o código de três letras e o nome e estrutura dos aminoácidos. 2.5 Dogma central da Biologia Molecular Nesta seção explicaremos como as informações presentes em uma dada molécula de DNA são utilizadas na célula para a síntese de uma proteína. O processo de síntese de uma proteína começa através do reconhecimento do início de um gene graças a uma pequena região do DNA sinalizando o início de um gene, chamada promotor. Tendo localizado o gene, a célula copia a informação do gene criando uma molécula de RNA complementar a uma das fitas de DNA. Esta molécula de RNA é chamada de RNA mensageiro ou mrna. Assim o mrna possui a mesma sequência de uma das fitas de DNA, mas tendo a base U no lugar da T. Este processo é chamado de transcrição. O processo de transcrição descrito acima é válido para seres chamados de procariotos, organismos sem núcleo celular e com o DNA flutuando livremente na célula. Já em organismos chamados eucariotos, seres onde o DNA está armazenado em um núcleo celular, o processo de transcrição é um pouco mais complexo. Os genes dos seres eucariotos são compostos de duas partes, os íntros e os éxons. Após a transcrição, os íntrons são removidos do mrna. Sendo assim, em um organismo eucarioto, nem todas as bases de um gene são utilizadas na transcrição. Ao DNA contendo todas as bases do gene denominamos DNA genômico, e às bases do DNA presentes no mrna após a remoção dos íntrons chamamos DNA codificador (cdna). Feita a transcrição, a proteína será sintetizada em estruturas celulares chamadas de ribossomos. Os ribossomos são estruturas compostas de proteínas e um tipo especial de RNA, chamado de RNA ribossômico e abreviado como rrna. Os ribos- 25

26 somos funcionam como linhas de montagem de proteínas, lendo a informação para síntese do mrna e utilizando moléculas conhecidas como RNA transportadores (trna) para realizar a tradução dos códons para os aminoácidos correspondentes. Mecanismos celulares realizam a junção dos diversos aminoácidos. Mais detalhadamente, os RNAs são as moléculas responsáveis por efetuar a conexão entre os códons e os aminoácidos correspondentes, em um processo chamado tradução. Cada trna é composto de duas partes, uma delas possui afinidade química à um dado códon, enquanto a outra liga-se com facilidade ao aminoácido correspondente ao códon. Conforme a fita de mrna passa pelo ribossomo, um trna correspondente ao códon sendo lido pelo ribossomo liga-se ao códon em questão, trazendo consigo o aminoácido correspondente. Uma enzima então catalisa a ligação peptídica para adicionar o aminoácido em questão à proteína. A síntese prossegue assim, um aminoácido de cada vez, parando apenas quando um códon do tipo STOP é encontrado. Quando isso ocorre, a proteína desliga-se do ribossomo e é liberada na célula. O mrna é degradado para posterior reaproveitamento dos seus componentes. 2.6 Bioinformática A Bioinformática é um campo interdisciplinar envolvendo as áreas de Biologia Molecular, Estatística, Matemática e Ciência da Computação com o objetivo de realizar a análise de dados biológicos, entre eles sequências de bases de DNA e genes, e predizer a estrutura e função de diversas macromoléculas [22]. Apesar de ampla, esta definição não deve ser confundida com Biologia Computacional. A Biologia Computacional preocupa-se com o desenvolvimento de algoritmos rápidos e eficientes para a resolução de diversos problemas biológicos possíveis de serem tratados por meio de técnicas computacionais. Um exemplo é problema do alinhamento de sequências de DNA, que tem entre suas diversas soluções o conhecido algoritmo de Smith-Waterman [27], em homenagem aos criadores do mesmo. Já a Bioinformática tem como foco principal o desenvolvimento de ferramentas para realizar o armazenamento e manipulação dos dados biológicos gerados durante um projeto de sequenciamento. Com o atual volume de dados produzidos pelos projetos de sequenciamento, a utilização de ferramentas computacionais traz grandes auxílios aos biólogos, ao permitir a recuperação rápida dos dados armazenados de um projeto genoma e apresentar os resultados de maneira a facilitar a análise dos mesmos e assim auxiliar na descoberta de funções para as sequências obtidas. Cabe notar que, apesar de serem disciplinas com objetivos distintos, ambas se complementam. Os algoritmos desenvolvidos pela Biologia Computacional são posteriormente incorporados pelas ferramentas de Bioinformática, sendo utilizados pelas últimas para realizar a análise dos dados de um projeto. Assim, Biologia Computacional e Bioinformática estão intimamente relacionadas, sendo difícil, as vezes, distinguí-las. Como vimos, até recentemente os principais projetos genomas utilizam quase exclusivamente a técnica de sequenciamento Sanger. Desta forma, muitas ferra- 26

27 mentas de bioinformática disponíveis eram otimizadas para o trabalho com estes dados. Embora os dados produzidos pelos novos sequenciadores de alto desempenho tenham características diferentes dos dados obtidos com sequenciadores Sanger, o pipeline utilizado para processamento dos mesmos é conceitualmente muito parecido com o pipeline de projetos com sequenciamento Sanger. Dessa forma, o estudo de um pipeline conceitual é importante no sentido de fornecer uma base teórica em relação ao trabalho realizado Pipeline de um projeto de sequenciamento Em um projeto de sequenciament, temos em geral três fases importantes: submissão, montagem e anotação. A submissão consiste no recebimento dos dados resultantes do processo de sequenciamento e no armazenamento de tais dados em um formato adequado para posterior processamento computacional. Entre os vários dados obtidos nesta fase, destacam-se a sequência de bases obtidas, em geral armazenada como um arquivo texto contendo uma sequência de letras, e os valores de qualidade para cada base das sequências, utilizados em posteriores análises para discriminar o quão provável é o fato de a base obtida ser a verdadeira base do DNA do organismo. Após o recebimento de todas as sequências na fase de submissão, segue-se para a etapa de montagem. A montagem consiste no uso de um ou mais programas para tentar unir os diversos fragmentos de DNA obtidos durante o sequenciamento e assim tentar recriar as sequências de DNA originais. Em geral, tal processo não consegue remontar perfeitamente o DNA fragmentado. Sequências de DNA (consenso) obtidas pela união de dois ou mais fragmentos (chamadas contigs), e sequências não agrupadas com outras (chamadas singlets). Feita a montagem do DNA sequenciado, segue-se para a etapa de anotação. A fase de anotação constitui a última fase de um pipeline de sequenciamento. Nesta fase, o objetivo é descobrir as diversas funções biológicas do DNA sequenciado, bem como identificar genes ainda não descobertos, entre outras importantes funções. Para realizar essas tarefas, em geral dividimos a anotação em duas etapas distintas. A anotação automática é executada primeiro e consiste em tentar inferir as funções biológicas das sequências de DNA através de métodos computacionais. Não obstante, a técnica mais comumente empregada neste passo consiste no uso de programas para comparação das sequências obtidas com bancos de dados contendo sequências cujas funções já são conhecidas, tais como o BLAST [1]. Apesar do primeiro genoma completo só ter sido completado em 1976 [11], atualmente esses bancos de dados contém um número imenso de sequências, e crescem diariamente. Feita a anotação automática, procede-se à anotação manual. Nesta etapa, os biológos verificam as inferências feitas durante a anotação automática e as utilizam como um guia para a análise das sequências. Os biológos podem confirmar, mudar ou recusar as sugestões das anotações automáticas. As sugestões também podem ser utilizadas para a realização de experimentos significativos ao trabalho de pesquisa do organismo. Embora o pipeline descrito aqui seja genérico e adaptável a uma série de projetos com diferentes objetivos e técnicas, cabe notar que em geral, o processamento 27

28 realizado em cada etapa é dividido em uma série de programas de Biologia Computacional. A correta integração desses programas no pipeline e a exposição dos resultados significativos são uma preocupação da Bioinformática. A seguir, apresentamos um exemplo de pipeline aplicável em um projeto de sequenciamento baseado na técnica Sanger, apresentando exemplos de programas a serem utilizados em cada uma das fases do pipeline Pipeline para um projeto de sequenciamento Sanger Na fase de submissão de um projeto genoma utilizando sequenciadores Sanger, após a recepção dos arquivos contendo o resultado do sequenciamento, os mesmos são processados pelo programa Phred [10]. Este programa traduz os dados presentes no arquivo em uma sequência de letras contendo as bases identificadas e a probalidade de erro associada a determinação de cada fase. Após isso, o programa Phd2Fasta cria para cada arquivo processado pelo Phred dois arquivos texto no formato FASTA, um contendo a sequência de bases nitrogenadas e outro contendo os valores das probabilidades de erro. As probabilidades de erro constituem valiosa informação pois permitem a remoção de sequências cujas bases contêm uma alta probabilidade de erro, podendo gerar resultados incorretos durante as próximas fases. Assim, embora várias sequências sejam recebidas durante a fase de submissão, nem todas são utilizadas nos próximos passos. Para tanto, a sequência deve possuir uma probabilidade de erro suficientemente baixa, determinada de acordo com cada projeto. Quanto menor essa probabilidade de erro, em geral menos sequências serão aceitas e maior o custo e confiabilidade dos dados do projeto. Como o sequenciamento Sanger envolve a cópia do DNA a ser sequenciado, muitas vezes, antes do sequenciamento propriamente dito, o DNA sequenciado pode conter sequências não pertencentes ao organismo sendo estudado. O programa Cross match identifica e retira vetores e contaminantes das sequências. Por fim, uma análise de redundância das sequências submetidas pode ser feita através do programa CAP3 [14], e os agrupamentos identificados por esse programa consistem em geral sequências redundantes. A montagem das sequências pode ser feita através de programas como o CAP3 ou o Phrap. Estes programas geram arquivos FASTA contendo as sequências de todos os singlets identificados, arquivos com dados sobre a composição e sequências dos contigs, e informações gerais sobre a montagem dos fragmentos de DNA. Por fim, o programa Glimmer [24] pode ser utilizado com o objetivo de identificar os possíveis genes presentes nos contigs e singlets obtidos durante a montagem. Este último passo nem sempre é feito, pois alguns projetos trabalham com cdnas de um dado organismo. Nesse caso, como as sequências de DNA já se constituem em genes, não há a necessidade de se utilizar o Glimmer para identificá-los. Por último, utiliza-se o programa BLAST para comparar as sequências identificadas com bancos de dados de sequências cujas funções já são conhecidas na fase de anotação automática. Os bancos utilizados variam de acordo com o projeto e o organismo sendo estudado. Feito isso, os biológos podem proceder a anotação manual das sequências de acordo com seus conhecimentos. 28

29 Durante todas as etapas anteriormente descritas, são armazenadas estatísticas sobre o projeto em questão, tais como número de sequências aceitas e rejeitadas, número de contigs e singlets encontrados, entre muitos outras. Também são armazenadas as anotações manuais e automáticas feitas durante o processo, e em alguns projetos, as mesmas são armazenadas com o objetivo de verificar possíveis erros cometidos durante o processamento do pipeline Projetos transcritoma Como visto na Seção 2.5, a síntese de uma proteína ocorre através da transcrição das informações contidas no DNA em um RNA mensageiro e posterior tradução desta informação em aminoácidos. Dizemos então que o gene codificando a proteína em questão é expresso. O conjunto dos RNAs mensageiros de uma célula é chamado de transcritoma, e projetos de sequenciamento visando a obtenção desses RNAs mensageiros são conhecidos como projetos transcritoma. A obtenção de todos os transcritomas de todas as células de um dado organismo é uma tarefa complexa, pois nem todos os genes são expressos a todo momento. De fato, durante diferentes fases da vida de um organismo, diferentes genes são expressos em diferentes intensidades. Dessa forma, grande parte dos projetos transcritoma envolvem o sequenciamento dos RNAs mensageiros em um dado estado da vida do organismo de interesse, podendo este ser durante o desenvolvimento de uma planta, a metamorfose de um inseto ou mesmo a ocorrência de um câncer. Para a obtenção dos transcritomas, uma técnica muito utilizada consiste em capturar os RNAs mensageiros de uma célula exposta à dadas condições, e a partir da mesma gerar a sequência de DNA cuja transcrição originou o mrna. Conforme exposto na Seção 2.5, essa fita de mrna é complementar à sequência de DNA que a originou. Portanto, para obter a sequência de nucleotídeos efetivamente expressos durante a produção da proteína em questão, basta obter o complemento desta fita de RNA. A sequência de DNA obtida desta maneira, é conhecida como DNA codificador ou cdna. Para determinar os transcritomas, procede-se ao sequenciamento dos cdnas, seja através do método Sanger, ou por meio dos novos sequenciadores de alto desempenho. Uma das principais informações obtidas através dos transcritomas é o conjunto de proteínas expressas durante uma dada condição de um organismo, por exemplo, durante uma infecção. Estas sequências são chamadas de Expressed Sequence Tags(ESTs). Os ESTs tem um importante papel na anotação de genomas, pois expõem dados sobre as regiões codificadoras de um genoma e provêm uma primeira evidência experimental da existência de um gene predito por alguma ferramenta computacional. No entanto, como os ESTs contém as sequências de DNA efetivamente expressas em um dado momento, uma informação de interesse é a posição na molécula de DNA de onde os ESTs provêm. Em outras palavras, é interessante identificar a região do DNA cuja transcrição dá origem a um dado EST. Isso é feito por meio de uma fase chamada de mapeamento, na qual se busca alinhar os ESTs obtidos durante um projeto transcritoma a um genoma de referência, às vezes, o genoma do próprio organismo de onde os ESTs derivaram. No entanto, outros organismos 29

30 podem ser utilizados. Um exemplo seria o mapeamento utilizando uma espécie próxima do organismo de interesse, com o objetivo de detectar quais proteínas são expressas por ambos os seres vivos, e quais proteínas são potencialmente exclusivas à somente um deles. Em um projeto transcritoma, a anotação apresenta certas diferenças em relação a projetos de sequenciamento de DNA. Um dos principais objetivos da fase de anotação de um projeto transcritoma é a identificação de RNAs não codificadores (ncrnas). Embora toda proteína seja obtida por meio da tradução de um RNA mensageiro, e em última instância por um RNA, nem todo RNA está diretamente ligado à produção de uma proteína. RNAs não diretamente ligados a síntese de proteínas são os ncrnas, e estão ligados à uma série de processos celulares importantes, como a degradação do mrna, replicação do DNA e inibição do processo de tradução entre outros. Para a identificação de ncrnas podem ser utilizadas, além da comparação de sequências, técnicas de Inteligência Artificial, em especial o aprendizado por máquina. Tal técnica consiste no processamento de uma massa de dados específica por um programa de computador, com o objetivo de fornecer parâmetros pelos quais o programa poderá buscar informações de interesse nos dados a serem analisados. Por exemplo, a busca de ncrnas em projetos transcritoma. Dois exemplos de técnicas utilizadas com esse propósito são o naive Bayes e o Support Vector Machines. Tais abordagens são utilizadas pois não só permitem uma nova perspectiva de análise, como também efetuam análises mais rápidas em comparação com ferramentas existentes, sem perda significativa de acurácia. A anotação de projetos transcritoma também usa métodos para comparação de sequências. Nesse caso, os bancos de dados de sequências são ESTs providas de outros projetos transcritoma depositadas em bancos de dados públicos. Alguns desses bancos podem ser obtidos gratuitamente através da internet, em geral através do uso do File Transfer Protocol (FTP). Além das diferentes bases de dados utilizadas na fase de anotação de projetos transcritoma, diferentes ferramentas são utilizadas para a comparação de sequências. Apesar de ferramentas como o BLAST em geral estarem presentes nestes projetos, ferramentas especializadas projetadas para a comparação de RNAs mensageiros e sequências genômicas também são muito utilizadas. Um exemplo deste último tipo é o comparador de sequências BLAT [16]. 30

31 Capítulo 3 Sequenciadores Massivamente Paralelos Embora o sequenciamento Sanger tenha sido a técnica de sequenciamento dominante durante os últimos anos, novas técnicas de sequenciamento massivamente paralelas atingiram o mercado e estão revolucionando a forma como se realiza o sequenciamento de DNA no mundo. Ao permitirem o sequenciamento de milhões de sequências a um custo muito baixo em comparação com o método Sanger, esses métodos tiveram um grande impacto nas áreas de pesquisa onde se realizam sequenciamentos de DNA, e abriram novas frentes de pesquisa, tais como o estudo de DNAs antigos, como mamutes, e a caracterização da diversidade ecológica por meio do sequenciamento de DNA de amostras ambientais [19]. A fim de propor um pipeline para processamento das sequências geradas pelos sequenciadores massivos, devemos entender melhor o seu funcionamento, e quais os desafios enfrentados devido as técnicas de sequenciamento utilizadas por cada um. Na Seção 3.1 estudaremos o funcionamento do sequenciador 454-FLX da Roche. A Seção 3.2 expõe a técnica de sequenciamento utilizado pelo sequenciador Illumina da empresa Solexa FLX Roche Este sequenciador foi o primeiro a aparecer no mercado, em 2004, e utiliza uma técnica de sequenciamento conhecida como pirosequenciamento. No pirosequenciamento a incorporação de cada nucleotídeo a uma fita de DNA por meio da enzima DNA polimerase acarreta a liberação de pirofosfato. Esta molécula por sua vez, inicia uma série de reações químicas cujo produto final é a liberação de luz. A detecção da luz por um sensor permite a determinação das bases de uma sequência de DNA. Uma característica importante desta técnica é que, a cada vez que um mesmo nucleotídeo é incorporado a sequência, a intensidade da luz liberada aumenta. Se essa intensidade ultrapassar a capacidade do detector de luz, a leitura do número de bases iguais será incorreta. Este é o principal tipo de erro enfrentado por este tipo de sequenciador, a incorreta determinação do número de bases em um monômero (molécula formada pela repetição de uma mesma estrutura), tal como CCCCCCC. 31

32 Agora descreveremos como o sequenciador 454/Roche efetua o sequenciamento. O primeiro passo no processo de sequenciamento consiste na amplificação do DNA a ser sequenciado. Isso é feito misturando-se os fragmentos de DNA com estruturas de agarose 1 contendo sequências de DNA complementares às sequências adaptadoras do 454 presentes nos fragmentos a serem sequenciados. Desta forma cada estrutura de agarose fica ligada a um único fragmento de DNA. A seguir, cada uma dessas estruturas contendo um fragmento de DNA é isolada em micélios óleo:água contendo reagentes para a enzima DNA polimerase. Através de um ciclo térmico, produzem-se um milhão de cópias do fragmento de DNA contidos na superfície da estrutura de agarose. Após a amplificação do DNA, realiza-se o sequenciamento propriamente dito. Cada estrutura de agarose é colocada em um recipiente de estrutura de silica capilar, contendo centenas de milhares de locais para inserção de uma estrutura de agarose. O objetivo destes recipientes é fornecer uma localização fixa para monitoramento das reações de sequenciamento. Em cada recipiente, enzimas que catalizam a reação de pirosequenciamento são adicionadas a cada recipiente e a mistura é centrifugada com o objetivo de cobrir as agaroses com as enzimas. A incorporação de cada nucleotídeo é feita em um passo de cada vez, e em cada passo um sensor CCD registra a luz emitida em cada recipiente, assim determinando a sequência de DNA, uma base por vez. No entanto, tal sensor não consegue interpretar corretamente a incorporação de um mesmo nucleotídeo várias vezes (mais de 6), o que significa que porções de DNA onde uma mesma base ocorre várias vezes podem acarretar erros. Caso o número de bases determinados pelo sequenciador, temos um erro de inserção, se for menor teremos um erro de remoção. O sequenciador 454 provê sequências de cerca de 250 bases de comprimento durante um processamento de 8 horas. Após um processamento para a remoção de sequências com baixa qualidade, obtemos cerca de 100 milhões de bases com boa qualidade em média. Apesar do tamanho das sequências obtidas com o sequenciador 454 ser muito menor em comparação com os sequenciadores Sanger, o mesmo foi utilizado com sucesso no sequenciamento de genomas virais e bacteriais com alta qualidade. A Figura 3.1 mostra esquematicamente o processo descrito nesta seção. 1 A agarose é um polímero composto de subunidades de galactose. Quando dissolvida em água quente e seguidamente arrefecida, a agarose toma uma consistência gelatinosa, este gel é muito utilizado em biologia molecular para atividades como sequenciamento. 32

33 33 Figura 3.1: Processo de sequenciamento utilizado pelo sequenciador 454/Roche [19]

34 3.2 Illumina Solexa O sequenciador Illumina utiliza a técnica de sequenciamento por síntese, onde um nucleotídeo é incorporado por vez à sequência sendo determinada e cada incorporação determina uma base da sequência desejada. A amplificação do DNA utilizada por este sequenciador é feita incorporando-se adaptadores ao início e fim de cada um dos fragmentos de DNA e anexando-os a uma superfície. Após isso a DNA polimerase é utilizada para a produção de grupos de sequências, cada grupo contendo aproximadamente 1 milhão de cópias do fragmento de DNA original. A Figura 3.2 mostra esquematicamente como este processo de amplificação é realizado. Após a amplificação do DNA, realiza-se o processo de sequenciamento em si. Nesse processo, nucleotídeos fosforecentes são adicionados às moléculas de DNA amplificadas pelo sequenciador. Como o grupo OH ligado ao carbono 3 dos mesmos é quimicamente bloqueado, a DNA polimerase é capaz de incorporar somente um fragmento de cada vez às sequências amplificadas. Feita a incorporação, processase a imagem contendo as luzes oriundas dos nucleotídeos fosforecentes. Após o processamento da imagem, o grupo OH ligado ao carbono 3 de cada nucleotídeo incorporado é quimicamente removido e os passos descritos anteriormente são repetidos. Este processo continua por um número de ciclos determinados pelo operador do sequenciador, e permite a determinação de sequências com 25 a 35 bases de comprimento, podendo atingir mais de um bilhão de bases sequenciadas [7]. O processo de determinação das bases remove bases com qualidade ruim e determina a qualidade das sequências de bases. A Figura 3.3 mostra a forma como a determinação de uma base é feita pelo sequenciador Illumina. 34

35 Figura 3.2: Visão esquemática do processo de amplificação do DNA utilizado pelo sequenciador Illumina/Solexa [19]. 35

36 Figura 3.3: Processo de determinação de uma base do sequenciador Illumina/Solexa [19]. 36

37 Capítulo 4 Softwares e pipelines para Sequenciadores Massivamente Paralelos Neste capítulo serão apresentados diversos softwares para tratamento dos dados gerados por sequenciadores de alto desempenho nas diversas fases do pipeline descrito no capítulo 2. A Seção 4.1 apresenta softwares para processamento da submissão das sequências dos sequenciadores massivamente paralelos. A seguir, a Seção 4.2 apresenta programas para realizar o mapeamento das pequenas sequências dos novos sequenciadores a genomas de referência. Após isso programas para montagem dos fragmentos de sequências obtidos com novos sequenciadores são apresentados na Seção 4.3. A Seção 4.4 lista alguns programas para anotação das sequências destes sequenciadores. Por último, a Seção 4.5 mostra os pipelines que podem ser adotados em projetos de sequenciamento envolvendo sequenciadores de alto desempenho. 4.1 Softwares para submissão Esta seção apresenta alguns programas possíveis de serem utilizados para processamento da submissão de arquivos de sequências de sequenciadores massivamente paralelos. Como pode ser visto no Capítulo 3, as técnicas de sequenciamento utilizadas pelos novos sequenciadores são muito diferentes entre si. Assim, não existe um programa capaz de tratar dados de todos os novos sequenciadores, mas sim programas específicos para o tratamento dos dados de um sequenciador em especial. A Subseção detalha o formato dos arquivos gerados pelo sequenciador 454 e apresenta um programa capaz de ler esse dados Software para submissão do sequenciador 454 Nesta subseção apresentamos o formato do arquivo binário gerado pelo sequenciador 454 e apresentamos um programa capaz de ler as informações do mesmo e gerar diversos formatos de saída com diferentes informações. 37

38 O National Center for Biotechnology Information (NCBI) [23] é um centro criado em 1988 para servir como um repositório de informações de biologia molecular. Entre outras coisas, o NCBI cria e disponibiliza bancos de dados públicos, como o GenBank, conduz pesquisas em Biologia Computacional, desenvolve programas para análise de dados e dissemina informações biomédicas. O Trace Archive é um dos repositórios mantidos pelo NCBI contendo arquivos binários de sequenciamento gerados por grandes projetos de sequenciamento. É possível obter tanto os arquivos de sequências quanto os dados relacionados nos arquivos lá mantidos. Para facilitar a imensa tarefa de organizar milhões de arquivos de sequências criados por diversos projetos de sequenciamento de todos os lugares do mundo, o NCBI estipula formatos de arquivos para a deposição de sequências no Trace Archive. Além de auxiliar na verificação e tratamento dos arquivos, o uso de um formato padrão permite o desenvolvimento de softwares para a extração dos dados das sequências de arquivos no Trace Archive, bem como diversos outros tratamentos que venham a ser necessários. Até recentemente, o único formato padronizado dizia respeito a sequências obtidas com a técnica de sequenciamento Sanger. No entanto, devido ao grande uso do sequenciador 454 e a cooperação da Roche com o NCBI, um formato padrão para submissão de dados obtidos com o 454 ao Trace Archive foi desenvolvido. O objetivo é disponibilizar as milhões de sequências obtidas com o 454 ao domínio público, permitindo assim um rápido desenvolvimento das pesquisas de diversos organismos, incluindo seres extintos, como os mamutes. O formato padrão desenvolvido foi nomeado Standard Flowgram File (SFF), e pode conter dados de uma ou várias sequências. Ao contrário dos dados de sequenciadores tradicionais, o sequenciador 454 não provê dados por meio dos quais bases individuais podem ser determinadas. Ao invés disso, estima-se o comprimento de cada homopolímero na sequência. Por exemplo, a sequência AAATGGC seria armazenada como constituída de uma sequência de 3 A s, seguida de uma sequência de 1 T, logo após uma sequência de 2 G s e por fim uma sequência de um único C. Estes valores são na verdade estimados pois, como explicado na Seção 3.1, o sequenciador 454 possui dificuldades para determinar o comprimento de sequências constituídas por um único nucleotídeo, caso este ocorra mais de cinco vezes. A determinação da sequência a partir do arquivo SFF consiste em simplesmente analisar as estimativas do sequenciador e concatenar os diversos homopolímeros determinados. Os arquivos SFF possuem um cabeçalho inicial contendo informações gerais sobre o arquivo, tais como número de versão e códigos de formato, entre outras. Em seguida, para cada sequência presente no arquivo, aparece uma seção de cabeçalho e uma seção de dados da sequência. Todas as seções têm um tamanho múltiplo de 8 bytes, para isso são inseridos bytes de preenchimento conforme necessário. Além disso, os bytes são armazenados em ordem big endian, ou seja, com o byte mais significativo ocorrendo em primeiro lugar. Os tipos padrões Unix uint8 t, uint16 t, uint32 t and uint64 t e todos os campos do tipo char são armazenados utilizando valores ASCII. A seguir detalhamos cada uma das diferentes seções do formato de arquivos SFF. 38

39 Todo arquivo SFF possui um cabeçalho onde são armazenadas informações gerais sobre o arquivo, como se segue: magic number (uint32 t), deve ter o valor 0x2E736666, este representa a codificação da string.sff em codificação ASCII. version (char[4]), indica o número de versão do arquivo. versão 0001 está documentada. Atualmente só a index offset (uint64 t), é o valor do deslocamento de um índice opcional das sequências no arquivo. Caso esse índice não exista, tem o valor 0. index length (uint32 t), armazena o tamanho do índice opcioanal das reads no arquivo sff. Se o índice não estiver presente no arquivo, o valor deste campo deve ser 0. number of reads (uint32 t), é o número de sequências cujos dados estão armazenados no arquivo. header length (uint16 t), contém o tamanho em bytes dos campos do cabeçalho, seu valor é calculado da seguinte forma: 31 + key length + number of flows per read arredondado para o próximo inteiro divisível por 8. key length (uint16 t), indica o tamanho da sequência chave utilizada pelas reads. number of flows per read (uint16 t), armazena o número de fluxos para cada read do arquivo. flowgram format code (uint8 t), representa o formato utilizado para codificar cada valor dos fluxos de cada read. flow chars (char[number of flows per read]), é um vetor representando as bases utilizadas em cada fluxo para cada read. Não é terminado em 0. key sequence (char[key length]), contém as bases utilizadas na sequência chave para cada read. eight byte padding (uint8 t[*]), contém até 7 bytes com valor 0. Esses bytes são utilizados para que o tamanho do cabeçalho seja múltiplo de oito bytes. Caso um índice seja incluído no arquivo, os campos index offset e index length devem apontar para a seção do arquivo contendo o índice. Para dar suporte a diferentes métodos de indexação, todo índice deve começar com um número mágico (uint32 t) e um número de versão (char[4]). Para cada sequência presente no arquivo, temos um campo de cabeçalho e um campo de dados. Os campos presentes nos cabeçalhos das sequências são: read header length (uint16 t), armazena o tamanho do cabeçalho, seu valor é 16 + name length arredondado para o próximo valor divisível por 8. name length (uint16 t), indica o tamanho em bytes do nome da sequência. 39

40 number of bases (uint32 t), contém o número de bases determinadas para esta sequência. clip qual left (uint16 t), é a posição da primeira base após o ponto de junção, para sequências de qualidade, no começo da read. clip qual right (uint16 t), indica a posição da primeira base antes do ponto de junção, para sequências de qualidade, no final da sequência. clip adapter left (uint16 t), é a posição da primeira base após o ponto de junção, para sequências adaptadoras, no começo da sequência. clip adapter right (uint16 t), indica a posição da primeira base antes do ponto de junção, para sequências adaptadoras, no final da sequência. name (char[name length]), contém o nome da sequência, utilizando caracteres ASCII. Não é terminado em 0. eight byte padding (uint8 t[*]), contém até 7 bytes com valor 0. Esses bytes são utilizados para que o tamanho do cabeçalho seja múltiplo de oito bytes. Logo após o cabeçalho, temos os dados da sequência em questão, que são: flowgram values (uint* t[number of flows]), contém a estimativa de tamanho dos homopolímeros para cada fluxo da sequência. O número de bytes utilizado para cada valor depende do campo flowgram format code presente no cabeçalho de informações gerais do arquivo. flow index per base (uint8 t[number of bases]), armazena as posições dos fluxos para cada base na sequência determinada. bases (char[number of bases]), contém as bases da sequência em questão. quality scores (uint8 t[number of bases]), contém os valores de qualidades das bases. Esse valores são calculados segundo a expressão 10 log 10 (p), onde p é a probabilidade de erro. eight byte padding (uint8 t[*]), contém até 7 bytes com valor 0. Esses bytes são utilizados para que o tamanho do cabeçalho seja múltiplo de oito bytes. Esses dados podem ser lidos com os programas providos na compra de um sequenciador 454. No entanto, como se trata de um formato padrão, diversas outras implementações estão disponíveis. Como exemplo, o software matlab pode ser utilizado para realizar a leitura dos dados presentes em arquivos.sff e desenhar gráficos baseados nestes dados, a URL matlabcentral/fx_files/22864/2/content/sffdemo.html explica como utilizar o matlab para extrair diversos dados e realizar a plotagem de alguns gráficos a partir das informações presentes nos arquivos.sff. Para pipelines automatizados, no entanto, é conveniente o uso de programas o- perados através da linha de comando, pois isso permite chamar os mesmos quando necessário, sem a intervenção de um ser humano. Um exemplo de programa desse 40

41 tipo é o programa flower, uma interface para uma biblioteca de bioinformática implementada em haskell. O programa flower funciona por linha de comando e é capaz de produzir diversos tipos de saída, incluindo arquivos de sequências no formato fasta e arquivos de qualidade, entre outros. Mais informações podem ser obtidas na página Software para submissão do sequenciador Illumina Até o momento da escrita deste trabalho, o único software capaz de ler os dados produzidos pelo sequenciador Illumina era provido pela empresa Solexa quando da aquisição deste sequenciador. Não obstante, os dados produzidos pelo sequenciador são armazenados em pastas, onde cada pasta armazena um tipo específico de informação. As pastas de dados do sequenciador Illumina são: FIRECREST - armazena os arquivos de imagens gerados durante o processo de sequenciamento do Illumina. Segundo estimativas, são gerados aproximadamente 100 GB de dados nesta pasta para cada sequenciamento executado. BUSTARD - contém os arquivos de qualidade e bases das sequências determinadas, além de quaisquer outros arquivos derivados diretamente do processo de sequenciamento. A cada sequenciamento, cerca de 80 GB de dados são armazenados aqui. GERALD - contém dados gerados a partir do diretório BUSTARD, tais como alinhamento a genomas de referência, cálculos mais precisos de qualidades, entre outros. São gerados aproximadamente 35 GB de dados a partir do diretório BUSTARD, e esses dados são armazenados na pasta GERALD. 4.2 Softwares para mapeamento Uma vez que as sequências obtidas pelos novos sequenciadores são relativamente curtas em relação ao sequenciamento tradicional, isso torna impossível o uso das técnicas tradicionais para reagrupar os fragmentos sequenciados no DNA original. Não obstante essa dificuldade, é desejável a possiblidade de se aplicar as técnicas antigas aos novos dados, mesmo sendo necessário efetuar adaptações. Uma possível abordagem seria usar um genoma de referência, normalmente um organismo próximo ao organismo sendo sequenciado cujo genoma já fosse conhecido com grande precisão. Dado esse genoma de referência, poder-se-ia mapear as pequenas sequências obtidas pelos novos sequenciadores e agrupá-las conforme a posição das mesmas no mapeamento. Uma vez que as sequências agrupadas constituem um número muito menor a ser analisado e visto possuírem poucas diferenças entre si, pois estão mapeadas aproximadamente na mesma região do genoma, seria possível aplicar técnicas de montagem tradicional a esses grupos de sequências. Além de um genoma de referência, seria possível também utilizar bibliotecas de exons como sequências de referências para a verificação de splicing alternativo a partir do sequenciamento de RNAs pequenos (35 a 80 bases de comprimento). 41

42 A técnica descrita anteriormente é conhecida como mapeamento, e diversos softwares capazes de realizar essa tarefa estão disponíveis. Essa abordagem é especialmente útil para um sequenciador como o Illumina, que produz reads contendo aproximadamente 25 bases, sendo muito pequenas para aplicação direta das técnicas tradicionais. Existem várias formas de se realizar esse mapeamento, mas as mais conhecidas utilizam índices para acelerar o procedimento de busca e diminuir o custo de memória associado a procura das sequências no genoma de referência. Uma dessas abordagens, utilizada pelo programa Maq [18], consiste em fragmentar cada sequência a ser mapeada em quatro pedaços menores de tamanho aproximadamente igual, chamados de sementes (seeds). Dado que uma sequência só alinhará perfeitamente ao genoma de referência se todas as sementes alinharem perfeitamente, e se houver uma diferença a mesma deverá estar contida em uma semente, é possível procurar todos os possíveis locais onde a sequência pode se alinhar ao genoma, permitindo no máximo duas diferenças. Com base nesse espaço reduzido de locais, é possível realizar a procura da sequência nos mesmos e reportar o mapeamento ao usuário. Uma outra técnica, utiliza por programas como o Bowtie [17], consiste em concatenar todo o genoma de referência em uma única string e realizar uma transformação de Burrows-Wheeler para construir um índice do genoma de referência. O programa então procede realizando o mapeamento de um caracter da sequência por vez, até alinhar toda a sequência, se isso não for possível, o programa volta atrás e realiza a substituição de um caracter, uma opção permite controlar o número máximo de substituições de caracteres permitidas. Existem muitos outros programas, a Tabela 4.1 mostra alguns dos programas capazes de realizar mapeamento de pequenas sequências a genomas de referências disponíveis atualmente, bem como o endereço web onde mais informações sobre os mesmos podem ser obtidas. Tabela 4.1: Lista de programas de mapeamento e respectivos endereços web onde mais informações podem ser obtidas (Adaptado de [29]). Programa de mapeamento Endereço web Bowtie BWA Maq Mosaik Novoalign SOAP2 ZOOM Softwares para montagem A montagem é a fase onde o tratamento dos dados de sequenciadores massivamente paralelos apresenta as maiores dificuldades. A maioria dos softwares para 42

43 montagem de sequências disponíveis na data de escrita deste trabalho eram otimizadas para aproveitar as características do sequenciamento Sanger. Basicamente, o sequenciamento Sanger obtém bases relativamente longas (> 700pb) com uma taxa de erro baixa em comparação com sequenciadores massivamente paralelos. A existência de longas sequências permite a montagem através de sobreposições de sequências, em que se o final de uma sequência se sobrepuser significamente com o início de outra sequência, então ambas provavelmente pertencem a mesma região do DNA. Além disso, sequências longas diminuem o problema de lidar com regiões do DNA onde as bases se repetem, pois a probabilidade de termos dois fragmentos de DNA idênticos com 700 ou mais bases oriundos de duas regiões diferentes de DNA é muito pequena. Em contraste, os novos sequenciadores produzem sequências muito menores em comparação ao sequenciamento tradicional. O sequenciador 454 provê sequências de cerca de 250 bases de comprimento, enquanto o Illumina obtém fragmentos de DNA com 45 bases, no máximo. Claramente, a aplicação da técnica de sobreposição em sequências obtidas com o Illumina é inviável, dado o pequeno tamanho das sequências. Mesmo no 454, a aplicação desta técnica não apresenta bons resultados, ocasionando uma montagem com muitos fragmentos e informação perdida. Outra dificuldade consiste no tratamento de erros de sequenciamento. O processo de determinação da sequência de bases de uma fita de DNA está sujeito a erros, sendo que esses erros variam conforme a técnica de sequenciamento utilizada. O software de montagem deve levar em conta esses erros ao tentar reunir os fragmentos de DNA obtidos pelo sequenciamento. No entanto, os erros de sequenciamento dos novos sequenciadores tem uma natureza muito diferente do sequenciamento Sanger, além de ocorrerem a taxas diferentes. No caso do sequenciador 454, como o mesmo não amplifica o DNA utilizando um organismo vivo, a presença de DNA externo ao organismo sendo sequenciado é muito menor em comparação ao sequenciador Sanger. Em compensação, erros na detecção de monômeros não ocorrem no sequenciamento Sanger, mas constituem um dos principais problemas do sequenciador 454. Os novos sequenciadores apresentam um custo que torna factível o sequenciamento de genomas muito grandes. Novos projetos genoma baseados nesses sequenciadores permitiriam um grande avanço no conhecimento biológico, pois muito mais informações seriam obtidas com os recursos disponíveis. Dessa forma, a busca de técnicas para permitir a montagem de novo, ou seja, a montagem de fragmentos de sequenciadores de alto desempenho sem o uso de um genoma de referência, têm sido intensa nos últimos anos, e algumas técnicas para tais propósitos começaram a aparecer. Pelos argumentos expostos acima, são necessárias outras abordagens ao se tentar realizar a montagem de fragmentos de DNA obtidos por sequenciadores de alto desempenho. Uma abordagem possível para a montagem utilizando dados de novos sequenciadores consiste na geração de pseudo reads de um sequenciador Sanger. Basicamente, tal técnica consiste em se tentar agrupar sequências de DNA até as mesmas terem características parecidas com as obtidas pelo sequenciamento Sanger. Feito esse processamento inicial, a montagem procede por meio de um montador Sanger comum, tratando esses pseudo fragmentos como se fossem oriundos de 43

44 um sequenciador Sanger. Essa técnica funciona melhor para fragmentos relativamente grandes, como os oriundos do sequenciador 454, não funcionando bem para sequenciadores com fragmentos pequenos, como o Illumina. Outra técnica realiza a extensão das sequências obtidas do sequenciador. Dada uma sequência utilizada como base, o método tenta expandir essa sequência em ambas as direções de maneira não ambígua, gerando assim os contigs. Devido à necessidade de realizar uma pesquisa pelos dados de todas as sequências para a determinação da extensão, em geral utiliza-se uma tabela hash para acesso aos dados, caso contrário o tempo necessário para processamento se tornaria proibitivamente alto. A utilização de grafos para a realização da montagem de fragmentos também pode ser utilizada. Nesse caso, o principal tipo de grafo utilizado nesta tarefa é o grafo de de Bruijn. O grafo de de Bruijn é um grafo dirigido representando sobreposições entre sequências de caracteres, possivelmente de comprimentos diferentes. Cada vértice desse grafo representa uma possível sequência de n caracteres, e um vértice a se liga a outro vértice b caso b possa ser derivado de a deslocando-se todos os símbolos de a para a esquerda e adicionando-se um novo símbolo ao final dessa sequência deslocada. Por exemplo, a partir da sequência 1011 podemos derivar a sequência 0110 deslocando os símbolos de 1011 uma posição para a esquerda, obtendo 011. Após isso, adicionamos o símbolo zero, obtendo 0110, assim, em um grafo de de Bruijn, o vértice 1011 estaria ligado ao vértice A recíproca não é verdadeira, pois deslocando-se 0110 uma posição para a esquerda obtemos 110, e não podemos derivar 1011 a partir desta sequência de três caracteres através da adição de um símbolo ao final. A Figura 4.1 mostra grafos de de Bruijn para diferentes tamanhos de sequências, e as relações entre os mesmos. Os principais montadores para sequenciadores de alto desempenho utilizam alguma variação dessas técnicas ou combinações entre as mesmas. A Tabela 4.2 mostra um resumo dos principais montadores disponíveis, explicitando o nome dos mesmos, a URL para obtenção do método, os sequenciadores para os quais o método pode ser aplicado e uma breve descrição da técnica utilizada. Tabela 4.2: Tabela com dados de montadores para sequenciadores massivamente paralelos. Dados dos montadores para sequenciadores de alto desempenho Nome URL Sequenciadores Técnica CABOG [20] wgs-assembler.sf.net Roche FLX 454 Modificação dos passos iniciais do montador celera Newbler Roche FLX 454 Combinar sequências de pirosequenciamento em contigs iniciais. Esse contigs são fragmentados em pseudo reads de sequenciador Sanger. Essas pseudo reads são processadas por um montador Sanger. Euler-SR [2] euler-assembler. Roche FLX 454 Pré-processamento das sequências para remoção de sequências de ucsd.edu/portal/ baixa qualidade. Construção de um grafo e busca de um caminho euleriano nessa grafo gerado a partir das reads. Velvet [33] uk/ zerbino/velvet Solexa Illumina Diversos algoritmos aplicados sobre um grafo de de Bruijn 44

45 SSAKE [31] VCAKE [15] SHARCGS [6] Edena [13] platform/bioinfo/ software/ssake/ releases/ net/projects/vcake molgen.mpg.de/ download.shtml ch/edena Solexa Illumina Circula pelos dados das sequências em uma tabela hash e procura em uma árvore de prefixos pelo maior k-mer possível entre duas sequências. Solexa Illumina Modificação do algoritmo do SSAKE. Estende as sequências uma base por vez até atingir um dos critérios de parada. Considera todas as sequências com alguma sobreposição da sequência original. Solexa Illumina Extensão de contigs com auxílio de uma árvore de prefixos. A extensão é terminada em caso de ambiguidades. Realiza filtragem com base nas qualidades e redundância das reads. Solexa Illumina Eliminação de dados redundantes, cálculo de sobreposições e construção de um grafo. Simplificação do grafo e cálculo de contigs no grafo simplificado. 4.4 Softwares para anotação Assim, como na montagem, a principal dificuldade encontrada no processo da a- notação provém do pequeno tamanho das sequências. Como as sequências obtidas possuem um comprimento relativamente curto, a montagem das mesmas é, em geral, muito fragmentada, criando uma série de pequenos contigs. Portanto os genes resultantes também podem ser fragmentados, causando perda de informação. Para realizar a anotação de uma sequência, três tipos de métodos são em geral empregados: programas para procura de genes ab initio, utilizados sobre a montagem para prever genes, alinhamentos de cdna s e ESTs, se disponíveis, e comparação de sequências traduzidas de nucleotídeos com proteínas já conhecidas. Os programas de alinhamento são em geral robustos na presença de erros. Assim, espera-se que a anotação de genomas obtidos com sequenciadores de alto desempenho esteja correta para genes já conhecidos em outras espécies por meios tradicionais. No entanto, a procura de genes ab initio não é tão robusta em presença de erros, pois certos tipos de erros podem levar a previsões erradas de genes. Em particular, qualquer erro de sequenciamento que introduza um códon de parada pode resultar em um gene predito de forma errônea. Devido ao grande número de sequências geradas por novos sequenciadores e ao tamanho cada vez maior dos bancos de dados públicos utilizados por programas de comparação de sequências, o uso de processamento paralelo/distribuído pode ser necessário na fase de anotação. Um possível meio de se alcançar isso é pelo uso do mpiblast, uma implementação do programa BLAST disponibilizado pelo NCBI para execução paralela através da biblioteca MPI. Este programa visa obter um grande ganho de desempenho ao distribuir para cada nodo de processamento uma porção do banco de dados 45

46 Figura 4.1: Exemplo de grafos de de Bruijn e o relacionamento entre eles. 46

47 utilizado nas comparações, dessa forma mantendo tal porção em memória e diminuindo o acesso à disco nos diversos nodos[4]. A comunicação entre nodos é implementada utilizando a biblioteca MPI (Message Passing Interface), que contém apenas a especificação de diversas funções e protocolos de comunicação. Assim, implementações para diversas arquiteturas, sistemas operacionais e linguagens de programação existem atualmente. Mais informações sobre o mpiblast podem ser obtidas em e dados sobre a biblioteca MPI podem ser encontrados na URL Outra possível solução é a utilização do programa dist-blast [21], desenvolvido pela Universidade de Brasília(Unb) para execução do programa BLAST de forma distribuída no grid EELA-2, disponível para pesquisadores da Unb. 4.5 Pipelines para sequenciadores de alto desempenho Com base no exposto nas seções anteriores, esta seção irá expor como os diferentes softwares para sequenciadores de alto desempenho podem ser agrupados em um pipeline para análise das informações geradas pelos sequenciadores. Pesquisas bibliográficas não revelaram trabalhos mostrando como integrar as diferentes ferramentas existentes em um pipeline para processamento de sequências provenientes de sequenciadores de alto desempenho. Os artigos citando algoritmos e ferramentas utilizadas em cada etapa do pipeline, separadamente, já foram referenciados nas seções anteriores. Devido as características das sequências obtidas pelos novos sequenciadores, dois pipelines genéricos são possíveis, a escolha de qual pipeline adotar dependerá, entre outros, do sequenciador utilizado, das características dos dados gerados por esse sequenciador, da disponibilidade de outros dados. Passemos agora a descrição dos dois tipos de pipelines possíveis. O primeiro tipo de pipeline possível é constituido de quatro fases, a saber submissão, mapeamento, montagem e anotação. É mais indicado para sequenciadores como o Illumina, que produzem sequências muito pequenas, impedindo a montagem direta de todos os fragmentos. Nesse pipeline, os dados das sequências são obtidos do sequenciador e armazenados, após isso, as sequências são alinhadas a um genoma de referência, formando grupos de sequências próximas, conforme explicado na Seção 4.2. A seguir, cada um desses grupos é montado por meio de um software de montagem, obtendo assim os singlets e contigs. Por fim, os singlets e contigs obtidos anteriormente são anotados utilizando-se programas como o BLAST [1]. A Figura 4.2 mostra esquematicamente as quatro fases desse pipeline e como as mesmas se relacionam. O outro pipeline possível contém as fases de submissão, montagem e anotação. É utilizado quando as sequências produzidas pelo sequenciador permitem a montagem dos fragmentos diretamente ou quando não há um genoma de referência para permitir a execução da fase de mapeamento. Nesse pipeline, as sequências são obtidas do sequenciador na fase de submissão, a seguir os fragmentos são montados e são obtidos os singlets e contigs. Por fim, na fase de anotação as funções 47

48 Figura 4.2: Pipeline de software para novos sequenciadores com a fase de mapeamento. dos singlets e contigs são inferidas por meio de programas como o BLAST [1]. A Figura 4.3 mostra as fases desse pipeline e como as mesmas se relacionam. Figura 4.3: Pipeline de software para novos sequenciadores sem a fase de mapeamento..mine Um outro possível pipeline a ser estudado envolve as fases de submissão, mapeamento e anotação, subsituindo a montagem pela obtenção de uma sequência consenso dos grupos de sequências formadas durante o mapeamento. No entanto, tal pipeline não será considerado neste trabalho.======= Finalmente, um outro possível pipeline envolve as fases de submissão, mapeamento e anotação (Figura 4.4) Figura 4.4: Pipeline de software para novos sequenciadores com as fases de submissão, mapeamento e anotação. As etapas do pipeline deverão ser projetadas de acordo com as necessidades de cada projeto..r50 48

49 Capítulo 5 Proposta de pipeline para o Sequenciador 454 e Estudo de Caso Este capítulo apresenta inicialmente a estrutura geral do pipeline desenvolvido neste trabalho. Em seguida descrevemos um estudo de caso feito com o pipeline utilizando dados de sequenciamento de Salmonella obtidos com o sequenciador 454. A Seção 5.1 apresenta a estrutura de alto nível do pipeline implementado, discutindo os principais subsistemas, a camada de persistência utilizada e o modelo de banco de dados desenvolvido para este trabalho. Já a Seção 5.3 mostra os resultados obtidos pela aplicação do pipeline aos dados de Salmonella enterica, uma bactéria gram-negativa, constituindo assim um ponto de partida para análises futuras. 5.1 Estrutura geral do pipeline A arquitetura do pipeline é baseada em uma arquitetura em camadas. Como tratase de um protótipo com o objetivo de verificar características próprias dos softwares para sequenciadores de alto desempenho, a camada de apresentação não foi desenvolvida, consistindo apenas da apresentação de alguns resultados da execução do pipeline. Para a camada de negócio, foram definidas interfaces experimentais para as diversas etapas, que podem ser modificadas a medida que se ganha mais conhecimento sobre os métodos utilizados para processar dados de sequenciadores de alto desempenho. A camada de persistência foi baseada no armazenamento em banco de dados, e utiliza o padrão command no seu projeto interno. Esse padrão apresenta a vantagem de manter a interface entre a camada de persistência e a camada de negócio mais simples, evitando a utilização de diversas funções. A partir dessa modelagem em camadas, optou-se por estruturar o sistemas em quatro subsistemas distintos, um para cada fase de um projeto genoma: submissão, mapeamento, montagem e anotação. Interfaces experimentais para cada um desses sistemas foram projetadas. Como as fases são executadas em sequência e cada fase depende apenas dos dados gerados pela fase anterior, uma única classe é responsável por controlar o fluxo de execução desses subsistemas utilizando as interfaces providas pelos mesmos. 49

50 Para o desenvolvimento, optou-se pela linguagem Java devido as características de portabilidade, extensa biblioteca de funções com diversas funcionalidades já implementadas, bem como a experiência anterior de desenvolvimento nesta plataforma. A implementação foi feita utilizando-se a IDE Eclipse, em conjunto com o software Subversion para controle de versão do código fonte. Para verificar a funcionalidade de diversos serviços implementados, foram definidos testes de unidades baseados em arquivos de teste obtidos pela equipe. A Figura 5.1 mostra, de forma genérica, os programas usados em cada uma das quatro etapas do pipeline. Figura 5.1: Diagrama esquemático mostrando o fluxo das informações pelo pipeline e os programas utilizados em cada fase Subsistema de submissão O subsistema de submissão é responsável por extrair os dados de reads dos arquivos.sff e armazenar os mesmos no banco de dados do pipeline. Para tanto, foram desenvolvidas duas abordagens distintas. A primeir é baseada na chamada de um programa em Python para extração dos dados em arquivo texto, com posterior leitura do arquivo e inserção dos dados das reads no banco de dados. A outra abordagem consiste no uso de um leitor de arquivos.sff feito em Java, capaz de realizar a leitura dos dados em buffer de memória e ir armazenando os resultados no banco de dados conforme os mesmos são gerados. A segunda abordagem se revelou muito mais rápida que a primeira, provavelmente por não envolver uma leitura posterior de um arquivo texto. Para o teste da funcionalide, foi escolhido um dos arquivos.sff utilizados no estudo de caso. Os dados deste arquivo foram extraídos utilizando o programa leitor em Python e armazenados em um arquivo texto. Para o teste, as reads obtidas do leitor em Java foram gravadas em um arquivo texto, a seguir um método comparava o arquivo texto gerado pelo programa em Python com o arquivo texto gerado 50

51 pelo leitor em Java, emitindo um alerta de falha caso existissem linhas diferentes entre os dois arquivos. A interface definida para o subsistema de submissão consiste em um método cujo único parâmetro é o diretório onde os arquivos.sff a serem analisados estão armazenados. Embora a princípio isso amarre a funcionalidade do software ao diretório presente no código fonte, lembramos que essa funcionalidade será chamada por uma classe responsável pela execução das diversas etapas. Esta classe, por sua vez, pode obter o diretório em questão através de um arquivo de propriedades, evitando assim a configuração por meio de mudança no código fonte. A princípio o subsistema de submissão não apresenta muitas dificuldades, a não ser talvez o suporte por meio de bancos de dados relacionais a imensa quantidade de dados gerados. Como explicado na seção 3.2 o sequenciador Illumina da Solexa é capaz de gerar bilhões de reads por procedimento de sequenciamento. Com projetos objetivando o estudo de diferenças entre 30 genomas humanos distintos, cada qual com cerca de 3 bilhões de bases de DNA, teríamos um total de 90 bilhões de bases de DNA a serem armazenadas, junto com as respectivas qualidades e informações de controle. Assim, pode ser necessário adaptar o armazenamento em banco de dados do pipeline para um modelo diferente do relacional, ou mesmo utilizar armazenamento em sistema de arquivos, trocando as funcionalidades de um SGDB por maior capacidade de armazenamento e desempenho Subsistema de mapeamento Conforme explicado na Seção 4.3, as sequências obtidas pelos novos sequenciadores são muito pequenas para permitir a montagem tradicional, por meio da sobreposição de inícios e finais de sequências. Para resolver esse problema, decidiuse utilizar um programa de mapeamento para mapear as reads obtidas a um genoma de referência. As reads que forem efetivamente mapeadas ao genoma de referência são então separadas em grupos, considerando como critério a sequência de DNA a qual foram mapeadas, mas outros critérios podem ser utilizados. Quaisquer reads que não tenham sido alinhadas ao genoma de referência são consideradas como um grupo a parte para processamento ao final. Durante esse processamento, armazena-se no banco de dados as sequências que compõem cada grupo, permitindo saber posteriormente como as reads foram agrupadas após o processo de mapeamento. A interface de mapeamento desenvolvida especifica que devem ser dados o arquivo fasta contendo o genoma de referência a ser mapeado e um arquivo de saída contendo os resultados do mapeamento. No protótipo de pipeline em questão, o mapeamento foi feito pelo programa Bowtie [17], um programa capaz de alinhar reads rapidamente a um genoma de referência. Esse programa foi escolhido após um teste onde cerca de 500 MB de dados de sequências de DNA humano foram mapeadas a um genoma humano de referência em dois dias. Para esta etapa, foi testado também o programa Maq [18], que não foi adotado por requerer recursos de memória muito grandes, além de consumir um tempo maior. O Bowtie necessita de um arquivo fasta contendo o genoma de referência, a partir do mesmo, é construído um índice para o alinhamento das reads, e as mesmas 51

52 são alinhadas posteriormente, com o alinhamento escrito em um arquivo de saída. Após isso cada read é separada em um grupo dependendo da sequência do genoma de referência ao qual foi alinhada. Por fim, as reads não alinhadas são obtidas do banco de dados e gravadas em um arquivo texto como um grupo a parte Subsistema de montagem Após o mapeamento das reads a um genoma de referência e posterior separação das mesmas em grupos, torna-se viável utilizar um programa de montagem em cada um dos grupos obtidos na etapa de mapeamento. Assim, cada um dos diferentes grupos irá gerar singlets e contigs após a montagem dos mesmos, os dados das sequências, bem como das qualidades, são então armazenados em banco de dados para a etapa de anotação. No pipeline desenvolvido, procede-se a execução do programa CAP3 [14] em cada um dos arquivos de grupos para a obtenção dos singlets e contigs, o CAP3 foi escolhido após um teste mal sucedido com o programa Euler-SR [2], por motivos ainda desconhecidos, o mesmo não executou completamente. Cada arquivo de saída gerado pelo CAP3 é analisado para verificação das sequência dos singlets e contigs e posterior inserção dos mesmos no banco de dados Subsistema de anotação Conforme explicado na Seção 2.6.1, a técnica mais utilizada na etapa de anotação consiste na comparação das sequências de um projeto com sequências cujas funções já são conhecidas por meio de programas como o BLAST [1]. Considerando a grande utilização do BLAST e constante crescimento dos bancos de dados públicos disponíveis para anotação de projetos, o subsistema de anotação foi implementado como um pipeline consistindo apenas de comparações com o programa BLAST. Isso foi feito pois esse é um dos procedimentos mais comuns e mais demorados de um projeto. Dado que os novos sequenciadores produzem muito mais sequências que os sequenciadores Sanger, o uso de processamento paralelo e/ou distríbuido pode ser essencial durante esta etapa. Por isso o subsistema de anotação implementado faz uso de threads para paralelizar o trabalho de anotação com o BLAST, criando diversos arquivos FASTA com as sequências dos singlets e contigs obtidos durante a montagem. Esses arquivos são então divididos entre as threads e cada uma executa o BLAST sobre os seus arquivos. Devido ao grande número de ferramentas disponíveis para anotação, não foi definida de fato uma interface para esta etapa. A interface definida para propósitos de testes apenas especifica a obtenção dos singlets e contigs do banco de dados e execução do BLAST sobre os mesmos. Esta interface pode vir a ser revista ou mudada conforme novos conhecimentos sobre os projetos com sequenciadores de alto desempenho são adquiridos. Apesar dos conhecidos problemas inerentes a programação paralela, o uso de threads para paralelismo da anotação não revelou grandes problemas, pois uma vez gravados os dados de singlets e contigs em diversos arquivos texto e divisão desses 52

53 arquivos entre as threads, não há necessidade de comunicação entre as mesmas ou compartilhamento de dados entre elas, evitando assim condições de corrida e outros problemas clássicos da programação paralela. O único requisito de sincronismo envolve que a thread responsável pelo controle do processo de anotação espere o término das demais threads, porém isso pode ser facilmente implementado em Java. No futuro, pretendemos usar algum projeto de grid, como o EELA-2 ou o GISELA 5.2 Detalhes técnicos Esta seção detalha diversos aspectos técnicos considerados no desenvolvimento do sistema, tais como a camada de persistência de dados utilizada e como o armazenamento foi efetivamente feito através do banco de dados PostgreSQL A camada de persistência Para evitar que a interface entre a camada de persistência e a camada de negócio contivesse muitas funções, uma para cada tipo de dado a ser armazenado pelo sistema, optou-se por utilizar o padrão de projeto command para simplificar a comunicação entre as camadas. Especificamente, foi definida uma hierarquia de classes que modelam comandos de acesso ao banco de dados, e foi definida uma interface que recebe como parâmetro um comando do topo da hierarquia. A classe que implementar a interface de persistência é responsável pela execução da classe que modela o comando no banco de dados. Isso permite uma interface entre a camada de persistência e de negócio contendo apenas uma função, toda vez que a camada de negócio necessitar persistir, alterar ou consultar algum dado, é necessário apenas instanciar a classe que modela o comando em questão e passá-la a camda de persistência para execução. A Figura 5.2 mostra a hierarquia básica de comandos, a partir da qual todos os comandos que realmente efetuam acesso ao banco de dados são derivados. A classe Comando é a classe base da hierarquia, contendo como atributo a consulta a ser efetuada no banco de dados e especificando um método que permita a execução dessa consulta no banco de dados. A classe ComandoAtualizacao implementa uma função executar capaz de efetuar atualizações no banco de dados, mas ainda é abstrata pois não prepara nenhuma consulta. A classe Comando- Consulta modela comandos de consulta com poucos resultados, capazes de serem armazenados na memória da máquina virtual java, esta classe, além de executar um comando de consulta, é capaz de retornar o resultado dessa consulta na forma de um objeto ResultSet. A classe ComandoConsultaBloco é uma classe derivada de comando consulta e modela consultas cujos resultados são muito grandes para serem armazenados na memória da máquina virtual java, ela define um método preparenextblock que deve preparar uma consulta capaz de retornar apenas um conjunto dos resultados possíveis, chamadas subsequentes ao método retornam os próximos resultados. Por fim, a classe ComandoInserir modela um comando de 53

54 Figura 5.2: Hierarquia das classes básicas de comando utilizadas na camada de persistência inserção de dados no banco de dados, bem como método auxiliares para desses comandos. Como se trata apenas de um protótipo, foram definidas poucas tabelas para o banco de dados, não sendo verificados aspectos como normalização. Para a fase de submissão, apenas uma tabela para armazenamento das informações sobre reads é utilizada, já na fase de montagem, utilizam-se três tabelas, uma tabela para armazenar informações sobre grupos derivados do alinhamento das reads com o genoma de referência, uma tabela para contigs e uma tabela para singlets. A fase de anotação pode vir a ter um número variável de tabelas, mas em geral são utilizadas duas tabelas para cada banco de dados usado na anotação, cada tabela armazena os resultados da anotação dos singlets e contigs naquele banco em particular. A Figura 5.3 mostra as tabelas utilizadas neste projeto, evidenciando os atributos das mesmas para o banco de dados PostgreSQL e o relacionamento entre elas Armazenamento de informações Todas as informações do pipeline foram armazenadas no banco de dados PostgreSQL, o PostgreSQL é um banco de dados objeto-relacional, suportando diversos recursos da linguagem SQL, bem como chaves estrangeiras, índices, joins e triggers. O PostgreSQL foi escolhido devido a grande robustez do mesmo e a experiência anterior da equipe com o mesmo, tendo sido utilizado em projetos passados de sequenciamento. Para armazenamento de dados de comprimento variáveis tais como as bases das reads bem como os respectivos valores de qualidades, utilizaram-se os arrays fornecidos pelo PostgreSQL, pois os mesmos não tem o tamanho limitado quando 54

55 Figura 5.3: Tabelas utilizadas no protótipo de pipeline desenvolvido da criação, podendo expandir dinamicamente e assim sendo adequados ao armazenamento desse tipo de dado em particular. Outros dados tais como o nome das sequências e resultados das anotações, que são variáveis porém um limite superior razoável pode ser estipulado foram armazenados utilizando-se o tipo de dados VARCHAR, o qual permite campos de tamanho variável até um limite máximo. Para permitir um processamento mais eficiente no armazenamento de informações de grupos, singlets e contigs, utilizou-se a funcionalidade de índices providas pelo PostgreSQL, os índices permitem acelerar consultas envolvendo os campos indexados, porém tornam as atualizações da tabela onde estão os campos mais lenta. Uma vez que os dados obtidos durante um projeto de sequenciamento são principalmente armazenados e consultados, e raramente removidos ou modificados, o ganho de desempenho provido pelos índices compensa a perda na atualização das tabelas. 5.3 Aplicação do pipeline com dados de Salmonella enterica Nesta seção são mostrados os resultados da aplicação do pipeline desenvolvido com dados da bactéria Salmonella enterica obtidos pela internet. Para verificar o comportamento do pipelinecom dados reais, foi baixado o arquivo FC2RF8X01.sff a partir do site ftp://ftp.era.ebi.ac.uk/vol1/era000/era000076/sff/, e os arquivos Typhi AG sff e Typhi 404ty sff a partir da url ftp: 55

56 //ftp.era-xml.ebi.ac.uk/era000/era000001/. Esses três arquivos contém um total de reads, essas reads foram processadas e inseridas no banco de dados pelo pipeline em aproximadamente 706 segundos. Na fase de mapeamento foi utilizado como genoma de referência o genoma de Salmonella enterica serovar Typhimurium que pode ser baixado pela url ftp:// ftp.ncbi.nih.gov/genbank/genomes/bacteria/salmonella_typhimurium_ LT2/, trata-se de um genoma de referência pequeno, contendo cerca de bases de DNA. Das reads obtidas na fase de submissão, foram mapeadas ao genoma de referência em questão, e não foram alinhadas. A partir desses dados, foram obtidos 7096 singlets e contigs na montagem, usando o CAP3. Na fase de anotação foi utilizado o banco de dados KOG, disponível em ftp: //ftp.ncbi.nih.gov/pub/cog/kog/kyva. Dos 7096 singlets obtidos, 3775 deles apresentaram algum hit no banco de dados, enquanto 3321 não apresentaram qualquer resultado contra o banco KOG. Em relação aos contigs, deles apresentaram algum resultado na comparação contra o banco de dados, enquanto somente 2840 não obtiveram qualquer resultado. A Tabela 5.1 mostra um resumo do número de sequências tratadas neste estudo de caso. Etapa Número de sequencias tempo Submissão m 11s Mapeamento m 43s Montagem m 35s Anotação h 52m Tabela 5.1: Número de sequências tratadas em cada etapa do pipeline e tempo necessário para execução de cada etapa. Estes tempos foram obtidos em um computador com 2 GB de memória RAM, um processador dual-core athlon 64X2 2.4 GHz, sistema operacional Kubuntu 9.04 e com um disco rígido de 13 GB. O tempo total para execução destas etapas foi de aproximadamente 1 hora e 50 minutos. Isso é significativo pois o experimento foi feito com um genoma bacteriano pequeno em comparação a genomas de alguns eucariotos e com um dos menores bancos de dados disponíveis para a etapa de anotação. Assim, caso fosse utilizado um genoma maior combinado com um banco de dados também muito maior, o tempo total para execução destes procedimentos poderia facilmente ultrapassar vários dias, mesmo com o processamento paralelo na etapa de anotação. Por exemplo, caso se utilizasse o banco de dados nr, com tamanho aproximadamente 60 vezes maior que o KOG, e fossem utilizadas 1 bilhão de reads providas do sequenciador Solexa Illumina, em um computador serial, sem threads, levaríamos cerca de = horas na etapa de anotação, o que equivale a aproximadamente 27 anos. Claramente, o processamento serial não seria viável neste contexto. 56

57 Capítulo 6 Conclusões e Trabalhos Futuros Durante o desenvolvimento deste trabalho, efetuou-se o desenvolvimento de um protótipo de pipeline para sequenciadores de alto desempenho contemplando quatro fases de um projeto de sequenciamento: submissão, mapeamento montagem e anotação. Através desse desenvolvimento verificou-se que o pipeline anteriormente utilizado para projetos de sequenciamento Sanger pode ser adaptado para projetos envolvendo sequenciadores de alto desempenho, sendo necessário, a princípio: 1. Utilizar bancos de dados capazes de armazenar grandes quantidades de dados, possivelmente da ordem de terabytes. 2. Adicionar mais uma etapa ao pipeline, denominada de mapeamento, que localiza as reads a um genoma de referência. 3. Utilizar processamento paralelo e/ou distribuido na fase de anotação para permitir a execução da mesma em tempo hábil. Foi desenvolvido um estudo de caso, usando-se dados de Salmonella enterica, O pipeline completo executou em menos de duas horas, com arquivos iniciais totalizando cerca de sequências. O filtro da montagem selecionou cerca de sequências agrupadas em cerca de grupos (contigs e singlets ). Foram anotados cerca de grupos utilizando BLAST com o banco de dados KOG. O pipeline executou todos os passos necessários em 1 hora e 52 minutos, pouco menos de 2 horas. O protótipo de pipeline em questão mostrou como é possível integrar diversas ferramentas para sequenciadores de alto desempenho a fim de realizar análise das sequências obtidas pelos novos sequenciadores. Além disso, o mesmo mostrou que a anotação continua a ser a fase com o maior custo de tempo e processamento, e permitiu a obtenção de dados em situações simples, porém reais, para permitir o cálculo de estimativas. Um possível trabalho futuro envolve a criação de um modelo de banco de dados para sequenciadores de alto desempenho, visto que o modelo de banco de dados adotado neste trabalho é muito simples e não pode ser utilizado em ambientes reais de produção.alternativamente, pode-se pensar em arquivos de informações, não usando SGDBs, que poderia tornar o armazenamento e recuperação de informações mais eficiente neste contexto. 57

58 Ainda com respeito a bancos de dados, o uso de bancos de dados heterôgeneos, onde são utilizados vários sistemas gerenciadores diferentes, cada qual armazenando uma parte dos dados totais, seria uma possível solução para permitir o armazenamento de dados dos novos sequenciadores utilizandos SGDBs. Um interessante trabalho futuro seria a adaptação do pipeline para permitir o uso de bancos de dados heterogêneos. Outro possível trabalho futuro envolve o uso de sistemas distribuídos na etapa de anotação para acelerar a execução da mesma, pois esta costuma ser a etapa mais demorada de um projeto de sequenciamento, podendo levar dias no sequenciamento Sanger. Provavelmente será utilizada a infra-estrutura do grid GISELA para testes e posterior execução de programas de BLAST distribuídos durante a etapa de anotação. Um outro possível trabalho futuro envolve a criação de um software para visualização do mapeamento das reads no genoma de referência durante a etapa de mapeamento, pois esta informação seria muito útil para posterior análise pelos biológos. 58

59 Referências [1] S. F. Altschul, W. Gish, W. Miller, E. W. Myers, and D.J. Lipman. Basic local alignment search tool. Journal of Molecular Biology, 215: , , 47, 48, 52 [2] M. J. Chaisson and P. A. Pevzner. Short read fragment assembly of bacterial genomes. Genome Research, pages , December , 52 [3] International Human Genome Sequencing Consortium. Initial sequencing and analysis of the human genome. Nature, 409: , February [4] A. E. Darling, L. Carey, and W. Feng. The design, implementation, and evaluation of mpiblast. Proceedings of ClusterWorld, [5] C. Darwin. On the Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life. John Murray, first edition, November [6] J. C. Dohm, C. Lottaz, T. Borodina, and H. Himmelbauer. SHARCGS, a fast and highly accurate short-read assembly algorithm for de novo genomic sequencing. Genome Research, pages , October [7] J. C. Dohm, C. Lottaz, T. Borodina, and H. Himmelbauer. Substantial biases in ultra-short read data sets from high-throughput DNA sequencing. Nucleic Acids Research, 36(16), July [8] A. J. G. Simpson et. al. The genome sequence of the plant pathogen Xylella fastidiosa. Nature, 406: , July [9] J. C. Venter et. al. The sequence of the human genome. Science, 291(5507): , February [10] B. Ewing, L. Hillier, and M. C. Wendl. Base-calling of automated sequencer traces using PHRED. i. accuracy assessment. Genome Research, 8: , [11] M. Y. Galperin and E. V. Koonin. Sequence - Evolution - Function: computational approaches in comparative genomics. Springer, second edition, [12] GOLD. Genomes online database, November

60 [13] D. Hernandez, P. François, L. Farinelli, and J. Schrenzel. De novo bacterial genome sequencing: Millions of very short reads assembled on a desktop computer. Genome Research, pages , March [14] X. Huang and A. Madan. CAP3:a DNA sequence assembly program. Genome Research, 9: , , 52 [15] W. R. Jeck, J. A. Reinhardt, D. A. Baltrus, M. T. Hickenbotham, V. Magrini, E. R. Mardis, J. L. Dangl, and C. D. Jones. Extending assembly of short DNA sequences to handle error. Bioinformatics Applications Note, 23: , September [16] W. J. Kent. BLAT-the BLAST-like alignment tool. Genome Research, 12: , [17] B. Langmead, C. Trapnell, M. Pop, and S. L. Salzberg. Ultrafast and memoryefficient alignment of short DNA sequences to the human genome. Genome Biology, March , 51 [18] H. Li, J. Ruan, and R Durbin. Mapping short DNA sequencing reads and calling variants using mapping quality scores. Genome Research, 18: , , 51 [19] E. R. Mardis. Next-generation DNA sequencing methods. Annual Review of Genomics and Human Genetics, 9: , , 31, 33, 35, 36 [20] J. R. Miller, A. L. Delcher, S. Koren, E. Venter, B. P. Walenz, A. Brownley, J. Johnson, K. Li1, C. Mobarry, and Granger Sutton. Aggressive assembly of pyrosequencing reads with mates. Bioinformatics Original Paper, 24: , October [21] D. R. P. Morais. Distblast: Blast distribuído no grid computacional eela-2. May [22] D. W. Mount. Bioinformatics: sequence and genome analysis. CSHL Press, second edition, [23] NCBI. National center for biotechnology information, [24] S. L. Salzberg, A. L. Delcher, S. Kasif, and O. White. Microbial gene identification using interpolated markov models. Nucleic Acids Research, 26: , [25] F. Sanger, S. Nicklen, and A. R. Coulson. DNA sequencing with chainterminating inhibitors. Proceedings of the National Academy of Sciences, 74: , December [26] J. Setubal and J. Meidanis. Introduction to Computational Molecular Biology. PWS Publishing Company, , 19 60

61 [27] T. F. Smith and M. S. Waterman. Identification of common molecular subsequences. Journal of Molecular Biology, pages , [28] A. Sundquist, M. Ronaghi, H. Tang, P. Pevzner, and S. Batzoglou. Wholegenome sequencing and assembly with high-throughput, short-read technologies. PLoS ONE, May [29] C. Trapnell and S. L. Salzberg. How to map billions of short read onto genomes. Nature biotechnology, 27: , May , 42 [30] B. E. Tropp and D. Freifelder. Molecular Biology: Genes to Proteins. Jones & Bartlett Publishers, third edition, [31] R. L. Warren, G. G. Sutton, S. J. M. Jones, and R. A. Holt. Assembling millions of short DNA sequences using ssake. Bioinformatics Applications Note, 23: , December [32] J. Watson and F. Crick. Molecular structure of nucleic acids: a structure for deoxyribose nucleic acid. Nature, 171: , April , 21 [33] D. R. Zerbino and E. Birney. Velvet: Algorithms for de novo short read assembly using de Bruijn graphs. Genome Research, pages , March

Hoje estudaremos a bioquímica dos ácidos nucléicos. Acompanhe!

Hoje estudaremos a bioquímica dos ácidos nucléicos. Acompanhe! Aula: 2 Temática: Ácidos Nucléicos Hoje estudaremos a bioquímica dos ácidos nucléicos. Acompanhe! Introdução: Os ácidos nucléicos são as moléculas com a função de armazenamento e expressão da informação

Leia mais

Princípios moleculares dos processos fisiológicos

Princípios moleculares dos processos fisiológicos 2012-04-30 UNIVERSIDADE AGOSTINHO NETO FACULDADE DE CIÊNCIAS DEI-BIOLOGIA ---------------------------------------------- Aula 5: Princípios moleculares dos processos fisiológicos (Fisiologia Vegetal, Ano

Leia mais

Equipe de Biologia. Biologia

Equipe de Biologia. Biologia Aluno (a): Série: 3ª Turma: TUTORIAL 5B Ensino Médio Equipe de Biologia Data: Biologia Ácidos nucléicos Os ácidos nucléicos são moléculas gigantes (macromoléculas), formadas por unidades monoméricas menores

Leia mais

Replicação Quais as funções do DNA?

Replicação Quais as funções do DNA? Replicação Quais as funções do DNA? Aula nº 4 22/Set/08 Prof. Ana Reis Replicação O DNA é a molécula que contém a informação para todas as actividades da célula. Uma vez que as células se dividem, é necessário

Leia mais

O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são

O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são Atividade extra Fascículo 2 Biologia Unidade 4 Questão 1 O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são chamados de genes. Assinale abaixo quais

Leia mais

MEDICINA VETERINÁRIA. Disciplina: Genética Animal. Prof a.: D rd. Mariana de F. Gardingo Diniz

MEDICINA VETERINÁRIA. Disciplina: Genética Animal. Prof a.: D rd. Mariana de F. Gardingo Diniz MEDICINA VETERINÁRIA Disciplina: Genética Animal Prof a.: D rd. Mariana de F. Gardingo Diniz TRANSCRIÇÃO DNA A transcrição é o processo de formação de uma molécula de RNA a partir de uma molécula molde

Leia mais

As bactérias operárias

As bactérias operárias A U A UL LA As bactérias operárias Na Aula 47 você viu a importância da insulina no nosso corpo e, na Aula 48, aprendeu como as células de nosso organismo produzem insulina e outras proteínas. As pessoas

Leia mais

BANCO DE QUESTÕES - BIOLOGIA - 1ª SÉRIE - ENSINO MÉDIO ==============================================================================================

BANCO DE QUESTÕES - BIOLOGIA - 1ª SÉRIE - ENSINO MÉDIO ============================================================================================== PROFESSOR: Leonardo Mariscal BANCO DE QUESTÕES - BIOLOGIA - 1ª SÉRIE - ENSINO MÉDIO ============================================================================================== Ácidos Nucleicos 01- Os

Leia mais

Criado e Desenvolvido por: RONNIELLE CABRAL ROLIM Todos os direitos são reservados 2015. www.tioronni.com

Criado e Desenvolvido por: RONNIELLE CABRAL ROLIM Todos os direitos são reservados 2015. www.tioronni.com Criado e Desenvolvido por: RONNIELLE CABRAL ROLIM Todos os direitos são reservados 2015. www.tioronni.com ÁCIDOS NUCLEICOS ÁCIDOS NUCLÉICOS: são substâncias formadoras de genes, constituídas por um grande

Leia mais

ÁCIDOS NUCLEÍCOS RIBOSSOMO E SÍNTESE PROTEÍCA

ÁCIDOS NUCLEÍCOS RIBOSSOMO E SÍNTESE PROTEÍCA ÁCIDOS NUCLEÍCOS RIBOSSOMO E SÍNTESE PROTEÍCA ÁCIDOS NUCLÉICOS: Moléculas orgânicas complexas, formadas polimerização de nucleotídeos (DNA e RNA) pela Contêm a informação que determina a seqüência de aminoácidos

Leia mais

Ácidos nucléicos. São polímeros compostos por nucleotídeos. Açúcar - pentose. Grupo fosfato. Nucleotídeo. Base nitrogenada

Ácidos nucléicos. São polímeros compostos por nucleotídeos. Açúcar - pentose. Grupo fosfato. Nucleotídeo. Base nitrogenada ÁCIDOS NUCLÉICOS Ácidos nucléicos São polímeros compostos por nucleotídeos Açúcar - pentose Nucleotídeo Grupo fosfato Base nitrogenada Composição dos Ácidos nucléicos pentoses: numeração da pentose: pentose

Leia mais

DNA E SÍNTESE PROTEICA

DNA E SÍNTESE PROTEICA Genética Animal DNA e síntese proteica 1 DNA E SÍNTESE PROTEICA Estrutura do DNA: -Molécula polimérica, cujos monômeros denominam-se nucleotídeos. -Constituição dos nucleotídeos: açúcar pentose (5 -desoxirribose)

Leia mais

Núcleo Celular. Biomedicina primeiro semestre de 2012 Profa. Luciana Fontanari Krause

Núcleo Celular. Biomedicina primeiro semestre de 2012 Profa. Luciana Fontanari Krause Núcleo Celular Biomedicina primeiro semestre de 2012 Profa. Luciana Fontanari Krause Núcleo Celular Eucarioto: núcleo delimitado por membrana nuclear (carioteca) Portador dos fatores hereditários e controlador

Leia mais

O fluxo da informação é unidirecional

O fluxo da informação é unidirecional Curso - Psicologia Disciplina: Genética Humana e Evolução Resumo Aula 3- Transcrição e Tradução Dogma central TRANSCRIÇÃO DO DNA O fluxo da informação é unidirecional Processo pelo qual uma molécula de

Leia mais

Bases Moleculares da Hereditariedade

Bases Moleculares da Hereditariedade UNIVERSIDADE FEDERAL DO PIAUÍ CENTRO DE CIÊNCIAS AGRÁRIAS PROG. DE PÓS GRAD. EM GENET. E MELHORAMENTO NÚCLEO DE ESTUDOS EM GENET. E MELHORAMENTO Bases Moleculares da Hereditariedade Ministrante: João Paulo

Leia mais

Projeto Genoma e Proteoma

Projeto Genoma e Proteoma Projeto Genoma e Proteoma Grupo 3: *Artur S. Nascimento *Bárbara S. Costa *Beatrice Barbosa *Tamyres S. E. Guimarães *Yara Cavalcante O que é genoma? O genoma é o conjunto de todo o material genético que

Leia mais

Bioinformática Aula 01

Bioinformática Aula 01 Bioinformática Aula 01 Prof. Ricardo Martins Ramos * * Doutorando em Genética e Toxicologia Aplicada CEFET-PI/ULBRA-RS Linha de Pesquisa Bioinformática Estrutural E-mail: [email protected] Visão Holística

Leia mais

Estrutura e função dos ácidos nucléicos. Profa. Melissa de Freitas Cordeiro-Silva

Estrutura e função dos ácidos nucléicos. Profa. Melissa de Freitas Cordeiro-Silva Estrutura e função dos ácidos nucléicos Profa. Melissa de Freitas Cordeiro-Silva > Polímeros de nucleotídeos Funções: DNA (ácido desoxirribonucléico) : > Armazenar as informações necessárias para a construção

Leia mais

- Ácido ribonucléico (ARN ou RNA): participa do processo de síntese de proteínas.

- Ácido ribonucléico (ARN ou RNA): participa do processo de síntese de proteínas. 1- TIPOS DE ÁCIDO NUCLÉICO: DNA E RNA Existem dois tipos de ácidos nucléicos: - Ácido desoxirribonucléico (ADN ou DNA): é o principal constituinte dos cromossomos, estrutura na qual encontramos os genes,

Leia mais

COMUNICAÇÃO DA INFORMAÇÃO NAS MOLÉCULAS DE DNA E RNA

COMUNICAÇÃO DA INFORMAÇÃO NAS MOLÉCULAS DE DNA E RNA COMUNICAÇÃO DA INFORMAÇÃO NAS MOLÉCULAS DE DNA E RNA Andréia Cristina Hypólito José 11075810 Fernando Caldas Oliveira 11085410 Giovana Zaninelli 11017210 Renato Fernandes Sartori 11061110 Rodrigo de Mello

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário

Leia mais

> ESTUDO DO RNA. (C) O ácido nucléico I é DNA e o II, RNA. (D) O ácido nucléico I é RNA e o II, DNA. (E) I é exclusivo dos seres procariontes.

> ESTUDO DO RNA. (C) O ácido nucléico I é DNA e o II, RNA. (D) O ácido nucléico I é RNA e o II, DNA. (E) I é exclusivo dos seres procariontes. Biologia > Citologia > Sintese Protéica > Alunos Prof. Zell (biologia) (C) O ácido nucléico I é DNA e o II, RNA. (D) O ácido nucléico I é RNA e o II, DNA. (E) I é exclusivo dos seres procariontes. > ESTUDO

Leia mais

Genética Humana. Prof. João Ronaldo Tavares de Vasconcellos Neto

Genética Humana. Prof. João Ronaldo Tavares de Vasconcellos Neto Genética Humana Prof. João Ronaldo Tavares de Vasconcellos Neto JAN/2012 Princípios Básicos As proteínas são vinculo entre genótipo e fenótipo; A expressão gênica é o processo pelo qual o DNA coordena

Leia mais

MEDICINA VETERINÁRIA. Disciplina: Genética Animal. Prof a.: Drd. Mariana de F. G. Diniz

MEDICINA VETERINÁRIA. Disciplina: Genética Animal. Prof a.: Drd. Mariana de F. G. Diniz MEDICINA VETERINÁRIA Disciplina: Genética Animal Prof a.: Drd. Mariana de F. G. Diniz Gene, é a unidade fundamental da hereditariedade. Cada gene é formado por uma sequência específica de ácidos nucléicos

Leia mais

CONTROLE DO METABOLISMO GENES

CONTROLE DO METABOLISMO GENES CONTROLE DO METABOLISMO GENES 10/06/15 1º ANO - BIOLOGIA 1 ESTRUTURA DO GENE Segmentos (pedaços) da molécula de DNA, o constituinte dos nossos cromossomos, onde estão inscritas receitas (códigos genéticos)

Leia mais

BASES NITROGENADAS DO RNA

BASES NITROGENADAS DO RNA BIO 1E aula 01 01.01. A determinação de como deve ser uma proteína é dada pelos genes contidos no DNA. Cada gene é formado por uma sequência de códons, que são sequências de três bases nitrogenadas que

Leia mais

ACESSO VESTIBULAR QUESTÕES DE PROCESSAMENTO DE RNA OU SPLICING 01. (MAMA 2007.1) PÁGINAS OCULTAS NO LIVRO DA VIDA

ACESSO VESTIBULAR QUESTÕES DE PROCESSAMENTO DE RNA OU SPLICING 01. (MAMA 2007.1) PÁGINAS OCULTAS NO LIVRO DA VIDA ACESSO VESTIBULAR QUESTÕES DE PROCESSAMENTO DE RNA OU SPLICING 01. (MAMA 2007.1) PÁGINAS OCULTAS NO LIVRO DA VIDA Os biólogos supunham que apenas as proteínas regulassem os genes dos seres humanos e dos

Leia mais

Programa de Pós-Graduação Stricto Sensu em Biologia Computacional e Sistemas. Seleção de Mestrado 2012-B

Programa de Pós-Graduação Stricto Sensu em Biologia Computacional e Sistemas. Seleção de Mestrado 2012-B Programa de Pós-Graduação Stricto Sensu em Biologia Computacional e Sistemas Seleção de Mestrado 2012-B INSTRUÇÕES (LEIA ATENTAMENTE ANTES DE PREENCHER A PROVA): a. Identifique sua prova unicamente com

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

1. (Unesp) A ilustração apresenta o resultado de um teste de paternidade obtido pelo método do DNA-Fingerprint, ou "impressão digital de DNA".

1. (Unesp) A ilustração apresenta o resultado de um teste de paternidade obtido pelo método do DNA-Fingerprint, ou impressão digital de DNA. Ácidos Nuclêicos 1. (Unesp) A ilustração apresenta o resultado de um teste de paternidade obtido pelo método do DNA-Fingerprint, ou "impressão digital de DNA". a) Segundo o resultado acima, qual dos homens,

Leia mais

Os primeiros indícios de que o DNA era o material hereditário surgiram de experiências realizadas com bactérias, sendo estas indicações estendidas

Os primeiros indícios de que o DNA era o material hereditário surgiram de experiências realizadas com bactérias, sendo estas indicações estendidas GENERALIDADES Todo ser vivo consiste de células, nas quais está situado o material hereditário. O número de células de um organismo pode variar de uma a muitos milhões. Estas células podem apresentar-se

Leia mais

Transcrição e Tradução. Profa. Dra. Juliana Garcia de Oliveira Disciplina: Biologia Celular e Molecular Turmas: Biologia, enfermagem, nutrição e TO.

Transcrição e Tradução. Profa. Dra. Juliana Garcia de Oliveira Disciplina: Biologia Celular e Molecular Turmas: Biologia, enfermagem, nutrição e TO. Transcrição e Tradução Profa. Dra. Juliana Garcia de Oliveira Disciplina: Biologia Celular e Molecular Turmas: Biologia, enfermagem, nutrição e TO. Tópicos abordados na aula Dogma Central da Biologia Molecular;

Leia mais

RNA: transcrição e processamento

RNA: transcrição e processamento Universidade Federal do Piauí Centro de Ciências Agrárias Programa de Pós-graduação em Genética e Melhoramento Núcleo de Estudos em Genética e Melhoramento Bases Moleculares da Hereditariedade RNA: transcrição

Leia mais

UNIVERSIDADE FEDERAL DE ALAGOAS INSTITUTO DE CIÊNCIAS BIOLÓGICAS E DA SAÚDE SETOR DE BIOLOGIA CELULAR E MOLECULAR

UNIVERSIDADE FEDERAL DE ALAGOAS INSTITUTO DE CIÊNCIAS BIOLÓGICAS E DA SAÚDE SETOR DE BIOLOGIA CELULAR E MOLECULAR UNIVERSIDADE FEDERAL DE ALAGOAS INSTITUTO DE CIÊNCIAS BIOLÓGICAS E DA SAÚDE SETOR DE BIOLOGIA CELULAR E MOLECULAR DISCIPLINA: BIOLOGIA CELULAR E MOLECULAR ESTUDO DIRIGIDO FLUXO DA INFORMAÇÃO GÊNICA págs:

Leia mais

Criado e Desenvolvido por: Todos os direitos são reservados 2015. www.tioronni.com

Criado e Desenvolvido por: Todos os direitos são reservados 2015. www.tioronni.com Criado e Desenvolvido por: Todos os direitos são reservados 2015. www.tioronni.com O NÚCLEO E A SÍNTESE PROTEÍCA O núcleo celular, descoberto em 1833 pelo pesquisador escocês Robert Brown, é uma estrutura

Leia mais

Bioinformática. Conceitos Fundamentais de Biologia Molecular. Paulo Henrique Ribeiro Gabriel [email protected]

Bioinformática. Conceitos Fundamentais de Biologia Molecular. Paulo Henrique Ribeiro Gabriel phrg@ufu.br Bioinformática Conceitos Fundamentais de Biologia Molecular Paulo Henrique Ribeiro Gabriel [email protected] Faculdade de Computação Universidade Federal de Uberlândia 24 de agosto de 2015 Paulo H. R. Gabriel

Leia mais

Resposta: Interbits SuperPro Web

Resposta: Interbits SuperPro Web 1. (Fuvest 2012) Uma mutação, responsável por uma doença sanguínea, foi identificada numa família. Abaixo estão representadas sequências de bases nitrogenadas, normal e mutante; nelas estão destacados

Leia mais

Novas Tecnologias de Sequenciamento

Novas Tecnologias de Sequenciamento Novas Tecnologias de Sequenciamento Tecnologias de sequenciamento Sanger (Capilaridade) Uma das inovações tecnológicas de maior influência na pesquisa biológica, desde que foi lançada em 1977 Abordagem

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

Introdução à Bioinformática. Prof. IVAné@

Introdução à Bioinformática. Prof. IVAné@ Introdução à Bioinformática Prof. IVAné@ Bioinformática União da ciência da computação com a biologia molecular É uma área nova Há 10 anos atrás o termo nem existia Depois da descoberta de Watson e Crick

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

Mitocôndrias e Cloroplastos

Mitocôndrias e Cloroplastos Universidade Federal de Sergipe Centro de Ciências Biológicas e da Saúde Departamento de Morfologia Biologia Celular Mitocôndrias e Cloroplastos Características gerais de mitocôndrias e cloroplastos Mitocôndrias

Leia mais

Estrutura e Função de Ácidos Nucléicos

Estrutura e Função de Ácidos Nucléicos UNIVERSIDADE DE SÃO PAULO INSTITUTO DE QUÍMICA DEPARTAMENTO DE BIOQUÍMICA QBQ0313 Estrutura e Função de Ácidos Nucléicos Flavia Carla Meotti Os Ácidos Nucléicos Função: armazenamento e transmissão da informação

Leia mais

A natureza química do material genético Miescher nucleínas. ácidos nucleicos. ácido desoxirribonucleico ácido ribonucleico Avery MacLeod McCarty

A natureza química do material genético Miescher nucleínas. ácidos nucleicos. ácido desoxirribonucleico ácido ribonucleico Avery MacLeod McCarty UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL COLÉGIO DE APLICAÇÃO Departamento de Ciências Exatas e da Natureza Disciplina: Biologia Professora: Lauren Valentim A natureza química do material genético A natureza

Leia mais

EXAME DE BIOLOGIA Prova de Acesso - Maiores 23 Anos (21 de Abril de 2009)

EXAME DE BIOLOGIA Prova de Acesso - Maiores 23 Anos (21 de Abril de 2009) INSTITUTO POLITÉCNICO DE BEJA EXAME DE BIOLOGIA Prova de Acesso - Maiores 23 Anos (21 de Abril de 2009) Nome do Candidato Classificação Leia as seguintes informações com atenção. 1. O exame é constituído

Leia mais

Painéis Do Organismo ao Genoma

Painéis Do Organismo ao Genoma Painéis Do Organismo ao Genoma A série de 5 painéis do organismo ao genoma tem por objetivo mostrar que os organismos vivos são formados por células que funcionam de acordo com instruções contidas no DNA,

Leia mais

BIOLOGIA MOLECULAR. Prof. Dr. José Luis da C. Silva

BIOLOGIA MOLECULAR. Prof. Dr. José Luis da C. Silva BIOLOGIA MOLECULAR Prof. Dr. José Luis da C. Silva BIOLOGIA MOLECULAR A Biologia Molecular é o estudo da Biologia em nível molecular, com especial foco no estudo da estrutura e função do material genético

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

Sistemas de Informações Gerenciais

Sistemas de Informações Gerenciais Sistemas de Informações Gerenciais Aula 3 Sistema de Informação Conceito, Componentes e Evolução Professora: Cintia Caetano INTRODUÇÃO Conceito: Um Sistema de Informação (SI) é um sistema cujo elemento

Leia mais

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP Paulo Fernando da Silva [email protected] Sérgio Stringari stringari@furbbr Resumo. Este artigo apresenta a especificação

Leia mais

DNA barcoding é um método que utiliza um trecho do DNA de cerca de 650 nucleotídeos como marcador para caracterizar espécies. Trata-se de uma sequência extremamente curta em relação à totalidade do genoma,

Leia mais

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:

Leia mais

Replicação do DNA a Nível Molecular

Replicação do DNA a Nível Molecular Replicação do DNA a Nível Molecular Função do DNA Transferência de informação Copiada em DNA (Replicação) Traduzida em proteína Modelo de replicação do DNA proposto por Watson e Crick Replicação ou Duplicação?

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

GENÉTICA VII APLICAÇÕES DO CONHECIMENTO GENÉTICO

GENÉTICA VII APLICAÇÕES DO CONHECIMENTO GENÉTICO GENÉTICA VII APLICAÇÕES DO CONHECIMENTO GENÉTICO Prof. Jose Amaral/2012/2013 Metabolismo de controle O metabolismo é controlado pelos ácidos nucléicos, compostos que coordenam uma série de reações em que

Leia mais

O processo da Expressão Gênica

O processo da Expressão Gênica Coordenadoria de Educação e Difusão de Ciências Rua 9 de Julho, 1205 - São Carlos - São Paulo e-mail: [email protected] Telefone: (16) 3373-9159 http://cbme.ifsc.usp.br http://cbme.usp.br O processo da

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf ([email protected]) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

SÍNTESES NUCLEARES. O DNA éo suporte da informação genética. Parte 1 Replicação

SÍNTESES NUCLEARES. O DNA éo suporte da informação genética. Parte 1 Replicação SÍNTESES NUCLEARES O DNA éo suporte da informação genética Parte 1 Replicação Estrutura do DNA Replicação do DNA Nucleótidos A informação genética das células é armazenada sob a forma de 2 moléculas similares:

Leia mais

4 Segmentação. 4.1. Algoritmo proposto

4 Segmentação. 4.1. Algoritmo proposto 4 Segmentação Este capítulo apresenta primeiramente o algoritmo proposto para a segmentação do áudio em detalhes. Em seguida, são analisadas as inovações apresentadas. É importante mencionar que as mudanças

Leia mais

BASES MACROMOLECULARES DA CONSTITUIÇÃO CELULAR

BASES MACROMOLECULARES DA CONSTITUIÇÃO CELULAR BASES MACROMOLECULARES DA CONSTITUIÇÃO CELULAR As moléculas que constituem as células são formadas pelos mesmos átomos encontrados nos seres inanimados. Todavia, na origem e evolução das células, alguns

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

15 Computador, projeto e manufatura

15 Computador, projeto e manufatura A U A UL LA Computador, projeto e manufatura Um problema Depois de pronto o desenho de uma peça ou objeto, de que maneira ele é utilizado na fabricação? Parte da resposta está na Aula 2, que aborda as

Leia mais

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental Ajuda ao SciEn-Produção 1 Este texto de ajuda contém três partes: a parte 1 indica em linhas gerais o que deve ser esclarecido em cada uma das seções da estrutura de um artigo cientifico relatando uma

Leia mais

DNA A molécula da vida. Prof. Biel Série: 9º ano

DNA A molécula da vida. Prof. Biel Série: 9º ano DNA A molécula da vida Prof. Biel Série: 9º ano DNA FINGER-PRINTING A expressão DNA "Finger-Print" (ou Impressões Genéticas) designa uma técnica de separação de segmentos de DNA que permite a identificação

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração. O software de tarifação é uma solução destinada a rateio de custos de insumos em sistemas prediais, tais como shopping centers. O manual do sistema é dividido em dois volumes: 1) MANUAL DO INTEGRADOR Este

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)

Leia mais

Ácidos Nucleicos 22/12/2011. Funções do Material Genético. informação genética.

Ácidos Nucleicos 22/12/2011. Funções do Material Genético. informação genética. Ácidos Nucleicos Profa. Dra. Juliana Garcia de Oliveira Disciplina: Biologia Celular e Molecular Turmas: Ciências Biológicas, enfermagem, nutrição e TO. Funções do Material Genético Mendel, 1865: genes

Leia mais

2. Função Produção/Operação/Valor Adicionado

2. Função Produção/Operação/Valor Adicionado 2. Função Produção/Operação/Valor Adicionado Conteúdo 1. Função Produção 3. Administração da Produção 1 Bibliografia Recomenda Livro Texto: Introdução à Administração Eunice Lacava Kwasnicka - Editora

Leia mais

DO GENE À PROTEÍNA ALGUNS CONCEITOS BASICOS COMO SE ORGANIZAM OS NUCLEÓTIDOS PARA FORMAR O DNA?

DO GENE À PROTEÍNA ALGUNS CONCEITOS BASICOS COMO SE ORGANIZAM OS NUCLEÓTIDOS PARA FORMAR O DNA? DO GENE À PROTEÍNA O processo de formação das proteínas no ser humano pode ser difícil de compreender e inclui palavras e conceitos que possivelmente nos são desconhecidos. Assim, vamos tentar explicar

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Sequenciamento de DNA

Sequenciamento de DNA Sequenciamento de DNA Figure 8-50a Molecular Biology of the Cell ( Garland Science 2008) Método de Sanger Reação de síntese de DNA por uma DNA polimerase A incorporação de um dideoxinucleotídeo interrompe

Leia mais

TRANSCRICAO E PROCESSAMENTO DE RNA

TRANSCRICAO E PROCESSAMENTO DE RNA TRANSCRICAO E PROCESSAMENTO DE RNA Número de genes para RNA RNA ribossômico - rrna Os rrnas correspondem a 85 % do RNA total da célula, e são encontrados nos ribossomos (local onde ocorre a síntese proteíca).

Leia mais

Análise de Ponto de Função

Análise de Ponto de Função Complemento para o Curso Análise de Ponto de Função FUNÇÕES DO TIPO DADO O termo Arquivo não significa um arquivo do sistema operacional, como é comum na área de processamento de dados. Se refere a um

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon ([email protected].

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon ([email protected]) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

Sphinx Scanner Informações gerais V 5.1.0.8

Sphinx Scanner Informações gerais V 5.1.0.8 Sphinx Scanner Informações gerais V 5.1.0.8 Pré-requisitos: Possuir modalidade scanner no software Sphinx A SPHINX Brasil propõe uma solução de leitura automática de questionários por scanner. O Sphinx

Leia mais

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE 1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

Genes. Menor porção do DNA capaz de produzir um efeito que pode ser detectado no organismo. Região do DNA que pode ser transcrita em moléculas de RNA.

Genes. Menor porção do DNA capaz de produzir um efeito que pode ser detectado no organismo. Região do DNA que pode ser transcrita em moléculas de RNA. Genes Menor porção do DNA capaz de produzir um efeito que pode ser detectado no organismo. Região do DNA que pode ser transcrita em moléculas de RNA. Ácidos nucleicos Os ácidos nucléicos são macromoléculas

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

REAÇÃO EM CADEIA DA POLIMERASE (PCR)

REAÇÃO EM CADEIA DA POLIMERASE (PCR) Área de Ciências da Saúde Curso de Medicina Módulo: Saúde do Adulto e Idoso II GENÉTICA HUMANA Professora: Dra. Juliana Schmidt REAÇÃO EM CADEIA DA POLIMERASE (PCR) A molécula de DNA é um longo polímero

Leia mais

TRANSCRIÇÃO DO DNA: Tipos de RNA

TRANSCRIÇÃO DO DNA: Tipos de RNA TRANSCRIÇÃO DO DNA: Síntese do mrna Gene (Unidades transcricionais) Tipos de RNA Tipos de RNA polimerase Tipos de RNA polimerase DNA dependente Transcrição em Procariotos Transcrição em Eucariotos Mecanismos

Leia mais

O processo fisiológico que está representado no gráfico é

O processo fisiológico que está representado no gráfico é Questão 01) Analise o gráfico a seguir. Disponível em: . Acesso em: 22 set. 2014. O processo fisiológico que está representado no gráfico é a) o efeito do aumento

Leia mais

CHECK - LIST - ISO 9001:2000

CHECK - LIST - ISO 9001:2000 REQUISITOS ISO 9001: 2000 SIM NÃO 1.2 APLICAÇÃO A organização identificou as exclusões de itens da norma no seu manual da qualidade? As exclusões são relacionadas somente aos requisitos da sessão 7 da

Leia mais

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE Mariane Alves Gomes da Silva Eliana Zandonade 1. INTRODUÇÃO Um aspecto fundamental de um levantamento

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia [email protected] ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

BIOLOGIA - 1 o ANO MÓDULO 08 RIBOSSOMOS E SÍNTESE PROTEICA

BIOLOGIA - 1 o ANO MÓDULO 08 RIBOSSOMOS E SÍNTESE PROTEICA BIOLOGIA - 1 o ANO MÓDULO 08 RIBOSSOMOS E SÍNTESE PROTEICA Fixação 1) (UNICAMP) Considere um fragmento de DNA com a seguinte sequência de bases: GTA GCC TAG E responda: a) Qual será a sequência

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

48 Como produzimos a insulina?

48 Como produzimos a insulina? A U A UL LA Como produzimos a insulina? Na aula passada você estudou a importância da insulina no nosso organismo. Dá para imaginar o que aconteceria conosco se não fabricássemos esse hormônio ou se o

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

BIOTECNOLOGIA. 2. Conceito de clonagem molecular

BIOTECNOLOGIA. 2. Conceito de clonagem molecular BIOTECNOLOGIA 1. Introdução Até a década de 70, o DNA era o componente celular mais difícil de ser analisado. Sua seqüência de nucleotídeos de enorme tamanho e monotonia química era geralmente analisada

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

Leia mais

Síntese Artificial de Peptídeos

Síntese Artificial de Peptídeos Síntese Artificial de Peptídeos Rebeca Bayeh Seminário apresentado para a disciplina Princípios Físicos Aplicados à Fisiologia (PGF530) Prof. Dr. Adriano Mesquita Alencar Segundo semestre de 2013 Motivação

Leia mais