ChEMBL Beaker: A Lightweight Web Framework Providing Robust and Extensible Cheminformatics Services
Abstract
:1. Introduction
2. Results and Discussion
- Ease of Use—Access RDKit and OSRA via a documented RESTful API.
- Application Development—Beaker can speed up the process of creating new chemistry oriented applications.
- Simple Installation—All software dependencies are reduced to a minimum, making the Beaker installation trivially simple in most cases.
- Speed—Beaker uses the Tornado asynchronous networking library [14], which results in very efficient network access.
- Security—Beaker provides control over cross-origin policy by supporting CORS [15] to guard against cross-site request forgery attacks. It also provides throttling module to prevent DDOS attacks and offers IP black/white listing and a configurable limit on maximum uploaded file size. GET methods use URL-safe base64 parameter encoding, which prevents the injection of malicious content in URLs processed by Beaker.
- Flexibility—Beaker functionality can be easily extended by writing custom modules.
- Configurability—Fully configurable web server deployment.
- Portability—Beaker can be installed on any platform with an available Python interpreter.
- No Costs—Beaker is an open source software project, which uses free and open source tools and libraries.
3. Conclusions
Acknowledgments
- Greg Landrum and the RDKit community (http://www.rdkit.org/)
- Igor Filippov and OSRA software (http://cactus.nci.nih.gov/osra/)
- Tornado web server and networking library (http://www.tornadoweb.org/en/stable/)
- Bottle web framework (http://bottlepy.org/docs/dev/index.html)
- Icons designed by Mister Pixel, Luis Prado, Eddy Ymeri, Zoe Austin, Jane Terekhov Vector from the thenounproject.com
Author Contributions
Conflicts of Interest
References
- List of OSRA Software Dependencies. Available online: http://cactus.nci.nih.gov/osra/#2 (accessed on 29 October 2014).
- List of RDKit Software Dependencies. Available online: http://www.rdkit.org/docs/Install.html#installing-prerequisites-as-packages (accessed on 29 October 2014).
- List of OpenBabel Software Dependencies. Available online: http://open-babel.readthedocs.org/en/latest/Installation/install.html#requirements (accessed on 18 August 2014).
- Installation Related Questions Asked on Rdkit-Discuss Mailing List. Available online: http://sourceforge.net/p/rdkit/mailman/search/?q=install (accessed on 29 October 2014).
- The IUPAC International Chemical Identifier (InChI). Available online: http://www.iupac.org/home/publications/e-resources/inchi.html (accessed on 29 October 2014).
- RDKit: Cheminformatics and Machine Learning Software. Available online: http://www.rdkit.org/ (accessed on 29 October 2014).
- Blog Post Describing Installation of ChEMBL Web Services on Raspberry Pi. Available online: http://chembl.blogspot.jp/2013/10/tastypie-on-chempi.html (accessed on 29 October 2014).
- OSRA: Optical Structure Recognition Application. Available online: http://cactus.nci.nih.gov/osra/ (accessed on 29 October 2014).
- Bento, A.P.; Gaulton, A.; Hersey, A.; Bellis, L.J.; Chambers, J.; Davies, M.; Krueger, F.A.; Light, Y.; Mak, L.; McGlinchey, S.; et al. The ChEMBL bioactivity database: An update. Nucl. Acids Res. Database Issue. 2014, 42, D1083–D1090. [Google Scholar] [CrossRef]
- Public Live Instance of Beaker Software Provided by EBI. Available online: https://www.ebi.ac.uk/chembl/api/utils/docs (accessed on 29 October 2014).
- Fielding, R.T.; Taylor, R.N. Principled design of the modern web architecture. In ACM Transactions on Internet Technology (TOIT); Association for Computing Machinery: New York, NY, USA, 2002; pp. 115–150. [Google Scholar]
- Marvin 4 JS Web Services Specification. Available online: https://marvinjs-demo.chemaxon.com/latest/docs/dev/webservices.html (accessed on 29 October 2014).
- SPORE—Specification to a POrtable Rest Environment. Available online: https://github.com/SPORE/specifications (accessed on 29 October 2014).
- Tornado: Facebookʼs Real-Time Web Framework for Python. Available online: https://developers.facebook.com/blog/post/301 (accessed on 29 October 2014).
- Cross-Origin Resource Sharing, W3C Recommendation 16 January 2014. Available online: http://www.w3.org/TR/access-control/ (accessed on 29 October 2014).
- ChemSpider Web Services Main Web Page. Available online: http://www.chemspider.com/AboutServices.aspx (accessed on 29 October 2014).
- National Cancer Institute, Chemical Identifier Resolver. Available online: http://cactus.nci.nih.gov/chemical/structure (accessed on 29 October 2014).
- Indigo: Universal Organic Chemistry Toolkit. Available online: http://www.ggasoftware.com/opensource/indigo (accessed on 29 October 2014).
- Open Babel: The Open Source Chemistry Toolbox. Available online: http://openbabel.org/wiki/Main_Page (accessed on 29 October 2014).
- Multiprocessing—Process-Based “Threading” Interface. Available online: https://docs.python.org/2/library/multiprocessing.html (accessed on 29 October 2014).
- Chemical Files Format Specifications. Available online: http://download.accelrys.com/freeware/ctfile-formats/ctfile-formats.zip (accessed on 29 October 2014).
- AvailabilityBeaker source code can be accessed online using the following link: https://github.com/mnowotka/chembl_beaker. It can be installed directly via python setup tools by invoking the following command: “pip install chembl_beaker”. ChEMBL group provides public instance of Beaker software available directly using following URL: https://wwwdev.ebi.ac.uk/chembl/api/utils/docs or using python client library called “chembl_webresource_client” available in PyPI and GitHub: https://github.com/chembl/chembl_webresource_client.
© 2014 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Nowotka, M.; Davies, M.; Papadatos, G.; Overington, J.P. ChEMBL Beaker: A Lightweight Web Framework Providing Robust and Extensible Cheminformatics Services. Challenges 2014, 5, 444-449. https://doi.org/10.3390/challe5020444
Nowotka M, Davies M, Papadatos G, Overington JP. ChEMBL Beaker: A Lightweight Web Framework Providing Robust and Extensible Cheminformatics Services. Challenges. 2014; 5(2):444-449. https://doi.org/10.3390/challe5020444
Chicago/Turabian StyleNowotka, Michał, Mark Davies, George Papadatos, and John P. Overington. 2014. "ChEMBL Beaker: A Lightweight Web Framework Providing Robust and Extensible Cheminformatics Services" Challenges 5, no. 2: 444-449. https://doi.org/10.3390/challe5020444
APA StyleNowotka, M., Davies, M., Papadatos, G., & Overington, J. P. (2014). ChEMBL Beaker: A Lightweight Web Framework Providing Robust and Extensible Cheminformatics Services. Challenges, 5(2), 444-449. https://doi.org/10.3390/challe5020444