๐ Webapp Live Demo
The NPLinker web application, built with Plotly Dash, provides an interactive interface for visualizing NPLinker predictions.
A live demo of the NPLinker webapp is automatically deployed to Render from main
branch.
You can try out the webapp directly in your browser here.
The webapp includes a convenient "Load Demo Data" button that automatically loads some sample data for you to try. Simply:
- Open the live demo link
- Click the "Load Demo Data" button below the file uploader
- The app will automatically download and process the sample dataset from
tests/data/mock_obj_data.pkl
- Start exploring natural product linking features!
This demo web server is intended only for lightweight demo purposes. For full functionality, including large-scale data processing and persistent storage, please install the application locally or via Docker as described below.
โ ๏ธ Demo Server Limitations
Please note the following limitations of the hosted demo:
- Cold start delay: Free-tier apps on Render sleep after 15 minutes of inactivity and may take 20โ30 seconds to wake up.
- Performance: This is a minimal deployment on a free tier and is not optimized for large datasets or concurrent users.
- File size limits: The demo data button loads a small sample dataset suitable for testing. Uploading large datasets via the file uploader may lead to errors or timeouts.
- No persistent storage: Uploaded files are not saved between sessions.
The webapp accepts data generated by NPLinker and saved as described in the NPLinker quickstart section. For testing purposes, a small sample dataset is provided in tests/data/mock_obj_data.pkl
that can be used to try out the webapp.
Please note that links between genomic and metabolomic data must currently be computed using the NPLinker API separately, as this functionality is not yet implemented in the webapp (see issue #19). If no links are present in your data, the scoring table will be disabled.
The "Candidate Links" tables support data filtering to help you focus on relevant results. You can enter filter criteria directly into each columnโs filter cell by hovering over the cell.
For numeric columns like "Average Score" or "# Links":
34.6
or= 34.6
(exact match)> 30
(greater than)<= 50
(less than or equal to)
For text columns like "BGC Classes" or "MiBIG IDs":
Polyketide
orcontains Polyketide
(contains text)= Polyketide
(exact match)
Multiple filters can be applied simultaneously across different columns to narrow down results.
For a full list of supported filter operators, see the official Plotly documentation.
Before installing NPLinker webapp, ensure you have:
You can install and run the NPLinker webapp in two ways: directly on your local machine or using Docker.
Follow these steps to install the application directly on your system:
-
Clone the repository
git clone https://github.com/NPLinker/nplinker-webapp.git cd nplinker-webapp
-
Set up a conda environment
# Create a new conda environment with Python 3.10 conda create -n nplinker-webapp python=3.10 # Activate the environment conda activate nplinker-webapp
-
Install dependencies
pip install -e .
-
Run the application
python app/main.py
-
Access the webapp
Open your web browser and navigate to
http://0.0.0.0:8050/
Troubleshooting Local Installation
- Port already in use: If port 8050 is already in use, modify the port in
app/main.py
by changingapp.run_server(debug=True, port=8050)
- Package installation errors: Make sure you're using Python 3.10 and that your pip is up-to-date
If you encounter other problems, please check the Issues page or create a new issue.
Using Docker is the quickest way to get started with NPLinker webapp. Make sure you have Docker installed on your system before proceeding:
-
Pull the Docker image
docker pull ghcr.io/nplinker/nplinker-webapp:latest
-
Run the container
docker run -p 8050:8050 ghcr.io/nplinker/nplinker-webapp:latest
-
Access the webapp
Open your web browser and navigate to
http://0.0.0.0:8050/
Docker Image Information
- Available Tags:
latest
: The most recent build- Specific version tags based on GitHub releases
- Performance Note: The application running in Docker might be slower than running it directly on your machine, depending on your Docker resource allocation settings. If you experience performance issues, consider increasing Docker's CPU and memory limits in your Docker Desktop settings, or use the local installation method.
- More Details: For additional information about the Docker image, see its GitHub Container Registry page.