Citation & License¶
Citing PoolSeqFlow¶
The installed copy will print its own citation, with its version filled in:
Use that rather than copying from here — it knows which version you have, and this page does not.
Which DOI to use¶
Zenodo issues two kinds of DOI, and the difference matters.
| DOI | What it identifies | Use it for |
|---|---|---|
| 10.5281/zenodo.19245611 | All versions. Always resolves to the newest release | Referring to PoolSeqFlow as a piece of software — a related-work mention, a README, a link |
| A version DOI, one per release | One specific release, frozen | Reporting results. This is the one a methods section needs |
Cite the version you ran, not the newest one
Results depend on which release produced them. Filters, defaults and parameter names have all changed between versions — vcffilter.minDP went from having no effect to removing whole sites, and sample column ordering changed in 2.1.1. A paper citing the current release for numbers produced by an older one is describing a method it did not use.
Find the version that produced a given set of results in that project's Output/run_parameters.txt, which lists every release that has run there — PoolSeqFlow version tells you only what is installed now, which is not the same thing once you have upgraded. Then open the all-versions record and pick that version from the Versions list to get its DOI.
If more than one version is listed, the outputs were not all produced by the same release: completed steps are not redone on upgrade. Say so in your methods, or PoolSeqFlow reset and re-run under one version.
Reference¶
Kiratli, O. L. Z. (2026). PoolSeqFlow: A Nextflow pipeline for allele frequency analysis from pooled Illumina sequencing data (Version x.y.z) [Computer software]. https://doi.org/10.5281/zenodo.19245611
@software{kiratli_poolseqflow,
author = {Kiratli, Ozan L. Z.},
title = {PoolSeqFlow: A Nextflow pipeline for allele frequency
analysis from pooled Illumina sequencing data},
version = {x.y.z},
year = {2026},
doi = {10.5281/zenodo.19245611},
url = {https://github.com/ozankiratli/PoolSeqFlow}
}
Replace x.y.z with the version you ran, and swap the DOI for that version's own.
Citing the tools it runs¶
PoolSeqFlow orchestrates other people's software, and a methods section should credit it. You do not have to assemble that list yourself. Every run writes it, beside the results it produced:
storageDir/Output/
├── CITATIONS.md ← readable, for a methods section
└── references.bib ← BibTeX, for a bibliography
Both are generated from the run that produced them, which makes them accurate in two ways a static list cannot be:
- They carry the versions that actually ran, asked of each tool at run time rather than read from the environment file. If you repointed a tool at a system installation with
params.software, the version recorded is the one that did the work. - They list only what the run invoked. A run with
annotate = falsenever calls SnpEff, so SnpEff is not in its citations — citing it would be claiming a step that did not happen.
An analysis module adds its own: the statistic it implements as well as the packages it computes in, because a diversity estimate a reader cannot trace to a definition is one they cannot check. The reading behind those choices, including work this pipeline does not run but can be compared against, is in the Bibliography.
The tools a full run credits:
| Tool | Used for |
|---|---|
| Nextflow | Workflow execution |
| FastQC | Read quality metrics, and the composition table driving clipping |
| Trim Galore | Adapter and quality trimming |
| Cutadapt | Composition-aware clipping |
| BWA | Alignment (bwa mem) |
| SAMtools | BAM processing, duplicate removal, filtering |
| BAMtools | Alignment statistics |
| BCFtools | Variant calling, normalization, filtering |
| VCFtools | Depth/quality filtering and SNP/INDEL splitting |
| SnpEff | Variant annotation, if enabled |
| Python | The pipeline's helper scripts |
SAMtools and BCFtools share one paper, so the bibliography carries that reference once while both tools are named in the readable list. Two tools are deliberately absent: the JVM, which is a runtime for FastQC and SnpEff rather than a method of its own, and unzip.
Exact versions are pinned in install/environment.yml, and the versions for the current release are listed under Requirements.
License¶
PoolSeqFlow is licensed under the Apache License 2.0.
The tools it invokes carry their own licenses, which are not affected by this one.
Analysis modules carry their own license, and it is not always this one. A module is a separate work that is versioned and installed separately, and the terms it is published under are in its manifest.json and printed in the report of every analysis it produces. basicstats, association and mds are GPL-3.0-or-later, because each compiles its hot path with Rcpp and does so by default. verify belongs to the frame and is Apache-2.0 with the rest of the pipeline. If you redistribute what a module produced, read the line the report gives you.
Contact¶
Ozan L. Z. Kiratli
- GitHub: @ozankiratli
- Issues: github.com/ozankiratli/PoolSeqFlow/issues
- Website: ozankiratli.github.io