Using these endpoints will require the AI module to be enabled in your Vault. Please contact support@collaborativedrug.com if you would like to enable this module.
The following CDD Vault Knowledgebase article has more details on AI: Deep Learning Similarity and Bioisosteric Replacement
API calls related to CDD Vault AI tools:
Bioisosteric replacements (hierarchical)
Deep Learning Similarity
POST /api/v1/vaults/{vault_id}/ai/similarity
Submit a chemical structure and receive a ranked list of similar structures using the Deep Learning similarity model.
Query Parameters:
structure |
SMILES or MOL representation to find similar structures for (Required) |
count |
Number of similar structures to return. Defaults to 10, max 300. |
collections |
List of collection identifiers to filter results by. If omitted, all collections are included. |
return_patents |
Boolean Whether to include patent information for compounds in results. Defaults to true. |
lookup_internal_identifiers |
Boolean Opt in to server-side enrichment with internal vault identifiers. When true, the hit’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. |
Examples
curl -H "X-CDD-Token: $TOKEN" https://app.collaborativedrug.com/api/v1/vaults/<vault_id>/ai/similarity?structure=c1ccccc1&count=10&return_patents=true
Returns similar structures ranked by Tanimoto similarity.
Returns:
{
"status": "OK",
"result": {
"query": "Nc1ccccc1CCCC",
"query_scaffold": "c1ccccc1",
"hits": [
{
"structure": "Cc1ccncc1",
"inchikey": "BSYNRYMUTXBXSQ-UHFFFAOYSA-N",
"identifiers": [
{
"name": "SCHEMBL11832241",
"collection": "SureChEMBL",
"patent": {
"count": 1,
"first_date": "2026-04-24",
"first_patent": "US-3933824-A"
},
"cdd_public": {
"molecule_id": 123456
}
}
],
"names": [
"Compound A",
"CDD-123456"
],
"scaffold": "c1ccncc1",
"similarity": 0.851,
"tanimoto": 0.123,
"distance": 10.15
}
],
"metadata": [
{
"collection": "CDD Public",
"search_engine": "faiss",
"metric": "Metric.L2",
"count": 123456,
"release": "2024-06"
}
]
}
}
Bioisosteric replacements (hierarchical)
POST /api/v1/vaults/{vault_id}/ai/bioisosteres
Submit a chemical structure and receive bioisosteric replacement suggestions grouped by fragment.
Query Parameters:
structure |
SMILES or MOL representation of structure to find bioisosteric replacements for. (Required) |
number_suggestions |
Number of bioisosteric suggestions per fragment. Defaults to 5, max 200. |
return_known_identifiers |
Boolean Include known identifiers (InChIKey, etc.) in response. Defaults to false. |
filter_structure_alerts |
Boolean Filter out suggestions with additional structural alerts. Defaults to true. |
filter_by_atom_indices |
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. |
lookup_internal_identifiers |
Boolean (default false) Opt in to server-side enrichment with internal vault identifiers. When true, the 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. |
Examples
curl -H "X-CDD-Token: $TOKEN
https://qa.collaborativedrug.com/api/v1/vaults/717/ai/bioisosteres?structure=Clc1ccc(COC(Cn2ccnc2)c2ccc(Cl)cc2Cl)c(Cl)c1&number_suggestions=5&return_known_identifiers=false&filter_structure_alerts=true
Returns bioisosteric suggestions grouped by fragment.
Returns:
{
"status": "OK",
"result": {
"query": "Clc1ccc(COC(Cn2ccnc2)c2ccc(Cl)cc2Cl)c(Cl)c1",
"suggestions": [
{
"fragment": "[16*]c1ccc(Cl)cc1Cl",
"size": 8,
"atom_indices": [
0,
1
],
"bioisosteres": [
{
"fragment": "[16*]c1ccc(F)cc1Cl",
"inchikey": "QCNPSEBNVBYHLY-UHFFFAOYSA-N",
"structure": "c1ccncc1",
"tanimoto": 0.875,
"atom_indices": [
0,
1
],
"synthetic_feasibility": {
"synthetic_feasibility_score": 0.9,
"profile_overlap": 0.8,
"bits_missing": 0.1,
"fraction_missing": 0.2
},
"alerts": [
{
"filter_set": "Brenk",
"description": "aniline"
}
],
"identifiers": [
{
"name": "SCHEMBL11832241",
"collection": "SureChEMBL",
"patent": {
"count": 1,
"first_date": "2026-04-24",
"first_patent": "US-3933824-A"
},
"cdd_public": {
"molecule_id": 123456
}
}
]
},
...
]
},
...
]
}
}
Bioisosteric replacements (flat list)
POST /api/v1/vaults/{vault_id}/ai/bioisosteres/flat
Submit a chemical structure and receive bioisosteric replacement suggestions as a flat list.
Query Parameters:
structure |
SMILES or MOL representation of structure to find bioisosteric replacements for. (Required) |
number_suggestions |
Number of bioisosteric suggestions per fragment. Defaults to 5, max 200. |
return_known_identifiers |
Boolean Include known identifiers (InChIKey, etc.) in response. Defaults to false. |
filter_structure_alerts |
Boolean Filter out suggestions with additional structural alerts. Defaults to true. |
filter_by_atom_indices |
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. |
lookup_internal_identifiers |
Boolean (default false) Opt in to server-side enrichment with internal vault identifiers. When true, the 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. |
Examples
curl -H "X-CDD-Token: $TOKEN
https://qa.collaborativedrug.com/api/v1/vaults/717/ai/bioisosteres/flat?structure=Clc1ccc(COC(Cn2ccnc2)c2ccc(Cl)cc2Cl)c(Cl)c1&number_suggestions=5&return_known_identifiers=false&filter_structure_alerts=true
Returns bioisosteric suggestions as a flat list.
Returns:
{
"query": "Clc1ccc(COC(Cn2ccnc2)c2ccc(Cl)cc2Cl)c(Cl)c1",
"suggestions": [
{
"structure": "Fc1ccc(-c2n[nH]c3c2CCNCC3)cc1F",
"fragment": "[16*]c1ccc(Cl)cc1Cl",
"replacement_fragment": "[16*]c1ccc(F)cc1F",
"tanimoto": 0.875,
"synthetic_feasibility_score": 0.9,
"identifiers": "SCHEMBL11832241, CHEMBL12345678",
"alerts": "acid_halide,carbonyl_halide"
},
...
]
}
Bioisosteric replacements- fragment a chemical structure
POST /api/v1/vaults/{vault_id}/ai/bioisosteres/get_fragmentation
Submit a chemical structure and receive its fragmentation without bioisosteric suggestions.
Query Parameters:
structure |
SMILES or MOL representation of structure to find bioisosteric fragments for. (Required) |
Examples
curl -H "X-CDD-Token: $TOKEN" https://app.collaborativedrug.com/api/v1/vaults/<vault_id>/ai/bioisosteres/get_fragmentation?structure=Clc1ccc(COC(Cn2ccnc2)c2ccc(Cl)cc2Cl)c(Cl)c1
Returns the fragmentation of the structure
Returns:
{
"status": "OK",
"result": {
"query": "Clc1ccc(COC(Cn2ccnc2)c2ccc(Cl)cc2Cl)c(Cl)c1",
"suggestions": [
{
"fragment": "[16*]c1ccc(Cl)cc1Cl",
"size": 8,
"atom_indices": [
0,
1
]
},
...
]
}
}