Python
Package metadata currently declares Python 3.11 or newer.
research software
nevelib
Practical orientation
nevelib is a standard Python package. Some modules wrap external bioinformatics tools that must be on PATH.
Package metadata currently declares Python 3.11 or newer.
Each module is exposed through a CLI command and importable Python functions.
The library is currently marked alpha in package classifiers. Public wording on this site follows that status.
Installation
The commands below assume a checkout of the nevelib repository. Optional extras are exposed directly in package metadata.
git clone https://github.com/davide-colombo/nevelib.git
cd nevelib
pip install -e .pip install -e ".[all]"
pip install -e ".[dev]"Execution
The current module CLIs take a single configuration file. Start from the installed sample configs and adapt them to the task you are running.
nevelib-reads path/to/config.yaml
nevelib-assembly path/to/config.yaml
nevelib-search path/to/config.yaml
nevelib-clustering path/to/config.yaml
nevelib-msa path/to/config.yaml
nevelib-mapping path/to/config.yamlcp $(python3 -c "import nevelib.reads; print(nevelib.reads.__path__[0])")/config.sample.yaml my-reads-config.yaml
cp $(python3 -c "import nevelib.search; print(nevelib.search.__path__[0])")/config.sample.yaml my-search-config.yamlPython usage
Downstream applications do not need to shell out to the CLI layer if direct Python composition is a better fit.
from nevelib.search.blast import run_blastn
from nevelib.clustering.mmseqs import run_mmseqs_linclust
from nevelib.msa.mafft import run_mafftExternal tools
Several capabilities are wrappers around standard bioinformatics tools. A complete environment therefore depends on the module combination you actually intend to run.
| Module | Tools on PATH |
|---|---|
| reads | samtools, fastp, fastqc, pigz |
| assembly | bbnorm.sh (BBTools), spades.py, mosdepth, blastn, samtools, pigz |
| search | blastn, blastx, makeblastdb |
| clustering | mmseqs |
| msa | mafft |
| mapping | minimap2 |
Practical notes
nevelib is evolving research software, not a hardened platform.
Marked as alpha in package classifiers. APIs may change between minor versions.
You may not need the full external toolchain if you are using only one or two capability families.
Projects such as nexteve-app can depend on nevelib while still adding their own environment constraints and workflow assumptions.