Skip to content
Open
Show file tree
Hide file tree
Changes from 3 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
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
**/utd_ganymede** @edmundmiller @alyssa-ab
**/unsw_katana** @jscgh
**/seadragon** @jiawku
**/brain** @icaoberg
1 change: 1 addition & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ jobs:
- "biohpc_gen"
- "biowulf"
- "bluebear"
- "brain"
- "cambridge"
- "cannon"
- "cbe"
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ Currently documentation is available for the following systems:
- [BIOHPC_GEN](docs/biohpc_gen.md)
- [BIOWULF](docs/biowulf.md)
- [BLUEBEAR](docs/bluebear.md)
- [BRAIN](docs/brain.md)
- [CAMBRIDGE](docs/cambridge.md)
- [CANNON](docs/cannon.md)
- [CBE](docs/cbe.md)
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 shouldin't run directly on a login node but on a compute node.
Comment thread
icaoberg marked this conversation as resolved.
Outdated

1. Run nextflow on a compute node with submit host capability:
Comment thread
icaoberg marked this conversation as resolved.
Outdated

```bash
# Run nextflow workflow
nextflow run \\
nf-core/chipseq \\
-resume \\
-profile test,brain
Comment thread
icaoberg marked this conversation as resolved.
Outdated
```
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