Skip to content

A python framework for microbial natural products data mining by integrating genomics and metabolomics data

License

Notifications You must be signed in to change notification settings

NPLinker/nplinker

Repository files navigation

Badges

fair-software.eu recommendations
(1/5) code repository github repo badge
(2/5) license github license badge
(3/5) community registry pypi badge
(4/5) citation Zenodo
(5/5) checklist OpenSSF Scorecard
overall fair-software badge
Other best practices
Documentation Static Badge 🔗
Build & Test build
Static analysis workflow scq badge
Coverage workflow scc badge
Citation data consistency cffconvert

NPLinker Logo

NPLinker is a python framework for data mining microbial natural products by integrating genomics and metabolomics data.

Original paper: Ranking microbial metabolomic and genomic links in the NPLinker framework using complementary scoring functions.

Setup and usage

Requirement

Installation

NPLinker is a python package, using both pypi packages and non-pypi packages as dependencies. It requires ~4.5GB of disk space to install all the dependencies.

# Check python version (requiring ≥3.9)
python --version

# Create a new virtual environment
python -m venv env
source env/bin/activate

# install from nplinker releases (requiring ~300MB of disk space)
pip install --pre nplinker

# or install the latest from source code
pip install git+https://github.com/nplinker/nplinker@dev 

# install nplinker non-pypi dependencies and databases (~4GB)
install-nplinker-deps

A virtual environment is required to install the the non-pypi dependencies. You can also use conda to manage python environments.

Testing

To run the tests, you need to clone this repo and install the development dependencies:

# Create a new virtual environment
python -m venv env
source env/bin/activate

# Clone the repository and install the development dependencies
git clone https://github.com/NPLinker/nplinker.git
cd nplinker
pip install -e ".[dev]"
install-nplinker-deps

Unit tests

To run the unit tests, you can use the following command:

pytest

Pytest will use all available CPU cores to run the unit tests in parallel.

Integration tests

To run the integration tests, you can use the following command:

pytest -n1 tests/integration

The -n1 is to use one CPU core to run the tests. Change it to -n2 if you want to use two CPU cores to run in parallel.

Usage

See the documentation for more information about how to use NPLinker.

Contributing

If you want to contribute to the development of nplinker, have a look at the contribution guidelines and README for developers.