Skip to content


Repository files navigation

NP-likeness scorer - Web application

Author: Maria Sorokina,

Last modified: 06.03.2020

NP-likeness scorer is a web application to compute natural-product-likeness for a given set of molecules. The computation of NP-likeness is based on

This README describes the steps on how to setup and run a local instance of the NP-likeness scorer web application.

Project tree

├── archive
├── docker-compose.yml
├── Dockerfile
├── molimg
├── mvnw
├── mvnw.cmd
├── mysql
├── NPlsWeb.iml
├── pom.xml
├── src
├── target
├── upload-dir
└── volume

Prior of running

  • verify that the file NPlikenessDB.sql is in the "mysql" folder (can be downloaded here:
  • compile the project with Maven by running: "mvnv clean package" from the project root
  • verify that there are ".ser" files in the "archive" folder
  • in the docker-compose.yml remplace "VIRTUAL_HOST:" by "VIRTUAL_HOST:" or remove this part to run the web application locally (don't forget to cite us!)
  • in the docker-compose.yml remove "LETSENCRYPT_HOST" and "LETSENCRYPT_EMAIL" unless you want to have your NPLSweb instance to be certified by Let's Encrypt.
  • in the docker-compose.yml remplace the MYSQL_ROOT_PASSWORD if necessary


The project is build to run with nginx as server and reverse-proxy on a Docker "nginx-network". For more details see for example here:

Project execution`

sudo docker-compose build
sudo docker-compose up -d
sudo docker exec -it mysql_npls bash
mysql -uroot -proot1234 NPLikenessDB < /mysqldata/NPLikenessDB.sql

After this, the web application will run either on the URL you specified in the docker-compose.yml either on localhost:8090

Source code

The unarchived source code for this project is available at and can be recompiled as a maven project. Here can be

  • modified the MySQL instance the web application connects on (in the file)
  • modified the maximum number of molecules per submitted file via the web interface (currently max 200 molecules - to modify in the SDF and SMILES readers)
  • if the plots need to be recomputed (due to changes in the database): in the change private boolean newPlot = false to true (when the plots recomputed, don't forgive to change the newPlot back to false!).


NaPLeS - Natural Product Likeness Scorer Web Application







No releases published


No packages published