Sample Customer Project

We develop custom cheminformatics solutions leveraging the extensive Cactvs toolkit features. Such projects can be of various types, but most common are either Web applications or customized batch processing software.

Below are screenshots from a recently completed customer project. Our client desired an interactive Web-based Kinome viewer, with a collection of custom features and data display possibilities which were not available in turnkey commercial solutions. The software was required to seamlessly fit into the existing client software environment - the Linux server with a set OS version, the specific PostgreSQL database system, the Web server the format of the input data and required URL styles to open the application Web pages in specific views from other client applications were all defined as not adjustable. Nevertheless, we succeeded to deliver a solution under these constraints.

The project software consists of integrated standard building blocks from our component collection, and three custom application scripts.

  • A custom batch script to convert the raw data, and upload it into the database. The data consisted of a SDF file, and an Excel table - both with encoding quirks which could fortunately be addressed by script processing.
  • Our standard PostgreSQL database cartridge, to provide various structure searching capabilities
  • A custom Web interface, developed with the ExtJS Javascript Widget toolkit
  • Our standard Web sketcher for structure and query fragment input, and editing of existing structures or query fragments.
  • A custom backend FCGI script to translate user commands issued on the Web interface into database queries, and to send back data tables, structure renderings and Kinome tree markup.

The toolkit provides many useful built-in functions for the development of cheminformatics Web applications. In the context of the sample project, the bidirectional client/server data exchange with the ExtJS JavaScript widgets was critical. The toolkit can directly read and write the ExtJS data store XML format via its standard table objects, and has many other helpful functions to operate in a CGI/FCGI Web environment with both AJAX and standard Web form submissions.

The software implementation was straightforward, rapid - and terse.

  • The database builder script, which (on Linux) merges and processes the Excel and SDF data, fixes a couple of peculiar encoding problems and uploads it all into the database has just 165 LOC.
  • The ExtJS Web interface consists of 3390 LOC, more than 80% of it being standard widget specifications. The rest is client-side JavaScript application logic.
  • The backend FCGI script, which manages all user-initiated database queries, computes various visualizations and reports results back to the client browser consists of just 681 LOC.