Este tutorial explica como executar um pipeline Nextflow no Batch. Especificamente, este tutorial executa o pipeline de ciências da vida de exemplo rnaseq-nf
do Nextflow, que quantifica as caraterísticas genómicas a partir de dados de leitura curta através do RNA-Seq.
Este tutorial destina-se a utilizadores do Batch que querem usar o Nextflow com o Batch.
O Nextflow é um software de código aberto para orquestrar fluxos de trabalho de bioinformática.
Crie um contentor do Cloud Storage
Para criar um contentor do Cloud Storage para armazenar ficheiros de trabalho e saída temporários do pipeline Nextflow, use a Google Cloud consola ou a linha de comandos.
Consola
Para criar um contentor do Cloud Storage através da Google Cloud consola, siga estes passos:
Na Google Cloud consola, aceda à página Recipientes.
Clique em
Criar.Na página Criar um contentor, introduza um nome exclusivo a nível global para o seu contentor.
Clique em Criar.
Na janela O acesso público vai ser impedido, clique em Confirmar.
gcloud
Para criar um contentor do Cloud Storage através da CLI do Google Cloud,
use o comando
gcloud storage buckets create
.
gcloud storage buckets create gs://BUCKET_NAME
Substitua BUCKET_NAME
por um nome globalmente exclusivo para o seu contentor.
Se o pedido for bem-sucedido, o resultado deve ser semelhante ao seguinte:
Creating gs://BUCKET_NAME/...
```
Configure o Nextflow
Para configurar o pipeline do Nextflow para ser executado no Batch, siga estes passos na linha de comandos:
Clone o repositório de tubagens de exemplo:
git clone https://github.com/nextflow-io/rnaseq-nf.git
Aceda à pasta
rnaseq-nf
:cd rnaseq-nf
Abra o ficheiro
nextflow.config
:nano nextflow.config
O ficheiro deve conter a seguinte secção
gcb
:gcb { params.transcriptome = 'gs://rnaseq-nf/data/ggal/transcript.fa' params.reads = 'gs://rnaseq-nf/data/ggal/gut_{1,2}.fq' params.multiqc = 'gs://rnaseq-nf/multiqc' process.executor = 'google-batch' process.container = 'quay.io/nextflow/rnaseq-nf:v1.1' workDir = 'gs://BUCKET_NAME/WORK_DIRECTORY' google.region = 'REGION' }
Na secção
gcb
, faça o seguinte:Substitua
BUCKET_NAME
pelo nome do contentor do Cloud Storage que criou nos passos anteriores.Substitua
WORK_DIRECTORY
pelo nome de uma nova pasta que o pipeline pode usar para armazenar registos e resultados.Por exemplo, introduza
workDir
.Substitua
REGION
pela região a usar.Por exemplo, introduza
us-central1
.Após o campo
google.region
, adicione os seguintes campos:Adicione o campo
google.project
:google.project = 'PROJECT_ID'
Substitua
PROJECT_ID
pelo ID do projeto do projeto Google Cloud atual.Se não estiver a usar a conta de serviço predefinida do Compute Engine como conta de serviço da tarefa, adicione o campo
google.batch.serviceAccountEmail
:google.batch.serviceAccountEmail = 'SERVICE_ACCOUNT_EMAIL'
Substitua
SERVICE_ACCOUNT_EMAIL
pelo endereço de email da conta de serviço da tarefa que preparou para este tutorial.
Para guardar as edições, faça o seguinte:
Prima
Control+S
.Introduza
Y
.Prima
Enter
.
Execute o pipeline
Execute o pipeline de exemplo do Nextflow através da linha de comandos:
../nextflow run nextflow-io/rnaseq-nf -profile gcb
O pipeline executa um pequeno conjunto de dados com as definições que forneceu nos passos anteriores. Esta operação pode demorar até 10 minutos a ser concluída.
Depois de a pipeline terminar a execução, o resultado deve ser semelhante ao seguinte:
N E X T F L O W ~ version 23.04.1
Launching `https://github.com/nextflow-io/rnaseq-nf` [crazy_curry] DSL2 - revision: 88b8ef803a [master]
R N A S E Q - N F P I P E L I N E
===================================
transcriptome: gs://rnaseq-nf/data/ggal/transcript.fa
reads : gs://rnaseq-nf/data/ggal/gut_{1,2}.fq
outdir : results
Uploading local `bin` scripts folder to gs://example-bucket/workdir/tmp/53/2847f2b832456a88a8e4cd44eec00a/bin
executor > google-batch (4)
[67/71b856] process > RNASEQ:INDEX (transcript) [100%] 1 of 1 ✔
[0c/2c79c6] process > RNASEQ:FASTQC (FASTQC on gut) [100%] 1 of 1 ✔
[a9/571723] process > RNASEQ:QUANT (gut) [100%] 1 of 1 ✔
[9a/1f0dd4] process > MULTIQC [100%] 1 of 1 ✔
Done! Open the following report in your browser --> results/multiqc_report.html
Completed at: 20-Apr-2023 15:44:55
Duration : 10m 13s
CPU hours : (a few seconds)
Succeeded : 4
Veja as saídas do pipeline
Após a conclusão da execução do pipeline, este armazena ficheiros de saída, registos, erros ou ficheiros temporários no ficheiro results/qc_report.html
na pasta WORK_DIRECTORY
do seu contentor do Cloud Storage.
Para verificar os ficheiros de saída do pipeline na pasta WORK_DIRECTORY
do seu contentor do Cloud Storage, pode usar a consola Google Cloud ou a linha de comandos.
Consola
Para verificar os ficheiros de saída do pipeline através da Google Cloud consola, siga estes passos:
Na Google Cloud consola, aceda à página Recipientes.
Na coluna Nome, clique no nome do contentor que criou nos passos anteriores.
Na página Detalhes do contentor, abra a pasta
WORK_DIRECTORY
.
Existe uma pasta para cada tarefa separada que o fluxo de trabalho executa. Cada pasta contém os comandos executados, os ficheiros de saída e os ficheiros temporários criados pelo pipeline.
gcloud
Para verificar os ficheiros de saída do pipeline através da CLI gcloud, use o comando gcloud storage ls
.
gcloud storage ls gs://BUCKET_NAME/WORK_DIRECTORY
Substitua o seguinte:
BUCKET_NAME
: o nome do contentor que criou nos passos anteriores.WORK_DIRECTORY
: o diretório que especificou no ficheironextflow.config
.
A saída apresenta uma pasta para cada tarefa separada que o pipeline executa. Cada pasta contém os comandos executados, os ficheiros de saída e os ficheiros temporários criados pelo pipeline.