Panoramica
Cloud Life Sciences è una suite di servizi e strumenti per la gestione, l'elaborazione e la trasformazione dei dati nel campo delle scienze biologiche. Inoltre, consente insight e flussi di lavoro operativi avanzati utilizzando un'infrastruttura conforme e altamente scalabile. Cloud Life Sciences include funzionalità come l'API Cloud Life Sciences, strumenti ETL (Extract-Transform-Load) e altro ancora.
Questa pagina fornisce una panoramica dei servizi e degli strumenti offerti da Cloud Life Sciences (e più in generale Google Cloud) e come puoi sfruttarne le funzionalità con i dati del settore delle scienze biologiche.
Panoramica dell'API Cloud Life Sciences
L'API Cloud Life Sciences offre un modo semplice per eseguire una serie di container di Compute Engine su Google Cloud. L'API Cloud Life Sciences è composta da una singola operazione principale:
projects.locations.pipelines.run
: esegue una pipeline.
E tre operazioni generiche:
projects.locations.operations.get
: ottiene lo stato più recente di una pipeline.projects.locations.operations.list
: elenca tutte le pipeline in esecuzione in una regione Google Cloud nel progetto Google Cloud.projects.locations.operations.cancel
: annulla una pipeline.
L'API Cloud Life Sciences è rivolta agli sviluppatori che vogliono creare o utilizzare 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, fornendo la pianificazione dei job per le attività basate su Docker che eseguono analisi genomica secondaria sui container di Compute Engine. Puoi inviare operazioni batch 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 è l'esecuzione di uno strumento esistente o di uno script personalizzato che legge e scrive file, in genere da e verso Cloud Storage. L'API Cloud Life Sciences può essere eseguita in modo indipendente su centinaia o migliaia di file.
Puoi accedere all'API Cloud Life Sciences utilizzando l'API REST, l'API RPC o Google Cloud CLI.
Esecuzione dell'API Cloud Life Sciences
Se stai creando un motore del flusso di lavoro, una serie tipica di passaggi che il motore eseguirà sono:
- Analizzare il linguaggio del flusso di lavoro di input e creare 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. - Monitorare le richieste e unire 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 richiede un oggetto Pipeline
e un set facoltativo di etichette per iniziare a eseguire una pipeline. L'oggetto Pipeline
è composto 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 una singola Action
(con la stampa di "Hello, world" sul terminale) su una piccola VM 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. L'Action
copia un file da Cloud Storage
alla VM, calcola e verifica l'hash SHA-1 del file, quindi
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 lunga esecuzione
su cui puoi eseguire una query per ottenere lo stato o annullare la pipeline.
Ciclo di vita di una richiesta 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. Come minimo, questo comporta 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 tutte le risorse allocate, inclusa l'eliminazione di eventuali VM create.
ETL di BigQuery con lo strumento di trasformazione delle varianti
Per caricare i dati delle scienze biologiche in BigQuery per ulteriori analisi, utilizza lo strumento Trasformazioni delle varianti.
Variant Transforms è uno strumento open source basato su Apache Beam, che utilizza Dataflow. Variant Transforms è il metodo consigliato per trasformare e caricare i dati genomici in Google Cloud per ulteriori analisi.
Utilizzo di altre tecnologie Google Cloud con i dati delle scienze biologiche
Esistono diverse tecnologie Google Cloud che interagiscono con Cloud Life Sciences o che possono essere utilizzate per analizzare ed elaborare i dati relativi alle scienze biologiche. Questi 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
ed l'esecuzione di query
JOIN
complesse per analizzare i dati descritti da intervalli regionali genomici o sovrapposizioni. Lo strumento Trasformazioni delle varianti consente di trasformare e caricare i file VCF direttamente in BigQuery. - Cloud Storage: usa Cloud Storage come archivio di oggetti per file VCF, FASTQ e BAM non elaborati da caricare in BigQuery utilizzando Variant Transforms per analisi su larga scala.
- Dataflow: lo strumento Variant Transforms utilizza Dataflow per creare pipeline di elaborazione dati a elevata scalabilità che caricano i dati in BigQuery.