From bf36c5486c2fc1f2c757b0fd0e9fb03621ecdbe9 Mon Sep 17 00:00:00 2001 From: James Fellows Yates Date: Thu, 24 Mar 2022 07:28:08 +0100 Subject: [PATCH 01/14] Bump Versions --- .github/workflows/ci.yml | 4 ++-- CHANGELOG.md | 2 +- Dockerfile | 4 ++-- environment.yml | 4 ++-- nextflow.config | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 599fd53af..42f930fd0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,13 +37,13 @@ jobs: - name: Build new docker image if: env.MATCHED_FILES - run: docker build --no-cache . -t nfcore/eager:dev + run: docker build --no-cache . -t nfcore/eager:2.4.3 - name: Pull docker image if: ${{ !env.MATCHED_FILES }} run: | docker pull nfcore/eager:dev - docker tag nfcore/eager:dev nfcore/eager:dev + docker tag nfcore/eager:dev nfcore/eager:2.4.3 - name: Install Nextflow env: diff --git a/CHANGELOG.md b/CHANGELOG.md index 612a91836..b94b6f2b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## [dev] +## [2.4.3] - 2022-03-24 ### `Added` diff --git a/Dockerfile b/Dockerfile index 376e12937..865026492 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ COPY environment.yml / RUN conda env create --quiet -f /environment.yml && conda clean -a # Add conda installation dir to PATH (instead of doing 'conda activate') -ENV PATH /opt/conda/envs/nf-core-eager-2.4.3dev/bin:$PATH +ENV PATH /opt/conda/envs/nf-core-eager-2.4.3/bin:$PATH # Dump the details of the installed packages to a file for posterity -RUN conda env export --name nf-core-eager-2.4.3dev > nf-core-eager-2.4.3dev.yml \ No newline at end of file +RUN conda env export --name nf-core-eager-2.4.3 > nf-core-eager-2.4.3.yml \ No newline at end of file diff --git a/environment.yml b/environment.yml index 2a0230cdf..ba9c1efe9 100644 --- a/environment.yml +++ b/environment.yml @@ -1,6 +1,6 @@ # You can use this file to create a conda environment for this pipeline: # conda env create -f environment.yml -name: nf-core-eager-2.4.3dev +name: nf-core-eager-2.4.3 channels: - conda-forge - bioconda @@ -49,4 +49,4 @@ dependencies: - bioconda::eigenstratdatabasetools=1.0.2 - bioconda::mapdamage2=2.2.1 - bioconda::bbmap=38.92 - - bioconda::bcftools=1.12 + - bioconda::bcftools=1.12 \ No newline at end of file diff --git a/nextflow.config b/nextflow.config index 282a26b81..09f31a367 100644 --- a/nextflow.config +++ b/nextflow.config @@ -284,7 +284,7 @@ params { // Container slug. Stable releases should specify release tag! // Developmental code should specify :dev -process.container = 'nfcore/eager:dev' +process.container = 'nfcore/eager:2.4.3' // Load base.config by default for all pipelines includeConfig 'conf/base.config' @@ -414,7 +414,7 @@ manifest { description = 'A fully reproducible and state-of-the-art ancient DNA analysis pipeline' mainScript = 'main.nf' nextflowVersion = '>=20.07.1' - version = '2.4.3dev' + version = '2.4.3' } // Function to ensure that resource requirements don't go beyond From 9c0d10e66a6b8bd2dbd800fbe76ca622228b39be Mon Sep 17 00:00:00 2001 From: James Fellows Yates Date: Thu, 24 Mar 2022 08:23:49 +0100 Subject: [PATCH 02/14] Revert "Bump Versions" This reverts commit bf36c5486c2fc1f2c757b0fd0e9fb03621ecdbe9. --- .github/workflows/ci.yml | 4 ++-- CHANGELOG.md | 5 ++++- Dockerfile | 11 +++++++++-- environment.yml | 8 ++++++-- nextflow.config | 12 ++++++++++-- 5 files changed, 31 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7eb9e29a3..21b7ae020 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,13 +37,13 @@ jobs: - name: Build new docker image if: env.MATCHED_FILES - run: docker build --no-cache . -t nfcore/eager:2.4.3 + run: docker build --no-cache . -t nfcore/eager:dev - name: Pull docker image if: ${{ !env.MATCHED_FILES }} run: | docker pull nfcore/eager:dev - docker tag nfcore/eager:dev nfcore/eager:2.4.3 + docker tag nfcore/eager:dev nfcore/eager:dev - name: Install Nextflow env: diff --git a/CHANGELOG.md b/CHANGELOG.md index b94b6f2b6..b2e45df20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## [2.4.3] - 2022-03-24 +<<<<<<< HEAD +======= +## [dev] ### `Added` @@ -27,6 +29,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### `Deprecated` +>>>>>>> parent of bf36c54 (Bump Versions) ## [2.4.2] - 2022-01-24 ### `Added` diff --git a/Dockerfile b/Dockerfile index 93c9feb14..5fb90775b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,14 @@ COPY environment.yml / RUN conda env create --quiet -f /environment.yml && conda clean -a # Add conda installation dir to PATH (instead of doing 'conda activate') -ENV PATH /opt/conda/envs/nf-core-eager-2.4.3/bin:$PATH +<<<<<<< HEAD +ENV PATH /opt/conda/envs/nf-core-eager-2.4.2/bin:$PATH # Dump the details of the installed packages to a file for posterity -RUN conda env export --name nf-core-eager-2.4.3 > nf-core-eager-2.4.3.yml +RUN conda env export --name nf-core-eager-2.4.2 > nf-core-eager-2.4.2.yml +======= +ENV PATH /opt/conda/envs/nf-core-eager-2.4.3dev/bin:$PATH + +# Dump the details of the installed packages to a file for posterity +RUN conda env export --name nf-core-eager-2.4.3dev > nf-core-eager-2.4.3dev.yml +>>>>>>> parent of bf36c54 (Bump Versions) diff --git a/environment.yml b/environment.yml index 293dadc6c..cd4ea338a 100644 --- a/environment.yml +++ b/environment.yml @@ -1,6 +1,10 @@ # You can use this file to create a conda environment for this pipeline: # conda env create -f environment.yml -name: nf-core-eager-2.4.3 +<<<<<<< HEAD +name: nf-core-eager-2.4.2 +======= +name: nf-core-eager-2.4.3dev +>>>>>>> parent of bf36c54 (Bump Versions) channels: - conda-forge - bioconda @@ -49,4 +53,4 @@ dependencies: - bioconda::eigenstratdatabasetools=1.0.2 - bioconda::mapdamage2=2.2.1 - bioconda::bbmap=38.92 - - bioconda::bcftools=1.12 \ No newline at end of file + - bioconda::bcftools=1.12 diff --git a/nextflow.config b/nextflow.config index 09f31a367..09621d788 100644 --- a/nextflow.config +++ b/nextflow.config @@ -284,7 +284,11 @@ params { // Container slug. Stable releases should specify release tag! // Developmental code should specify :dev -process.container = 'nfcore/eager:2.4.3' +<<<<<<< HEAD +process.container = 'nfcore/eager:2.4.2' +======= +process.container = 'nfcore/eager:dev' +>>>>>>> parent of bf36c54 (Bump Versions) // Load base.config by default for all pipelines includeConfig 'conf/base.config' @@ -414,7 +418,11 @@ manifest { description = 'A fully reproducible and state-of-the-art ancient DNA analysis pipeline' mainScript = 'main.nf' nextflowVersion = '>=20.07.1' - version = '2.4.3' +<<<<<<< HEAD + version = '2.4.2' +======= + version = '2.4.3dev' +>>>>>>> parent of bf36c54 (Bump Versions) } // Function to ensure that resource requirements don't go beyond From db3586bdf72133af75f7ab49bf6d8ea73d83c642 Mon Sep 17 00:00:00 2001 From: James Fellows Yates Date: Thu, 24 Mar 2022 08:28:44 +0100 Subject: [PATCH 03/14] Revert "Revert "Merge pull request #861 from nf-core/patch-release"" This reverts commit e15d66698948bcaafa7bd3cd359d545444f0017a. --- .github/workflows/ci.yml | 4 ++ CHANGELOG.md | 3 - Dockerfile | 7 -- assets/multiqc_config.yaml | 72 +++++++++++++++----- conf/test_full.config | 1 - conf/test_stresstest_human.config | 1 - docs/output.md | 41 ++++++------ docs/usage.md | 40 ++++++------ environment.yml | 4 -- main.nf | 105 ++++++++++++++++++++---------- nextflow.config | 8 --- nextflow_schema.json | 6 +- 12 files changed, 174 insertions(+), 118 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 21b7ae020..599fd53af 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -201,6 +201,10 @@ jobs: - name: METAGENOMIC Run the basic pipeline but with unmapped reads going into Kraken run: | nextflow run ${GITHUB_WORKSPACE} -profile test_tsv_kraken,docker --run_bam_filtering --bam_unmapped_type 'fastq' + - name: SNPCAPTURE Run the basic pipeline with the bam input profile, generating statistics with a SNP capture bed + run: | + wget https://github.com/nf-core/test-datasets/raw/eager/reference/Human/1240K.pos.list_hs37d5.0based.bed.gz && gunzip 1240K.pos.list_hs37d5.0based.bed.gz + nextflow run ${GITHUB_WORKSPACE} -profile test_tsv_humanbam,docker --skip_fastqc --skip_adapterremoval --skip_deduplication --snpcapture_bed 1240K.pos.list_hs37d5.0based.bed - name: SEXDETERMINATION Run the basic pipeline with the bam input profile, but don't convert BAM, skip everything but sex determination run: | nextflow run ${GITHUB_WORKSPACE} -profile test_tsv_humanbam,docker --skip_fastqc --skip_adapterremoval --skip_deduplication --skip_qualimap --run_sexdeterrmine diff --git a/CHANGELOG.md b/CHANGELOG.md index b2e45df20..612a91836 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,6 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -<<<<<<< HEAD -======= ## [dev] ### `Added` @@ -29,7 +27,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### `Deprecated` ->>>>>>> parent of bf36c54 (Bump Versions) ## [2.4.2] - 2022-01-24 ### `Added` diff --git a/Dockerfile b/Dockerfile index 5fb90775b..0938a51f1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,14 +7,7 @@ COPY environment.yml / RUN conda env create --quiet -f /environment.yml && conda clean -a # Add conda installation dir to PATH (instead of doing 'conda activate') -<<<<<<< HEAD -ENV PATH /opt/conda/envs/nf-core-eager-2.4.2/bin:$PATH - -# Dump the details of the installed packages to a file for posterity -RUN conda env export --name nf-core-eager-2.4.2 > nf-core-eager-2.4.2.yml -======= ENV PATH /opt/conda/envs/nf-core-eager-2.4.3dev/bin:$PATH # Dump the details of the installed packages to a file for posterity RUN conda env export --name nf-core-eager-2.4.3dev > nf-core-eager-2.4.3dev.yml ->>>>>>> parent of bf36c54 (Bump Versions) diff --git a/assets/multiqc_config.yaml b/assets/multiqc_config.yaml index 82556a9ab..ba9050a05 100644 --- a/assets/multiqc_config.yaml +++ b/assets/multiqc_config.yaml @@ -61,43 +61,43 @@ extra_fn_clean_exts: top_modules: - 'fastqc': - name: 'FastQC (pre-Trimming)' - path_filters: - - '*_raw_fastqc.zip' + name: 'FastQC (pre-Trimming)' + path_filters: + - '*_raw_fastqc.zip' - 'fastp' - 'adapterRemoval' - 'fastqc': - name: 'FastQC (post-Trimming)' - path_filters: + name: 'FastQC (post-Trimming)' + path_filters: - '*.truncated_fastqc.zip' - '*.combined*_fastqc.zip' - 'bowtie2': - path_filters: + path_filters: - '*_bt2.log' - 'malt' - 'hops' - 'kraken' - 'samtools': - name: 'Samtools Flagstat (pre-samtools filter)' - path_filters: + name: 'Samtools Flagstat (pre-samtools filter)' + path_filters: - '*_flagstat.stats' - 'samtools': - name: 'Samtools Flagstat (post-samtools filter)' - path_filters: + name: 'Samtools Flagstat (post-samtools filter)' + path_filters: - '*_postfilterflagstat.stats' - 'dedup' - 'picard' - 'preseq': - path_filters: - - '*.preseq' + path_filters: + - '*.preseq' - 'damageprofiler' - 'mtnucratio' - 'qualimap' - 'sexdeterrmine' - 'bcftools' - 'multivcfanalyzer': - path_filters: - - '*MultiVCFAnalyzer.json' + path_filters: + - '*MultiVCFAnalyzer.json' qualimap_config: general_stats_coverage: - 1 @@ -107,7 +107,7 @@ qualimap_config: - 5 remove_sections: - - sexdeterrmine-snps + - sexdeterrmine-snps table_columns_visible: FastQC (pre-Trimming): @@ -272,5 +272,45 @@ report_section_order: order: -1000 nf-core-eager-summary: order: -1001 - export_plots: true +table_columns_name: + FastQC (pre-Trimming): + total_sequences: "Nr. Input Reads" + avg_sequence_length: "Length Input Reads" + percent_gc: "% GC Input Reads" + percent_duplicates: "% Dups Input Reads" + percent_fails: "% Failed Input Reads" + FastQC (post-Trimming): + total_sequences: "Nr. Processed Reads" + avg_sequence_length: "Length Processed Reads" + percent_gc: "% GC Processed Reads" + percent_duplicates: "% Dups Processed Reads" + percent_fails: "%Failed Processed Reads" + Samtools Flagstat (pre-samtools filter): + flagstat_total: "Nr. Reads Into Mapping" + mapped_passed: "Nr. Mapped Reads" + Samtools Flagstat (post-samtools filter): + flagstat_total: "Nr. Mapped Reads Post-Filter" + mapped_passed: "Nr. Mapped Reads Passed Post-Filter" + Endogenous DNA Post (%): + endogenous_dna_post (%): "Endogenous DNA Post-Filter (%)" + Picard: + PERCENT_DUPLICATION: "% Dup. Mapped Reads" + DamageProfiler: + mean_readlength: "Mean Length Mapped Reads" + median_readlength: "Median Length Mapped Reads" + QualiMap: + mapped_reads: "Nr. Dedup. Mapped Reads" + total_reads: "Nr. Dedup. Total Reads" + avg_gc: "% GC Dedup. Mapped Reads" + Bcftools Stats: + number_of_records: "Nr. Overall Variants" + number_of_SNPs: "Nr. SNPs" + number_of_indels: "Nr. InDels" + MALT: + Mappability: "% Metagenomic Mappability" + SexDetErrmine: + RateErrX: "SexDet Err X Chr" + RateErrY: "SexDet Err Y Chr" + RateX: "SexDet Rate X Chr" + RateY: "SexDet Rate Y Chr" \ No newline at end of file diff --git a/conf/test_full.config b/conf/test_full.config index da2827e77..1c3c5c0f9 100644 --- a/conf/test_full.config +++ b/conf/test_full.config @@ -21,7 +21,6 @@ params { bwaalnl = 1024 run_bam_filtering = true - bam_discard_unmapped = true bam_unmapped_type = 'discard' bam_mapping_quality_threshold = 25 diff --git a/conf/test_stresstest_human.config b/conf/test_stresstest_human.config index f61d1b64e..3d3ed08a9 100644 --- a/conf/test_stresstest_human.config +++ b/conf/test_stresstest_human.config @@ -24,7 +24,6 @@ params { mtnucratio_header = 'ChrM' run_bam_filtering = true - bam_discard_unmapped = true bam_unmapped_type = 'discard' bam_mapping_quality_threshold = 30 diff --git a/docs/output.md b/docs/output.md index f2f4d995a..804a52be5 100644 --- a/docs/output.md +++ b/docs/output.md @@ -59,36 +59,37 @@ This table will report values per-file, library, or sample statistics depending Each column name is supplied by the module, so you may see similar column names. When unsure, hovering over the column name will allow you see which module it is derived from. -The possible columns displayed by default are as follows: +The possible columns displayed by default are as follows (note you may see additional columns depending on what other modules you activate): * **Sample Name** This is the log file name without file suffix(s). This will depend on the module outputs. -* **Seqs** This is from Pre-AdapterRemoval FastQC. Represents the number of raw reads in your untrimmed and (paired end) unmerged FASTQ file. Each row should be approximately equal to the number of reads you requested to be sequenced, divided by the number of FASTQ files you received for that library. -* **Length** This is from Pre-AdapterRemoval FastQC. This is the average read length in your untrimmed and (paired end) unmerged FASTQ file and should represent the number of cycles of your sequencing chemistry. -* **%GC** This is from Pre-AdapterRemoval FastQC. This is the average GC content in percent of all the reads in your untrimmed and (paired end) unmerged FASTQ file. +* **Nr. Input Reads** This is from Pre-AdapterRemoval FastQC. Represents the number of raw reads in your untrimmed and (paired end) unmerged FASTQ file. Each row should be approximately equal to the number of reads you requested to be sequenced, divided by the number of FASTQ files you received for that library. +* **Length Input Reads** This is from Pre-AdapterRemoval FastQC. This is the average read length in your untrimmed and (paired end) unmerged FASTQ file and should represent the number of cycles of your sequencing chemistry. +* **% GC Input Reads** This is from Pre-AdapterRemoval FastQC. This is the average GC content in percent of all the reads in your untrimmed and (paired end) unmerged FASTQ file. * **GC content** This is from FastP. This is the average GC of all reads in your untrimmed and unmerged FASTSQ file after poly-G tail trimming. If you have lots of tails, this value should drop from the pre-AdapterRemoval FastQC %GC column. * **% Trimmed** This is from AdapterRemoval. It is the percentage of reads which had an adapter sequence removed from the end of the read. -* **Seqs** This is from Post-AdapterRemoval FastQC. Represents the number of preprocessed reads in your adapter trimmed (paired end) merged FASTQ file. The loss between this number and the Pre-AdapterRemoval FastQC can give you an idea of the quality of trimming and merging. -* **%GC** This is from Post-AdapterRemoval FastQC. Represents the average GC of all preprocessed reads in your adapter trimmed (paired end) merged FASTQ file. -* **Length** This is from post-AdapterRemoval FastQC. This is the average read length in your trimmed and (paired end) merged FASTQ file and should represent the 'realistic' average lengths of your DNA molecules +* **Nr. Processed Reads** This is from Post-AdapterRemoval FastQC. Represents the number of preprocessed reads in your adapter trimmed (paired end) merged FASTQ file. The loss between this number and the Pre-AdapterRemoval FastQC can give you an idea of the quality of trimming and merging. +* **% GC Processed Reads** This is from Post-AdapterRemoval FastQC. Represents the average GC of all preprocessed reads in your adapter trimmed (paired end) merged FASTQ file. +* **Length Processed Reads** This is from post-AdapterRemoval FastQC. This is the average read length in your trimmed and (paired end) merged FASTQ file and should represent the 'realistic' average lengths of your DNA molecules * **% Aligned** This is from bowtie2. It reports the percentage of input reads that mapped to your reference genome. This number will be likely similar to Endogenous DNA % (see below). -* **Mappability** This is from MALT. It reports the percentage of the off-target reads (from mapping), that could map to your MALT metagenomic database. This can often be low for aDNA due to short reads and database bias. +* **% Metagenomic Mappability** This is from MALT. It reports the percentage of the off-target reads (from mapping), that could map to your MALT metagenomic database. This can often be low for aDNA due to short reads and database bias. * **% Unclassified** This is from Kraken. It reports the percentage of reads that could not be aligned and taxonomically assigned against your Kraken metagenomic database. This can often be high for aDNA due to short reads and database bias. -* **Reads Mapped** This is from Samtools. This is the raw number of preprocessed reads mapped to your reference genome _prior_ map quality filtering. +* **Nr. Reads Into Mapping** This is from Samtools. This is the raw number of preprocessed reads that went into mapping. +* **Nr. Mapped Reads** This is from Samtools. This is the raw number of preprocessed reads mapped to your reference genome _prior_ map quality filtering. * **Endogenous DNA (%)** This is from the endorS.py tool. It displays a percentage of mapped reads over total reads that went into mapped (i.e. the percentage DNA content of the library that matches the reference). Assuming a perfect ancient sample with no modern contamination, this would be the amount of true ancient DNA in the sample. However this value _most likely_ include contamination and will not entirely be the true 'endogenous' content. -* **Reads Mapped** This is from Samtools. This is the raw number of preprocessed reads mapped to your reference genome _after_ map quality filtering (note the column name does not distinguish itself from prior-map quality filtering, but the post-filter column is always second) -* **Endogenous DNA Post (%)** This is from the endorS.py tool. It displays a percentage of mapped reads _after_ BAM filtering (i.e. for mapping quality and/or bam-level length filtering) over total reads that went into mapped (i.e. the percentage DNA content of the library that matches the reference). This column will only be displayed if BAM filtering is turned on and is based on the original mapping for total reads, and mapped reads as calculated from the post-filtering BAM. +* **Nr. Mapped Reads Post-Filter** This is from Samtools. This is the raw number of preprocessed reads mapped to your reference genome _after_ map quality filtering (note the column name does not distinguish itself from prior-map quality filtering, but the post-filter column is always second) +* **Endogenous DNA Post-Filter (%)** This is from the endorS.py tool. It displays a percentage of mapped reads _after_ BAM filtering (i.e. for mapping quality and/or bam-level length filtering) over total reads that went into mapped (i.e. the percentage DNA content of the library that matches the reference). This column will only be displayed if BAM filtering is turned on and is based on the original mapping for total reads, and mapped reads as calculated from the post-filtering BAM. * **ClusterFactor** This is from **DeDup only**. This is a value representing how many duplicates in the library exist for each unique read. This ratio is calculated as `reads_before_deduplication / reads_after_deduplication`. Can be converted to %Dups by calculating `1 - (1 / CF)`. A cluster factor close to one indicates a highly complex library and could be sequenced further. Generally with a value of more than 2 you will not be gaining much more information by sequencing deeper. -* **%Dups** This is from **Picard's markDuplicates only**. It represents the percentage of reads in your library that were exact duplicates of other reads in your library. The lower the better, as high duplication rate means lots of sequencing of the same information (and therefore is not time or cost effective). +* **% Dup. Mapped Reads** This is from **Picard's markDuplicates only**. It represents the percentage of reads in your library that were exact duplicates of other reads in your library. The lower the better, as high duplication rate means lots of sequencing of the same information (and therefore is not time or cost effective). * **X Prime Y>Z N base** These columns are from DamageProfiler. The prime numbers represent which end of the reads the damage is referring to. The Y>Z is the type of substitution (C>T is the true damage, G>A is the complementary). You should see for no- and half-UDG treatment a decrease in frequency from the 1st to 2nd base. -* **Mean Read Length** This is from DamageProfiler. This is the mean length of all de-duplicated mapped reads. Ancient DNA normally will have a mean between 30-75, however this can vary. -* **Median Read Length** This is from DamageProfiler. This is the median length of all de-duplicated mapped reads. Ancient DNA normally will have a mean between 30-75, however this can vary. -* **Aligned** This is from Qualimap. This is the total number of _deduplicated_ reads that mapped to your reference genome. This is the **best** number to report for final mapped reads in final publications. +* **Mean Length Mapped Reads** This is from DamageProfiler. This is the mean length of all de-duplicated mapped reads. Ancient DNA normally will have a mean between 30-75, however this can vary. +* **Median Length Mapped Reads** This is from DamageProfiler. This is the median length of all de-duplicated mapped reads. Ancient DNA normally will have a mean between 30-75, however this can vary. +* **Nr. Dedup. Mapped Reads** This is from Qualimap. This is the total number of _deduplicated_ reads that mapped to your reference genome. This is the **best** number to report for final mapped reads in final publications. * **Mean/Median Coverage** This is from Qualimap. This is the mean/median number of times a base on your reference genome was covered by a read (i.e. depth coverage). This average includes bases with 0 reads covering that position. * **>= 1X** to **>= 5X** These are from Qualimap. This is the percentage of the genome covered at that particular depth coverage. -* **% GC** This is the mean GC content in percent of all mapped reads post-deduplication. This should normally be close to the GC content of your reference genome. +* **% GC Dedup. Mapped Reads** This is the mean GC content in percent of all mapped reads post-deduplication. This should normally be close to the GC content of your reference genome. * **MT to Nuclear Ratio** This from MTtoNucRatio. This reports the number of reads aligned to a mitochondrial entry in your reference FASTA to all other entries. This will typically be high but will vary depending on tissue type. -* **XRate** This is from Sex.DetERRmine. This is the relative depth of coverage on the X-chromosome. -* **YRate** This is from Sex.DetERRmine. This is the relative depth of coverage on the Y-chromosome. +* **SexDet Rate X Chr** This is from Sex.DetERRmine. This is the relative depth of coverage on the X-chromosome. +* **SexDet Rate Y Chr** This is from Sex.DetERRmine. This is the relative depth of coverage on the Y-chromosome. * **#SNPs Covered** This is from eigenstrat\_snp\_coverage. The number of called SNPs after genotyping with pileupcaller. * **#SNPs Total** This is from eigenstrat\_snp\_coverage. The maximum number of covered SNPs, i.e. the number of SNPs in the .snp file provided to pileupcaller with `--pileupcaller_snpfile`. * **Number of SNPs** This is from ANGSD. The number of SNPs left after removing sites with no data in a 5 base pair surrounding region. @@ -674,6 +675,7 @@ This section gives a brief summary of where to look for what files for downstrea Each module has it's own output directory which sit alongside the `MultiQC/` directory from which you opened the report. * `reference_genome/`: this directory contains the indexing files of your input reference genome (i.e. the various `bwa` indices, a `samtools`' `.fai` file, and a picard `.dict`), if you used the `--saveReference` flag. + * When masking of the reference is requested prior to running pmdtools, an additional directory `reference_genome/masked_genome` will be found here, containing the masked reference. * `fastqc/`: this contains the original per-FASTQ FastQC reports that are summarised with MultiQC. These occur in both `html` (the report) and `.zip` format (raw data). The `after_clipping` folder contains the same but for after AdapterRemoval. * `adapterremoval/`: this contains the log files (ending with `.settings`) with raw trimming (and merging) statistics after AdapterRemoval. In the `output` sub-directory, are the output trimmed (and merged) `fastq` files. These you can use for downstream applications such as taxonomic binning for metagenomic studies. * `post_ar_fastq_trimmed`: this contains `fastq` files that have been additionally trimmed after AdapterRemoval (if turned on). These reads are usually that had internal barcodes, or damage that needed to be removed before mapping. @@ -701,5 +703,6 @@ Each module has it's own output directory which sit alongside the `MultiQC/` dir * finally, the `*.kraken.out` file are the direct output of Kraken2 * `maltextract/`: this contains a `results` directory in which contains the output from MaltExtract - typically one folder for each filter type, an error and a log file. The characteristics of each node (e.g. damage, read lengths, edit distances - each in different txt formats) can be seen in each sub-folder of the filter folders. Output can be visualised either with the [HOPS postprocessing script](https://github.com/rhuebler/HOPS) or [MEx-IPA](https://github.com/jfy133/MEx-IPA) * `consensus_sequence/`: this contains three FASTA files from VCF2Genome of a consensus sequence based on the reference FASTA with each sample's unique modifications. The main FASTA is a standard file with bases not passing the specified thresholds as Ns. The two other FASTAS (`_refmod.fasta.gz`) and (`_uncertainity.fasta.gz`) are IUPAC uncertainty codes (rather than Ns) and a special number-based uncertainty system used for other downstream tools, respectively. -* `librarymerged_bams/`: these contain the final BAM files that would go into genotyping (if genotyping is turned on). This means the files will contain all libraries of a given sample (including trimmed non-UDG or half-UDG treated libraries, if BAM trimming turned on) + `merged_bams/initial`: these contain the BAM files that would go into UDG-treatment specific BAM trimming. All libraries of the sample sample, **and** same UDG-treatment type will be in these BAM files. +* `merged_bams/additional`: these contain the final BAM files that would go into genotyping (if genotyping is turned on). This means the files will contain all libraries of a given sample (including trimmed non-UDG or half-UDG treated libraries, if BAM trimming turned on) * `bcftools`: this currently contains a single directory called `stats/` that includes general statistics on variant callers producing VCF files as output by `bcftools stats`. These includethings such as the number of positions, number of transititions/transversions and depth coverage of SNPs etc. These are only produced if `--run_bcftools_stats` is supplied. diff --git a/docs/usage.md b/docs/usage.md index ad427be05..454b10a93 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -1272,8 +1272,8 @@ nextflow run nf-core/eager \ --bam_mapping_quality_threshold 25 \ --bam_unmapped_type 'discard' \ --run_trim_bam \ ---bamutils_clip_half_udg_left 2 \ ---bamutils_clip_half_udg_right 2 \ +--bamutils_clip_double_stranded_half_udg_left 2 \ +--bamutils_clip_double_stranded_half_udg_right 2 \ <...> ``` @@ -1342,8 +1342,8 @@ nextflow run nf-core/eager \ --bam_mapping_quality_threshold 25 \ --bam_unmapped_type 'discard' \ --run_trim_bam \ ---bamutils_clip_half_udg_left 2 \ ---bamutils_clip_half_udg_right 2 \ +--bamutils_clip_double_stranded_half_udg_left 2 \ +--bamutils_clip_double_stranded_half_udg_right 2 \ --run_sexdeterrmine \ --sexdeterrmine_bedfile '../Reference/genome/1240k.sites.bed' \ --run_nuclear_contamination \ @@ -1383,8 +1383,8 @@ nextflow run nf-core/eager \ --bam_mapping_quality_threshold 25 \ --bam_unmapped_type 'discard' \ --run_trim_bam \ ---bamutils_clip_half_udg_left 2 \ ---bamutils_clip_half_udg_right 2 \ +--bamutils_clip_double_stranded_half_udg_left 2 \ +--bamutils_clip_double_stranded_half_udg_right 2 \ --run_sexdeterrmine \ --sexdeterrmine_bedfile '../Reference/genome/1240k.sites.bed' \ --run_nuclear_contamination \ @@ -1425,8 +1425,8 @@ nextflow run nf-core/eager \ --bam_mapping_quality_threshold 25 \ --bam_unmapped_type 'discard' \ --run_trim_bam \ ---bamutils_clip_half_udg_left 2 \ ---bamutils_clip_half_udg_right 2 \ +--bamutils_clip_double_stranded_half_udg_left 2 \ +--bamutils_clip_double_stranded_half_udg_right 2 \ --run_sexdeterrmine \ --sexdeterrmine_bedfile '../Reference/genome/1240k.sites.bed' \ --run_nuclear_contamination \ @@ -2397,10 +2397,10 @@ nextflow run nf-core/eager \ --run_bedtools_coverage \ --anno_file '../Reference/genome/Yersinia_pestis_C092_GCF_000009065.1_ASM906v1.gff' --run_trim_bam \ ---bamutils_clip_half_udg_left 2 \ ---bamutils_clip_half_udg_right 2 \ ---bamutils_clip_none_udg_left 3 \ ---bamutils_clip_none_udg_right 3 \ +--bamutils_clip_double_stranded_half_udg_left 2 \ +--bamutils_clip_double_stranded_half_udg_right 2 \ +--bamutils_clip_double_stranded_none_udg_left 3 \ +--bamutils_clip_double_stranded_none_udg_right 3 \ <...> ``` @@ -2436,10 +2436,10 @@ nextflow run nf-core/eager \ --bam_unmapped_type 'discard' \ --dedupper 'markduplicates' \ --run_trim_bam \ ---bamutils_clip_half_udg_left 2 \ ---bamutils_clip_half_udg_right 2 \ ---bamutils_clip_none_udg_left 3 \ ---bamutils_clip_none_udg_right 3 \ +--bamutils_clip_double_stranded_half_udg_left 2 \ +--bamutils_clip_double_stranded_half_udg_right 2 \ +--bamutils_clip_double_stranded_none_udg_left 3 \ +--bamutils_clip_double_stranded_none_udg_right 3 \ --run_bedtools_coverage \ --anno_file '../Reference/genome/Yersinia_pestis_C092_GCF_000009065.1_ASM906v1.gff' \ --run_genotyping \ @@ -2479,10 +2479,10 @@ nextflow run nf-core/eager \ --bam_unmapped_type 'discard' \ --dedupper 'markduplicates' \ --run_trim_bam \ ---bamutils_clip_half_udg_left 2 \ ---bamutils_clip_half_udg_right 2 \ ---bamutils_clip_none_udg_left 3 \ ---bamutils_clip_none_udg_right 3 \ +--bamutils_clip_double_stranded_half_udg_left 2 \ +--bamutils_clip_double_stranded_half_udg_right 2 \ +--bamutils_clip_double_stranded_none_udg_left 3 \ +--bamutils_clip_double_stranded_none_udg_right 3 \ --run_bedtools_coverage \ --anno_file '../Reference/genome/Yersinia_pestis_C092_GCF_000009065.1_ASM906v1.gff' \ --run_genotyping \ diff --git a/environment.yml b/environment.yml index cd4ea338a..39d8ce233 100644 --- a/environment.yml +++ b/environment.yml @@ -1,10 +1,6 @@ # You can use this file to create a conda environment for this pipeline: # conda env create -f environment.yml -<<<<<<< HEAD -name: nf-core-eager-2.4.2 -======= name: nf-core-eager-2.4.3dev ->>>>>>> parent of bf36c54 (Bump Versions) channels: - conda-forge - bioconda diff --git a/main.nf b/main.nf index 6f89cd0fa..afd26d4db 100644 --- a/main.nf +++ b/main.nf @@ -107,12 +107,13 @@ if (params.run_multivcfanalyzer) { } if (params.run_metagenomic_screening) { - if ( params.bam_unmapped_type == "discard" ) { - exit 1, "[nf-core/eager] error: metagenomic classification can only run on unmapped reads. Please supply --bam_unmapped_type 'fastq'. Supplied: --bam_unmapped_type '${params.bam_unmapped_type}'." + + if ( !params.run_bam_filtering ) { + exit 1, "[nf-core/eager] error: metagenomic classification can only run on unmapped reads. Please supply --run_bam_filtering --bam_unmapped_type 'fastq'." } - if (params.bam_unmapped_type != 'fastq' ) { - exit 1, "[nf-core/eager] error: metagenomic classification can only run on unmapped reads in FASTQ format. Please supply --bam_unmapped_type 'fastq'. Found parameter: --bam_unmapped_type '${params.bam_unmapped_type}'." + if ( params.bam_unmapped_type != "fastq" ) { + exit 1, "[nf-core/eager] error: metagenomic classification can only run on unmapped reads. Please supply --bam_unmapped_type 'fastq'. Supplied: --bam_unmapped_type '${params.bam_unmapped_type}'." } if (!params.database) { @@ -184,7 +185,7 @@ if("${params.fasta}".endsWith(".gz")){ path zipped_fasta from file(params.fasta) // path doesn't like it if a string of an object is not prefaced with a root dir (/), so use file() to resolve string before parsing to `path` output: - path "$unzip" into ch_fasta into ch_fasta_for_bwaindex,ch_fasta_for_bt2index,ch_fasta_for_faidx,ch_fasta_for_seqdict,ch_fasta_for_circulargenerator,ch_fasta_for_circularmapper,ch_fasta_for_damageprofiler,ch_fasta_for_qualimap,ch_fasta_for_pmdtools,ch_fasta_for_genotyping_ug,ch_fasta_for_genotyping_hc,ch_fasta_for_genotyping_freebayes,ch_fasta_for_genotyping_pileupcaller,ch_fasta_for_vcf2genome,ch_fasta_for_multivcfanalyzer,ch_fasta_for_genotyping_angsd,ch_fasta_for_damagerescaling,ch_fasta_for_bcftools_stats + path "$unzip" into ch_fasta into ch_fasta_for_bwaindex,ch_fasta_for_bt2index,ch_fasta_for_faidx,ch_fasta_for_seqdict,ch_fasta_for_circulargenerator,ch_fasta_for_circularmapper,ch_fasta_for_damageprofiler,ch_fasta_for_qualimap,ch_unmasked_fasta_for_masking,ch_unmasked_fasta_for_pmdtools,ch_fasta_for_genotyping_ug,ch_fasta_for_genotyping_hc,ch_fasta_for_genotyping_freebayes,ch_fasta_for_genotyping_pileupcaller,ch_fasta_for_vcf2genome,ch_fasta_for_multivcfanalyzer,ch_fasta_for_genotyping_angsd,ch_fasta_for_damagerescaling,ch_fasta_for_bcftools_stats script: unzip = zipped_fasta.toString() - '.gz' @@ -195,7 +196,7 @@ if("${params.fasta}".endsWith(".gz")){ } else { fasta_for_indexing = Channel .fromPath("${params.fasta}", checkIfExists: true) - .into{ ch_fasta_for_bwaindex; ch_fasta_for_bt2index; ch_fasta_for_faidx; ch_fasta_for_seqdict; ch_fasta_for_circulargenerator; ch_fasta_for_circularmapper; ch_fasta_for_damageprofiler; ch_fasta_for_qualimap; ch_fasta_for_pmdtools; ch_fasta_for_genotyping_ug; ch_fasta__for_genotyping_hc; ch_fasta_for_genotyping_hc; ch_fasta_for_genotyping_freebayes; ch_fasta_for_genotyping_pileupcaller; ch_fasta_for_vcf2genome; ch_fasta_for_multivcfanalyzer;ch_fasta_for_genotyping_angsd;ch_fasta_for_damagerescaling;ch_fasta_for_bcftools_stats } + .into{ ch_fasta_for_bwaindex; ch_fasta_for_bt2index; ch_fasta_for_faidx; ch_fasta_for_seqdict; ch_fasta_for_circulargenerator; ch_fasta_for_circularmapper; ch_fasta_for_damageprofiler; ch_fasta_for_qualimap; ch_unmasked_fasta_for_masking; ch_unmasked_fasta_for_pmdtools; ch_fasta_for_genotyping_ug; ch_fasta__for_genotyping_hc; ch_fasta_for_genotyping_hc; ch_fasta_for_genotyping_freebayes; ch_fasta_for_genotyping_pileupcaller; ch_fasta_for_vcf2genome; ch_fasta_for_multivcfanalyzer;ch_fasta_for_genotyping_angsd;ch_fasta_for_damagerescaling;ch_fasta_for_bcftools_stats } } // Check that fasta index file path ends in '.fai' @@ -245,6 +246,18 @@ if ( !params.clip_adapters_list ) { .set {ch_adapterlist} } +if ( params.snpcapture_bed ) { + Channel.fromPath(params.snpcapture_bed, checkIfExists: true).set { ch_snpcapture_bed } +} else { + Channel.fromPath("$projectDir/assets/nf-core_eager_dummy.txt").set { ch_snpcapture_bed } +} + +// Set up channel with pmdtools reference mask bedfile +if (!params.pmdtools_reference_mask) { + ch_bedfile_for_reference_masking = Channel.fromPath("$projectDir/assets/nf-core_eager_dummy.txt") +} else { + ch_bedfile_for_reference_masking = Channel.fromPath(params.pmdtools_reference_mask, checkIfExists: true) +} // SexDetermination channel set up and bedfile validation if (!params.sexdeterrmine_bedfile) { @@ -625,7 +638,7 @@ process convertBam { script: base = "${bam.baseName}" """ - samtools fastq -tn ${bam} | pigz -p ${task.cpus} > ${base}.converted.fastq.gz + samtools fastq -t ${bam} | pigz -p ${task.cpus} > ${base}.converted.fastq.gz """ } @@ -811,8 +824,8 @@ process adapter_removal { mv *.settings output/ ## Add R_ and L_ for unmerged reads for DeDup compatibility - AdapterRemovalFixPrefix -Xmx${task.memory.toGiga()}g output/${base}.pe.combined.tmp.fq.gz > output/${base}.pe.combined.fq - pigz -p ${task.cpus - 1} output/${base}.pe.combined.fq + AdapterRemovalFixPrefix -Xmx${task.memory.toGiga()}g output/${base}.pe.combined.tmp.fq.gz | pigz -p ${task.cpus - 1} > output/${base}.pe.combined.fq.gz + """ //PE mode, collapse and trim, outputting all reads, preserving 5p } else if (seqtype == 'PE' && !params.skip_collapse && !params.skip_trim && !params.mergedonly && params.preserve5p) { @@ -826,8 +839,8 @@ process adapter_removal { mv *.settings output/ ## Add R_ and L_ for unmerged reads for DeDup compatibility - AdapterRemovalFixPrefix -Xmx${task.memory.toGiga()}g output/${base}.pe.combined.tmp.fq.gz > output/${base}.pe.combined.fq - pigz -p ${task.cpus - 1} output/${base}.pe.combined.fq + AdapterRemovalFixPrefix -Xmx${task.memory.toGiga()}g output/${base}.pe.combined.tmp.fq.gz | pigz -p ${task.cpus - 1} > output/${base}.pe.combined.fq.gz + """ // PE mode, collapse and trim but only output collapsed reads } else if ( seqtype == 'PE' && !params.skip_collapse && !params.skip_trim && params.mergedonly && !params.preserve5p ) { @@ -838,8 +851,7 @@ process adapter_removal { cat *.collapsed.gz *.collapsed.truncated.gz > output/${base}.pe.combined.tmp.fq.gz ## Add R_ and L_ for unmerged reads for DeDup compatibility - AdapterRemovalFixPrefix -Xmx${task.memory.toGiga()}g output/${base}.pe.combined.tmp.fq.gz > output/${base}.pe.combined.fq - pigz -p ${task.cpus - 1} output/${base}.pe.combined.fq + AdapterRemovalFixPrefix -Xmx${task.memory.toGiga()}g output/${base}.pe.combined.tmp.fq.gz | pigz -p ${task.cpus - 1} > output/${base}.pe.combined.fq.gz mv *.settings output/ """ @@ -852,8 +864,7 @@ process adapter_removal { cat *.collapsed.gz > output/${base}.pe.combined.tmp.fq.gz ## Add R_ and L_ for unmerged reads for DeDup compatibility - AdapterRemovalFixPrefix -Xmx${task.memory.toGiga()}g output/${base}.pe.combined.tmp.fq.gz > output/${base}.pe.combined.fq - pigz -p ${task.cpus - 1} output/${base}.pe.combined.fq + AdapterRemovalFixPrefix -Xmx${task.memory.toGiga()}g output/${base}.pe.combined.tmp.fq.gz | pigz -p ${task.cpus - 1} > output/${base}.pe.combined.fq.gz mv *.settings output/ """ @@ -867,8 +878,7 @@ process adapter_removal { cat *.collapsed.gz *.pair1.truncated.gz *.pair2.truncated.gz > output/${base}.pe.combined.tmp.fq.gz ## Add R_ and L_ for unmerged reads for DeDup compatibility - AdapterRemovalFixPrefix -Xmx${task.memory.toGiga()}g output/${base}.pe.combined.tmp.fq.gz > output/${base}.pe.combined.fq - pigz -p ${task.cpus - 1} output/${base}.pe.combined.fq + AdapterRemovalFixPrefix -Xmx${task.memory.toGiga()}g output/${base}.pe.combined.tmp.fq.gz | pigz -p ${task.cpus - 1} > output/${base}.pe.combined.fq.gz mv *.settings output/ """ @@ -882,8 +892,7 @@ process adapter_removal { cat *.collapsed.gz > output/${base}.pe.combined.tmp.fq.gz ## Add R_ and L_ for unmerged reads for DeDup compatibility - AdapterRemovalFixPrefix -Xmx${task.memory.toGiga()}g output/${base}.pe.combined.tmp.fq.gz > output/${base}.pe.combined.fq - pigz -p ${task.cpus - 1} output/${base}.pe.combined.fq + AdapterRemovalFixPrefix -Xmx${task.memory.toGiga()}g output/${base}.pe.combined.tmp.fq.gz | pigz -p ${task.cpus - 1} > output/${base}.pe.combined.fq.gz mv *.settings output/ """ @@ -1674,7 +1683,7 @@ process samtools_filter { samtools index ${libraryid}.filtered.bam ${size} ## FASTQ - samtools fastq -tn ${libraryid}.unmapped.bam | pigz -p ${task.cpus - 1} > ${libraryid}.unmapped.fastq.gz + samtools fastq -tN ${libraryid}.unmapped.bam | pigz -p ${task.cpus - 1} > ${libraryid}.unmapped.fastq.gz rm ${libraryid}.unmapped.bam """ } else if ( "${params.bam_unmapped_type}" == "both" && params.bam_filter_minreadlength == 0 ){ @@ -1684,7 +1693,7 @@ process samtools_filter { samtools index ${libraryid}.filtered.bam ${size} ## FASTQ - samtools fastq -tn ${libraryid}.unmapped.bam | pigz -p ${task.cpus -1} > ${libraryid}.unmapped.fastq.gz + samtools fastq -tN ${libraryid}.unmapped.bam | pigz -p ${task.cpus -1} > ${libraryid}.unmapped.fastq.gz """ // Unmapped/MAPQ Filtering WITH min-length filtering } else if ( "${params.bam_unmapped_type}" == "keep" && params.bam_filter_minreadlength != 0 ) { @@ -1714,7 +1723,7 @@ process samtools_filter { samtools index ${libraryid}.filtered.bam ${size} ## FASTQ - samtools fastq -tn ${libraryid}.unmapped.bam | pigz -p ${task.cpus - 1} > ${libraryid}.unmapped.fastq.gz + samtools fastq -tN ${libraryid}.unmapped.bam | pigz -p ${task.cpus - 1} > ${libraryid}.unmapped.fastq.gz rm ${libraryid}.unmapped.bam """ } else if ( "${params.bam_unmapped_type}" == "both" && params.bam_filter_minreadlength != 0 ){ @@ -1725,7 +1734,7 @@ process samtools_filter { samtools index ${libraryid}.filtered.bam ${size} ## FASTQ - samtools fastq -tn ${libraryid}.unmapped.bam | pigz -p ${task.cpus} > ${libraryid}.unmapped.fastq.gz + samtools fastq -tN ${libraryid}.unmapped.bam | pigz -p ${task.cpus} > ${libraryid}.unmapped.fastq.gz """ } } @@ -1944,6 +1953,7 @@ ch_input_for_librarymerging.merge_me [it[0], libraryid, it[2], seqtype, it[4], it[5], it[6], bam, bai ] } + .dump(tag: "input_for_lib_merging") .set { ch_fixedinput_for_librarymerging } process library_merge { @@ -1960,8 +1970,8 @@ process library_merge { script: def size = params.large_ref ? '-c' : '' """ - samtools merge ${samplename}_libmerged_rmdup.bam ${bam} - samtools index ${samplename}_libmerged_rmdup.bam ${size} + samtools merge ${samplename}_udg${udg}_libmerged_rmdup.bam ${bam} + samtools index ${samplename}_udg${udg}_libmerged_rmdup.bam ${size} """ } @@ -2127,6 +2137,34 @@ process mapdamage_rescaling { // Optionally perform further aDNA evaluation or filtering for just reads with damage etc. +process mask_reference_for_pmdtools { + label 'sc_tiny' + tag "${fasta}" + publishDir "${params.outdir}/reference_genome/masked_reference", mode: params.publish_dir_mode + + when: (params.pmdtools_reference_mask && params.run_pmdtools) + + input: + file fasta from ch_unmasked_fasta_for_masking + file bedfile from ch_bedfile_for_reference_masking + + output: + file "${fasta.baseName}_masked.fa" into ch_masked_fasta_for_pmdtools + + script: + log.info "[nf-core/eager]: Masking reference \'${fasta}\' at positions found in \'${bedfile}\'. Masked reference will be used for pmdtools." + """ + bedtools maskfasta -fi ${fasta} -bed ${bedfile} -fo ${fasta.baseName}_masked.fa + """ +} + +// If masking was requested, use masked reference for pmdtools, else use original reference +if (params.pmdtools_reference_mask) { + ch_masked_fasta_for_pmdtools.set{ch_fasta_for_pmdtools} +} else { + ch_unmasked_fasta_for_pmdtools.set{ch_fasta_for_pmdtools} +} + process pmdtools { label 'mc_medium' tag "${libraryid}" @@ -2145,22 +2183,16 @@ process pmdtools { script: //Check which treatment for the libraries was used def treatment = udg ? (udg == 'half' ? '--UDGhalf' : '--CpG') : '--UDGminus' - if(params.snpcapture_bed){ - snpcap = (params.pmdtools_reference_mask) ? "--refseq ${params.pmdtools_reference_mask}" : '' - log.info"######No reference mask specified for PMDtools, therefore ignoring that for downstream analysis!" - } else { - snpcap = '' - } def size = params.large_ref ? '-c' : '' def platypus = params.pmdtools_platypus ? '--platypus' : '' """ #Run Filtering step - samtools calmd ${bam} ${fasta} | pmdtools --threshold ${params.pmdtools_threshold} ${treatment} ${snpcap} --header | samtools view -Sb - > "${libraryid}".pmd.bam + samtools calmd ${bam} ${fasta} | pmdtools --threshold ${params.pmdtools_threshold} ${treatment} --header | samtools view -Sb - > "${libraryid}".pmd.bam #Run Calc Range step ## To allow early shut off of pipe: https://github.com/nextflow-io/nextflow/issues/1564 trap 'if [[ \$? == 141 ]]; then echo "Shutting samtools early due to -n parameter" && samtools index ${libraryid}.pmd.bam ${size}; exit 0; fi' EXIT - samtools calmd ${bam} ${fasta} | pmdtools --deamination ${platypus} --range ${params.pmdtools_range} ${treatment} ${snpcap} -n ${params.pmdtools_max_reads} > "${libraryid}".cpg.range."${params.pmdtools_range}".txt + samtools calmd ${bam} ${fasta} | pmdtools --deamination ${platypus} --range ${params.pmdtools_range} ${treatment} -n ${params.pmdtools_max_reads} > "${libraryid}".cpg.range."${params.pmdtools_range}".txt samtools index ${libraryid}.pmd.bam ${size} """ @@ -2281,12 +2313,13 @@ process qualimap { input: tuple samplename, libraryid, lane, seqtype, organism, strandedness, udg, path(bam), path(bai) from ch_addlibmerge_for_qualimap file fasta from ch_fasta_for_qualimap.collect() + path snpcapture_bed from ch_snpcapture_bed output: tuple samplename, libraryid, lane, seqtype, organism, strandedness, udg, path("*") into ch_qualimap_results script: - def snpcap = params.snpcapture_bed ? "-gff ${params.snpcapture_bed}" : '' + def snpcap = snpcapture_bed.getName() != 'nf-core_eager_dummy.txt' ? "-gff ${snpcapture_bed}" : '' """ qualimap bamqc -bam $bam -nt ${task.cpus} -outdir . -outformat "HTML" ${snpcap} --java-mem-size=${task.memory.toGiga()}G """ @@ -2516,11 +2549,11 @@ process eigenstrat_snp_coverage { /* The following code block can be swapped in once the eigenstratdatabasetools MultiQC module becomes available. """ - eigenstrat_snp_coverage -i pileupcaller.${strandedness} -s ".txt" >${strandedness}_eigenstrat_coverage.txt -j ${strandedness}_eigenstrat_coverage_mqc.json + eigenstrat_snp_coverage -i pileupcaller.${strandedness} >${strandedness}_eigenstrat_coverage.txt -j ${strandedness}_eigenstrat_coverage_mqc.json """ */ """ - eigenstrat_snp_coverage -i pileupcaller.${strandedness} -s ".txt" >${strandedness}_eigenstrat_coverage.txt + eigenstrat_snp_coverage -i pileupcaller.${strandedness} >${strandedness}_eigenstrat_coverage.txt parse_snp_cov.py ${strandedness}_eigenstrat_coverage.txt """ } diff --git a/nextflow.config b/nextflow.config index 09621d788..282a26b81 100644 --- a/nextflow.config +++ b/nextflow.config @@ -284,11 +284,7 @@ params { // Container slug. Stable releases should specify release tag! // Developmental code should specify :dev -<<<<<<< HEAD -process.container = 'nfcore/eager:2.4.2' -======= process.container = 'nfcore/eager:dev' ->>>>>>> parent of bf36c54 (Bump Versions) // Load base.config by default for all pipelines includeConfig 'conf/base.config' @@ -418,11 +414,7 @@ manifest { description = 'A fully reproducible and state-of-the-art ancient DNA analysis pipeline' mainScript = 'main.nf' nextflowVersion = '>=20.07.1' -<<<<<<< HEAD - version = '2.4.2' -======= version = '2.4.3dev' ->>>>>>> parent of bf36c54 (Bump Versions) } // Function to ensure that resource requirements don't go beyond diff --git a/nextflow_schema.json b/nextflow_schema.json index bbec384d3..ff998a4b7 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -806,7 +806,7 @@ "default": 1000, "description": "Specify the step size of Preseq.", "fa_icon": "fas fa-shoe-prints", - "help_text": "Can be used to configure the step size of Preseq's `c_curve` method. Can be useful when only few and thus shallow sequencing results are used for extrapolation.\n\n> Modifies preseq c_curve parameter: `-s`" + "help_text": "Can be used to configure the step size of Preseq's `c_curve` and `lc_extrap` method. Can be useful when only few and thus shallow sequencing results are used for extrapolation.\n\n> Modifies preseq c_curve and lc_extrap parameter: `-s`" }, "preseq_maxextrap": { "type": "integer", @@ -889,9 +889,9 @@ }, "pmdtools_reference_mask": { "type": "string", - "description": "Specify a path to reference mask for PMDTools.", + "description": "Specify a bedfile to be used to mask the reference fasta prior to running pmdtools.", "fa_icon": "fas fa-mask", - "help_text": "Can be used to set a path to a reference genome mask for PMDTools." + "help_text": "Activates masking of the reference fasta prior to running pmdtools. Positions that are in the provided bedfile will be replaced by Ns in the reference genome. This is useful for capture data, where you might not want the allele of a SNP to be counted as damage when it is a transition. Masking of the reference is done using `bedtools maskfasta`." }, "pmdtools_max_reads": { "type": "integer", From 1395ae14dddb7126a2821f2b22f288f1008e3c1d Mon Sep 17 00:00:00 2001 From: James Fellows Yates Date: Thu, 24 Mar 2022 08:38:58 +0100 Subject: [PATCH 04/14] Bump versions for patch release - PR from bump-vers into dev --- .github/workflows/ci.yml | 4 ++-- Dockerfile | 4 ++-- environment.yml | 4 ++-- nextflow.config | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 599fd53af..42f930fd0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,13 +37,13 @@ jobs: - name: Build new docker image if: env.MATCHED_FILES - run: docker build --no-cache . -t nfcore/eager:dev + run: docker build --no-cache . -t nfcore/eager:2.4.3 - name: Pull docker image if: ${{ !env.MATCHED_FILES }} run: | docker pull nfcore/eager:dev - docker tag nfcore/eager:dev nfcore/eager:dev + docker tag nfcore/eager:dev nfcore/eager:2.4.3 - name: Install Nextflow env: diff --git a/Dockerfile b/Dockerfile index 0938a51f1..865026492 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ COPY environment.yml / RUN conda env create --quiet -f /environment.yml && conda clean -a # Add conda installation dir to PATH (instead of doing 'conda activate') -ENV PATH /opt/conda/envs/nf-core-eager-2.4.3dev/bin:$PATH +ENV PATH /opt/conda/envs/nf-core-eager-2.4.3/bin:$PATH # Dump the details of the installed packages to a file for posterity -RUN conda env export --name nf-core-eager-2.4.3dev > nf-core-eager-2.4.3dev.yml +RUN conda env export --name nf-core-eager-2.4.3 > nf-core-eager-2.4.3.yml \ No newline at end of file diff --git a/environment.yml b/environment.yml index 39d8ce233..293dadc6c 100644 --- a/environment.yml +++ b/environment.yml @@ -1,6 +1,6 @@ # You can use this file to create a conda environment for this pipeline: # conda env create -f environment.yml -name: nf-core-eager-2.4.3dev +name: nf-core-eager-2.4.3 channels: - conda-forge - bioconda @@ -49,4 +49,4 @@ dependencies: - bioconda::eigenstratdatabasetools=1.0.2 - bioconda::mapdamage2=2.2.1 - bioconda::bbmap=38.92 - - bioconda::bcftools=1.12 + - bioconda::bcftools=1.12 \ No newline at end of file diff --git a/nextflow.config b/nextflow.config index 282a26b81..09f31a367 100644 --- a/nextflow.config +++ b/nextflow.config @@ -284,7 +284,7 @@ params { // Container slug. Stable releases should specify release tag! // Developmental code should specify :dev -process.container = 'nfcore/eager:dev' +process.container = 'nfcore/eager:2.4.3' // Load base.config by default for all pipelines includeConfig 'conf/base.config' @@ -414,7 +414,7 @@ manifest { description = 'A fully reproducible and state-of-the-art ancient DNA analysis pipeline' mainScript = 'main.nf' nextflowVersion = '>=20.07.1' - version = '2.4.3dev' + version = '2.4.3' } // Function to ensure that resource requirements don't go beyond From 0ee012c765e4cef4aef1771d21cef4201ac2df09 Mon Sep 17 00:00:00 2001 From: James Fellows Yates Date: Thu, 24 Mar 2022 08:40:19 +0100 Subject: [PATCH 05/14] Bump changelog date in PR bump-vers into dev --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 612a91836..d8e697845 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## [dev] +## [2.4.3] - 2022-03-24 ### `Added` From 7fe4ecf342ebcb6d23408332a4ec44e5e0a85053 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Thu, 24 Mar 2022 08:57:26 +0100 Subject: [PATCH 06/14] Update main.nf Co-authored-by: Maxime U. Garcia --- main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.nf b/main.nf index afd26d4db..b3ccc6b9b 100644 --- a/main.nf +++ b/main.nf @@ -196,7 +196,7 @@ if("${params.fasta}".endsWith(".gz")){ } else { fasta_for_indexing = Channel .fromPath("${params.fasta}", checkIfExists: true) - .into{ ch_fasta_for_bwaindex; ch_fasta_for_bt2index; ch_fasta_for_faidx; ch_fasta_for_seqdict; ch_fasta_for_circulargenerator; ch_fasta_for_circularmapper; ch_fasta_for_damageprofiler; ch_fasta_for_qualimap; ch_unmasked_fasta_for_masking; ch_unmasked_fasta_for_pmdtools; ch_fasta_for_genotyping_ug; ch_fasta__for_genotyping_hc; ch_fasta_for_genotyping_hc; ch_fasta_for_genotyping_freebayes; ch_fasta_for_genotyping_pileupcaller; ch_fasta_for_vcf2genome; ch_fasta_for_multivcfanalyzer;ch_fasta_for_genotyping_angsd;ch_fasta_for_damagerescaling;ch_fasta_for_bcftools_stats } + .into{ ch_fasta_for_bwaindex; ch_fasta_for_bt2index; ch_fasta_for_faidx; ch_fasta_for_seqdict; ch_fasta_for_circulargenerator; ch_fasta_for_circularmapper; ch_fasta_for_damageprofiler; ch_fasta_for_qualimap; ch_unmasked_fasta_for_masking; ch_unmasked_fasta_for_pmdtools; ch_fasta_for_genotyping_ug; ch_fasta__for_genotyping_hc; ch_fasta_for_genotyping_hc; ch_fasta_for_genotyping_freebayes; ch_fasta_for_genotyping_pileupcaller; ch_fasta_for_vcf2genome; ch_fasta_for_multivcfanalyzer; ch_fasta_for_genotyping_angsd; ch_fasta_for_damagerescaling; ch_fasta_for_bcftools_stats } } // Check that fasta index file path ends in '.fai' From b58ae39dc8ac53f325e0e0d61e9cb2af99513a4f Mon Sep 17 00:00:00 2001 From: James Fellows Yates Date: Thu, 24 Mar 2022 10:32:18 +0100 Subject: [PATCH 07/14] Fix bwa mem indexing and re-update MQC SeqTools versions after git mess this morning --- CHANGELOG.md | 1 + environment.yml | 4 ++-- main.nf | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 612a91836..7d93847a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Renamed a range of MultiQC general stats table headers to improve clarity, documentation has been updated accordingly - [#857](https://github.com/nf-core/eager/issues/857) Corrected samtools fastq flag to _retain_ read-pair information when converting off-target BAM files to fastq in paired-end mapping (❤ to @alexhbnr for reporting) - [#858](https://github.com/nf-core/eager/pull/858) Corrected tutorials to reflect updated BAM trimming flags (❤ to @marcel-keller for reporting) +- [#858](https://github.com/nf-core/eager/pull/858) Corrected tutorials to reflect updated BAM trimming flags (❤ to @marcel-keller for reporting) ### `Dependencies` diff --git a/environment.yml b/environment.yml index 39d8ce233..2a0230cdf 100644 --- a/environment.yml +++ b/environment.yml @@ -26,12 +26,12 @@ dependencies: - bioconda::qualimap=2.2.2d - bioconda::vcf2genome=0.91 - bioconda::damageprofiler=0.4.9 # Don't upgrade - later versions don't allow java 8 - - bioconda::multiqc=1.11 + - bioconda::multiqc=1.12 - bioconda::pmdtools=0.60 - bioconda::bedtools=2.30.0 - conda-forge::libiconv=1.16 - conda-forge::pigz=2.6 - - bioconda::sequencetools=1.4.0.6 + - bioconda::sequencetools=1.5.2 - bioconda::preseq=3.1.2 - bioconda::fastp=0.20.1 - bioconda::bamutil=1.0.15 diff --git a/main.nf b/main.nf index afd26d4db..bca681bd2 100644 --- a/main.nf +++ b/main.nf @@ -1318,7 +1318,7 @@ process bwamem { if (!params.single_end && params.skip_collapse){ """ bwa mem -t ${split_cpus} $fasta $r1 $r2 -R "@RG\\tID:ILLUMINA-${libraryid}\\tSM:${samplename}\\tPL:illumina\\tPU:ILLUMINA-${libraryid}-${seqtype}" | samtools sort -@ ${split_cpus} -O bam - > "${libraryid}"_"${seqtype}".mapped.bam - samtools index ${size} -@ ${task.cpus} "${libraryid}".mapped.bam + samtools index ${size} -@ ${task.cpus} "${libraryid}"_"${seqtype}".mapped.bam """ } else { """ From 01655ee3d261a53e72c46c4bf12f87eb769dcef6 Mon Sep 17 00:00:00 2001 From: James Fellows Yates Date: Thu, 24 Mar 2022 10:36:29 +0100 Subject: [PATCH 08/14] Update changelog and update test --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d93847a1..cec43aeef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Renamed a range of MultiQC general stats table headers to improve clarity, documentation has been updated accordingly - [#857](https://github.com/nf-core/eager/issues/857) Corrected samtools fastq flag to _retain_ read-pair information when converting off-target BAM files to fastq in paired-end mapping (❤ to @alexhbnr for reporting) - [#858](https://github.com/nf-core/eager/pull/858) Corrected tutorials to reflect updated BAM trimming flags (❤ to @marcel-keller for reporting) -- [#858](https://github.com/nf-core/eager/pull/858) Corrected tutorials to reflect updated BAM trimming flags (❤ to @marcel-keller for reporting) +- [#866](https://github.com/nf-core/eager/issues/866) Fixed a typo in the indexing step of BWA mem when not-collapsing (❤ to @alexhbnr for reporting) ### `Dependencies` From 5f85ee66f8171ca2f7f3ea913f1d6e1dd10e146a Mon Sep 17 00:00:00 2001 From: James Fellows Yates Date: Thu, 24 Mar 2022 11:15:56 +0100 Subject: [PATCH 09/14] Add skip collapse flag.. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 599fd53af..afefa04c9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -119,7 +119,7 @@ jobs: nextflow run ${GITHUB_WORKSPACE} -profile test,docker --mapper 'circularmapper' --circulartarget 'NC_007596.2' - name: MAPPER_BWAMEM Test running with BWA Mem run: | - nextflow run ${GITHUB_WORKSPACE} -profile test,docker --mapper 'bwamem' + nextflow run ${GITHUB_WORKSPACE} -profile test,docker --mapper 'bwamem' --skip_collapse - name: MAPPER_BT2 Test running with BowTie2 run: | nextflow run ${GITHUB_WORKSPACE} -profile test,docker --mapper 'bowtie2' --bt2_alignmode 'local' --bt2_sensitivity 'sensitive' --bt2n 1 --bt2l 16 --bt2_trim5 1 --bt2_trim3 1 From 2acb9e4a443c94310f3326f44c9ce5e6bdd2c9bb Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Thu, 24 Mar 2022 11:55:42 +0100 Subject: [PATCH 10/14] Apply suggestions from code review Co-authored-by: Maxime Borry --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d8e697845..7949d3aa6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - [#828](https://github.com/nf-core/eager/issues/828) Improved error message if required metagenomic screening parameters not set correctly - [#836](https://github.com/nf-core/eager/issues/836) Remove deprecated parameters from test profiles -- [#838](https://github.com/nf-core/eager/issues/836) Fix --snpcapture_bed files not being picked up by Nextflow (❤ to @meganemichel for reporting) +- [#838](https://github.com/nf-core/eager/issues/838) Fix --snpcapture_bed files not being picked up by Nextflow (❤ to @meganemichel for reporting) - [#843](https://github.com/nf-core/eager/issues/843) Re-add direct piping of AdapterRemovalFixPrefix to pigz - [#844](https://github.com/nf-core/eager/issues/844) Fixed reference masking prior to pmdtools - [#845](https://github.com/nf-core/eager/issues/845) Updates parameter documention to specify `-s` preseq parameter also applies to lc_extrap From 99a798f3a8926875ee620fdc6360d33b6f5a5191 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Thu, 24 Mar 2022 11:56:40 +0100 Subject: [PATCH 11/14] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7949d3aa6..495693b2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - [#851](https://github.com/nf-core/eager/issues/851) Fixes a file-name clash during additional_library_merge, post-BAM trimming of different UDG treated libraries of a sample - Renamed a range of MultiQC general stats table headers to improve clarity, documentation has been updated accordingly - [#857](https://github.com/nf-core/eager/issues/857) Corrected samtools fastq flag to _retain_ read-pair information when converting off-target BAM files to fastq in paired-end mapping (❤ to @alexhbnr for reporting) -- [#858](https://github.com/nf-core/eager/pull/858) Corrected tutorials to reflect updated BAM trimming flags (❤ to @marcel-keller for reporting) +- Corrected tutorials to reflect updated BAM trimming flags (❤ to @marcel-keller for reporting) ### `Dependencies` From 0da31578525aa1f352bf92993fd57076c7731d0f Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Thu, 24 Mar 2022 11:57:07 +0100 Subject: [PATCH 12/14] Apply suggestions from code review --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 495693b2f..d3721f0ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - [#851](https://github.com/nf-core/eager/issues/851) Fixes a file-name clash during additional_library_merge, post-BAM trimming of different UDG treated libraries of a sample - Renamed a range of MultiQC general stats table headers to improve clarity, documentation has been updated accordingly - [#857](https://github.com/nf-core/eager/issues/857) Corrected samtools fastq flag to _retain_ read-pair information when converting off-target BAM files to fastq in paired-end mapping (❤ to @alexhbnr for reporting) -- Corrected tutorials to reflect updated BAM trimming flags (❤ to @marcel-keller for reporting) +- Corrected tutorials to reflect updated BAM trimming flags (❤ to @marcel-keller for reporting and correcting) ### `Dependencies` From b7921e67bdb1245b2808d2174bd3ca5395688083 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Thu, 24 Mar 2022 12:40:43 +0100 Subject: [PATCH 13/14] Update CHANGELOG.md --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c561d4b2e..0a59cb03c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - [#851](https://github.com/nf-core/eager/issues/851) Fixes a file-name clash during additional_library_merge, post-BAM trimming of different UDG treated libraries of a sample - Renamed a range of MultiQC general stats table headers to improve clarity, documentation has been updated accordingly - [#857](https://github.com/nf-core/eager/issues/857) Corrected samtools fastq flag to _retain_ read-pair information when converting off-target BAM files to fastq in paired-end mapping (❤ to @alexhbnr for reporting) -- [#858](https://github.com/nf-core/eager/pull/858) Corrected tutorials to reflect updated BAM trimming flags (❤ to @marcel-keller for reporting) - [#866](https://github.com/nf-core/eager/issues/866) Fixed a typo in the indexing step of BWA mem when not-collapsing (❤ to @alexhbnr for reporting) - Corrected tutorials to reflect updated BAM trimming flags (❤ to @marcel-keller for reporting and correcting) From baf09b3c8b5262a6e8d1cfb7617823e35595bdb2 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Thu, 24 Mar 2022 15:55:18 +0100 Subject: [PATCH 14/14] Update nextflow.config --- nextflow.config | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nextflow.config b/nextflow.config index 09f31a367..69ecad64d 100644 --- a/nextflow.config +++ b/nextflow.config @@ -135,8 +135,8 @@ params { // mapDamage run_mapdamage_rescaling = false - params.rescale_length_5p = 12 - params.rescale_length_3p = 12 + rescale_length_5p = 12 + rescale_length_3p = 12 //Bedtools settings run_bedtools_coverage = false @@ -448,4 +448,4 @@ def check_max(obj, type) { return obj } } -} \ No newline at end of file +}