Présentation de Cloud Life Sciences

Présentation

Cloud Life Sciences est une suite de services et d'outils pour la gestion, le traitement et la transformation des données liées aux sciences de la vie. Elle permet également d'obtenir des analyses approfondies et de mettre en place des workflows opérationnels grâce à une infrastructure hautement évolutive, dans le respect de la conformité. Cloud Life Sciences inclut des fonctionnalités telles que l'API Cloud Life Sciences, des outils d'extraction, de transformation et de chargement (ETL), et bien plus encore.

Cette page présente les services et outils proposés par Cloud Life Sciences (et plus généralement Google Cloud), et décrit la façon dont vous pouvez tirer parti de vos données liées aux sciences de la vie.

Présentation de l'API Cloud Life Sciences

L'API Cloud Life Sciences fournit un moyen simple d'exécuter une série de conteneurs Compute Engine sur Google Cloud. Elle comprend une opération principale :

Ainsi que trois opérations génériques :

L'API Cloud Life Sciences s'adresse aux développeurs qui souhaitent créer des outils de gestion des tâches tels que dsub ou des moteurs de workflow comme Cromwell. Elle fournit un backend à ces outils et systèmes, permettant ainsi de planifier des tâches basées sur Docker qui effectuent des analyses génomiques secondaires sur des conteneurs Compute Engine. Vous pouvez envoyer des opérations par lots depuis n'importe quel emplacement et les exécuter sur Google Cloud. Les images Docker peuvent être empaquetées manuellement, ou vous pouvez utiliser des images Docker existantes.

Le cas d'utilisation le plus courant de l'API Cloud Life Sciences consiste à exécuter un outil ou un script personnalisé lisant et écrivant des fichiers, généralement depuis et vers Cloud Storage. L'API peut être exécutée indépendamment sur des centaines ou des milliers de ces fichiers.

Vous pouvez accéder à l'API Cloud Life Sciences à l'aide de l'API REST. API RPC, ou la Google Cloud CLI.

Exécuter l'API Cloud Life Sciences

Si vous créez un moteur workflow, celui-ci effectue généralement les étapes suivantes :

  1. Il analyse le langage du workflow d'entrée et crée une série d'objets Pipeline au format JSON acceptés par l'API Cloud Life Sciences. Le moteur envoie une série de requêtes définies dans l'objet Pipeline à l'API Cloud Life Sciences.
  2. Il surveille les requêtes et fusionne leurs résultats avant de passer à l'étape suivante.

Vous trouverez ci-dessous une explication plus détaillée de la première étape :

Le pipeline s'exécute en appelant la méthode pipelines.run. Cette méthode exploite un objet Pipeline et un ensemble facultatif de libellés pour commencer à exécuter un pipeline. L'objet Pipeline contient une ou plusieurs descriptions Action ainsi qu'un objet Resources qui décrit les ressources Google Cloud nécessaires à l'exécution du pipeline.

L'exemple suivant montre comment configurer un Pipeline simple exécutant une seule Action (afficher "Hello, world" dans le terminal) sur une petite VM standard (n1-standard-1) :

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

L'exemple ci-dessous montre comment configurer un objet Action qui exécute plusieurs commandes. L'Action copie un fichier de Cloud Storage sur la VM, calcule et vérifie le hachage SHA-1 du fichier, puis le réécrit dans le bucket Cloud Storage d'origine.

"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" ]
  },
],

L'appel pipelines.run renvoie une opération de longue durée que vous pouvez interroger pour obtenir l'état du pipeline ou l'annuler.

Cycle de vie d'une requête API Cloud Life Sciences

Le cycle de vie typique d'un pipeline exécuté avec l'API Cloud Life Sciences est le suivant :

  1. L'API Cloud Life Sciences alloue les ressources Google Cloud nécessaires à l'exécution du pipeline. Au minimum, cela implique généralement l'allocation d'une machine virtuelle (VM) Compute Engine avec de l'espace disque.
  2. Une fois qu'une VM devient disponible, l'API Cloud Life Sciences exécute chaque action définie dans le pipeline. Ces actions permettent d'effectuer des opérations telles que la copie de fichiers d'entrée, le traitement de données ou la copie de fichiers de sortie.
  3. Le pipeline libère toutes les ressources allouées, supprimant également les VM créées.

Extraire, transformer et charger des données dans BigQuery à l'aide de l'outil Variant Transforms

Pour charger vos données liées aux sciences de la vie dans BigQuery afin de les analyser plus en détail, utilisez l'outil Variant Transforms.

Variant Transforms est une solution Open Source basé sur Apache Beam et utilise Dataflow. L'utilisation de cet outil est recommandée pour transformer et charger des données génomiques dans Google Cloud pour une analyse approfondie.

Utiliser d'autres technologies Google Cloud avec les données liées aux sciences de la vie

Plusieurs technologies Google Cloud interagissent avec Cloud Life Sciences ou peuvent être employées pour analyser et traiter des données liées aux sciences de la vie. y compris :