nf-core/configs: googlebatch Configuration

To be used with the googlebatch profile by specifying the -profile googlebatch when running nf-core pipelines. project id and workdir bucket need to be supplied with params.project_id, params.workdir_bucket .

Required Parameters

--project_id

Project id of the project where compute resources will be created

--workdir_bucket

Cloud Storage Bucket to be used for the workdir

Optional Parameters

--location

The region where compute resources will be provisioned. If not specified, it will default to us-central1.

--use_spot

Defines which provisioning model to be used. When set to false, standard VM instances will be used. Defaults to true.

--boot_disk

Defines the size of boot disk on compute instances. Defaults to 100GB.

--workers_service_account

Defines which service account will be used by Compute instances running the pipeline. If not specified, the default compute service account of the project will be used.

--use_private_ip

Defines whether real IP addresses will be assigned to compute instance runningn the pipeline. Defaults to false. If set to true a Cloud NAT needs to be provisioned on the same VPC to enable workers to access the Internet to download any necessary artifacts such as container images or communicate with Tower if it is configured. It is recommeneded to use private IP addresses.

--custom_vpc

If you don’t want to use the default VPC network or if it is not available, you need to specify both the custom_vpc and the custom_subnet. Custom VPC should be in this format global/networks/[custom_VPC].

--custom_subnet

When custom_vpc is specified, you must also specify the custom_subnet. Custom subnet should be in this format regions/[GCP_Region]/subnetworks/[custom_subnet].

Gogole Batch Setup

Please refer to the Nextflow documentation which describe how to setup the Google Cloud environment.

Config file

See config file on GitHub

conf/googlebatch
params {
config_profile_description = 'Google Cloud Batch API Profile'
config_profile_contact = 'Hatem Nawar @hnawar'
config_profile_url = 'https://cloud.google.com/batch'
//project
project_id = null
location = 'us-central1'
workdir_bucket = null
//compute
use_spot = true
boot_disk = '100 GB'
workers_service_account = null
//networking
use_private_ip = false
// Custom VPC should be in this format 'global/networks/[custom_VPC]'
custom_vpc = null
//Custom subnet should be in this format 'regions/[GCP_Region]/subnetworks/[custom_subnet]'
custom_subnet = null
}
workDir = params.workdir_bucket
process {
executor = 'google-batch'
}
google {
location = params.location
project = params.project_id
batch.network = params.custom_vpc
batch.subnetwork = params.custom_subnet
batch.usePrivateAddress = params.use_private_ip
batch.spot = params.use_spot
batch.serviceAccountEmail = params.workers_service_account
batch.bootDiskSize = params.boot_disk
}