Skip to content

Citation & License

Citing PoolSeqFlow

The installed copy will print its own citation, with its version filled in:

PoolSeqFlow cite

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 = false never 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