Esegui dsub

Utilizza dsub scrivere script ed eseguire attività di calcolo batch dei flussi di lavoro su Google Cloud.

Obiettivi

Dopo aver completato questo tutorial, saprai come eseguire una pipeline dsub su Google Cloud che crea un indice (file BAI) da un un grande file binario di sequenze del DNA (file BAM).

Costi

In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:

  • Compute Engine
  • Cloud Storage

Per generare una stima dei costi basata sull'utilizzo previsto, utilizza il Calcolatore prezzi. I nuovi utenti di Google Cloud potrebbero essere idonei per una prova gratuita.

Prima di iniziare

  1. Installa Python 3.6 o versioni successive. Per ulteriori informazioni sulla configurazione dell'ambiente di sviluppo Python, ad esempio l'installazione di pip sul sistema, consulta la Guida alla configurazione dell'ambiente di sviluppo 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

Creare un file BAI

Completa i seguenti passaggi per creare un indice (file BAI) da un grande file binario di sequenze del DNA (file BAM). I dati provengono dal Progetto 1000 genomi.

  1. Clona il repository GitHub databiosphere/dsub:

    git clone https://github.com/databiosphere/dsub.git
  2. Passa alla directory dello strumento dsub. Il repository contiene un Docker predefinito che usa samtools per eseguire l'indicizzazione.

    cd dsub
  3. Installa dsub e le sue dipendenze:

    sudo python3 setup.py install
  4. Esegui lo strumento dsub per creare il file BAI, sostituendo PROJECT_ID con il tuo progetto Google Cloud e BUCKET con un bucket Cloud Storage a cui dispongono dell'accesso in scrittura:

    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

    Il comando samtools viene eseguito sul file di dati fornito con il flag --input. La pipeline scrive il file di output e i log nel tuo bucket Cloud Storage.

  5. Verifica che il file BAI sia stato generato:

    gcloud storage ls gs://BUCKET
    

    Il comando restituisce la seguente risposta:

    gs://BUCKET/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai
    

Esegui la pulizia

Al termine del tutorial, puoi eseguire la pulizia delle risorse che hai creato in modo smetti di usare la quota e ti vengono addebitati dei costi. Le sezioni seguenti descrivono come eliminare o disattivare queste risorse.

Elimina il progetto

Il modo più semplice per eliminare la fatturazione creato per il tutorial.

Per eliminare il progetto:

  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.

Passaggi successivi

Leggi la documentazione relativa a dsub su GitHub per maggiori dettagli ed esempi su come sviluppare con dsub localmente o utilizzare dsub per fare lo scale up a molte attività su Google Cloud.