Skip to content

Commit f4bda4e

Browse files
author
mykle hoban
committed
update documentation for non-official version
1 parent 0d13d88 commit f4bda4e

4 files changed

Lines changed: 192 additions & 102 deletions

File tree

README.md

Lines changed: 83 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,90 @@
1-
<h1>
21
<picture>
3-
<source media="(prefers-color-scheme: dark)" srcset="docs/images/nf-core-assesspool_logo_dark.png">
4-
<img alt="nf-core/assesspool" src="docs/images/nf-core-assesspool_logo_light.png">
2+
<source media="(prefers-color-scheme: dark)" srcset="docs/images/logo.png" >
3+
<img height="150px" alt="assessPool" src="docs/images/logo.png" >
54
</picture>
6-
</h1>
75

8-
[![GitHub Actions CI Status](https://github.com/nf-core/assesspool/actions/workflows/ci.yml/badge.svg)](https://github.com/nf-core/assesspool/actions/workflows/ci.yml)
9-
[![GitHub Actions Linting Status](https://github.com/nf-core/assesspool/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/assesspool/actions/workflows/linting.yml)[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/assesspool/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX)
10-
[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)
11-
12-
[![Nextflow](https://img.shields.io/badge/version-%E2%89%A524.04.2-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)
13-
[![nf-core template version](https://img.shields.io/badge/nf--core_template-3.3.1-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/3.3.1)
14-
[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)
15-
[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)
16-
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)
17-
[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/nf-core/assesspool)
18-
19-
[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23assesspool-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/assesspool)[![Follow on Bluesky](https://img.shields.io/badge/bluesky-%40nf__core-1185fe?labelColor=000000&logo=bluesky)](https://bsky.app/profile/nf-co.re)[![Follow on Mastodon](https://img.shields.io/badge/mastodon-nf__core-6364ff?labelColor=FFFFFF&logo=mastodon)](https://mstdn.science/@nf_core)[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?labelColor=000000&logo=youtube)](https://www.youtube.com/c/nf-core)
206

217
## Introduction
228

23-
**nf-core/assesspool** is a bioinformatics pipeline that ...
24-
25-
<!-- TODO nf-core:
26-
Complete this sentence with a 2-3 sentence summary of what types of data the pipeline ingests, a brief overview of the
27-
major pipeline sections and the types of output it produces. You're giving an overview to someone new
28-
to nf-core here, in 15-20 seconds. For an example, see https://github.com/nf-core/rnaseq/blob/master/README.md#introduction
29-
-->
9+
**assessPool** is a population genetics analysis pipeline designed for pooled sequencing runs (pool-seq). Starting from raw genomic variants (VCF or sync format), assessPool performs the following operations:
10+
11+
* Filters SNPs based on adjustable criteria with suggestions for pooled data
12+
* Calculates population genetic statistics using [PoPoolation2](https://sourceforge.net/p/popoolation2/wiki/Main/), [poolfstat](https://doi.org/10.1111/1755-0998.13557), and/or [grenedalf](https://github.com/lczech/grenedalf).
13+
* Generates an HTML report including visualizations of population genetic statistics
14+
* Outputs results in tabular format for downstream analyses
15+
16+
Required inputs are a variant description file (sync or VCF) and a reference assembly (FASTA). These can be output from any number of reduced representation data processing pipelines (e.g., [grenepipe](https://github.com/moiexpositoalonsolab/grenepipe), [dDocent](https://ddocent.com/), etc.).
17+
18+
Major pipeline operations:
19+
20+
1. Import, index, and/or compress variant description and reference
21+
1. Perform stepwise filtering to determine effects of individual filter options (count lost loci):
22+
1. Min/max read depth
23+
1. Minor allele count
24+
1. Hardy-Weinberg equilibrium cutoff
25+
1. Missing data
26+
1. Allele length
27+
1. Quality:depth ratio
28+
1. Minimum read quality
29+
1. Variant type
30+
1. Mispaired read likelihood
31+
1. Alternate observations
32+
1. Mapping quality
33+
1. Mapping ratio
34+
1. Overall depth
35+
1. Number of pools with data
36+
1. Read balance
37+
1. Variant thinning
38+
1. Perform cumulative filtering (for VCF input)
39+
1. Generate sync files
40+
1. Unified (all pools)
41+
1. Split pairwise
42+
1. Generate allele frequency table
43+
1. Calculate F<sub>st</sub>
44+
1. PoPoolation2
45+
1. &#123;poolfstat&#125;
46+
1. grenedalf
47+
1. Calculate Fisher's exact test for individual SNPs
48+
1. PoPoolation2
49+
1. assessPool native
50+
1. Join frequency data to F<sub>st</sub> results
51+
1. Extract contigs containing (user-configurable) strongly-differentiated loci
52+
1. Create HTML report
53+
1. Save all output data in tabular format for downstream analysis
3054

3155
<!-- TODO nf-core: Include a figure that guides the user through the major workflow steps. Many nf-core
3256
workflows use the "tube map" design for that. See https://nf-co.re/docs/guidelines/graphic_design/workflow_diagrams#examples for examples. -->
33-
<!-- TODO nf-core: Fill in short bullet-pointed list of the default steps in the pipeline -->
3457

3558
## Usage
3659

3760
> [!NOTE]
3861
> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.
3962
40-
<!-- TODO nf-core: Describe the minimum required steps to execute the pipeline, e.g. how to prepare samplesheets.
41-
Explain what rows and columns represent. For instance (please edit as appropriate):
42-
43-
First, prepare a samplesheet with your input data that looks as follows:
63+
First, prepare a sample sheet with your input data that looks as follows:
4464

4565
`samplesheet.csv`:
4666

4767
```csv
48-
sample,fastq_1,fastq_2
49-
CONTROL_REP1,AEG588A1_S1_L002_R1_001.fastq.gz,AEG588A1_S1_L002_R2_001.fastq.gz
68+
project,input,vcf_index,reference,pools,pool_sizes
69+
poolseq_test,data/pools.vcf.gz,data/pools.vcf.gz.tbi,data/ref.fasta,,"35,38,22,52,17,19"
5070
```
5171

52-
Each row represents a fastq file (single-end) or a pair of fastq files (paired end).
72+
Each row represents a complete pool-seq project or experiment. Column descriptions:
5373

54-
-->
74+
`project` (required): A brief unique identifier for this pool-seq project
75+
`input` (required): Variant description file in sync or VCF format (optionally compressed using `bgzip`)
76+
`vcf_index` (optional): TABIX-format index of the input VCF file (generated if not supplied)
77+
`reference` (required): Reference assembly (FASTA)
78+
`pools` (optional): Comma-separated list of pool names (will replace any names in the input file)
79+
`pool_sizes` (required): Number of individuals in each pool. Either a single number for uniform pool sizes or a comma-separated list of sizes for each pool.
5580

56-
Now, you can run the pipeline using:
5781

58-
<!-- TODO nf-core: update the following command to include all required parameters for a minimal example -->
82+
Required columns are `project`, `input`, `reference`, and `pool_sizes`.
83+
84+
Now, you can run the pipeline using:
5985

6086
```bash
61-
nextflow run nf-core/assesspool \
87+
nextflow run tobodev/assesspool \
6288
-profile <docker/singularity/.../institute> \
6389
--input samplesheet.csv \
6490
--outdir <OUTDIR>
@@ -67,41 +93,47 @@ nextflow run nf-core/assesspool \
6793
> [!WARNING]
6894
> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/usage/getting_started/configuration#custom-configuration-files).
6995
70-
For more details and further functionality, please refer to the [usage documentation](https://nf-co.re/assesspool/usage) and the [parameter documentation](https://nf-co.re/assesspool/parameters).
96+
For more details and further functionality, please refer to the [usage documentation](docs/usage.md) and the [parameter documentation](parameters.md).
97+
98+
## Testing the pipeline
99+
assessPool comes with two built-in profiles that allow the user to test the pipeline with a fully-functional input dataset. These profiles (whose descriptions can be found in [conf/test.confg](conf/test.config) and [conf/test_full.config](conf/test_full.config)) will run assessPool with either a full or reduced dataset of SNPs sequenced from wild populations of the coral *Montipora capitata*. Pipeline tests can be run by passing either `test` or `test_full` to the `-profile` option, along with a software/container management subsystem. For example, using singularity:
100+
101+
```
102+
nextflow run tobodev/assesspool \
103+
-profile test,singularity
104+
```
105+
or
106+
```
107+
nextflow run tobodev/assesspool \
108+
-profile test_full,singularity
109+
```
71110

72111
## Pipeline output
73112

74-
To see the results of an example test run with a full size dataset refer to the [results](https://nf-co.re/assesspool/results) tab on the nf-core website pipeline page.
113+
Results of an example test run with a full size dataset can be found [here](https://tobodev.github.io/assesspool/).
75114
For more details about the output files and reports, please refer to the
76-
[output documentation](https://nf-co.re/assesspool/output).
115+
[output documentation](docs/output.md).
77116

78117
## Credits
79118

80-
nf-core/assesspool was originally written by Evan B Freel, Emily E Conklin, Mykle L Hoban, Derek W Kraft, Jonathan L Whitney, Ingrid SS Knapp, Zac H Forsman, Robert J Toonen.
119+
assessPool was originally written by Evan B Freel, Emily E Conklin, Mykle L Hoban, Derek W Kraft, Jonathan L Whitney, Ingrid SS Knapp, Zac H Forsman, Robert J Toonen.
81120

82121
We thank the following people for their extensive assistance in the development of this pipeline:
83122

84-
<!-- TODO nf-core: If applicable, make list of people who have also contributed -->
123+
Richard Coleman, &#x02bb;Ale&#x02bb;alani Dudoit, and Cataixa López, who used assessPool during development and helped identify issues and suggest key feature improvements. We would also like to thank Iliana Baums, Tanya Beirne, Dave Carlon, Greg Conception, Matt Craig, Jeff Eble, Scott Godwin, Matt Iacchei, Frederique Kandel, Steve Karl, Jim Maragos, Bob Moffitt, Joe O'Malley, Lawrie Provost, Jennifer Salerno, Derek Skillings, Michael Stat, Ben Wainwright, and Kim Weersing, for their efforts in sample collection.
85124

86125
## Contributions and Support
87126

88127
If you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md).
89128

90-
For further information or help, don't hesitate to get in touch on the [Slack `#assesspool` channel](https://nfcore.slack.com/channels/assesspool) (you can join with [this invite](https://nf-co.re/join/slack)).
91-
92129
## Citations
93130

94-
<!-- TODO nf-core: Add citation for pipeline after first release. Uncomment lines below and update Zenodo doi and badge at the top of this file. -->
95-
<!-- If you use nf-core/assesspool for your analysis, please cite it using the following doi: [10.5281/zenodo.XXXXXX](https://doi.org/10.5281/zenodo.XXXXXX) -->
96-
97-
<!-- TODO nf-core: Add bibliography of tools and data used in your pipeline -->
98-
99-
An extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.
131+
A list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.
100132

101-
You can cite the `nf-core` publication as follows:
133+
This pipeline uses code and infrastructure developed and maintained by the [nf-core](https://nf-co.re) community, reused here under the [MIT license](https://github.com/nf-core/tools/blob/master/LICENSE).
102134

103-
> **The nf-core framework for community-curated bioinformatics pipelines.**
135+
> The nf-core framework for community-curated bioinformatics pipelines.
104136
>
105137
> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.
106138
>
107-
> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).
139+
> Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x.

docs/images/logo.png

112 KB
Loading

docs/output.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,81 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d
1414

1515
- [Pipeline information](#pipeline-information) - Report metrics generated during the workflow execution
1616

17+
### Index
18+
19+
<details markdown="1">
20+
<summary>Output files</summary>
21+
22+
- `index/`
23+
- `*.fai/gzi`: FAI index of FASTA reference genome/assembly.
24+
- `*.tbi`: VCF index.
25+
26+
</details>
27+
28+
Results from calling `samtools faidx` on the reference assembly and `tabix` on the input VCF.
29+
30+
### Filtering results
31+
32+
<details markdown="1">
33+
<summary>Output files</summary>
34+
35+
- `filter/`
36+
- `incremental/`
37+
- VCF files (`*.vcf.gz`) and their associated index files (`*.tbi`) containing results of stepwise filtering operations.
38+
- `bcftools/`
39+
- Results of cumulative filtering operations performed using `bcftools` (`*.vcf.gz`, `*.tbi`)
40+
- `vcftools/`
41+
- Results of cumulative filtering operations performed using `cftools` (`*.vcf.gz`, `*.tbi`)
42+
43+
</details>
44+
45+
Results of VCF filtering. Contains both stepwise and and cumulative filter operations.
46+
47+
### grenedalf sync
48+
49+
<details markdown="1">
50+
<summary>Output files</summary>
51+
52+
- `sync/`
53+
- `pairwise/`
54+
- `<project>_<pool1>-<pool2>.sync`: Individual (headerless) pairwise sync file.
55+
- `<project>_sync.sync`: Sync file (in grenedalf headered format) for all pools.
56+
57+
</details>
58+
59+
Sync files generated from input VCF (or copied / filtered from input sync file).
60+
61+
### Fisher's test results
62+
63+
<details markdown="1">
64+
<summary>Output files</summary>
65+
66+
- `fisher/`
67+
- `assesspool/*.tsv`: pairwise Fisher's test results using built-in assessPool method
68+
- `popoolation/*.fisher`: pairwise Fisher's test results using PoPoolation2
69+
- `combined/<project>.fisher`: All concatenated pairwise Fisher's test results
70+
71+
72+
</details>
73+
74+
Results of Fisher's exact test calculations for each selected calculation method, both concatenated and single pairwise comparisons.
75+
76+
### F<sub>st</sub> results
77+
78+
<details markdown="1">
79+
<summary>Output files</summary>
80+
81+
- `fst/`
82+
- `grenedalf/*.tsv`: F<sub>st</sub> results calculated using `grenedalf`.
83+
- `popoolation/*.fst`: F<sub>st</sub> results calculated using `PoPoolation2`.
84+
- `poolfstat/*.tsv`: F<sub>st</sub> results calculated using `poolfstat`.
85+
- `<project>.fst`: Concatenated pairwise F<sub>st</sub> results for all methods
86+
87+
</details>
88+
89+
Pairwise F<sub>st</sub> results by individual calculation method and concatenated.
90+
91+
1792
### Pipeline information
1893

1994
<details markdown="1">

0 commit comments

Comments
 (0)