Back to Showcases
PharmaceuticalHighly Complex

Molecular Similarity and Scaffold Families

Vector-only similarity, plus authored shared-scaffold edges

Fingerprint Similarity (Vector-Only)SLERP InterpolationCentroid ComputationAuthored Scaffold EdgesGhost Detection
Vector-Only
Similarity
SLERP
Interpolation
Typed Edges
Scaffold Families
All
Tests Passed

The Scenario

Be explicit about which part is vectors and which is the graph. Structural similarity (what is near this compound in chemical space), SLERP interpolation between two known actives, centroid of a set, and ghost detection of orphan structures are all vector math over fingerprints, no graph needed. Scaffold-family and SAR-series membership is a curated assertion from your chemistry, so it is an authored, typed edge (SHARES_SCAFFOLD, SAME_SERIES, BIOISOSTERE_OF) with provenance. A similarity neighborhood is not a scaffold family; they are different facts answered by different tools in the same store.

Key Results

  • Structural similarity, SLERP, and ghost detection are vector-only (no graph)
  • Novel compound generation via SLERP interpolation over fingerprints
  • Scaffold families are authored typed edges with provenance, not inferred
  • Ghost detection finds orphan molecules for investigation
Vector-Only
Similarity
SLERP
Interpolation
Typed Edges
Scaffold Families
All
Tests Passed

The Code

Everything above, in a few lines of Python.

python
# Vector-only: structural similarity, SLERP, ghost detection over fingerprints.
novel_candidate = client.math.slerp("molecules",
    vector_id_a=compound_a_id, vector_id_b=compound_b_id, t=0.5
)
centroid = client.math.centroid("molecules", vector_ids=family_members)

# Authored layer: scaffold-family membership as a typed edge, with provenance.
client.graph.put_edge("molecules", source=mol_a, target=mol_b,
                      edge_type="SHARES_SCAFFOLD",
                      provenance={"source": "registry", "scaffold": "pyrimidine"})

Try it yourself

Clone the repo, spin up SwarnDB, and run this showcase in minutes.

View on GitHub