diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e710ce1..0cdf350 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,49 @@ jobs: needs: test_all_profiles strategy: matrix: - profile: ['abims', 'awsbatch', 'bi','bigpurple', 'binac', 'biohpc_gen', 'cbe', 'ccga_dx', 'ccga_med', 'cfc', 'cfc_dev', 'crick', 'denbi_qbic', 'ebc', 'eddie', 'eva', 'genotoul', 'genouest', 'gis', 'google', 'hebbe', 'icr_davros', 'ifb_core', 'imperial', 'imperial_mb', 'jax', 'kraken', 'lugh', 'mpcdf', 'munin', 'oist', 'pasteur', 'phoenix', 'prince', 'sanger', 'seg_globe', 'shh', 'uct_hpc', 'uppmax', 'utd_ganymede', 'uzh'] + profile: + - 'abims' + - 'awsbatch' + - 'aws_tower' + - 'bi' + - 'bigpurple' + - 'binac' + - 'biohpc_gen' + - 'cbe' + - 'ccga_dx' + - 'ccga_med' + - 'cfc' + - 'cfc_dev' + - 'crick' + - 'denbi_qbic' + - 'ebc' + - 'eddie' + - 'eva' + - 'genotoul' + - 'genouest' + - 'gis' + - 'google' + - 'hebbe' + - 'icr_davros' + - 'ifb_core' + - 'imperial' + - 'imperial_mb' + - 'jax' + - 'lugh' + - 'mpcdf' + - 'munin' + - 'oist' + - 'pasteur' + - 'phoenix' + - 'prince' + - 'sanger' + - 'seg_globe' + - 'shh' + - 'uct_hpc' + - 'uppmax' + - 'utd_ganymede' + - 'utd_sysbio' + - 'uzh' steps: - uses: actions/checkout@v1 - name: Install Nextflow diff --git a/README.md b/README.md index 7d5dc2e..29fbce2 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,7 @@ Currently documentation is available for the following systems: * [ABIMS](docs/abims.md) * [AWSBATCH](docs/awsbatch.md) +* [AWS_TOWER](docs/aws_tower.md) * [BIGPURPLE](docs/bigpurple.md) * [BI](docs/bi.md) * [BINAC](docs/binac.md) @@ -117,7 +118,6 @@ Currently documentation is available for the following systems: * [HEBBE](docs/hebbe.md) * [ICR_DAVROS](docs/icr_davros.md) * [JAX](docs/jax.md) -* [KRAKEN](docs/kraken.md) * [LUGH](docs/lugh.md) * [MPCDF](docs/mpcdf.md) * [MUNIN](docs/munin.md) @@ -131,6 +131,7 @@ Currently documentation is available for the following systems: * [UCT_HPC](docs/uct_hpc.md) * [UPPMAX](docs/uppmax.md) * [UTD_GANYMEDE](docs/utd_ganymede.md) +* [UTD_SYSBIO](docs/utd_sysbio.md) * [UZH](docs/uzh.md) ### Uploading to `nf-core/configs` diff --git a/bin/cchecker.py b/bin/cchecker.py index 9629cf8..cac7e4a 100644 --- a/bin/cchecker.py +++ b/bin/cchecker.py @@ -10,6 +10,7 @@ import os import sys import argparse import re +import yaml ############################################ ############################################ @@ -51,19 +52,22 @@ def check_config(Config, Github): ### Ignore these profiles ignore_me = ['czbiohub_aws'] tests.update(ignore_me) - with open(Github, 'r') as ghfile: - for line in ghfile: - if re.search('profile: ', line): - line = line.replace('\'','').replace('[','').replace(']','').replace('\n','') - profiles = line.split(':')[1].split(',') - for p in profiles: - tests.add(p.strip()) + # parse yaml GitHub actions file + try: + with open(Github, 'r') as ghfile: + wf = yaml.safe_load(ghfile) + profile_list = wf["jobs"]["profile_test"]["strategy"]["matrix"]["profile"] + except Exception as e: + print("Could not parse yaml file: {}, {}".format(Github, e)) + sys.exit(1) + # Add profiles to test + for profile in profile_list: + tests.add(profile.strip()) ###Check if sets are equal - if tests == config_profiles: - sys.exit(0) - else: - #Maybe report what is missing here too + try: + assert tests == config_profiles + except (AssertionError): print("Tests don't seem to test these profiles properly. Please check whether you added the profile to the Github Actions testing YAML.\n") print(config_profiles.symmetric_difference(tests)) sys.exit(1) diff --git a/conf/aws_tower.config b/conf/aws_tower.config new file mode 100644 index 0000000..ab7786d --- /dev/null +++ b/conf/aws_tower.config @@ -0,0 +1,21 @@ +//Nextflow config file for running on AWS batch +params { + config_profile_description = 'AWS Batch with Tower Profile' + config_profile_contact = 'Gisela Gabernet (@ggabernet)' + config_profile_url = 'https://aws.amazon.com/batch/' +} + +timeline { + overwrite = true +} +report { + overwrite = true +} +trace { + overwrite = true +} +dag { + overwrite = true +} + +process.executor = 'awsbatch' diff --git a/conf/cfc.config b/conf/cfc.config index ffe0395..1948e14 100644 --- a/conf/cfc.config +++ b/conf/cfc.config @@ -11,7 +11,6 @@ singularity { } process { - beforeScript = 'module load devel/singularity/3.4.2' executor = 'slurm' queue = { task.memory > 60.GB || task.cpus > 20 ? 'qbic' : 'compute' } scratch = 'true' diff --git a/conf/cfc_dev.config b/conf/cfc_dev.config index 6190314..1d61baf 100644 --- a/conf/cfc_dev.config +++ b/conf/cfc_dev.config @@ -10,7 +10,6 @@ singularity { } process { - beforeScript = 'module load devel/singularity/3.4.2' executor = 'slurm' queue = { task.memory > 60.GB || task.cpus > 20 ? 'qbic' : 'compute' } scratch = 'true' diff --git a/conf/czbiohub_aws.config b/conf/czbiohub_aws.config index c4b0e7d..7132352 100644 --- a/conf/czbiohub_aws.config +++ b/conf/czbiohub_aws.config @@ -27,7 +27,7 @@ process { workDir = "s3://czb-nextflow/intermediates/" aws.region = 'us-west-2' -executor.awscli = '/home/ec2-user/miniconda/bin/aws' +aws.batch.cliPath = '/home/ec2-user/miniconda/bin/aws' params.tracedir = './' params { diff --git a/conf/eddie.config b/conf/eddie.config index 70e0dcc..7f7e2e2 100644 --- a/conf/eddie.config +++ b/conf/eddie.config @@ -31,7 +31,7 @@ process { params { saveReference = true // iGenomes reference base - igenomes_base = '/exports/igmm/eddie/NextGenResources/igenomes' + igenomes_base = '/exports/igmm/eddie/BioinformaticsResources/igenomes' max_memory = 384.GB max_cpus = 32 max_time = 240.h @@ -42,8 +42,8 @@ env { } singularity { - envWhitelist = "SINGULARITY_TMPDIR" - runOptions = '-p' + envWhitelist = "SINGULARITY_TMPDIR,TMPDIR" + runOptions = '-p -B "$TMPDIR"' enabled = true autoMounts = true } diff --git a/conf/hebbe.config b/conf/hebbe.config index 26296d5..58e1e24 100644 --- a/conf/hebbe.config +++ b/conf/hebbe.config @@ -14,7 +14,7 @@ process { clusterOptions = { "-A $params.project ${params.clusterOptions ?: ''}" } /* The Hebbe scheduler fails if you try to request an amount of memory for a job */ - withName: '*' { memory = null } + withName: '.*' { memory = null } } params { diff --git a/conf/jax.config b/conf/jax.config index 7cf790e..56c0f12 100644 --- a/conf/jax.config +++ b/conf/jax.config @@ -19,7 +19,7 @@ singularity{ cacheDir = params.singularity_cache_dir } params { - max_memory = 768.GB - max_cpus = 70 + max_memory = 320.GB + max_cpus = 32 max_time = 336.h } diff --git a/conf/kraken.config b/conf/kraken.config deleted file mode 100644 index 59417e9..0000000 --- a/conf/kraken.config +++ /dev/null @@ -1,24 +0,0 @@ -//Profile config names for nf-core/configs -params { - config_profile_name = 'KRAKEN' - config_profile_description = 'Jenkins cluster provided by nf-core/configs.' - config_profile_contact = 'Maxime Garcia or Johannes Alneberg' - config_profile_url = 'kraken.dyn.scilifelab.se' -} - -process { - executor = 'local' -} - -docker { - enabled = true - mountFlags = 'z' - fixOwnership = true -} - -params { - max_memory = 60.GB - max_cpus = 16 - max_time = 72.h - igenomes_base = '/share/igenomes/' -} diff --git a/conf/munin.config b/conf/munin.config index 09df9c8..3902e29 100644 --- a/conf/munin.config +++ b/conf/munin.config @@ -2,8 +2,8 @@ params { // Specific nf-core/configs params - config_profile_contact = 'Szilveszter Juhos (@szilvajuhos)' - config_profile_description = 'MUNIN profile provided by nf-core/configs.' + config_profile_contact = 'Maxime Garcia (@maxulysse)' + config_profile_description = 'MUNIN profile provided by nf-core/configs' config_profile_url = 'https://ki.se/forskning/barntumorbanken' // Local AWS iGenomes reference file paths on munin @@ -26,8 +26,12 @@ singularity { } // To use docker, use nextflow run -profile munin,docker -docker { - enabled = false - mountFlags = 'z' - fixOwnership = true +profiles { + docker { + docker { + enabled = false + mountFlags = 'z' + fixOwnership = true + } + } } diff --git a/conf/pipeline/eager/eva.config b/conf/pipeline/eager/eva.config index 2e07d57..87d679e 100644 --- a/conf/pipeline/eager/eva.config +++ b/conf/pipeline/eager/eva.config @@ -61,7 +61,7 @@ process { // Fixes for SGE and Java incompatibility due to Java using more memory than you tell it to use withName: makeSeqDict { - clusterOptions = { "-S /bin/bash -v JAVA_OPTS='-XX:ParallelGCThreads=1' -l h_vmem=${(task.memory.toGiga() + 3)}G,virtual_free=${(task.memory.toGiga() + 3)}G" } + clusterOptions = { "-S /bin/bash -l h_vmem=${(task.memory.toGiga() * 2)}G,virtual_free=${(task.memory.toGiga() * 2)}G" } } withName: fastqc { @@ -69,7 +69,7 @@ process { } withName: adapter_removal { - clusterOptions = { "-S /bin/bash -l h_vmem=${(task.memory.toGiga() * 2)}G,virtual_free=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-S /bin/bash -l h_vmem=${(task.memory.toGiga() * 4)}G,virtual_free=${(task.memory.toGiga() * 4)}G" } } withName: dedup { @@ -79,6 +79,10 @@ process { withName: markduplicates { clusterOptions = { "-S /bin/bash -l h_vmem=${(task.memory.toGiga() + 6)}G,virtual_free=${(task.memory.toGiga() + 6)}G" } } + + withName: library_merge { + clusterOptions = { "-S /bin/bash -l h_vmem=${(task.memory.toGiga() + 6)}G,virtual_free=${(task.memory.toGiga() + 6)}G" } + } withName: malt { clusterOptions = { "-S /bin/bash -l h_vmem=${(task.memory.toGiga() * 2)}G,virtual_free=${(task.memory.toGiga() * 2)}G" } @@ -93,7 +97,7 @@ process { } withName: mtnucratio { - clusterOptions = { "-S /bin/bash -l h_vmem=${(task.memory.toGiga() * 2)}G,virtual_free=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-S /bin/bash -l h_vmem=${(task.memory.toGiga() * 4)}G,virtual_free=${(task.memory.toGiga() * 4)}G" } } withName: vcf2genome { @@ -212,4 +216,4 @@ profiles { bwaalnl = 16500 } } -} \ No newline at end of file +} diff --git a/conf/pipeline/eager/shh.config b/conf/pipeline/eager/shh.config index 5046df0..b99d038 100644 --- a/conf/pipeline/eager/shh.config +++ b/conf/pipeline/eager/shh.config @@ -10,7 +10,7 @@ params { // Specific nf-core/eager process configuration process { - maxRetries = 2 + maxRetries = 3 withName: malt { maxRetries = 1 @@ -106,43 +106,43 @@ profiles { withLabel:'sc_tiny'{ cpus = { check_max( 1, 'cpus' ) } memory = { check_max( 2.GB * task.attempt, 'memory' ) } - time = { task.attempt == 3 ? 1440.h : task.attempt == 2 ? 48.h : 2.h } + time = { task.attempt == 3 ? 1440.h : 48.h } } withLabel:'sc_small'{ cpus = { check_max( 1, 'cpus' ) } memory = { check_max( 8.GB * task.attempt, 'memory' ) } - time = { task.attempt == 3 ? 1440.h : task.attempt == 2 ? 48.h : 2.h } + time = { task.attempt == 3 ? 1440.h : 48.h } } withLabel:'sc_medium'{ cpus = { check_max( 1, 'cpus' ) } memory = { check_max( 16.GB * task.attempt, 'memory' ) } - time = { task.attempt == 3 ? 1440.h : task.attempt == 2 ? 48.h : 2.h } + time = { task.attempt == 3 ? 1440.h : 48.h } } withLabel:'mc_small'{ cpus = { check_max( 2, 'cpus' ) } memory = { check_max( 8.GB * task.attempt, 'memory' ) } - time = { task.attempt == 3 ? 1440.h : task.attempt == 2 ? 48.h : 2.h } + time = { task.attempt == 3 ? 1440.h : 48.h } } withLabel:'mc_medium' { cpus = { check_max( 4, 'cpus' ) } memory = { check_max( 16.GB * task.attempt, 'memory' ) } - time = { task.attempt == 3 ? 1440.h : task.attempt == 2 ? 48.h : 2.h } + time = { task.attempt == 3 ? 1440.h : 48.h } } withLabel:'mc_large'{ cpus = { check_max( 8, 'cpus' ) } memory = { check_max( 32.GB * task.attempt, 'memory' ) } - time = { task.attempt == 3 ? 1440.h : task.attempt == 2 ? 48.h : 2.h } + time = { task.attempt == 3 ? 1440.h : 48.h } } withLabel:'mc_huge'{ cpus = { check_max( 32, 'cpus' ) } memory = { check_max( 512.GB * task.attempt, 'memory' ) } - time = { task.attempt == 3 ? 1440.h : task.attempt == 2 ? 48.h : 2.h } + time = { task.attempt == 3 ? 1440.h : 48.h } } } } @@ -164,7 +164,7 @@ profiles { params { config_profile_description = 'Rough HOPS screening MPI-SHH profile, provided by nf-core/configs.' fasta = '/projects1/Reference_Genomes/Human/HG19/hg19_complete.fasta' - bwa_index = '/projects1/Reference_Genomes/Human/HG19/hg19_complete.fasta' + bwa_index = '/projects1/Reference_Genomes/Human/HG19/' fasta_index = '/projects1/Reference_Genomes/Human/HG19/hg19_complete.fasta.fai' seq_dict = '/projects1/Reference_Genomes/Human/HG19/hg19_complete.dict' bwaalnn = 0.01 diff --git a/conf/pipeline/rnaseq/utd_sysbio.config b/conf/pipeline/rnaseq/utd_sysbio.config new file mode 100644 index 0000000..0c9dd7d --- /dev/null +++ b/conf/pipeline/rnaseq/utd_sysbio.config @@ -0,0 +1,19 @@ +params { + config_profile_description = 'University of Texas at Dallas HPC cluster profile provided by nf-core/configs' + config_profile_contact = 'Edmund Miller(@emiller88)' + config_profile_url = 'http://docs.oithpc.utdallas.edu/' +} + +process { + + withName : "STAR_ALIGN" { + memory = 36.GB + } + + withLabel:process_high { + cpus = { check_max( 16 * task.attempt, 'cpus' ) } + memory = { check_max( 60.GB * task.attempt, 'memory' ) } + time = { check_max( 16.h * task.attempt, 'time' ) } + } + +} diff --git a/conf/pipeline/sarek/munin.config b/conf/pipeline/sarek/munin.config index 039d117..7276a27 100644 --- a/conf/pipeline/sarek/munin.config +++ b/conf/pipeline/sarek/munin.config @@ -2,8 +2,9 @@ params { // Specific nf-core/configs params - config_profile_contact = 'Maxime Garcia (@MaxUlysse)' + config_profile_contact = 'Maxime Garcia (@maxulysse)' config_profile_description = 'nf-core/sarek MUNIN profile provided by nf-core/configs' + config_profile_url = 'https://ki.se/forskning/barntumorbanken' // Specific nf-core/sarek params annotation_cache = true diff --git a/conf/pipeline/viralrecon/eddie.config b/conf/pipeline/viralrecon/eddie.config new file mode 100644 index 0000000..8f0463d --- /dev/null +++ b/conf/pipeline/viralrecon/eddie.config @@ -0,0 +1,13 @@ +env { + BLASTDB_LMDB_MAP_SIZE=100000000 +} + +process { + withName : '.*PICARD.*' { + clusterOptions = {"-l h_vmem=${(task.memory + 4.GB).bytes/task.cpus}"} + } + + withName : '.*SNPEFF.*' { + clusterOptions = {"-l h_vmem=${(task.memory + 4.GB).bytes/task.cpus}"} + } +} diff --git a/conf/pipeline/viralrecon/genomes.config b/conf/pipeline/viralrecon/genomes.config index 27f7162..3e3e299 100644 --- a/conf/pipeline/viralrecon/genomes.config +++ b/conf/pipeline/viralrecon/genomes.config @@ -20,21 +20,33 @@ params { primer_sets { artic { '1' { - fasta = 'https://github.com/artic-network/primer-schemes/raw/master/nCoV-2019/V1/nCoV-2019.reference.fasta' + fasta = 'https://github.com/artic-network/artic-ncov2019/raw/master/primer_schemes/nCoV-2019/V1/nCoV-2019.reference.fasta' gff = 'https://github.com/nf-core/test-datasets/raw/viralrecon/genome/MN908947.3/GCA_009858895.3_ASM985889v3_genomic.200409.gff.gz' - primer_bed = 'https://github.com/artic-network/primer-schemes/raw/master/nCoV-2019/V1/nCoV-2019.primer.bed' + primer_bed = 'https://github.com/artic-network/artic-ncov2019/raw/master/primer_schemes/nCoV-2019/V1/nCoV-2019.primer.bed' scheme = 'nCoV-2019' } '2' { - fasta = 'https://github.com/artic-network/primer-schemes/raw/master/nCoV-2019/V2/nCoV-2019.reference.fasta' + fasta = 'https://github.com/artic-network/artic-ncov2019/raw/master/primer_schemes/nCoV-2019/V2/nCoV-2019.reference.fasta' gff = 'https://github.com/nf-core/test-datasets/raw/viralrecon/genome/MN908947.3/GCA_009858895.3_ASM985889v3_genomic.200409.gff.gz' - primer_bed = 'https://github.com/artic-network/primer-schemes/raw/master/nCoV-2019/V2/nCoV-2019.primer.bed' + primer_bed = 'https://github.com/artic-network/artic-ncov2019/raw/master/primer_schemes/nCoV-2019/V2/nCoV-2019.primer.bed' scheme = 'nCoV-2019' } '3' { - fasta = 'https://github.com/artic-network/primer-schemes/raw/master/nCoV-2019/V3/nCoV-2019.reference.fasta' + fasta = 'https://github.com/artic-network/artic-ncov2019/raw/master/primer_schemes/nCoV-2019/V3/nCoV-2019.reference.fasta' gff = 'https://github.com/nf-core/test-datasets/raw/viralrecon/genome/MN908947.3/GCA_009858895.3_ASM985889v3_genomic.200409.gff.gz' - primer_bed = 'https://github.com/artic-network/primer-schemes/raw/master/nCoV-2019/V3/nCoV-2019.primer.bed' + primer_bed = 'https://github.com/artic-network/artic-ncov2019/raw/master/primer_schemes/nCoV-2019/V3/nCoV-2019.primer.bed' + scheme = 'nCoV-2019' + } + '4' { + fasta = 'https://github.com/artic-network/artic-ncov2019/raw/master/primer_schemes/nCoV-2019/V4/SARS-CoV-2.reference.fasta' + gff = 'https://github.com/nf-core/test-datasets/raw/viralrecon/genome/MN908947.3/GCA_009858895.3_ASM985889v3_genomic.200409.gff.gz' + primer_bed = 'https://github.com/artic-network/artic-ncov2019/raw/master/primer_schemes/nCoV-2019/V4/SARS-CoV-2.scheme.bed' + scheme = 'SARS-CoV-2' + } + '1200' { + fasta = 'https://github.com/nf-core/test-datasets/raw/viralrecon/genome/MN908947.3/primer_schemes/artic/nCoV-2019/V1200/nCoV-2019.reference.fasta' + gff = 'https://github.com/nf-core/test-datasets/raw/viralrecon/genome/MN908947.3/GCA_009858895.3_ASM985889v3_genomic.200409.gff.gz' + primer_bed = 'https://github.com/nf-core/test-datasets/raw/viralrecon/genome/MN908947.3/primer_schemes/artic/nCoV-2019/V1200/nCoV-2019.bed' scheme = 'nCoV-2019' } } diff --git a/conf/utd_sysbio.config b/conf/utd_sysbio.config new file mode 100644 index 0000000..28460a8 --- /dev/null +++ b/conf/utd_sysbio.config @@ -0,0 +1,35 @@ +//Profile config names for nf-core/configs +params { + config_profile_description = 'University of Texas at Dallas HPC cluster profile provided by nf-core/configs' + config_profile_contact = 'Edmund Miller(@emiller88)' + config_profile_url = 'http://docs.oithpc.utdallas.edu/' + singularity_cache_dir = '/scratch/applied-genomics/singularity' +} + +env { + TMPDIR = '/home/$USER/scratch/tmp' +} + +singularity { + enabled = true + envWhitelist='SINGULARITY_BINDPATH' + autoMounts = true + cacheDir = params.singularity_cache_dir +} + +process { + beforeScript = 'module load singularity/3.4.1' + executor = 'slurm' + queue = { task.memory >= 30.GB && task.cpu <= 16 ? 'normal': 'smallmem' } +} + +// Preform work directory cleanup after a successful run +cleanup = true + +params { + // TODO Need to initialize this + // igenomes_base = '/scratch/applied-genomics/references/iGenomes/references/' + max_memory = 90.GB + max_cpus = 16 + max_time = 96.h +} \ No newline at end of file diff --git a/docs/aws_tower.md b/docs/aws_tower.md new file mode 100644 index 0000000..6274bf3 --- /dev/null +++ b/docs/aws_tower.md @@ -0,0 +1,5 @@ +# nf-core/configs: AWS Batch with Tower Configuration + +To be used when submitting jobs to AWS Batch by using Tower Forge. If you are not using Tower Forge, consider using the profile `awsbatch` where you can directly specify the Batch queue, AWS region and AWS cli path. + +This profile defines `awsbatch` as executor, and allows `overwrite` of `trace`, `timeline`, `report` and `dag` to allow resuming pipelines. diff --git a/docs/eddie.md b/docs/eddie.md index e5dbe5c..485e20a 100644 --- a/docs/eddie.md +++ b/docs/eddie.md @@ -1,10 +1,10 @@ # nf-core/configs: Eddie Configuration -nf-core pipelines sarek, rnaseq, and atacseq have all been tested on the University of Edinburgh Eddie HPC. +nf-core pipelines sarek, rnaseq, atacseq, and viralrecon have all been tested on the University of Edinburgh Eddie HPC. All except atacseq have pipeline-specific config files; atacseq does not yet support this. ## Getting help -There is a Slack channel dedicated to eddie users on the MRC IGMM Slack: [https://igmm.slack.com/channels/eddie3](https://igmm.slack.com/channels/eddie3) +There is a Slack channel dedicated to eddie users on the MRC IGC Slack: [https://igmm.slack.com/channels/eddie3](https://igmm.slack.com/channels/eddie3) ## Using the Eddie config profile @@ -35,13 +35,13 @@ This config enables Nextflow to manage the pipeline jobs via the SGE job schedul ## Singularity set-up -Load Singularity from the module system and, if you have access to `/exports/igmm/eddie/NextGenResources`, set the Singularity cache directory to the NextGenResources path below. If some containers for your pipeline run are not present, please contact the [IGMM Data Manager](data.manager@igmm.ed.ac.uk) to have them added. You can add these lines to the file `$HOME/.bashrc`, or you can run these commands before you run an nf-core pipeline. +Load Singularity from the module system and, if you have access to `/exports/igmm/eddie/BioinformaticsResources`, set the Singularity cache directory to the BioinformaticsResources path below. If some containers for your pipeline run are not present, please contact the [IGC Data Manager](data.manager@igc.ed.ac.uk) to have them added. You can add these lines to the file `$HOME/.bashrc`, or you can run these commands before you run an nf-core pipeline. -If you do not have access to `/exports/igmm/eddie/NextGenResources`, set the Singularity cache directory to somewhere sensible that is not in your `$HOME` area (which has limited space). It will take time to download all the Singularity containers, but you can use this again. +If you do not have access to `/exports/igmm/eddie/BioinformaticsResources`, set the Singularity cache directory to somewhere sensible that is not in your `$HOME` area (which has limited space). It will take time to download all the Singularity containers, but you can use this again. ```bash module load singularity -export NXF_SINGULARITY_CACHEDIR="/exports/igmm/eddie/NextGenResources/nextflow/singularity" +export NXF_SINGULARITY_CACHEDIR="/exports/igmm/eddie/BioinformaticsResources/nf-core/singularity-images" ``` Singularity will create a directory `.singularity` in your `$HOME` directory on eddie. Space on `$HOME` is very limited, so it is a good idea to create a directory somewhere else with more room and link the locations. @@ -68,7 +68,7 @@ If your eddie terminal disconnects your Nextflow job will stop. You can run Next nohup ./nextflow_run.sh & ``` -### On a wild west node - IGMM only +### On a wild west node - IGC only Wild west nodes on eddie can be accessed via ssh (node2c15, node2c16, node3g22). To run Nextflow on one of these nodes, do it within a [screen session](https://linuxize.com/post/how-to-use-linux-screen/). @@ -92,12 +92,12 @@ screen -r ## Using iGenomes references -A local copy of the iGenomes resource has been made available on the Eddie HPC for those with access to `/exports/igmm/eddie/NextGenResources` so you should be able to run the pipeline against any reference available in the `igenomes.config`. +A local copy of the iGenomes resource has been made available on the Eddie HPC for those with access to `/exports/igmm/eddie/BioinformaticsResources` so you should be able to run the pipeline against any reference available in the `igenomes.config`. You can do this by simply using the `--genome ` parameter. ## Adjusting maximum resources -This config is set for IGMM standard nodes which have 32 cores and 384GB memory. If you are a non-IGMM user, please see the [ECDF specification](https://www.wiki.ed.ac.uk/display/ResearchServices/Memory+Specification) and adjust the `--clusterOptions` flag appropriately, e.g. +This config is set for IGC standard nodes which have 32 cores and 384GB memory. If you are a non-IGC user, please see the [ECDF specification](https://www.wiki.ed.ac.uk/display/ResearchServices/Memory+Specification) and adjust the `--clusterOptions` flag appropriately, e.g. ```bash --clusterOptions "-C mem256GB" --max_memory "256GB" diff --git a/docs/kraken.md b/docs/kraken.md deleted file mode 100644 index 9426087..0000000 --- a/docs/kraken.md +++ /dev/null @@ -1,10 +0,0 @@ -# nf-core/configs: KRAKEN Configuration - -This profile can be **only** combined with `jenkins.config`. It is used for -testing pipeline with real data on **in-house** cluster located at SciLifeLab. - -To use, run the pipeline with `-profile kraken`. This will download and launch -the [`kraken.config`](../conf/kraken.config) which has been pre-configured to -test the pipeline using `docker` by default. - -Example: `nextflow run -profile kraken,jenkins` diff --git a/docs/pipeline/rnaseq/utd_sysbio.md b/docs/pipeline/rnaseq/utd_sysbio.md new file mode 100644 index 0000000..ff228d5 --- /dev/null +++ b/docs/pipeline/rnaseq/utd_sysbio.md @@ -0,0 +1,23 @@ +# nf-core/configs: UTD sysbio rnaseq specific configuration + +Extra specific configuration for rnaseq pipeline + +## Usage + +To use, run the pipeline with `-profile sysbio`. + +This will download and launch the eager specific [`utd_sysbio.config`](../../../conf/pipeline/rnaseq/utd_sysbio.config) which has been pre-configured with a setup suitable for the shh cluster. + +Example: `nextflow run nf-core/rnaseq -profile sysbio` + +## rnaseq specific configurations for UTD sysbio + +Specific configurations for UTD Sysbio has been made for rnaseq. + +### General profiles + + + +### Contextual profiles + + diff --git a/docs/utd_sysbio.md b/docs/utd_sysbio.md new file mode 100644 index 0000000..3ae617a --- /dev/null +++ b/docs/utd_sysbio.md @@ -0,0 +1,16 @@ +# nf-core/configs: UTD Sysbio Configuration + +All nf-core pipelines have been successfully configured for use on the Sysbio HPC cluster at the [The Univeristy of Texas at Dallas](https://www.utdallas.edu/). + +To use, run the pipeline with `-profile utd_sysbio`. This will download and launch the [`utd_sysbio.config`](../conf/utd_sysbio.config) which has been pre-configured with a setup suitable for the Sysbio HPC 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. + +Before running the pipeline you will need to load Singularity using the environment module system on Sysbio. You can do this by issuing the commands below: + +```bash +## Singularity environment modules +module purge +module load singularity +``` + +>NB: You will need an account to use the HPC cluster on Sysbio in order to run the pipeline. If in doubt contact OIT. +>NB: Nextflow will need to submit the jobs via SLURM to the HPC cluster and as such the commands above will have to be executed on one of the login nodes. If in doubt contact OIT. diff --git a/nfcore_custom.config b/nfcore_custom.config index d835c72..e19376a 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -12,6 +12,7 @@ profiles { abims { includeConfig "${params.custom_config_base}/conf/abims.config" } awsbatch { includeConfig "${params.custom_config_base}/conf/awsbatch.config" } + aws_tower { includeConfig "${params.custom_config_base}/conf/aws_tower.config" } bi { includeConfig "${params.custom_config_base}/conf/bi.config" } bigpurple { includeConfig "${params.custom_config_base}/conf/bigpurple.config" } binac { includeConfig "${params.custom_config_base}/conf/binac.config" } @@ -36,7 +37,6 @@ profiles { genouest { includeConfig "${params.custom_config_base}/conf/genouest.config" } gis { includeConfig "${params.custom_config_base}/conf/gis.config" } hebbe { includeConfig "${params.custom_config_base}/conf/hebbe.config" } - kraken { includeConfig "${params.custom_config_base}/conf/kraken.config" } lugh { includeConfig "${params.custom_config_base}/conf/lugh.config"} mpcdf { includeConfig "${params.custom_config_base}/conf/mpcdf.config" } munin { includeConfig "${params.custom_config_base}/conf/munin.config" } @@ -50,6 +50,7 @@ profiles { uct_hpc { includeConfig "${params.custom_config_base}/conf/uct_hpc.config" } uppmax { includeConfig "${params.custom_config_base}/conf/uppmax.config" } utd_ganymede { includeConfig "${params.custom_config_base}/conf/utd_ganymede.config" } + utd_sysbio { includeConfig "${params.custom_config_base}/conf/utd_sysbio.config" } uzh { includeConfig "${params.custom_config_base}/conf/uzh.config" } jax { includeConfig "${params.custom_config_base}/conf/jax.config" } } @@ -70,6 +71,7 @@ params { genotoul: ['.genologin1.toulouse.inra.fr', '.genologin2.toulouse.inra.fr'], genouest: ['.genouest.org'], uppmax: ['.uppmax.uu.se'], - utd_ganymede: ['ganymede.utdallas.edu'] + utd_ganymede: ['ganymede.utdallas.edu'], + utd_sysbio: ['sysbio.utdallas.edu'] ] } diff --git a/pipeline/rnaseq.config b/pipeline/rnaseq.config index 1a27463..17a4ca0 100644 --- a/pipeline/rnaseq.config +++ b/pipeline/rnaseq.config @@ -10,4 +10,5 @@ profiles { eddie { includeConfig "${params.custom_config_base}/conf/pipeline/rnaseq/eddie.config" } + utd_sysbio { includeConfig "${params.custom_config_base}/conf/pipeline/rnaseq/utd_sysbio.config" } } diff --git a/pipeline/viralrecon.config b/pipeline/viralrecon.config index 76a15d1..9300c31 100644 --- a/pipeline/viralrecon.config +++ b/pipeline/viralrecon.config @@ -5,3 +5,7 @@ */ includeConfig "${params.custom_config_base}/conf/pipeline/viralrecon/genomes.config" + +profiles { + eddie { includeConfig "${params.custom_config_base}/conf/pipeline/viralrecon/eddie.config" } +}