nf-core/configs: azurebatch Configuration

To be used with the azurebatch profile by specifying the -profile azurebatch when running nf-core pipelines. Custom queue and storage need to be supplied with params.az_location, params.batch_name, params.batch_key, params.storage_name, params.sas_token.

Required Parameters

--storage_name

Name of Azure blob storage account.

--storage_key

Access key to Azure blob storage account. --storage_key or --storage_sas are required, but not both.

--storage_sas

SAS for access to Azure blob storage account (see relevant permissions on Nextflow documentation). --storage_key or --storage_sas are required, but not both.

—storage_duration

The duration of the shared access signature token created by Nextflow when the --storage_sas option is not specified (default: 48h). Make sure to increase this for large and expensive workflows!

--az_location

The Azure Batch region where the computation is executed in VMs. Default (westus2).

--batch_name

The Azure Batch account name.

--batch_key

The Azure Batch account key.

-w

The Azure Blob container to be used as Nextflow work directory (-w az://work).

--vm_type

VM size to use with Nextflow autopool or when creating a worker pool in Azure Batch. Make sure your Azure account has sufficient quota. Defaults to Standard_D8s_v3. See Azure VM Size documentation for more information.

--autopoolmode

Whether to use Nextflow autopool mode which creates an autoscaling pool for running Nextflow jobs. Defaults to true.

--allowpoolcreation

Allow Nextflow to create a pool for running Nextflow jobs. Defaults to true.

--deletejobs

Allow Nextflow to delete pools after completion. Defaults to true.

--az_worker_pool

Select an existing pool by name to run Nextflow jobs on. Defaults to auto (matching --autopoolmode).

--acr_registry

URL to Azure container registry for private docker images.

--acr_username

Username to access private Azure container registry.

--acr_password

Password to access private Azure container registry.

Azure Batch Setup

Please refer to the Nextflow documentation which describe how to setup the Azure Batch environment.

Config file

See config file on GitHub

conf/azurebatch
//Nextflow config file for running on Azure batch
params {
config_profile_description = 'Azure BATCH Cloud Profile'
config_profile_contact = 'Venkat Malladi (@vsmalladi) & Adam Talbot (@adamrtalbot)'
config_profile_url = 'https://azure.microsoft.com/services/batch/'
// Storage
storage_name = null
storage_key = null
storage_sas = null
storage_duration = '48h'
// Batch
az_location = "westus2"
batch_name = null
batch_key = null
vm_type = "Standard_E*d_v5"
autopoolmode = true
allowpoolcreation = true
deletejobs = true
deletepools = true
az_worker_pool = "auto"
// ACR
acr_registry = null
acr_username = null
acr_password = null
}
process {
executor = "azurebatch"
}
azure {
process {
queue = params.az_worker_pool
machineType = params.vm_type
}
storage {
accountName = params.storage_name
accountKey = params.storage_key
sasToken = params.storage_sas
tokenDuration = params.storage_duration
}
batch {
location = params.az_location
accountName = params.batch_name
accountKey = params.batch_key
tokenDuration = "24h"
autoPoolMode = params.autopoolmode
allowPoolCreation = params.allowpoolcreation
deleteJobsOnCompletion = params.deletejobs
deletePoolsOnCompletion = params.deletepools
pools {
auto {
autoScale = true
vmCount = 1
maxVmCount = 12
}
}
}
registry {
server = params.acr_registry
userName = params.acr_username
password = params.acr_password
}
}