Exécuter dsub

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. Les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai gratuit.

Avant de commencer

  1. 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.
  2. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  4. Make sure that billing is enabled for your Google Cloud project.

  5. Enable the Cloud Life Sciences, Compute Engine, and Cloud Storage APIs.

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Enable the Cloud Life Sciences, Compute Engine, and Cloud Storage APIs.

    Enable the 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.

  1. Clonez le dépôt GitHub databiosphere/dsub :

    git clone https://github.com/databiosphere/dsub.git
  2. 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
  3. Installez dsub et ses dépendances :

    sudo python3 setup.py install
  4. 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.

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

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. 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.