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 :
projects.locations.pipelines.run
: exécute un pipeline.
Ainsi que trois opérations génériques :
projects.locations.operations.get
: récupère l'état le plus récent d'un pipeline.projects.locations.operations.list
: répertorie tous les pipelines s'exécutant dans une région Google Cloud de votre projet.projects.locations.operations.cancel
: annule un pipeline.
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 :
- 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'objetPipeline
à l'API Cloud Life Sciences. - 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 :
- 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.
- 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.
- 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 :
- BigQuery : utilisez BigQuery pour exécuter des requêtes ad hoc sur des ensembles de données structurés volumineux, tels que ceux contenant des variantes génomiques. Les cas d'utilisation incluent l'analyse des variantes et l'exécution de requêtes
JOIN
complexes analysant les données décrites par des intervalles génomiques régionaux, ou chevauchements. L'outil Variant Transforms permet de transformer et de charger des fichiers VCF directement dans BigQuery. - Cloud Storage : utilisez Cloud Storage comme magasin d'objets pour les fichiers VCF bruts, FASTQ et BAM. Vous pouvez les charger dans BigQuery afin de les analyser à grande échelle.
- Dataflow : l'outil Variant Transforms exploite Dataflow pour créer des pipelines de traitement de données hautement évolutifs qui chargent des données dans BigQuery.