Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create incliva.config #516

Merged
merged 6 commits into from
Jun 28, 2023
Merged
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
1 change: 1 addition & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ jobs:
- "icr_davros"
- "ifb_core"
- "imperial"
- "incliva"
- "ipop_up"
- "janelia"
- "jax"
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ Currently documentation is available for the following systems:
- [ICR_DAVROS](docs/icr_davros.md)
- [IFB](docs/ifb_core.md)
- [IMPERIAL](docs/imperial.md)
- [INCLIVA](docs/incliva.md)
- [iPOP-UP](docs/ipop_up.md)
- [Janelia Research Campus](docs/janelia.md)
- [JAX](docs/jax.md)
Expand Down
52 changes: 52 additions & 0 deletions conf/incliva.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
// Profile details
params {
config_profile_description = 'INCLIVA Health Research Institute profile for nf-core.'
config_profile_contact = 'Sheila Zúñiga Trejos - [email protected]'
config_profile_url = 'https://www.incliva.es/en/services/platforms/bioinformatics-unit/'
}

// Function to get hostname
def getHostname() {
def process = 'hostname'.execute()
process.waitFor()
return process.text.trim()
}

// Function to set singularity path according to which host nextflow is running on
def setHostConfig(String hostname) {
if (hostname == 'vlinuxcervantes3srv') {
System.out.println("\nINFO: working on ${hostname}\n")

// Resources details
params.max_memory = 60.GB
params.max_cpus = 15
singularity.cacheDir = "/nfs/home/software/singularity/nf_cacheDir"

} else if (hostname == 'vlinuxcervantes4srv') {
System.out.println("\nINFO: working on ${hostname}.\n")

// Resources details
params.max_memory = 120.GB
params.max_cpus = 19
singularity.cacheDir = "/nfs/home/software/singularity/nf_cacheDir"

} else {
System.err.println("\nERROR: unknown machine. Update incliva.config on nf-core/configs if you are working on another host.\n")
}
}

def hostname = getHostname()

setHostConfig(hostname)

// Singularity details
singularity {
enabled = true
autoMounts = true
}

// Process details
process {
executor = 'local'
maxRetries = 2
}
14 changes: 14 additions & 0 deletions docs/incliva.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# nf-core/configs: INCLIVA Configuration

All nf-core pipelines have been successfully configured for use on the vlinuxcervantes3 & vlinuxcervantes4 servers at the INCLIVA Health Research Institute. Using this config file will automatically detect which one you are working on, so you do not need to specify it yourself.

To use, run the pipeline with `-profile incliva`. This will download and launch the [`incliva.config`](../conf/incliva.config) which has been pre-configured with a setup suitable for the vlinuxcervantes3 & vlinuxcervantes4 servers. When using this profile, if Singularity images have not been downloaded already, a docker image containing all of the required software will be downloaded, and converted to a Singularity image before execution of the pipeline. Downloaded images can be checked in the singularity_path directory defined in the config file.

## Running the workflow on the INCLIVA vlinuxcervantes3 & vlinuxcervantes4 servers

Nextflow and Singularity are needed to run any nf-core workflow:

- Install Nextflow : [here](https://www.nextflow.io/docs/latest/getstarted.html#)
- Install Singularity : [here](https://docs.sylabs.io/guides/3.0/user-guide/installation.html)

By default, Nextflow uses the local executor. The processes are parallelised by spawning multiple threads, taking advantage of the multi-core architecture of the CPU.
1 change: 1 addition & 0 deletions nfcore_custom.config
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ profiles {
icr_davros { includeConfig "${params.custom_config_base}/conf/icr_davros.config" }
ifb_core { includeConfig "${params.custom_config_base}/conf/ifb_core.config" }
imperial { includeConfig "${params.custom_config_base}/conf/imperial.config" }
incliva { includeConfig "${params.custom_config_base}/conf/incliva.config" }
ipop_up { includeConfig "${params.custom_config_base}/conf/ipop_up.config" }
janelia { includeConfig "${params.custom_config_base}/conf/janelia.config" }
jax { includeConfig "${params.custom_config_base}/conf/jax.config" }
Expand Down