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 su 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 container di Compute Engine su Google Cloud. L'API Cloud Life Sciences è composta da un unico ambiente operazione:
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 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 è l'esecuzione di un progetto script personalizzato che legge e scrive file, in genere da e verso di archiviazione ideale in Cloud Storage. L'API Cloud Life Sciences può essere eseguita in modo indipendente centinaia o migliaia di questi file.
Puoi accedere all'API Cloud Life Sciences utilizzando l'API REST. API RPC, oppure Google Cloud CLI.
Esecuzione dell'API Cloud Life Sciences
Se crei un motore del flusso di lavoro, viene seguita una tipica serie di passaggi dal motore sono:
- l'analisi del linguaggio del flusso di lavoro di input e la creazione di una serie
Formato JSON
Pipeline
oggetti accettate dall'API Cloud Life Sciences. Il motore invia una serie di richieste definite nell'oggettoPipeline
all'API Cloud Life Sciences. - Monitoraggio delle richieste e unione degli output delle richieste prima di andare al 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 semplice Pipeline
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. L'Action
copia un file da Cloud Storage
alla VM, calcola e verifica l'hash SHA-1 del file
scrive 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 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. 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 di BigQuery con lo strumento di trasformazione delle varianti
Per caricare i dati delle scienze biologiche in BigQuery per ulteriori analisi, usa le trasformazioni delle varianti lo strumento a riga di comando gcloud.
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 Cloud Life Sciences o può essere utilizzato per analizzare ed elaborare la vita di dati scientifici. 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: usa Cloud Storage come archivio di oggetti per file VCF, FASTQ e BAM non elaborati che puoi caricare in BigQuery utilizzando le trasformazioni delle varianti per un'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.