Panoramica di Cloud Life Sciences

Panoramica

Cloud Life Sciences è una suite di servizi e strumenti per gestire, elaborare e trasformare i dati di scienze biologiche. Consente inoltre di ottenere insight avanzati e flussi di lavoro operativi utilizzando un'infrastruttura altamente scalabile e conforme. 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 di Google Cloud) e di come sfruttarne le funzionalità con i dati del settore.

Panoramica dell'API Cloud Life Sciences

L'API Cloud Life Sciences offre un modo semplice per eseguire una serie di container 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 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, fornendo la pianificazione dei job per le attività basate su Docker che eseguono analisi genomiche secondarie 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 o uno script personalizzato esistente 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 questi 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 viene creato un motore del flusso di lavoro, una tipica serie di passaggi che il motore deve eseguire è:

  1. Analisi del linguaggio del flusso di lavoro di input e creazione di 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 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 richiede un oggetto Pipeline e un set 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.

Il seguente esempio mostra come configurare una Pipelinesemplice che esegue un singolo Action (stampando "Hello, world" sul terminale) su una VM standard (n1-standard-1) piccola:

"pipeline": {
  "actions": [
    {
      "imageUri": "bash",
      "commands": [ "-c", "echo Hello, world" ]
    },
  ],
  "resources": {
    "regions": ["us-central11"],
    "virtualMachine": {
      "machineType": "n1-standard-1",
    }
  }
}

Il seguente esempio 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 quindi 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 una query per ottenere lo stato della pipeline o per annullarla.

Ciclo di vita di una richiesta API Cloud Life Sciences

Il tipico ciclo di vita 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, ciò 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 le risorse allocate, inclusa l'eliminazione di qualsiasi VM creata.

ETL BigQuery con lo strumento di trasformazione delle varianti

Per caricare i dati delle scienze biologiche in BigQuery per ulteriori analisi, utilizza lo strumento Trasformazione delle varianti.

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 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: