Skip to content

Commit 2f6f473

Browse files
authored
Merge branch 'dev' into dedup-gc-overhead-fix
2 parents c823cd1 + 8b77a0a commit 2f6f473

14 files changed

Lines changed: 1887 additions & 685 deletions

.github/CONTRIBUTING.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ If you'd like to write some code for nf-core/eager, the standard workflow is as
1818
1. Check that there isn't already an issue about your idea in the [nf-core/eager issues](https://github.com/nf-core/eager/issues) to avoid duplicating work
1919
* If there isn't one already, please create one so that others know you're working on this
2020
2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/eager repository](https://github.com/nf-core/eager) to your GitHub account
21-
3. Make the necessary changes / additions within your forked repository
22-
4. Submit a Pull Request against the `dev` branch and wait for the code to be reviewed and merged
21+
3. Make the necessary changes / additions within your forked repository (following [code contribution guidelines](https://github.com/nf-core/eager/blob/dev/docs/code_contribution.md))
22+
4. Use `nf-core schema build .` and add any new parameters to the pipeline JSON schema (requires nf-core tools >= 1.10).
23+
5. Submit a Pull Request against the `dev` branch and wait for the code to be reviewed and merged
2324

2425
If you're not used to this workflow with git, you can start with some [docs from GitHub](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests) or even their [excellent `git` resources](https://try.github.io/).
2526

.github/workflows/ci.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,9 @@ jobs:
119119
- name: GENOTYPING_PC Test running pileupCaller
120120
run: |
121121
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv_humanbam,docker --dedupper 'dedup' --run_genotyping --genotyping_tool 'pileupcaller'
122+
- name: GENOTYPING_ANGSD Test running ANGSD genotype likelihood calculation
123+
run: |
124+
nextflow run ${GITHUB_WORKSPACE} -profile test_tsv_humanbam,docker --dedupper 'dedup' --run_genotyping --genotyping_tool 'angsd'
122125
- name: SKIPPING Test checking all skip steps work i.e. input bam, skipping straight to genotyping
123126
run: |
124127
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'

CHANGELOG.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,20 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
1111

1212
* **Major** Automated Cloud Tests with large-scale data on [AWS](https://aws.amazon.com/)
1313
* **Major** Re-wrote input logic to accept a TSV 'map' file in addition to direct paths to FASTQ
14+
* **Major** Added JSON Schema, enabling web GUI for configuration of pipeline
1415
* **Major** Lane and library merging implement
1516
* When using TSV input, one libraries with the multiple _lane_ will be merged together, before mapping
1617
* Strip FASTQ will also produce a lane merged 'raw' but 'stripped' FASTQ file
1718
* When using TSV input, one sample with multiple (same treatment) libraries will be merged together.
1819
* Important: direct FASTQ paths will not have this functionality. TSV is required.
1920
* [#40](https://github.com/nf-core/eager/issues/40) - Added the pileupCaller genotyper from [sequenceTools](https://github.com/stschiff/sequenceTools)
2021
* Added sanity check and clearer error message when `--fasta_index` is provided and filepath does not end in `.fai`.
21-
* Added basic json_schema
2222
* Improved error messages
2323
* Added ability for automated emails using `mailutils` to also send MultiQC reports
2424
* General documentation additions and cleaning, updated figures with CC-BY license
2525
* Added large 'fullsize' dataset test-profiles for ancient fish, human, and a draft pathogen contexts.
2626
* [#257](https://github.com/nf-core/eager/issues/257) Added the bowtie2 aligner as option for mapping, following Poullet and Orlando 2020 doi: [10.3389/fevo.2020.00105](https://doi.org/10.3389/fevo.2020.00105)
27+
* [#451] Adds ANGSD genotype likelihood calculations as alternative to typical 'genotypers'
2728

2829
### `Fixed`
2930

@@ -52,7 +53,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
5253
* Latest version of Kraken2 (2.0.9beta)
5354
* Latest version of FreeBayes (1.3.2)
5455
* Latest version of xopen (0.9.0)
55-
* *Adding* in Bowtie 2 (2.4.1)
56+
* Added Bowtie 2 (2.4.1)
5657

5758
## [2.1.0] - 2020-03-05 - "Ravensburg"
5859

README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,13 @@ Additional functionality contained by the pipeline currently includes:
5555

5656
* Damage removal/clipping for UDG+/UDG-half treatment protocols (`BamUtil`)
5757
* Damaged reads extraction and assessment (`PMDTools`)
58+
* Nuclear DNA contamination estimation of human samples (`angsd`)
5859

5960
#### Genotyping
6061

6162
* Creation of VCF genotyping files (`GATK UnifiedGenotyper`, `GATK HaplotypeCaller` and `FreeBayes`)
6263
* Creation of EIGENSTRAT genotyping files (`pileupCaller`)
64+
* Creation of Genotype Likelihood files (`angsd`)
6365
* Consensus sequence FASTA creation (`VCF2Genome`)
6466
* SNP Table generation (`MultiVCFAnalyzer`)
6567

@@ -88,7 +90,7 @@ Additional functionality contained by the pipeline currently includes:
8890

8991
nextflow run nf-core/eager -profile <docker/singularity/conda>,test
9092

91-
5. Start running your own ancient DNA analysis!
93+
5. Start running your own ancient DNA analysis either via the command-line or [GUI](https://nf-co.re/launch)! Command line example:
9294

9395
nextflow run nf-core/eager -profile <docker/singularity/conda> --input '*_R{1,2}.fastq.gz' --fasta '<your_reference>.fasta'
9496

@@ -105,20 +107,20 @@ as described in the documentation.
105107

106108
The nf-core/eager pipeline comes with documentation about the pipeline, found in the `docs/` directory or on the main homepage of the nf-core project:
107109

108-
1. [Nextflow Installation](https://nf-co.re/usage/installation)
110+
1. [Nextflow installation](https://nf-co.re/usage/installation)
109111
2. Pipeline configuration
110112
* [Pipeline installation](https://nf-co.re/usage/local_installation)
111113
* [Adding your own system config](https://nf-co.re/usage/adding_own_config)
112114
* [Reference genomes](https://nf-co.re/usage/reference_genomes)
113115
3. [Running the pipeline](docs/usage.md)
114116
4. [Output and how to interpret the results](docs/output.md)
115-
5. [EAGER2 Code Contribution Guidelines](code_contribution.md)
116-
6. [nf-core/nextflow Troubleshooting](https://nf-co.re/usage/troubleshooting)
117-
7. [EAGER Troubleshooting](docs/troubleshooting.md)
117+
5. [nf-core/eager code contribution checklist and guidelines](docs/code_contribution.md)
118+
6. [nf-core and Nextflow troubleshooting](https://nf-co.re/usage/troubleshooting)
119+
7. [nf-core/eager troubleshooting](docs/troubleshooting.md)
118120

119121
## Credits
120122

121-
This pipeline was mostly written by Alexander Peltzer ([apeltzer](https://github.com/apeltzer)), with contributions from [Stephen Clayton](https://github.com/sc13-bioinf), [James A. Fellows Yates](https://github.com/jfy133), [Thiseas C. Lamnidis](https://github.com/TCLamnidis), [Maxime Borry](https://github.com/maxibor), [Zandra Fagernäs](https://github.com/ZandraFagernas), [Aida Andrades Valtueña](https://github.com/aidaanva) and [Maxime Garcia](https://github.com/MaxUlysse). If you want to contribute, please open an issue (or even better, a pull request!) and ask to be added to the project - everyone is welcome to contribute here!
123+
This pipeline was mostly written by Alexander Peltzer ([apeltzer](https://github.com/apeltzer)) and [James A. Fellows Yates](https://github.com/jfy133), with contributions from [Stephen Clayton](https://github.com/sc13-bioinf), [Thiseas C. Lamnidis](https://github.com/TCLamnidis), [Maxime Borry](https://github.com/maxibor), [Zandra Fagernäs](https://github.com/ZandraFagernas), [Aida Andrades Valtueña](https://github.com/aidaanva) and [Maxime Garcia](https://github.com/MaxUlysse). If you want to contribute, please open an issue (or even better, a pull request!) and ask to be added to the project - everyone is welcome to contribute here!
122124

123125
## Authors (alphabetical)
124126

assets/multiqc_config.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,10 @@ top_modules:
8888
- '*_postfilterflagstat.stats'
8989
- 'dedup'
9090
- 'picard'
91+
- 'preseq'
9192
- 'damageprofiler'
92-
- 'qualimap'
9393
- 'mtnucratio'
94-
- 'preseq'
94+
- 'qualimap'
9595
- 'sexdeterrmine'
9696
- 'gatk'
9797
- 'multivcfanalyzer':
@@ -151,13 +151,13 @@ table_columns_visible:
151151
3 Prime2: False
152152
mean_readlength: True
153153
median: True
154+
mtnucratio:
155+
mt_nuc_ratio: True
154156
QualiMap:
155157
mean_coverage: True
156158
1_x_pc: True
157159
5_x_pc: True
158160
percentage_aligned: False
159-
mtnucratio:
160-
mt_nuc_ratio: True
161161
MultiVCFAnalyzer:
162162
Heterozygous SNP alleles (percent): True
163163

@@ -205,6 +205,10 @@ table_columns_placement:
205205
3 Prime2: 730
206206
mean_readlength: 740
207207
median: 750
208+
mtnucratio:
209+
mtreads: 760
210+
mt_cov_avg: 770
211+
mt_nuc_ratio: 780
208212
QualiMap:
209213
mean_coverage: 800
210214
median_coverage: 810
@@ -214,10 +218,6 @@ table_columns_placement:
214218
4_x_pc: 850
215219
5_x_pc: 860
216220
avg_gc: 870
217-
mtnucratio:
218-
mtreads: 900
219-
mt_cov_avg: 910
220-
mt_nuc_ratio: 920
221221
sexdeterrmine:
222222
RateX: 100
223223
RateY: 1010

conf/base.config

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ process {
7676
errorStrategy = 'ignore'
7777
}
7878

79+
withName:damageprofiler {
80+
errorStrategy = { task.exitStatus in [1,143,137,104,134,139] ? 'retry' : 'finish' }
81+
}
82+
7983
// Add 141 ignore due to unclean pipe closing by pmdtools https://github.com/pontussk/PMDtools/issues/7
8084
withName: pmdtools {
8185
errorStrategy = { task.exitStatus in [141] ? 'ignore' : 'retry' }

docs/code_contribution.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,14 @@ The typical workflow for adding a new module is as follows:
1111
3. Define the output channel if needed (see below).
1212
4. Add any new flags/options to `nextflow.config` with a default (see below).
1313
5. Add any new flags/options to the help message (for integer/text parameters, print to help the corresponding `nextflow.config` parameter).
14-
6. Add any new software to the `scrape_software_versions.py` secript in `bin/` and the version command to the `scrape_software_versions` process in `main.nf`.
15-
7. Do a local test that the new code works properly
16-
8. Add a new test command in `.github/workflow/ci.yaml`.
17-
9. Add new flags/options to 'usage' documentation under `docs/usage.md`.
18-
10. Add any descriptions of MultiQC report sections and output files to `docs/output.md`.
14+
6. Add sanity checks for all relevant parameters.
15+
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`.
16+
8. Do local tests that the new code works properly and as expected.
17+
9. Add a new test command in `.github/workflow/ci.yaml`.
18+
10. If applicable add a [MultiQC](https://https://multiqc.info/) module.
19+
11. Update MultiQC config `assests/multiqc_config.yaml` so relevant suffixes, name clean up, General Statistics Table column order, and module figures are in the right order.
20+
12. Add new flags/options to 'usage' documentation under `docs/usage.md`.
21+
13. Add any descriptions of MultiQC report sections and output files to `docs/output.md`.
1922

2023
## Default Values
2124

189 KB
Loading

0 commit comments

Comments
 (0)