Install¶
Check the requirements first if you have not — in particular that you are on Linux or macOS, and that conda is available.
1. Get PoolSeqFlow¶
curl -LO https://github.com/ozankiratli/PoolSeqFlow/releases/latest/download/PoolSeqFlow.tar.gz
tar -xzf PoolSeqFlow.tar.gz
cd PoolSeqFlow-*/
This is the recommended route. The archive is the pipeline only — no documentation sources or CI config — and it extracts into a versioned directory, so you always know which release a working copy came from.
Verify it if you like: download SHA256SUMS from the same release and run sha256sum -c SHA256SUMS.
Use this if you want to track development, work from a branch, or send a pull request. main is not guaranteed to be a released state, and the chmod is needed because a clone does not always preserve the executable bit — the release archive does.
2. Create your configuration¶
parameters.config holds your own paths and settings, so it is not tracked in git — a fresh clone ships parameters.config.template instead. Create your copy:
This is deliberately not done for you. The pipeline will not start without the file, so the settings get read rather than inherited.
3. Build the environment¶
This creates a conda environment named PoolSeqFlow. It takes a while on first run; subsequent installs reuse the conda package cache.
It then verifies itself, and fails if anything is missing — an environment that was created but is short a tool is not an install, and the alternative is finding out partway through step 4, hours in.
4. Verify it any time¶
Tools
nextflow nextflow OK 26.04.6 build 12646
samtools samtools OK samtools 1.24
bcftools bcftools OK bcftools 1.24
…
tool list from: params.software in parameters.config
Pipeline helpers
atomic_mv.sh OK
depth2freq.awk OK
…
Configuration
parameters.config PARSES
All 21 checks passed.
It covers three things:
Every command the pipeline invokes, with the version each reports. Once you have a parameters.config, the list is read from params.software through nextflow config rather than assumed — so a command repointed at a system binary is checked as you configured it. That override is the setting most likely to be wrong and least likely to announce itself.
Every helper in bin/, present and executable. nextflow.config puts that directory on PATH and the process scripts call the helpers by bare name, so a lost executable bit fails mid-run rather than at startup.
That parameters.config parses, once it exists.
Set up your project directory¶
PoolSeqFlow expects a specific layout before it will run. The paths are yours to choose; the structure inside them is not.
/path/to/project/ ← projectDir in parameters.config
├── Data/ ← dataSource
│ ├── Sample1_R1.fq.gz
│ ├── Sample1_R2.fq.gz
│ └── …
├── RGTags.csv
├── reference.fasta.gz
└── reference.gff.gz ← only if annotate = true
Both the reference FASTA and the GFF must be gzipped; the pipeline decompresses them itself into Reference/.
Copy the read-group template and fill it in:
RGTags.csv is not optional and it is not only metadata — it decides which FASTQ pairs are treated as the same biological sample, and the order your result columns come out in. Read Read Groups before your first run rather than after it.
Next¶
-
Configure and run
Fill in
parameters.configand start the pipeline. -
Coming from an earlier version
Your existing
parameters.configwill be missing parameters the new code expects, and nothing detects that automatically.