Software Open Access

NaPLeS: NP-likeness Scorer Web Application

Sorokina, Maria; Steinbeck, Christoph

Natural products (NPs), often also referred to as secondary metabolites, are small molecules synthesized by living organisms. Natural products are of interest due to their bioactivity and in this context as starting points for the development of drugs and other bioactive synthetic products. In 2008, Ertl and coworkers suggested a natural product (NP) likeness score, which, for a given molecule its similarity to the structure space covered by NPs compared to the structure space covered by synthetic molecules (SM). Such a score could be used to prioritize compounds from virtual libraries. Later, Jayaseelan and coauthors presented a pure open data, open source version of the NP-likeness scorer  (Ertl et al., 2008; Jayaseelan et al., 2012). This archive contains the second part of the NP-likeness software suite NaPLeS (Natural Products Likeness Scorer). The suite consists of a web application that allows computing the NP-likeness score online (this archive), of an easy to install local scorer to compute NP-likeness for big datasets and a MySQL database containing a large number of NPs from diverse public databases with pre-computed NP-likeness scores and other metrics.

The unarchived source code for this project is available on GitHub and can be recompiled as a maven project. The NaPLeS web application is available at This README describes the steps on how to set up 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 to running

  • verify that the file NPlikenessDB.sql is in the mysql folder
  • verify that there are ".ser" files in the archive folder - in the docker-compose.yml replace "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 replace the MYSQL_ROOT_PASSWORD if necessary nginx The project is built 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 on GitHub and can be recompiled as a maven project. In the source code 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).

Files (641.7 MB)
Name Size
641.7 MB Download
All versions This version
Views 7568
Downloads 1412
Data volume 9.0 GB7.7 GB
Unique views 6761
Unique downloads 1412


Cite as