Collaborative Drug Discovery Deep Learning Bioisosteres API
Deep learning bioisostere suggestions
Deep learning bioisostere suggestions
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/collaborative-drug-discovery:collaborative-drug-discovery-deep-learning-bioisosteres-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
contact:
url: https://support.collaborativedrug.com/hc/en-us/requests/new
description: 'Collaborative Drug Discovery provides an API (Application Programming
Interface) that can be used for secure programmatic access to your vault
data.'
license:
name: Proprietary
url: https://support.collaborativedrug.com/hc/en-us/requests/new
title: CDD Deep Learning Bioisosteres API
version: 1.0.0
servers:
- url: https://app.collaborativedrug.com/api/v1
security:
- ApiKeyAuth: []
tags:
- description: Deep learning bioisostere suggestions
name: Deep Learning Bioisosteres
paths:
/vaults/{vault_id}/ai/bioisosteres:
post:
summary: Find bioisosteric replacements (hierarchical)
tags:
- Deep Learning Bioisosteres
operationId: ai_bioisosteres
description: Submit a chemical structure and receive bioisosteric replacement suggestions grouped by fragment. Requires the vault to have Deep Learning enabled.
security: []
parameters:
- name: vault_id
in: path
required: true
description: ID of the current vault.
schema:
type: integer
- name: X-CDD-Token
in: header
required: true
description: API key token for authentication.
schema:
type: string
responses:
'200':
description: Success — returns bioisosteric suggestions grouped by fragment.
content:
application/json:
schema:
type: object
required:
- status
- result
properties:
status:
type: string
example: OK
mocked_service:
type: boolean
description: true only on the dev mock, not the real service
result:
type: object
required:
- query
- suggestions
properties:
query:
type: string
example: Clc1ccc(COC(Cn2ccnc2)c2ccc(Cl)cc2Cl)c(Cl)c1
suggestions:
type: array
items:
type: object
required:
- fragment
- size
- atom_indices
- bioisosteres
properties:
fragment:
type: string
example: '[16*]c1ccc(Cl)cc1Cl'
size:
type: integer
example: 8
atom_indices:
type: array
items:
type: integer
example:
- 0
- 1
bioisosteres:
type: array
items:
type: object
required:
- fragment
- structure
- synthetic_feasibility
- tanimoto
- atom_indices
properties:
fragment:
type: string
example: '[16*]c1ccc(F)cc1Cl'
inchikey:
type: string
example: QCNPSEBNVBYHLY-UHFFFAOYSA-N
structure:
type: string
example: c1ccncc1
tanimoto:
type: number
format: float
example: 0.875
atom_indices:
type: array
items:
type: integer
example:
- 0
- 1
synthetic_feasibility:
type: object
required:
- synthetic_feasibility_score
- profile_overlap
- bits_missing
- fraction_missing
properties:
synthetic_feasibility_score:
type: number
format: float
example: 0.9
profile_overlap:
type: number
format: float
example: 0.8
bits_missing:
type: number
format: float
example: 0.1
fraction_missing:
type: number
format: float
example: 0.2
alerts:
type: array
items:
type: object
required:
- filter_set
- description
properties:
filter_set:
type: string
example: Brenk
description:
type: string
example: aniline
identifiers:
type: array
items:
type: object
required:
- name
- collection
properties:
name:
type: string
example: SCHEMBL11832241
collection:
type: string
example: SureChEMBL
patent:
type: object
required:
- count
- first_patent
- first_date
properties:
count:
type: integer
example: 1
first_date:
type: string
format: date
example: '1976-01-20'
first_patent:
type: string
example: US-3933824-A
cdd_public:
type: object
required:
- molecule_id
properties:
molecule_id:
type: integer
example: 123456
cdd_private:
type: object
required:
- id
- standard_inchi_key
- exact
properties:
id:
type: integer
example: 123456
standard_inchi_key:
type: string
example: QCNPSEBNVBYHLY-UHFFFAOYSA-N
exact:
type: boolean
example: true
'400':
description: Bad request — missing or invalid parameters.
content:
application/json:
schema:
type: object
required:
- error
- code
properties:
error:
type: string
example: structure parameter is required
code:
type: integer
example: 400
'401':
description: Unauthorized — Deep Learning not enabled for this vault or user lacks access.
content:
application/json:
schema:
type: object
required:
- error
- code
properties:
error:
type: string
example: Dl bioisosteres endpoint only accessible in vaults with Deep Learning enabled
code:
type: integer
example: 401
requestBody:
content:
application/json:
schema:
type: object
required:
- structure
properties:
structure:
type: string
description: SMILES or MOL representation of structure to find bioisosteric replacements for.
example: Clc1ccc(COC(Cn2ccnc2)c2ccc(Cl)cc2Cl)c(Cl)c1
number_suggestions:
type: integer
description: Number of bioisosteric suggestions per fragment. Defaults to 5, max 200.
example: 5
return_known_identifiers:
type: boolean
description: Include known identifiers (InChIKey, etc.) in response. Defaults to false.
example: false
lookup_internal_identifiers:
type: boolean
description: Opt in to server-side enrichment with internal vault identifiers. When true, each bioisostere's InChIKey is used to find molecules in the Vault. The 14-character prefix of the InChIKey is used to catch stereochemical variants. The internal identifiers are appended to the identifiers array as an `Internal` collection. Defaults to false.
example: false
filter_structure_alerts:
type: boolean
description: Filter out suggestions with additional structural alerts. Defaults to true.
example: true
filter_by_atom_indices:
type: array
items:
type: integer
description: List of atom indices identifying which fragments to include in fragmentation. Each suggestion fragment whose `atom_indices` overlaps this list is kept. If omitted, all fragments are used.
example:
- 0
- 1
required: true
/vaults/{vault_id}/ai/bioisosteres/flat:
post:
summary: Find bioisosteric replacements (flat list)
tags:
- Deep Learning Bioisosteres
operationId: ai_bioisosteres_flat
description: Submit a chemical structure and receive bioisosteric replacement suggestions as a flat list. Requires the vault to have Deep Learning enabled.
security: []
parameters:
- name: vault_id
in: path
required: true
description: ID of the current vault.
schema:
type: integer
- name: X-CDD-Token
in: header
required: true
description: API key token for authentication.
schema:
type: string
responses:
'200':
description: Success — returns bioisosteric suggestions as a flat list.
content:
application/json:
schema:
type: object
required:
- query
- suggestions
properties:
query:
type: string
example: Clc1ccc(COC(Cn2ccnc2)c2ccc(Cl)cc2Cl)c(Cl)c1
suggestions:
type: array
items:
type: object
required:
- structure
- fragment
- replacement_fragment
- tanimoto
- alerts
properties:
structure:
type: string
example: Fc1ccc(-c2n[nH]c3c2CCNCC3)cc1F
fragment:
type: string
example: '[16*]c1ccc(Cl)cc1Cl'
replacement_fragment:
type: string
example: '[16*]c1ccc(F)cc1F'
tanimoto:
type: number
format: float
example: 0.875
synthetic_feasibility_score:
type: number
format: float
example: 0.9
identifiers:
type: string
example: SCHEMBL11832241, CHEMBL12345678
alerts:
type: string
example: acid_halide,carbonyl_halide
'400':
description: Bad request — missing or invalid parameters.
content:
application/json:
schema:
type: object
required:
- error
- code
properties:
error:
type: string
example: structure parameter is required
code:
type: integer
example: 400
'401':
description: Unauthorized — Deep Learning not enabled for this vault or user lacks access.
content:
application/json:
schema:
type: object
required:
- error
- code
properties:
error:
type: string
example: Dl bioisosteres endpoint only accessible in vaults with Deep Learning enabled
code:
type: integer
example: 401
requestBody:
content:
application/json:
schema:
type: object
required:
- structure
properties:
structure:
type: string
description: SMILES or MOL representation of structure to find bioisosteric replacements for.
example: Clc1ccc(COC(Cn2ccnc2)c2ccc(Cl)cc2Cl)c(Cl)c1
number_suggestions:
type: integer
description: Number of bioisosteric suggestions per fragment. Defaults to 5, max 200.
example: 5
return_known_identifiers:
type: boolean
description: Include known identifiers (InChIKey, etc.) in response. Defaults to false.
example: false
lookup_internal_identifiers:
type: boolean
description: Opt in to server-side enrichment with internal vault identifiers. When true, each bioisostere's InChIKey is used to find molecules in the Vault. The 14-character prefix of the InChIKey is used to catch stereochemical variants. The internal identifiers are appended to the identifiers array as an `Internal` collection. Defaults to false.
example: false
filter_structure_alerts:
type: boolean
description: Filter out suggestions with additional structural alerts. Defaults to true.
example: true
filter_by_atom_indices:
type: array
items:
type: integer
description: List of atom indices identifying which fragments to include in fragmentation. Each suggestion fragment whose `atom_indices` overlaps this list is kept. If omitted, all fragments are used.
example:
- 0
- 1
required: true
/vaults/{vault_id}/ai/bioisosteres/get_fragmentation:
post:
summary: Fragment a chemical structure
tags:
- Deep Learning Bioisosteres
operationId: ai_bioisosteres_get_fragmentation
description: Submit a chemical structure and receive its fragmentation without bioisosteric suggestions. Requires the vault to have Deep Learning enabled.
security: []
parameters:
- name: vault_id
in: path
required: true
description: ID of the current vault.
schema:
type: integer
- name: X-CDD-Token
in: header
required: true
description: API key token for authentication.
schema:
type: string
responses:
'200':
description: Success — returns the fragmentation of the structure.
content:
application/json:
schema:
type: object
required:
- status
- result
properties:
status:
type: string
example: OK
mocked_service:
type: boolean
description: true only on the dev mock, not the real service
result:
type: object
required:
- query
- suggestions
properties:
query:
type: string
example: Clc1ccc(COC(Cn2ccnc2)c2ccc(Cl)cc2Cl)c(Cl)c1
suggestions:
type: array
items:
type: object
required:
- fragment
- size
- atom_indices
properties:
fragment:
type: string
example: '[16*]c1ccc(Cl)cc1Cl'
size:
type: integer
example: 8
atom_indices:
type: array
items:
type: integer
example:
- 0
- 1
'400':
description: Bad request — missing or invalid parameters.
content:
application/json:
schema:
type: object
required:
- error
- code
properties:
error:
type: string
example: structure parameter is required
code:
type: integer
example: 400
'401':
description: Unauthorized — Deep Learning not enabled for this vault or user lacks access.
content:
application/json:
schema:
type: object
required:
- error
- code
properties:
error:
type: string
example: Dl bioisosteres endpoint only accessible in vaults with Deep Learning enabled
code:
type: integer
example: 401
requestBody:
content:
application/json:
schema:
type: object
required:
- structure
properties:
structure:
type: string
description: SMILES or MOL representation of structure to fragment.
example: Clc1ccc(COC(Cn2ccnc2)c2ccc(Cl)cc2Cl)c(Cl)c1
required: true
components:
securitySchemes:
ApiKeyAuth:
in: header
name: X-CDD-Token
type: apiKey