Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -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
1 change: 1 addition & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ jobs:
- "biohpc_gen"
- "biowulf"
- "bluebear"
- "brain"
- "cambridge"
- "cannon"
- "cbe"
Expand Down
72 changes: 72 additions & 0 deletions conf/brain.config
Original file line number Diff line number Diff line change
@@ -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 {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I this a reason why this is a separate profile - given you have a single entry?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we have multiple partitions but only adding the public at the moment.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see - however you don't need a specific profile for a specific partition - you can tell Nextflow to dynamically pick the queue based on whatever variables you want to use rather than having to explicitly request it.

So I would move everything in this profile into the base config, and when you need to add additional partitions we can update the profile to be dynamic.

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
]
}
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You may want to consider the cleanup option: https://www.nextflow.io/docs/latest/reference/config.html#unscoped-options to reduce HDD space after successful completion.

25 changes: 25 additions & 0 deletions docs/brain.md
Original file line number Diff line number Diff line change
@@ -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
```
3 changes: 3 additions & 0 deletions nfcore_custom.config
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
Expand Down
Loading