Collaborative Drug Discovery provides an API (Application Programming Interface) that can be used for secure programmatic access to your vault data. Using the API, client applications such as Microsoft Office, Pipeline Pilot, Knime and others can be configured to directly access and process chemical and biological data from the CDD Vault.
The CDD API provides fine-grained read access to individual objects (eg, molecules, batches, protocols) and collections of objects. Objects are exported using the JSON representation framework.
API calls are available for the following objects:
- vaults, saved searches, projects, and data sets
- molecules (API calls, JSON representation)
- batches (API calls, JSON representation)
- protocols (API calls, JSON representation)
- protocol data (API calls, JSON representation)
The API supports the creation and modification of molecules and batches. These are done through POST and PUT HTTPS calls, respectively. The current version of the API does not support deletion of molecules or batches.
For both POSTs and PUTs, the body of the HTTPS request is a JSON dictionary in a format similar to that returned from a GET. However, only a subset of fields are allowed. For PUTs, fields in the stored object that are not specified in the JSON should not be affected.
- Non-registration vaults
- In non-registration vaults, batches and molecules are created separately.
- Registration vaults
- In registration vaults, you cannot create molecules independently from batches. Therefore, the POST molecule HTTP call is not supported. Instead, to create a new object you must do a POST of a batch with a contained molecule specification (which can be a new or existing molecule).
Bulk export is a sequence of operations that allows you to programmatically export data from a CDD Vault. Bulk export works via saved searches, which means you must first specify your search using the CDD’s web interface, save that search, and then use the ID number of that saved search in the API.
Bulk import is a sequence of operations that allows you to programmatically import data into a CDD Vault. Bulk import allows you to programmatically import data files into CDD Vault and requires the use of existing mapping templates.