diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 16ec1b204..6a09ae3cd 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,14 +1,15 @@ +**/brain** @icaoberg **/ceci_** @MartinGrignard +**/crg** @joseespinosa **/cropdiversityhpc** @TMAdams @SwiftSeal @SchreiberM +**/fred_hutch** @derrik-gratz **/giga** @MartinGrignard +**/iris** @nikhil +**/lrz_cm4** @nschan +**/mahuika** @jen-reeve +**/roslin** @sguizard @donalddunbar +**/seadragon** @jiawku **/shu_bmrc** @lquayle88 +**/unsw_katana** @jscgh **/utd_ganymede** @edmundmiller @alyssa-ab **/utd_juno** @eternal-flame-AD -**/unsw_katana** @jscgh -**/seadragon** @jiawku -**/fred_hutch** @derrik-gratz -**/roslin** @sguizard @donalddunbar -**/lrz_cm4** @nschan -**/crg** @joseespinosa -**/iris** @nikhil -**/mahuika** @jen-reeve diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index dc90421d2..09f3acc5a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -79,6 +79,7 @@ jobs: - "biohpc_gen" - "biowulf" - "bluebear" + - "brain" - "cambridge" - "cannon" - "cbe" diff --git a/conf/brain.config b/conf/brain.config new file mode 100644 index 000000000..82c7ec795 --- /dev/null +++ b/conf/brain.config @@ -0,0 +1,72 @@ +// ───────────────────────────────────────────────────────────────────────────── +// Global Parameters +// ───────────────────────────────────────────────────────────────────────────── +params { + config_profile_name = 'Brain Image Library Analysis Ecosystem' + config_profile_description = 'A public resource enabling researchers to deposit, analyze, mine, share, and interact with large brain image datasets.' + config_profile_url = 'https://www.brainimagelibrary.org' + config_profile_contact = 'Ivan Cao-Berg (@icaoberg)' + + // General resource boundaries (used in profile as well) + max_memory = 2.9.Tb + max_cpus = 80 + max_time = 48.h + + // Ignore iGenomes when not needed + igenomes_ignore = true + igenomesIgnore = true +} + +// ───────────────────────────────────────────────────────────────────────────── +// Singularity Configuration +// ───────────────────────────────────────────────────────────────────────────── +singularity { + enabled = true + autoMounts = true + runOptions = ''' + --home $HOME:/bil/users/$USER \ + --bind /scratch \ + --bind /local + ''' +} + +// ───────────────────────────────────────────────────────────────────────────── +// Executor Configuration +// ───────────────────────────────────────────────────────────────────────────── +executor { + queueSize = 10 + submitRateLimit = '5 sec' +} + +// ───────────────────────────────────────────────────────────────────────────── +// Profiles +// ───────────────────────────────────────────────────────────────────────────── +profiles { + compute { + params { + config_profile_name = 'BIL - General Computing Partition' + config_profile_description = 'Brain Image Library Analysis Ecosystem at the Pittsburgh Supercomputing Center' + config_profile_url = 'https://www.brainimagelibrary.org' + config_profile_contact = 'Ivan Cao-Berg (@icaoberg)' + } + + process { + executor = 'slurm' + queue = 'compute' + queueSize = 10 + clusterOptions = '--qos=normal' + + // Set scratch directory to /local + scratch = true + scratchMount = '/local' + + // Default per-process limits + resourceLimits = [ + memory: 128.Gb, + cpus : 16, + time : 4.h + ] + } + } +} + diff --git a/docs/brain.md b/docs/brain.md new file mode 100644 index 000000000..3aeae3200 --- /dev/null +++ b/docs/brain.md @@ -0,0 +1,25 @@ +# nf-core/configs: Brain Image Library Analysis Ecosystem Configuration + +All nf-core pipelines have been successfully configured for use on the Brain Image Libraryy (BIL) cluster at the Pittsburgh Supercomputing Center. + +To use, run the pipeline with `-profile brain`. This will download and launch the [`brain.config`](../conf/brain.config) which has been pre-configured with a setup suitable for the Brain Image Library (BIL) Analysis Ecosystem. 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. + +## Running the workflow on the Brain Image Library (BIL) Analysis Ecosystem + +Nextflow is not installed by default on the Brain Image Library Analysis Ecosystem. + +- Install Nextflow : [here](https://www.nextflow.io/docs/latest/getstarted.html#) + +Nextflow manages each process as a separate job that is submitted to the cluster by using the `sbatch` command. + +Nextflow shouldn't run directly on a login node but on a compute node, so the `nextflow run` command should be also submitted using an `sbatch` command itself. + +For example, run the following Nextflow command on a compute node with submit host capability: + +```bash +# Run nextflow workflow +nextflow run \\ +nf-core/chipseq \\ +-resume \\ +-profile test,brain,compute +``` diff --git a/nfcore_custom.config b/nfcore_custom.config index 84f08c30c..de29165dc 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -58,6 +58,9 @@ profiles { bluebear { includeConfig "${params.custom_config_base}/conf/bluebear.config" } + brain { + includeConfig "${params.custom_config_base}/conf/brain.config" + } cambridge { includeConfig "${params.custom_config_base}/conf/cambridge.config" }