Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * -------------------------------------------------
- * nf-core/rnaseq Nextflow config file
- * -------------------------------------------------
- * Default config options for all environments.
- */
- // Global default params, used in configs
- params {
- // Pipeline Options
- // Workflow flags
- genome = false
- reads = "data/*.fastq.gz"
- singleEnd = false
- // References
- genome = false
- salmon_index = false
- transcript_fasta = false
- splicesites = false
- saveReference = false
- gencode = false
- compressedReference = false
- // Strandedness
- forwardStranded = false
- reverseStranded = false
- unStranded = false
- // Trimming
- skipTrimming = false
- clip_r1 = 0
- clip_r2 = 0
- three_prime_clip_r1 = 0
- three_prime_clip_r2 = 0
- trim_nextseq = 0
- pico = false
- saveTrimmed = false
- // Ribosomal RNA removal
- removeRiboRNA = false
- save_nonrRNA_reads = false
- rRNA_database_manifest = false
- // Alignment
- aligner = 'star'
- pseudo_aligner = false
- stringTieIgnoreGTF = false
- seq_center = false
- saveAlignedIntermediates = false
- skipAlignment = false
- saveUnaligned = false
- // Read Counting
- fc_extra_attributes = 'gene_name'
- fc_group_features = 'gene_id'
- fc_count_type = 'exon'
- fc_group_features_type = 'gene_biotype'
- sampleLevel = false
- // See https://bit.ly/3p8fhiN for setting below error with GRCh38
- skipBiotypeQC = true
- // QC
- skipQC = false
- skipFastQC = false
- skipPreseq = false
- skipDupRadar = false
- skipQualimap = false
- skipRseQC = false
- skipEdgeR = false
- skipMultiQC = false
- // Defaults
- project = false
- markdup_java_options = '"-Xms4000m -Xmx7g"' //Established values for markDuplicate memory consumption, see issue PR #689 (in Sarek) for details
- hisat_build_memory = 200 // Required amount of memory in GB to build HISAT2 index with splice sites
- readPaths = null
- star_memory = false // Cluster specific param required for hebbe
- rRNA_database_manifest = "$baseDir/assets/rrna-db-defaults.txt"
- // Boilerplate options
- clusterOptions = false
- outdir = './results'
- name = false
- multiqc_config = "$baseDir/assets/multiqc_config.yaml"
- email = false
- email_on_fail = false
- max_multiqc_email_size = 25.MB
- plaintext_email = false
- monochrome_logs = false
- help = false
- //igenomes_base = "./iGenomes"
- igenomes_base = '/ceph01/projects/reference-databases'
- tracedir = "${params.outdir}/pipeline_info"
- awsqueue = false
- awsregion = 'eu-west-1'
- igenomesIgnore = false
- custom_config_version = 'master'
- custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}"
- hostnames = false
- config_profile_description = false
- config_profile_contact = false
- config_profile_url = false
- }
- // Container slug. Stable releases should specify release tag!
- // Developmental code should specify :dev
- process.container = 'nfcore/rnaseq:1.4.2'
- // Load base.config by default for all pipelines
- includeConfig 'conf/base.config'
- // Load nf-core custom profiles from different Institutions
- try {
- includeConfig "${params.custom_config_base}/nfcore_custom.config"
- } catch (Exception e) {
- System.err.println("WARNING: Could not load nf-core/config profiles: ${params.custom_config_base}/nfcore_custom.config")
- }
- profiles {
- awsbatch { includeConfig 'conf/awsbatch.config' }
- conda { process.conda = "$baseDir/environment.yml" }
- debug { process.beforeScript = 'echo $HOSTNAME' }
- docker { docker.enabled = true }
- singularity { singularity.enabled = true
- singularity.autoMounts = true }
- test { includeConfig 'conf/test.config' }
- cuba { includeConfig 'conf/cuba.config' }
- test_gz { includeConfig 'conf/test_gz.config' }
- cluster { includeConfig 'conf/cluster.config' }
- }
- // Avoid this error:
- // WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
- // Testing this in nf-core after discussion here https://github.com/nf-core/tools/pull/351, once this is established and works well, nextflow might implement this behavior as new default.
- docker.runOptions = '-u \$(id -u):\$(id -g)'
- // Load igenomes.config if required
- if (!params.igenomesIgnore) {
- includeConfig 'conf/igenomes.config'
- }
- // Capture exit codes from upstream processes when piping
- process.shell = ['/bin/bash', '-euo', 'pipefail']
- timeline {
- enabled = true
- file = "${params.tracedir}/execution_timeline.html"
- }
- report {
- enabled = true
- file = "${params.tracedir}/execution_report.html"
- }
- trace {
- enabled = true
- file = "${params.tracedir}/execution_trace.txt"
- }
- dag {
- enabled = true
- file = "${params.tracedir}/pipeline_dag.svg"
- }
- manifest {
- name = 'nf-core/rnaseq'
- author = 'Phil Ewels, Rickard Hammarén'
- homePage = 'https://github.com/nf-core/rnaseq'
- description = 'Nextflow RNA-Seq analysis pipeline, part of the nf-core community.'
- mainScript = 'main.nf'
- nextflowVersion = '>=19.04.0'
- version = '1.4.2'
- }
- // Function to ensure that resource requirements don't go beyond
- // a maximum limit
- def check_max(obj, type) {
- if (type == 'memory') {
- try {
- if (obj.compareTo(params.max_memory as nextflow.util.MemoryUnit) == 1)
- return params.max_memory as nextflow.util.MemoryUnit
- else
- return obj
- } catch (all) {
- println " ### ERROR ### Max memory '${params.max_memory}' is not valid! Using default value: $obj"
- return obj
- }
- } else if (type == 'time') {
- try {
- if (obj.compareTo(params.max_time as nextflow.util.Duration) == 1)
- return params.max_time as nextflow.util.Duration
- else
- return obj
- } catch (all) {
- println " ### ERROR ### Max time '${params.max_time}' is not valid! Using default value: $obj"
- return obj
- }
- } else if (type == 'cpus') {
- try {
- return Math.min( obj, params.max_cpus as int )
- } catch (all) {
- println " ### ERROR ### Max cpus '${params.max_cpus}' is not valid! Using default value: $obj"
- return obj
- }
- }
- }
Add Comment
Please, Sign In to add comment