Visão geral
O Cloud Life Sciences é um conjunto de serviços e ferramentas para gerenciar, processar e transformar dados de ciências da saúde. Ele também permite insights avançados e fluxos de trabalho operacionais usando uma infraestrutura altamente escalonável e compatível. O Cloud Life Sciences inclui recursos como a API Cloud Life Sciences, as ferramentas extract-transform-load (ETL) e muito mais.
Esta página fornece uma visão geral dos serviços e ferramentas que o Cloud Life Sciences oferece e como é possível usar os recursos da ferramenta com seus dados de ciências da saúde.
Visão geral da API Cloud Life Sciences
A API Cloud Life Sciences oferece uma maneira simples de executar uma série de contêineres do Compute Engine no Google Cloud. A API Cloud Life Sciences é constituída por uma única operação principal:
projects.locations.pipelines.run
: executa um pipeline.
E três operações genéricas:
projects.locations.operations.get
: recebe o estado mais recente de um pipeline.projects.locations.operations.list
: lista todos os pipelines em execução em uma região do Google Cloud no seu projeto do Google Cloud.projects.locations.operations.cancel
: cancela um pipeline.
A API Cloud Life Sciences foi pensada para desenvolvedores que querem criar ferramentas de gerenciamento de jobs (como o dsub) ou mecanismos de fluxo de trabalho (como o Cromwell). A API Cloud Life Sciences disponibiliza um back-end para essas ferramentas e sistemas, oferece o agendamento de jobs para tarefas baseadas no Docker que realizam análises genômicas secundárias em contêineres do Compute Engine. É possível enviar operações em lote de qualquer lugar e executá-las no Google Cloud. As imagens do Docker podem ser empacotadas manualmente ou é possível usar imagens existentes do Docker.
A forma mais comum de uso da API Cloud Life Sciences é executar uma ferramenta existente ou script personalizado que lê e grava arquivos, normalmente para e do Cloud Storage. A API Cloud Life Sciences pode ser executada de forma independente em centenas ou milhares desses arquivos.
É possível acessar a API Cloud Life Sciences usando a API REST, a API RPC ou a Google Cloud CLI.
Como executar a API Cloud Life Sciences
Se você estiver criando um mecanismo de fluxo de trabalho, uma série típica de etapas que o mecanismo executará é:
- Como analisar a linguagem do fluxo de trabalho de entrada e construir uma série de objetos
Pipeline
com formatação JSON que a API Cloud Life Sciences aceita. O mecanismo envia uma série de solicitações definidas no objetoPipeline
para a API Cloud Life Sciences. - Como monitorar as solicitações e mesclar as saídas das solicitações antes de ir para a próxima etapa.
Veja a seguir uma explicação mais detalhada da primeira etapa:
O pipeline é executado chamando o método pipelines.run
.
Esse método usa um objeto Pipeline
e um conjunto opcional de rótulos para começar a executar um pipeline. O objeto Pipeline
consiste em uma ou mais descrições Action
e um objeto Resources
que descreve quais recursos do Google Cloud são necessários para executar o pipeline.
O exemplo a seguir mostra como configurar um Pipeline
que executa um Action
único (imprimindo "Hello, world" no terminal) em uma VM pequena e padrão (n1-standard-1
):
"pipeline": {
"actions": [
{
"imageUri": "bash",
"commands": [ "-c", "echo Hello, world" ]
},
],
"resources": {
"regions": ["us-central11"],
"virtualMachine": {
"machineType": "n1-standard-1",
}
}
}
O exemplo a seguir mostra como configurar um objeto Action
que executa vários comandos. O Action
copia um arquivo do Cloud Storage para a VM, calcula e verifica o SHA-1 hash do arquivo e grava o arquivo no bucket original do Cloud Storage.
"actions": [
{
"imageUri": "google/cloud-sdk",
"commands": [ "gsutil", "cp", "gs://my-bucket/input.in", "/tmp" ]
},
{
"imageUri": "bash",
"commands": [ "-c", "sha1sum /tmp/in > /tmp/test.sha1" ]
},
{
"imageUri": "google/cloud-sdk",
"commands": [ "gsutil", "cp", "/tmp/output.sha1", "gs://my-bucket/output.sha1" ]
},
],
Chamar pipelines.run
retorna uma operação de longa duração que é possível consultar para ver o status de ou cancelar o pipeline.
Ciclo de vida de uma solicitação da API Cloud Life Sciences
O ciclo de vida típico de um pipeline em execução na API Cloud Life Sciences é o seguinte:
- A API Cloud Life Sciences aloca os recursos do Google Cloud necessários para executar o pipeline. No mínimo, isso geralmente envolve a alocação de uma máquina virtual (VM) do Compute Engine com espaço no disco.
- Depois que uma VM é disponibilizada, a API Cloud Life Sciences executa cada ação definida no pipeline. Essas ações executam operações como copiar arquivos de entrada, processar dados ou copiar arquivos de saída.
- O pipeline libera todos os recursos alocados, incluindo a exclusão de todas as VMs criadas.
ETL do BigQuery usando a ferramenta Variant Transforms
Para carregar seus dados de ciências da saúde no BigQuery para uma análise adicional, use a ferramenta Variants Transforms.
A Variant Transforms é uma ferramenta de código aberto baseada no Apache Beam e usa o Dataflow. A Variant Transforms é a ferramenta recomendada para transformar e carregar dados genômicos no Google Cloud para uma análise posterior.
Como usar outras tecnologias do Google Cloud com dados de ciências da saúde.
Existem várias tecnologias do Google Cloud que interagem com o Cloud Life Sciences ou podem ser usadas para analisar e processar dados de ciências da saúde. São elas:
- BigQuery: use o BigQuery para consultas ad-hoc de grandes conjuntos de dados estruturados, como variantes genômicas. Os casos de uso incluem a análise das variantes e executam consultas
JOIN
complexas para analisar ou sobrepor dados descritos por intervalos regionais genômicos. A ferramenta Variant Transforms fornece uma maneira de transformar e carregar arquivos VCF diretamente no BigQuery. - Cloud Storage: use o Cloud Storage como um repositório de objetos para VCF bruto, FASTQ e BAM que possível carregar no BigQuery usando a Variant Transforms para a análise em larga escala.
- Dataflow: a ferramenta Variant Transforms usa o Dataflow para criar pipelines de processamento de dados altamente escalonáveis que carregam dados no BigQuery.