diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5fb2601..042dd26 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', 'ccga', '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', 'cfc', 'crick', 'denbi_qbic', 'ebc', '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 0e58b09..755b1d2 100644 --- a/README.md +++ b/README.md @@ -97,10 +97,9 @@ Currently documentation is available for the following systems: * [BIGPURPLE](docs/bigpurple.md) * [BINAC](docs/binac.md) * [CBE](docs/cbe.md) -* [CCGA](docs/ccga.md) * [CCGA_DX](docs/ccga_dx.md) * [CCGA_MED](docs/ccga_med.md) -* [CFC](docs/binac.md) +* [CFC](docs/cfc.md) * [CRICK](docs/crick.md) * [CZBIOHUB_AWS](docs/czbiohub.md) * [CZBIOHUB_AWS_HIGHPRIORITY](docs/czbiohub.md) @@ -108,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/cbe.config b/conf/cbe.config index ea24e5b..5888202 100755 --- a/conf/cbe.config +++ b/conf/cbe.config @@ -14,7 +14,7 @@ process { singularity { enabled = true - cacheDir = '/scratch-cbe/shared/containers' + cacheDir = '/resources/containers' } params { diff --git a/conf/ccga.config b/conf/ccga.config deleted file mode 100644 index 6163626..0000000 --- a/conf/ccga.config +++ /dev/null @@ -1,41 +0,0 @@ -//Profile config names for nf-core/configs -params { - config_profile_description = 'CCGA cluster profile provided by nf-core/configs.' - config_profile_contact = 'Marc Hoeppner (@marchoeppner)' - config_profile_url = 'https://www.ccga.uni-kiel.de/' -} - -/* - * ------------------------------------------------- - * Nextflow config file for CCGA cluster in Kiel - * ------------------------------------------------- - */ - -singularity { - enabled = true - runOptions = "-B /ifs -B /scratch -B /work_beegfs" - cacheDir = "/ifs/data/nfs_share/ikmb_repository/singularity_cache/" -} - -executor { - queueSize=100 -} - -process { - - // Global process config - executor = 'slurm' - queue = 'ikmb_a' - - clusterOptions = { "--qos=ikmb_a" } - -} - -params { - // illumina iGenomes reference file paths on RZCluster - igenomes_base = '/ifs/data/nfs_share/ikmb_repository/references/iGenomes/references/' - saveReference = true - max_memory = 128.GB - max_cpus = 16 - max_time = 120.h -} diff --git a/conf/cfc.config b/conf/cfc.config index 763dcf0..d1a109a 100644 --- a/conf/cfc.config +++ b/conf/cfc.config @@ -13,6 +13,7 @@ singularity { process { beforeScript = 'module load devel/singularity/3.4.2' executor = 'slurm' + queue = { task.memory > 60.GB || task.cpus > 20 ? 'qbic' : 'compute' } } weblog{ @@ -22,7 +23,7 @@ weblog{ params { igenomes_base = '/nfsmounts/igenomes' - max_memory = 498.GB - max_cpus = 20 + max_memory = 1999.GB + max_cpus = 128 max_time = 140.h } diff --git a/conf/ebc.config b/conf/ebc.config new file mode 100644 index 0000000..4df0596 --- /dev/null +++ b/conf/ebc.config @@ -0,0 +1,25 @@ + //Profile config names for nf-core/configs + params { + config_profile_description = 'Generic Estonian Biocentre profile provided by nf-core/configs.' + config_profile_contact = 'Marcel Keller (@marcel-keller)' + config_profile_url = 'https://genomics.ut.ee/en/about-us/estonian-biocentre' + } + + cleanup = true + + conda { + cacheDir = '/ebc_data/nf-core/conda' + } + process { + executor = 'slurm' + conda = "$baseDir/environment.yml" + beforeScript = 'module load nextflow' + } + executor { + queueSize = 16 + } + params { + max_memory = 12.GB + max_cpus = 20 + max_time = 120.h + } 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/ccga.md b/docs/ccga.md deleted file mode 100644 index 798df29..0000000 --- a/docs/ccga.md +++ /dev/null @@ -1,18 +0,0 @@ -# nf-core/configs: CCGA Configuration - -Deployment and testing of nf-core pipelines at the CCGA cluster is on-going. - -To use, run the pipeline with `-profile ccga`. This will download and launch the [`ccga.config`](../conf/ccga.config) which has been pre-configured with a setup suitable for the CCGA cluster. Using this profile, a docker image containing all of the required software will be downloaded, and converted to a Singularity image before execution of the pipeline. - -Before running the pipeline you will need to load Nextflow and Singularity using the environment module system on the cluster. You can do this by issuing the commands below: - -```bash -## Load Nextflow and Singularity environment modules -module purge -module load IKMB -module load Java/1.8.0 -module load Nextflow -module load singularity3.1.0 -``` - ->NB: Access to the CCGA cluster is restricted to IKMB/CCGA employes. Please talk to Marc Hoeppner to get access (@marchoeppner). diff --git a/docs/cfc.md b/docs/cfc.md index a7f6beb..f96a47d 100644 --- a/docs/cfc.md +++ b/docs/cfc.md @@ -10,8 +10,10 @@ Before running the pipeline you will need to load Nextflow and Singularity using ## Load Nextflow and Singularity environment modules module purge module load devel/java_jdk/1.8.0u121 -module load qbic/singularity_slurm/3.0.3 +module load devel/singularity/3.4.2 ``` >NB: You will need an account to use the HPC cluster CFC in order to run the pipeline. If in doubt contact IT. >NB: Nextflow will need to submit the jobs via the job scheduler to the HPC cluster and as such the commands above will have to be executed on one of the login nodes. If in doubt contact IT. + +The queues are set to be `qbic` or `compute` and will be chosen automatically for you depending on your job submission. diff --git a/docs/ebc.md b/docs/ebc.md new file mode 100644 index 0000000..71f2622 --- /dev/null +++ b/docs/ebc.md @@ -0,0 +1,11 @@ +# nf-core/configs: EBC Configuration + +All nf-core pipelines have been successfully configured for use on the [Estonian Biocentre (EBC)](https://genomics.ut.ee/en/about-us/estonian-biocentre) cluster at the [High Performance Computing Center](https://hpc.ut.ee/en) of the the University of Tartu. +To use, run the pipeline with `-profile ebc`. This will download and launch the [`ebc.config`](../conf/ebc.config) which has been pre-configured with a setup suitable for the EBC cluster. Using this profile, currently, a conda environment containing all of the required software will be downloaded and stored in a central location. + +> :warning: You must install your own [conda binary](conda.io) to run nf-core pipelines in a conda environment. Running with singularity will be added soon. + +The profile will put a maximum job limit of 12 GB, 20 CPUs and a maximum wall time of 120 hours. + +NB: You will need an account to use the HPC cluster on EBC cluster in order to run the pipeline. If in doubt contact IT. +NB: Nextflow will need to submit the jobs via the SLURM scheduler to the HPC cluster and as such the commands above will have to be executed on one of the head nodes. If in doubt contact IT. diff --git a/docs/google.md b/docs/google.md new file mode 100644 index 0000000..9e8c521 --- /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 test,google --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 72a4ee8..848db80 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -14,7 +14,6 @@ profiles { bigpurple { includeConfig "${params.custom_config_base}/conf/bigpurple.config" } binac { includeConfig "${params.custom_config_base}/conf/binac.config" } cbe { includeConfig "${params.custom_config_base}/conf/cbe.config" } - ccga { includeConfig "${params.custom_config_base}/conf/ccga.config" } ccga_dx { includeConfig "${params.custom_config_base}/conf/ccga_dx.config" } ccga_med { includeConfig "${params.custom_config_base}/conf/ccga_med.config" } cfc { includeConfig "${params.custom_config_base}/conf/cfc.config" } @@ -23,7 +22,9 @@ profiles { czbiohub_aws_highpriority { includeConfig "${params.custom_config_base}/conf/czbiohub_aws.config"; includeConfig "${params.custom_config_base}/conf/czbiohub_aws_highpriority.config"} + ebc { includeConfig "${params.custom_config_base}/conf/ebc.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" }