1
0
Fork 0
mirror of https://github.com/MillironX/nf-configs.git synced 2024-11-25 17:29:55 +00:00

Merge pull request #58 from rplanel/master

Add Institut Pasteur config
This commit is contained in:
Alexander Peltzer 2019-07-30 16:50:11 +02:00 committed by GitHub
commit e29f46eaeb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 82 additions and 0 deletions

1
.gitignore vendored
View file

@ -3,3 +3,4 @@ work/
data/ data/
results/ results/
.DS_Store .DS_Store
*.code-workspace

View file

@ -99,6 +99,7 @@ Currently documentation is available for the following clusters:
* [UPPMAX-DEVEL](docs/uppmax-devel.md) * [UPPMAX-DEVEL](docs/uppmax-devel.md)
* [UPPMAX](docs/uppmax.md) * [UPPMAX](docs/uppmax.md)
* [UZH](docs/uzh.md) * [UZH](docs/uzh.md)
* [PASTEUR](docs/pasteur.md)
### Uploading to `nf-core/configs` ### Uploading to `nf-core/configs`

23
conf/pasteur.config Normal file
View file

@ -0,0 +1,23 @@
//Profile config names for nf-core/configs
params {
config_profile_description = 'The Institut Pasteur HPC cluster profile'
config_profile_contact = 'Remi Planel (@rplanel)'
config_profile_url = 'https://research.pasteur.fr/en/service/tars-cluster'
}
singularity {
enabled = true
autoMounts = true
runOptions = '-B /local/scratch:/tmp'
}
process {
executor = 'slurm'
}
params {
igenomesIgnore = true
max_memory = 256.GB
max_cpus = 28
max_time = 24.h
}

56
docs/pasteur.md Normal file
View file

@ -0,0 +1,56 @@
# nf-core/configs: Institut Pasteur Configuration
All nf-core pipelines have been successfully configured for use on the tars cluster at the Institut Pasteur.
To use, run the pipeline with `-profile pasteur`. This will download and launch the [`pasteur.config`](../conf/pasteur.config) which has been pre-configured with a setup suitable for the Pasteur 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.
## Running the workflow on the Pasteur cluster
Nextflow is not installed by default on the Pasteur cluster.
- 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 the submission node but on a compute node.
The compute nodes don't have access to internet so you need to run it offline.
To do that:
1. Create a virtualenv to install nf-core
```bash
module purge
module load Python/3.6.0
module load java
module load singularity
cd /path/to/nf-core/workflows
virtualenv .venv -p python3
. .venv/bin/activate
```
2. Install nf-core: [here](https://nf-co.re/tools#installation)
3. Get nf-core pipeline and container: [here](https://nf-co.re/tools#downloading-pipelines-for-offline-use)
4. Get the nf-core Pasteur profile: [here](https://github.com/nf-core/rnaseq/blob/master/docs/usage.md#--custom_config_base)
5. Run nextflow on a compute node:
```bash
# create a terminal
tmux
# Get a compute node
salloc
# Load the dependencies if not done before
module purge
module load java
module load singularity
# Run nextflow workflow
nextflow run \\
/path/to/pipeline-dir/from/step/3/workflow \\
-resume
-profile pasteur \\
-with-singularity /path/to/pipeline-dir/from/step/3/singularity-images/singularity.img \\
--email my-email@pasteur.fr \\
--custom_config_base /path/to/configs/from/step/4/ \\
-c my-specific.config
...
```

View file

@ -34,6 +34,7 @@ profiles {
uzh { includeConfig "${params.custom_config_base}/conf/uzh.config" } uzh { includeConfig "${params.custom_config_base}/conf/uzh.config" }
prince { includeConfig "${params.custom_config_base}/conf/prince.config" } prince { includeConfig "${params.custom_config_base}/conf/prince.config" }
bigpurple { includeConfig "${params.custom_config_base}/conf/bigpurple.config" } bigpurple { includeConfig "${params.custom_config_base}/conf/bigpurple.config" }
pasteur { includeConfig "${params.custom_config_base}/conf/pasteur.config" }
} }
// If user hostnames contain one of these substring and they are // If user hostnames contain one of these substring and they are