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. 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.
  3. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  4. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  5. Activer les API Cloud Life Sciences, Compute Engine, and Cloud Storage.

    Activer les API

  6. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  7. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  8. Activer les API Cloud Life Sciences, Compute Engine, and Cloud Storage.

    Activer les API

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

    gsutil 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. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Étapes suivantes

Lisez la documentation de dsub sur GitHub pour en savoir plus et pour découvrir des exemples de développement local avec dsub, ou utilisez dsub pour effectuer un maximum de tâches sur Google  Cloud.