Skip to content

Commit 76d048b

Browse files
authored
Merge pull request #767 from nf-core/major-release-wangen
Major release wangen
2 parents 88fb23b + 720580b commit 76d048b

19 files changed

Lines changed: 1315 additions & 343 deletions

.github/CONTRIBUTING.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,13 @@ If you wish to contribute a new step, please use the following coding standards:
7070
3. Define the output channel if needed (see below).
7171
4. Add any new flags/options to `nextflow.config` with a default (see below).
7272
5. Add any new flags/options to `nextflow_schema.json` with help text (with `nf-core schema build .`).
73-
6. Add any new flags/options to the help message (for integer/text parameters, print to help the corresponding `nextflow.config` parameter).
74-
7. Add sanity checks for all relevant parameters.
75-
8. Add any new software to the `scrape_software_versions.py` script in `bin/` and the version command to the `scrape_software_versions` process in `main.nf`.
76-
9. Do local tests that the new code works properly and as expected.
77-
10. Add a new test command in `.github/workflow/ci.yaml`.
78-
11. If applicable add a [MultiQC](https://https://multiqc.info/) module.
79-
12. Update MultiQC config `assets/multiqc_config.yaml` so relevant suffixes, name clean up, General Statistics Table column order, and module figures are in the right order.
80-
13. Optional: Add any descriptions of MultiQC report sections and output files to `docs/output.md`.
73+
6. Add sanity checks for all relevant parameters.
74+
7. Add any new software to the `scrape_software_versions.py` script in `bin/` and the version command to the `scrape_software_versions` process in `main.nf`.
75+
8. Do local tests that the new code works properly and as expected.
76+
9. Add a new test command in `.github/workflow/ci.yaml`.
77+
10. If applicable add a [MultiQC](https://https://multiqc.info/) module.
78+
11. Update MultiQC config `assets/multiqc_config.yaml` so relevant suffixes, name clean up, General Statistics Table column order, and module figures are in the right order.
79+
12. Optional: Add any descriptions of MultiQC report sections and output files to `docs/output.md`.
8180

8281
### Default values
8382

.github/workflows/ci.yml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959
git clone --single-branch --branch eager https://github.com/nf-core/test-datasets.git data
6060
- name: DELAY to try address some odd behaviour with what appears to be a conflict between parallel htslib jobs leading to CI hangs
6161
run: |
62-
if [[ $NXF_VER = '' ]]; then sleep 360; fi
62+
if [[ $NXF_VER = '' ]]; then sleep 1200; fi
6363
- name: BASIC Run the basic pipeline with directly supplied single-end FASTQ
6464
run: |
6565
nextflow run ${GITHUB_WORKSPACE} -profile test,docker --input 'data/testdata/Mammoth/fastq/*_R1_*.fq.gz' --single_end
@@ -102,6 +102,18 @@ jobs:
102102
- name: ADAPTERREMOVAL Run the basic pipeline with preserve5p end and merged reads only options
103103
run: |
104104
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv,docker --preserve5p --mergedonly
105+
- name: ADAPTER LIST Run the basic pipeline using an adapter list
106+
run: |
107+
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv,docker --clip_adapters_list 'https://github.com/nf-core/test-datasets/raw/eager/databases/adapters/adapter-list.txt'
108+
- name: ADAPTER LIST Run the basic pipeline using an adapter list, skipping adapter removal
109+
run: |
110+
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv,docker --clip_adapters_list 'https://github.com/nf-core/test-datasets/raw/eager/databases/adapters/adapter-list.txt' --skip_adapterremoval
111+
- name: POST_AR_FASTQ_TRIMMING Run the basic pipeline post-adapterremoval FASTQ trimming
112+
run: |
113+
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv,docker --run_post_ar_trimming
114+
- name: POST_AR_FASTQ_TRIMMING Run the basic pipeline post-adapterremoval FASTQ trimming, but skip adapterremoval
115+
run: |
116+
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv,docker --run_post_ar_trimming --skip_adapterremoval
105117
- name: MAPPER_CIRCULARMAPPER Test running with CircularMapper
106118
run: |
107119
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv,docker --mapper 'circularmapper' --circulartarget 'NC_007596.2'
@@ -120,6 +132,9 @@ jobs:
120132
- name: BAM_FILTERING Run basic mapping pipeline with post-mapping length filtering
121133
run: |
122134
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv,docker --clip_readlength 0 --run_bam_filtering --bam_filter_minreadlength 50
135+
- name: PRESEQ Run basic mapping pipeline with different preseq mode
136+
run: |
137+
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv,docker --preseq_mode 'lc_extrap' --preseq_maxextrap 10000 --preseq_bootstrap 10
123138
- name: DEDUPLICATION Test with dedup
124139
run: |
125140
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv,docker --dedupper 'dedup' --dedup_all_merged
@@ -138,6 +153,9 @@ jobs:
138153
- name: GENOTYPING_ANGSD Test running ANGSD genotype likelihood calculation
139154
run: |
140155
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv_humanbam,docker --run_genotyping --genotyping_tool 'angsd'
156+
- name: GENOTYPING_BCFTOOLS Test running FreeBayes with bcftools stats turned on
157+
run: |
158+
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv,docker --run_genotyping --genotyping_tool 'freebayes' --run_bcftools_stats
141159
- name: SKIPPING Test checking all skip steps work i.e. input bam, skipping straight to genotyping
142160
run: |
143161
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv_bam,docker --skip_fastqc --skip_adapterremoval --skip_deduplication --skip_qualimap --skip_preseq --skip_damage_calculation --run_genotyping --genotyping_tool 'freebayes'
@@ -194,4 +212,4 @@ jobs:
194212
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv_humanbam,docker --skip_fastqc --skip_adapterremoval --skip_deduplication --skip_qualimap --skip_preseq --skip_damage_calculation --run_mtnucratio
195213
- name: RESCALING Run basic pipeline with basic pipeline but with mapDamage rescaling of BAM files. Note this will be slow
196214
run: |
197-
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv,docker --run_mapdamage_rescaling --run_genotyping --genotyping_tool hc --genotyping_source 'rescaled'
215+
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv,docker --run_mapdamage_rescaling --run_genotyping --genotyping_tool hc --genotyping_source 'rescaled'

.github/workflows/linting.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ jobs:
107107
- name: Install dependencies
108108
run: |
109109
python -m pip install --upgrade pip
110-
pip install nf-core
110+
pip install nf-core==1.14
111111
112112
- name: Run nf-core lint
113113
env:

CHANGELOG.md

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,52 @@
33
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
44
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
55

6-
## v2.3.6dev - [unreleased]
6+
## v2.4dev - [unreleased]
77

88
### `Added`
99

10+
- [#317](https://github.com/nf-core/eager/issues/317) Added bcftools stats for general genotyping statistics of VCF files
11+
- [#651](https://github.com/nf-core/eager/issues/651) - Adds removal of adapters specified in an AdapterRemoval adapter list file
12+
- [#642](https://github.com/nf-core/eager/issues/642) and [#431](https://github.com/nf-core/eager/issues/431) adds post-adapter removal barcode/fastq trimming
13+
- [#769](https://github.com/nf-core/eager/issues/769) - Adds lc_extrap mode to preseq (suggested by @roberta-davidson)
14+
1015
### `Fixed`
1116

17+
- Fixed some missing or incorrectly reported software versions
18+
- [#771](https://github.com/nf-core/eager/issues/771) Remove legacy code
19+
- Improved output documentation for MultiQC general stats table (thanks to @KathrinNaegele and @esalmela)
20+
- Improved output documentation for BowTie2 (thanks to @isinaltinkaya)
21+
- [#612](https://github.com/nf-core/eager/issues/612) Updated BAM trimming defaults to 0 to ensure no unwanted trimming when mixing half-UDG with no-UDG (thanks to @scarlhoff)
22+
- [#722](https://github.com/nf-core/eager/issues/722) Updated BWA mapping mapping parameters to latest recommendations - primarily alnn back to 0.01 and alno to 2 as per Oliva et al. 2021 (10.1093/bib/bbab076)
23+
- Updated workflow diagrams to reflect latest functionality
24+
1225
### `Dependencies`
1326

27+
- Bumped python: 3.7.3 -> 3.9.4
28+
- Bumped markdown: 3.2.2 -> 3.3.4
29+
- Bumped pymdown-extensions: 7.1 -> 8.2
30+
- Bumped pyments: 2.6.1 -> 2.9.0
31+
- Bumped adapterremoval: 2.3.1 -> 2.3.2
32+
- Bumped picard: 2.22.9 -> 2.26.0
33+
- Bumped samtools 1.9 -> 1.12
34+
- Bumped angsd: 0.933 -> 0.935
35+
- Bumped gatk4: 4.1.7.0 -> 4.2.0.0
36+
- Bumped multiqc: 1.10.1 -> 1.11
37+
- Bumped bedtools 2.29.2 -> 2.30.0
38+
- Bumped libiconv: 1.15 -> 1.16
39+
- Bumped preseq: 2.0.3 -> 3.1.2
40+
- Bumped bamutil: 1.0.14 -> 1.0.15
41+
- Bumped pysam: 0.15.4 -> 0.16.0
42+
- Bumped kraken2: 2.1.1 -> 2.1.2
43+
- Bumped pandas: 1.0.4 -> 1.2.4
44+
- Bumped freebayes: 1.3.2 -> 1.3.5
45+
- Bumped biopython: 1.76 -> 1.79
46+
- Bumped xopen: 0.9.0 -> 1.1.0
47+
- Bumped bowtie2: 2.4.2 -> 2.4.4
48+
- Bumped mapdamage2: 2.2.0 -> 2.2.1
49+
- Bumped bbmap: 38.87 -> 38.92
50+
- Added bcftools: 1.12
51+
1452
### `Deprecated`
1553

1654
## v2.3.5 - 2021-06-03

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ COPY environment.yml /
77
RUN conda env create --quiet -f /environment.yml && conda clean -a
88

99
# Add conda installation dir to PATH (instead of doing 'conda activate')
10-
ENV PATH /opt/conda/envs/nf-core-eager-2.3.6dev/bin:$PATH
10+
ENV PATH /opt/conda/envs/nf-core-eager-2.4dev/bin:$PATH
1111

1212
# Dump the details of the installed packages to a file for posterity
13-
RUN conda env export --name nf-core-eager-2.3.6dev > nf-core-eager-2.3.6dev.yml
13+
RUN conda env export --name nf-core-eager-2.4dev > nf-core-eager-2.4dev.yml

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
[![Nextflow](https://img.shields.io/badge/nextflow-%E2%89%A520.07.1-brightgreen.svg)](https://www.nextflow.io/)
88
[![nf-core](https://img.shields.io/badge/nf--core-pipeline-brightgreen.svg)](https://nf-co.re/)
99
[![DOI](https://zenodo.org/badge/135918251.svg)](https://zenodo.org/badge/latestdoi/135918251)
10+
[![Published in PeerJ](https://img.shields.io/badge/peerj-published-%2300B2FF)](https://peerj.com/articles/10947/)
1011

1112
[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg)](https://bioconda.github.io/)
1213
[![Docker](https://img.shields.io/docker/automated/nfcore/eager.svg)](https://hub.docker.com/r/nfcore/eager)
@@ -65,7 +66,7 @@ By default the pipeline currently performs the following:
6566

6667
* Create reference genome indices for mapping (`bwa`, `samtools`, and `picard`)
6768
* Sequencing quality control (`FastQC`)
68-
* Sequencing adapter removal and for paired end data merging (`AdapterRemoval`)
69+
* Sequencing adapter removal, paired-end data merging (`AdapterRemoval`)
6970
* Read mapping to reference using (`bwa aln`, `bwa mem`, `CircularMapper`, or `bowtie2`)
7071
* Post-mapping processing, statistics and conversion to bam (`samtools`)
7172
* Ancient DNA C-to-T damage pattern visualisation (`DamageProfiler`)
@@ -85,6 +86,7 @@ Additional functionality contained by the pipeline currently includes:
8586
#### Preprocessing
8687

8788
* Illumina two-coloured sequencer poly-G tail removal (`fastp`)
89+
* Post-AdapterRemoval trimming of FASTQ files prior mapping (`fastp`)
8890
* Automatic conversion of unmapped reads to FASTQ (`samtools`)
8991
* Host DNA (mapped reads) stripping from input FASTQ files (for sensitive samples)
9092

@@ -160,17 +162,21 @@ Those who have provided conceptual guidance, suggestions, bug reports etc.
160162

161163
* [Alexandre Gilardet](https://github.com/alexandregilardet)
162164
* Arielle Munters
163-
* [Charles Plessy](https://github.com/charles-plessy)
164165
* [Åshild Vågene](https://github.com/ashildv)
166+
* [Charles Plessy](https://github.com/charles-plessy)
167+
* [Elina Salmela](https://github.com/esalmela)
165168
* [Hester van Schalkwyk](https://github.com/hesterjvs)
166169
* [Ido Bar](https://github.com/IdoBar)
167170
* [Irina Velsko](https://github.com/ivelsko)
171+
* [Işın Altınkaya](https://github.com/isinaltinkaya)
168172
* [Katerine Eaton](https://github.com/ktmeaton)
173+
* [Katrin Nägele](https://github.com/KathrinNaegele)
169174
* [Luc Venturini](https://github.com/lucventurini)
170175
* [Marcel Keller](https://github.com/marcel-keller)
171176
* [Pierre Lindenbaum](https://github.com/lindenb)
172177
* [Pontus Skoglund](https://github.com/pontussk)
173178
* [Raphael Eisenhofer](https://github.com/EisenRa)
179+
* [Roberta Davidson](https://github.com/roberta-davidson)
174180
* [Torsten Günter](https://bitbucket.org/tguenther/)
175181
* [Kevin Lord](https://github.com/lordkev)
176182
* [He Yu](https://github.com/paulayu)

assets/multiqc_config.yaml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ run_modules:
2525
- samtools
2626
- sexdeterrmine
2727
- hops
28+
- bcftools
2829

2930
extra_fn_clean_exts:
3031
- '_fastp'
@@ -60,13 +61,13 @@ extra_fn_clean_exts:
6061

6162
top_modules:
6263
- 'fastqc':
63-
name: 'FastQC (pre-AdapterRemoval)'
64+
name: 'FastQC (pre-Trimming)'
6465
path_filters:
6566
- '*_raw_fastqc.zip'
6667
- 'fastp'
6768
- 'adapterRemoval'
6869
- 'fastqc':
69-
name: 'FastQC (post-AdapterRemoval)'
70+
name: 'FastQC (post-Trimming)'
7071
path_filters:
7172
- '*.truncated_fastqc.zip'
7273
- '*.combined*_fastqc.zip'
@@ -86,11 +87,14 @@ top_modules:
8687
- '*_postfilterflagstat.stats'
8788
- 'dedup'
8889
- 'picard'
89-
- 'preseq'
90+
- 'preseq':
91+
path_filters:
92+
- '*.preseq'
9093
- 'damageprofiler'
9194
- 'mtnucratio'
9295
- 'qualimap'
9396
- 'sexdeterrmine'
97+
- 'bcftools'
9498
- 'multivcfanalyzer':
9599
path_filters:
96100
- '*MultiVCFAnalyzer.json'
@@ -106,7 +110,7 @@ remove_sections:
106110
- sexdeterrmine-snps
107111

108112
table_columns_visible:
109-
FastQC (pre-AdapterRemoval):
113+
FastQC (pre-Trimming):
110114
percent_duplicates: False
111115
percent_gc: True
112116
avg_sequence_length: True
@@ -117,7 +121,7 @@ table_columns_visible:
117121
Adapter Removal:
118122
aligned_total: False
119123
percent_aligned: True
120-
FastQC (post-AdapterRemoval):
124+
FastQC (post-Trimming):
121125
avg_sequence_length: True
122126
percent_duplicates: False
123127
total_sequences: True
@@ -180,15 +184,15 @@ table_columns_visible:
180184
Total_Snps: False
181185

182186
table_columns_placement:
183-
FastQC (pre-AdapterRemoval):
187+
FastQC (pre-Trimming):
184188
total_sequences: 100
185189
avg_sequence_length: 110
186190
percent_gc: 120
187191
fastp:
188192
after_filtering_gc_content: 200
189193
Adapter Removal:
190194
percent_aligned: 300
191-
FastQC (post-AdapterRemoval):
195+
FastQC (post-Trimming):
192196
total_sequences: 400
193197
avg_sequence_length: 410
194198
percent_gc: 420

bin/scrape_software_versions.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@
3737
'kraken':['v_kraken.txt', r"Kraken version (\S+)"],
3838
'eigenstrat_snp_coverage':['v_eigenstrat_snp_coverage.txt',r"(\S+)"],
3939
'mapDamage2':['v_mapdamage.txt',r"(\S+)"],
40-
'bbduk':['v_bbduk.txt',r"(.*)"]
40+
'bbduk':['v_bbduk.txt',r"(.*)"],
41+
'bcftools':['v_bcftools.txt',r"(\S+)"]
4142
}
4243

4344
results = OrderedDict()
@@ -75,6 +76,7 @@
7576
results['eigenstrat_snp_coverage'] = '<span style="color:#999999;\">N/A</span>'
7677
results['mapDamage2'] = '<span style="color:#999999;\">N/A</span>'
7778
results['bbduk'] = '<span style="color:#999999;\">N/A</span>'
79+
results['bcftools'] = '<span style="color:#999999;\">N/A</span>'
7880

7981
# Search each file using its regex
8082
for k, v in regexes.items():

0 commit comments

Comments
 (0)