No decorrer das últimas décadas, a comunidade de pesquisa médica testemunhou um gigantesco aumento na criação de dados genéticos e outros dados biomoleculares sobre pacientes humanos. No entanto, a capacidade de interpretar significativamente essas informações e convertê-las em avanços no cuidado dos pacientes tem sido muito mais modesta. A dificuldade de acessar, compreender e reutilizar dados, métodos de análise ou modelos de doença entre os diversos laboratórios com especialidades complementares é uma grande barreira para interpretação efetiva dos dados genômicos. A Sage Bionetworks é uma organização de pesquisa biomédica sem fins lucrativos que procura revolucionar o modo como os pesquisadores trabalham em conjunto promovendo uma mudança para um ambiente de pesquisa transparente, aberto. Tal mudança beneficiaria pacientes futuros, acelerando o desenvolvimento de tratamentos de doenças, e a sociedade como um todo pela redução dos custos e pela eficácia da assistência médica.

sagebio-synapse-whiteboard

Para estimular a colaboração entre os pesquisadores, a Sage Bionetworks desenvolveu um ambiente on-line chamado de Synapse. O Synapse hospeda conjuntos de dados clínicos e genômicos, e fornece aos pesquisadores uma plataforma para análises colaborativas. Assim como a GitHub e Source Forge fornecem ferramentas e código compartilhado para engenheiros de software, o Synapse fornece um espaço de computação compartilhado e um conjunto de ferramentas de análise para pesquisadores. O Synapse tira proveito de uma variedade de produtos da AWS para manipular tarefas de infraestrutura básicas, que tem liberado a equipe de desenvolvimento da Sage Bionetworks para se concentrarem nos aspectos exclusivos da sua aplicação e cientificamente mais relevantes.

O Amazon Simple Workflow Service (Amazon SWF) é uma tecnologia chave baseada no Synapse. O Synapse conta com o Amazon SWF para orquestrar fluxos de trabalho científicos complexos e heterogêneos. Michael Kellen, diretor de tecnologia da Sage Bionetworks, comenta: “O SWF nos permitiu decompor de modo rápido pipelines de análise, de maneira ordenada, separando a lógica de transição do estado das atividades realizadas em cada etapa da pipeline. Isso permitiu que os engenheiros de software trabalhassem na lógica de transição de estado e que os nossos cientistas implementassem atividades, isso tudo ao mesmo tempo. Além disso, usando o Amazon SWF, o Synapse pode usar uma heterogeneidade de recursos de computação incluindo nossos servidores hospedados internamente, a infraestrutura compartilhada hospedada nos sites de nossos parceiros e recursos públicos, como o Amazon’s Elastic Compute Cloud (Amazon EC2). Isso nos proporciona imensa flexibilidade sobre onde executar trabalho de computação que permite que o Synapse tire proveito da combinação certa da infraestrutura de cada projeto.”

sage-bionetworks-2-arch-diagram

Um dos pilotos iniciais do Synapse era um projeto denominado MetaGEO. A finalidade do MetaGEO é melhorar a compreensão e o uso dos dados de expressão gênica humana para prever os principais causadores de doenças. Usando o Amazon SWF, a equipe da Sage Bionetworks criou uma pipeline para analisar automaticamente uma coleção de conjuntos de dados acessíveis da Gene Expression Omnibus (GEO – Coleção de Dados de Expressão Gênica) do National Center for Biotechnology Information (NCBI – Centro Nacional de Informações Biotecnológicas). Essa coleção inclui cerca de 8.000 conjuntos de dados, cada qual se estendendo de cerca de 100 MB a aproximadamente 100 GB. Essa pipeline primeiro adicionou anotações significativas para ajudar os pesquisadores a compreender os conjuntos de dados que eles selecionaram para processamento. A pipeline aplicou métodos numéricos para remover elementos de dados errôneos, sem uso. A atividade de controle de qualidade numérica é o conjunto de dados chamado informalmente de “QCing”. Assim que essa etapa é concluída, os cientistas podem extrair os dados agregados entre vários estudos para procurar genes expressos consistentemente como associados a uma determinada doença. Antes de usar o SWF, esse tipo de processamento levava um tempo muito longo. Inicialmente, os cientistas implementaram seus algoritmos escrevendo scripts Perl individuais para executar cálculos nos dados agregados. Eles podiam ter seus dados analisados, mas acompanhar trabalhos de computação com falha era um trabalho manual, tedioso, já que executavam análise de causa raiz. E com uma abordagem desse tipo, os cientistas não podiam tirar proveito de nenhum processamento paralelo. O que o Synapse precisava era de um mecanismo confiável para coordenar vários trabalhos e controlá-los mesmo quando vários deles executavam em paralelo ou tinham dependências entre eles.

