diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6f96a98..5e9676d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: needs: test_all_profiles strategy: matrix: - profile: ['awsbatch', 'bigpurple', 'binac', 'cbe', 'ccga_dx', 'ccga_med', 'cfc', 'crick', 'denbi_qbic', 'genotoul', 'genouest', 'gis', 'hebbe', 'kraken', 'munin', 'pasteur', 'phoenix', 'prince', 'shh', 'uct_hex', 'uppmax', 'uzh'] + profile: ['awsbatch', 'bigpurple', 'binac', 'cbe', 'ccga_dx', 'ccga_med', 'ccga', 'cfc', 'crick', 'denbi_qbic', 'genotoul', 'genouest', 'gis', 'google', 'hebbe', 'kraken', 'munin', 'pasteur', 'phoenix', 'prince', 'shh', 'uct_hex', 'uppmax', 'uzh'] steps: - uses: actions/checkout@v1 - name: Install Nextflow diff --git a/README.md b/README.md index 5971012..755b1d2 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,7 @@ Currently documentation is available for the following systems: * [GENOTOUL](docs/genotoul.md) * [GENOUEST](docs/genouest.md) * [GIS](docs/gis.md) +* [GOOGLE](docs/google.md) * [HEBBE](docs/hebbe.md) * [KRAKEN](docs/kraken.md) * [MUNIN](docs/munin.md) diff --git a/conf/google.config b/conf/google.config new file mode 100644 index 0000000..4333d86 --- /dev/null +++ b/conf/google.config @@ -0,0 +1,21 @@ +// Nextflow config file for running on Google Cloud Life Sciences +params { + config_profile_description = 'Google Cloud Life Sciences Profile' + config_profile_contact = 'Evan Floden, Seqera Labs (@evanfloden)' + config_profile_url = 'https://cloud.google.com/life-sciences' + + google_zone = 'europe-west2-c' + google_bucket = false + google_debug = false + google_preemptible = true +} + +process.executor = 'google-lifesciences' +google.zone = params.google_zone +google.lifeSciences.debug = params.google_debug +workDir = params.google_bucket +google.lifeSciences.preemptible = params.google_preemptible +if (google.lifeSciences.preemptible) { + process.errorStrategy = { task.exitStatus==14 ? 'retry' : 'terminate' } + process.maxRetries = 5 +} \ No newline at end of file diff --git a/docs/google.md b/docs/google.md new file mode 100644 index 0000000..0534a0b --- /dev/null +++ b/docs/google.md @@ -0,0 +1,37 @@ +# nf-core/configs: Google Cloud Life Sciences Configuration + +To be used with the `google` profile by specifying the `-profile google` when running nf-core pipelines. + +![Google Cloud](images/google-cloud-logo.svg "https://cloud.google.com/life-sciences/docs/tutorials/nextflow") + +## Quick Start + +```bash +GOOGLE_APPLICATION_CREDENTIALS=.json +NXF_MODE=google +nextflow run nf-core/rnaseq -profile google,test --google_bucket +``` + +### Required Parameters + +#### `--google-bucket` + +The Google Cloud Storage bucket location to be used as a Nextflow work directory. Can also be specified with (`-w gs://your_bucket/work`). + +### Optional Parameters + +#### `--google-zone` + +The Google zone where the computation is executed in Compute Engine VMs. Multiple zones can be provided separating them by a comma. Default (`europe-west2-c`). + +#### `--google-preemptible` + +Enables the usage of preemptible virtual machines with a retry error statergy for up to 5 retries. Default (`true`). + +#### `--google-debug` + +Copies the /google debug directory from the VM to the task bucket directory. Useful for debugging. Default (`false`). + +## Cloud Life Sciences Setup + +Please refer to the [Google Cloud](https://cloud.google.com/life-sciences/docs/tutorials/nextflow) and [Nextflow](https://www.nextflow.io/docs/latest/google.html#cloud-life-sciences) documentation which describe how to setup the Google Cloud environment. diff --git a/docs/images/google-cloud-logo.svg b/docs/images/google-cloud-logo.svg new file mode 100644 index 0000000..18b0e48 --- /dev/null +++ b/docs/images/google-cloud-logo.svg @@ -0,0 +1,96 @@ + + + + + + + + + + +]> + + + + + + + + +Cloud_Logo_Nav + + + + + + + + + + + + + + + + + + + + + diff --git a/nfcore_custom.config b/nfcore_custom.config index b054a03..d7f3ca4 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -23,6 +23,7 @@ profiles { includeConfig "${params.custom_config_base}/conf/czbiohub_aws.config"; includeConfig "${params.custom_config_base}/conf/czbiohub_aws_highpriority.config"} genotoul { includeConfig "${params.custom_config_base}/conf/genotoul.config" } + google { includeConfig "${params.custom_config_base}/conf/google.config" } denbi_qbic { includeConfig "${params.custom_config_base}/conf/denbi_qbic.config" } genouest { includeConfig "${params.custom_config_base}/conf/genouest.config" } gis { includeConfig "${params.custom_config_base}/conf/gis.config" }