fair-software.eu recommendations | |
---|---|
(1/5) code repository | |
(2/5) license | |
(3/5) community registry | |
(4/5) citation | |
(5/5) checklist | |
overall | |
Other best practices | |
Documentation | 🔗 |
Build & Test | |
Static analysis | |
Coverage | |
Citation data consistency |
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.
- Linux, MacOS or Windows with WSL
- Python version ≥3.9
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.
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
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.
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.
See the documentation for more information about how to use NPLinker.
If you want to contribute to the development of nplinker, have a look at the contribution guidelines and README for developers.