Como parte de um programa beta privado, a equipe da Sage Bionetworks foi apresentada ao Amazon SWF, um serviço da AWS que já estava em uso dentro da AWS e da Amazon.com. A equipe Sage Bionetworks encontrou no Amazon SWF uma estrutura perfeita em que basear o Synapse. Eles usaram o AWS Flow Framework para programar um fluxo de trabalho de ordem maior tendo uma etapa de iniciação, seguida por duas etapas de processamento que são definidas como outro fluxo de trabalho. Na etapa de iniciação, um “crawler”consulta o site GEO para localizar conjuntos de dados de interesse e fazer download dos metadados de cada conjunto de dados. Para cada conjunto de dados, uma nova instância de fluxo de trabalho é criada programaticamente para executar as etapas de processamento. Como o Amazon SWF permite que clientes tenham milhões de execuções de fluxo de trabalho concorrentes abertas, todos esses conjuntos de dados podem ser processados em paralelo suportando as necessidades de computação de diversos usuários simultâneos. Em cada execução do fluxo de trabalho, primeiro a etapa de "indexação" carrega no Synapse os metadados e os links da web apontando para o GEO. Segundo, a etapa “QC” processa os dados brutos e carrega no Synapse os dados automaticamente organizados.

sage-bionetworks-3-arch-diagram

Enquanto a lógica de coordenação geral é escrita em Java, a lógica do crawler e do QC foi escrita independentemente pelos cientistas em R e Perl. A lógica de coordenação é escrita usando o AWS Flow Framework como se ela fosse um único programa Java encadeado. A estrutura trabalha em conjunto com o serviço para decompor a lógica em tarefas assíncronas, distribuídas. A lógica do crawler e do QC foi escrita independentemente pelos cientistas em R e Perl e executa em recursos de computação heterogêneos. Usando as listas de tarefas do Amazon SWF, o Synapse pode especificar o requisito de memória para cada execução com base no tamanho do conjunto de dados a ser processado. A Amazon SWF roteia tarefas para servidores devidamente dimensionados onde a lógica do QC executa. O Amazon SWF facilita a captura de rastreamentos de execução mesmo se a execução for distribuída na natureza – esses rastreamentos estão sempre disponíveis para análise no AWS Management Console. Usando o AWS Management Console, os engenheiros do Synapse podem reconciliar os resultados e analisar as informações no log em uma base por execução.

Usando o Amazon SWF, o Synapse agora pode executar algoritmos de análise de dados escritos pelos cientistas em diversas linguagens de programação, em paralelo em um conjunto heterogêneo de servidores. A Sage Bionetworks estima que para criar uma estrutura de orquestração mínima no Synapse custaria mais de 100.000 USD de trabalho de engenharia de software para iniciar e mais à medida que a orquestração precisasse crescer. O Amazon SWF os libera de ter de lidar com as complexidades de coordenação distribuída e permite que eles se concentrem na sua missão principal. À medida que a Sage Bionetworks desenvolver o Synapse em uma plataforma de computação científica com interações sociais, ela estará usando muitos recursos mais avançados no Amazon SWF e no AWS Flow Framework – sem a necessidade de gastar tempo e esforço para desenvolvê-los.

Brig Mecham é um dos cientistas que usam o Amazon SWF para processar bilhões de medições biológicas que têm o potencial de desbloquear aspectos principais de doenças humanas complexas incluindo câncer, Alzheimer e diabetes. Brigs alega, “De todo o aperfeiçoamento obtido com o Amazon SWF para a nossa plataforma de computação, o mais importante é que ele nos permitiu começar a utilizar os dados, de maneira rápida e eficiente, para seu verdadeiro fim: identificar curas para doenças humanas”.

Para saber mais, visite http://sagebase.org/synapse-overview/.