Utilisez dsub pour écrire des scripts, puis exécutez des tâches de calcul par lots et des workflows sur Google Cloud.
Objectifs
À la fin de ce tutoriel, vous saurez comment exécuter sur Google Cloud un pipeline dsub créant un index (fichier BAI) à partir d'un fichier binaire volumineux comportant des séquences ADN (fichier BAM).
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :
- Compute Engine
- Cloud Storage
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Avant de commencer
- Installez Python 3.6 ou une version ultérieure. Pour savoir comment configurer votre environnement de développement Python et installer pip sur votre système, consultez le guide de configuration d'un environnement de développement Python.
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Life Sciences, Compute Engine, and Cloud Storage APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Life Sciences, Compute Engine, and Cloud Storage APIs.
Créer un fichier BAI
Procédez comme suit pour créer un index (fichier BAI) à partir d'un fichier binaire volumineux comportant des séquences ADN (fichier BAM). Les données proviennent du Projet 1000 Genomes.
Clonez le dépôt GitHub databiosphere/dsub :
git clone https://github.com/databiosphere/dsub.git
Accédez au répertoire de l'outil dsub. Le dépôt contient une image Docker prédéfinie qui effectue l'opération d'indexation à l'aide de samtools.
cd dsub
Installez dsub et ses dépendances :
sudo python3 setup.py install
Exécutez l'outil dsub pour créer le fichier BAI, en remplaçant PROJECT_ID par votre projet Google Cloud et BUCKET par un bucket Cloud Storage auquel vous avez accès en écriture :
dsub \ --provider google-cls-v2 \ --project PROJECT_ID \ --logging gs://BUCKET/logs \ --input BAM=gs://genomics-public-data/1000-genomes/bam/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam \ --output BAI=gs://BUCKET/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai \ --image quay.io/cancercollaboratory/dockstore-tool-samtools-index \ --command 'samtools index ${BAM} ${BAI}' \ --wait
La commande samtools s'exécute sur le fichier de données fourni avec l'option
--input
. Le pipeline écrit le fichier de sortie et les journaux dans votre bucket Cloud Storage.Vérifiez que le fichier BAI a été généré :
gcloud storage ls gs://BUCKET
La commande renvoie la réponse suivante :
gs://BUCKET/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai
Effectuer un nettoyage
Une fois le tutoriel terminé, vous pouvez procéder au nettoyage des ressources que vous avez créées afin qu'elles ne soient plus comptabilisées dans votre quota et qu'elles ne vous soient plus facturées. Dans les sections suivantes, nous allons voir comment supprimer ou désactiver ces ressources.
Supprimer le projet
Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.
Pour supprimer le projet :
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Étape suivante
Lisez la documentation dsub sur GitHub. pour plus de détails et d'exemples sur le développement local avec dsub ou l'utilisation de dsub pour effectuer un scaling à la hausse ou à la hausse de nombreuses tâches sur Google Cloud.