Install¶
Check the requirements first if you have not — in particular that you are on Linux, 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, the analysis frame and this manual — no site sources, no CI config, no test suite, and no analysis modules. Every module is published on its own timetable and installed from the catalogue, so a new installation starts with an empty module store and you choose what goes into it. 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. Install it¶
This does two things at once, because they belong together: it creates a conda environment named PoolSeqFlow-<version>, and it copies the pipeline itself to ~/.local/opt/PoolSeqFlow-<version>. The pinned tools are part of what produced a result, so code without its matching environment cannot reproduce anything.
Commands are then linked into ~/.local/bin, each under two names: PoolSeqFlow-<version>, which always means that exact release, and plain PoolSeqFlow, which points at the newest version you have installed. Releases install alongside each other rather than over each other, so an old project can keep running under the version that produced its results. PoolSeqFlow list shows what is installed; PoolSeqFlow uninstall removes one.
The analysis layer is reached through the same command, as PoolSeqFlow analysis <command>. It reads finished results and is not enabled by this install: it carries R in an environment of its own, which PoolSeqFlow analysis install builds and PoolSeqFlow analysis uninstall removes. Uninstalling a version removes its analysis environment along with everything else of that version's.
Install somewhere else by setting POOLSEQFLOW_PREFIX — a shared location for a group, for instance:
Putting that bin directory on your PATH is yours to do. The installer checks, tells you whether it is already there, and prints the exact line to add if it is not — but it does not edit your shell configuration. Until you add it, call the command by its full path.
Installing takes a while the first time; later installs reuse the conda package cache. It finishes by verifying 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 hours into a run.
Once this is done the folder you downloaded has served its purpose. Everything from here uses the installed command, from your own project directory.
Tab completion¶
Installing also writes a completion for PoolSeqFlow into ~/.local/share/bash-completion/completions/, or wherever XDG_DATA_HOME points. In bash it works in your next shell and there is nothing to do.
zsh does not read that directory, so it needs two lines in ~/.zshrc — the installer prints them with the right path filled in:
autoload -U +X bashcompinit && bashcompinit
. ~/.local/share/bash-completion/completions/PoolSeqFlow
It completes every command, the two targets check takes, the analysis commands, and the modules you actually have installed — so PoolSeqFlow analysis <TAB> lists the modules in that installation's store rather than a fixed list. analysis modules install <TAB> deliberately offers nothing: those names come from the catalogue over the network, and a keystroke should not make a network request.
Uninstalling the last installed version removes the completion. Another version left installed keeps it, since the command it completes is still there.
It never runs PoolSeqFlow itself. Starting the wrapper means starting conda, which takes long enough to be felt on a keypress, so the completion reads what it needs from the filesystem instead.
Next¶
-
Set up your project and run it
Make the project directory, fill in the three files that describe your data, and start the pipeline.
-
Coming from an earlier version
Your existing
parameters.configwill be missing parameters the new code expects, and nothing detects that automatically.