NaPLeS: NP-likeness Scorer Web Application
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 naples.naturalproducts.net This README describes the steps on how to set up and run a local instance of the NP-likeness scorer web application.
NPlsWeb ├── archive ├── docker-compose.yml ├── Dockerfile ├── molimg ├── mvnw ├── mvnw.cmd ├── mysql ├── NPlsWeb.iml ├── pom.xml ├── README ├── 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: nplsscorer.cheminf.uni-jena.de" by "VIRTUAL_HOST: yourwebsite.de" 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
sudo docker-compose build sudo docker-compose up -d sudo docker exec -it mysql_npls bash mysql -uroot -proot1234 NPLikenessDB < /mysqldata/NPLikenessDB.sql exit
After this, the web application will run either on the URL you specified in the docker-compose.yml either on localhost:8090
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 application.properties 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 NPlsWebController.java change private boolean newPlot = false to true (when the plots recomputed, don't forgive to change the newPlot back to false).