Panoramica
Cloud Life Sciences è una suite di servizi e strumenti per la gestione, l'elaborazione e la trasformazione dei dati delle scienze biologiche. Inoltre, consente approfondimenti e flussi di lavoro operativi avanzati utilizzando un'infrastruttura altamente scalabile e conforme. Cloud Life Sciences include funzionalità come l'API Cloud Life Sciences, gli strumenti ETL (estrazione, trasformazione e caricamento) e altro ancora.
Questa pagina fornisce una panoramica dei servizi e degli strumenti offerti da Cloud Life Sciences (e da Google Cloud in generale) e di come puoi sfruttare le relative funzionalità con i tuoi dati di scienze biologiche.
Panoramica dell'API Cloud Life Sciences
L'API Cloud Life Sciences offre un modo semplice per eseguire una serie di contenitori Compute Engine su Google Cloud. L'API Cloud Life Sciences è composta da un'unica operazione principale:
projects.locations.pipelines.run
: esegue una pipeline.
E tre operazioni generiche:
projects.locations.operations.get
: recupera lo stato più recente di una pipeline.projects.locations.operations.list
: elenca tutte le pipeline in esecuzione in una regione Google Cloud nel tuo progetto Google Cloud.projects.locations.operations.cancel
: annulla una pipeline.
L'API Cloud Life Sciences è rivolta agli sviluppatori che vogliono utilizzare o creare strumenti di gestione dei job, come dsub, o motori di flusso di lavoro, come Cromwell. L'API Cloud Life Sciences fornisce un backend per questi strumenti e sistemi, offrendo la pianificazione dei job per le attività basate su Docker che eseguono analisi genomiche secondarie sui contenitori Compute Engine. Puoi inviare operazioni collettive da qualsiasi luogo ed eseguirle su Google Cloud. Le immagini Docker possono essere pacchettizzate manualmente oppure puoi utilizzare immagini Docker esistenti.
Il caso d'uso più comune quando si utilizza l'API Cloud Life Sciences è eseguire uno strumento o uno script personalizzato esistente che legga e scriva file, in genere da e verso Cloud Storage. L'API Cloud Life Sciences può essere eseguita in modo indipendente su centinaia o migliaia di questi file.
Puoi accedere all'API Cloud Life Sciences utilizzando l'API REST, l'API RPC o Google Cloud CLI.
Eseguire l'API Cloud Life Sciences
Se stai creando un motore di flusso di lavoro, una serie di passaggi tipica che il motore eseguirà è la seguente:
- Analizza il linguaggio del flusso di lavoro di input e crea una serie di oggetti
Pipeline
in formato JSON accettati dall'API Cloud Life Sciences. Il motore invia una serie di richieste definite nell'oggettoPipeline
all'API Cloud Life Sciences. - Monitora le richieste e unisci gli output delle richieste prima di continuare con il passaggio successivo.
Di seguito viene fornita una spiegazione più approfondita del primo passaggio:
La pipeline viene eseguita chiamando il metodo pipelines.run
.
Questo metodo prende un oggetto
Pipeline
e un insieme facoltativo di etichette per avviare l'esecuzione di una pipeline. L'oggetto Pipeline
è costituito da una o più descrizioni Action
e da un oggetto Resources
che descrive le risorse Google Cloud necessarie per eseguire la
pipeline.
L'esempio seguente mostra come configurare un Pipeline
semplice che esegue un singolo Action
(che stampa "Hello, world" sul terminale) su una VM piccola e standard (n1-standard-1
):
"pipeline": {
"actions": [
{
"imageUri": "bash",
"commands": [ "-c", "echo Hello, world" ]
},
],
"resources": {
"regions": ["us-central11"],
"virtualMachine": {
"machineType": "n1-standard-1",
}
}
}
L'esempio seguente mostra come configurare un oggetto Action
che esegue più comandi. Action
copia un file da Cloud Storage
alla VM, calcola e verifica l'hash SHA-1 del file e poi
riscrive il file nel bucket Cloud Storage originale.
"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" ]
},
],
La chiamata a pipelines.run
restituisce un'operazione a lungo termine
su cui puoi eseguire query per ottenere lo stato della pipeline o annullarla.
Ciclo di vita di una richiesta dell'API Cloud Life Sciences
Il ciclo di vita tipico di una pipeline in esecuzione sull'API Cloud Life Sciences è il seguente:
- L'API Cloud Life Sciences alloca le risorse Google Cloud necessarie per eseguire la pipeline. In genere, questo comporta almeno l'allocazione di una macchina virtuale (VM) Compute Engine con spazio su disco.
- Quando una VM diventa disponibile, l'API Cloud Life Sciences esegue ogni azione definita nella pipeline. Queste azioni eseguono operazioni come la copia dei file di input, l'elaborazione dei dati o la copia dei file di output.
- La pipeline rilascia le risorse allocate, inclusa l'eliminazione di eventuali VM create.
ETL BigQuery con lo strumento Variant Transforms
Per caricare i dati di Life Sciences in BigQuery per ulteriori analisi, utilizza lo strumento Variant Transforms.
Variant Transforms è uno strumento open source basato su Apache Beam e utilizza Dataflow. Variant Transforms è il modo consigliato per trasformare e caricare i dati genomici in Google Cloud per ulteriori analisi.
Utilizzo di altre tecnologie Google Cloud con i dati di scienze biologiche
Esistono diverse tecnologie Google Cloud che interagiscono con Cloud Life Sciences o che possono essere utilizzate per analizzare ed elaborare i dati delle scienze biologiche. Queste includono:
- BigQuery: utilizza
BigQuery per query ad hoc di set di dati strutturati di grandi dimensioni,
come le varianti genomiche. I casi d'uso includono l'analisi delle varianti
e l'esecuzione di query
JOIN
complesse per analizzare i dati descritti da intervalli regionali o sovrapposizioni genomiche. Lo strumento Variant Transforms fornisce un modo per trasformare e caricare i file VCF direttamente in BigQuery. - Cloud Storage: utilizza Cloud Storage come un object store per i file VCF non elaborati, FASTQ e BAM che puoi caricare in BigQuery utilizzando Variant Transforms per l'analisi su larga scala.
- Dataflow: lo strumento di trasformazione delle varianti utilizza Dataflow per creare pipeline di elaborazione dei dati altamente scalabili che caricano i dati in BigQuery.