Panoramica di Cloud Life Sciences

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:

E tre operazioni generiche:

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:

  1. 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'oggetto Pipeline all'API Cloud Life Sciences.
  2. 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 Pipelinesemplice 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:

  1. 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.
  2. 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.
  3. 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: