{
 "about": {
  "method": "ligand-efficiency",
  "recordedOn": "2026-10-13",
  "script": "pipeline/assay-analyser/oracles/ligand_efficiency.py",
  "scriptSha256": "8797e73e08fdd0f6142f682a98aa1c2ed4ff01761d1c8d77cad5c10bccd2706f",
  "origin": "Self-constructed: named structures as commonly drawn, heavy atoms counted by hand from their formulas, stated pIC50s",
  "environment": {
   "image": "ghcr.io/biotechmat/drybench/oracle-env:d6cd987911c17af3@sha256:7de883d32053f3747d1b1e25d65bfc462263737270ea70372d8df342aef64809",
   "python": "3.11.15",
   "rdkit": "2026.03.6"
  },
  "independence": "Heavy atoms by hand (exact); the efficiency arithmetic in decimal; Crippen cLogP and formal charge from Python RDKit are a drift check against the WASM build, not truth (CSO ruling 11). The Crippen hand summation for ethanol and toluene is pending: it needs Wildman and Crippen 1999, Table 1, read.",
  "tolerances": {
   "heavy atoms": "exact",
   "LE": "1e-6 absolute; shown value exact",
   "LLE": "1e-6 absolute given cLogP; shown value exact",
   "descriptors, WASM against Python": "1e-3",
   "reasons": "exact"
  }
 },
 "constants": {
  "R_cal_per_mol_K": "1.98720",
  "T_K": "298.15",
  "factor_kcal_per_mol": 1.3642440894102543
 },
 "cases": [
  {
   "name": "imatinib",
   "smiles": "Cc1ccc(NC(=O)c2ccc(CN3CCN(C)CC3)cc2)cc1Nc1nccc(-c2cccnc2)n1",
   "handHeavyAtoms": 37,
   "counted": "C29H31N7O: 29 + 7 + 1",
   "rdkit": {
    "canonical": "Cc1ccc(NC(=O)c2ccc(CN3CCN(C)CC3)cc2)cc1Nc1nccc(-c2cccnc2)n1",
    "heavyAtomsRdkit": 37,
    "clogp": 4.590320000000004,
    "formalCharge": 0,
    "formula": "C29H31N7O"
   },
   "pIC50": 6.0,
   "expected": {
    "status": "given",
    "pIC50": 6.0,
    "heavyAtoms": 37,
    "le": 0.22122877125571694,
    "leShown": "0.22",
    "lle": 1.409679999999996,
    "lleShown": "1.4",
    "lleWithheld": null
   }
  },
  {
   "name": "gefitinib parent of the HCl salt",
   "smiles": "COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCN1CCOCC1",
   "input": "COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCN1CCOCC1.Cl",
   "handHeavyAtoms": 31,
   "counted": "C22H24ClFN4O3: 22 + 1 + 1 + 4 + 3",
   "rdkit": {
    "canonical": "COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCN1CCOCC1",
    "heavyAtomsRdkit": 31,
    "clogp": 4.275600000000003,
    "formalCharge": 0,
    "formula": "C22H24ClFN4O3"
   },
   "pIC50": 6.37,
   "expected": {
    "status": "given",
    "pIC50": 6.37,
    "heavyAtoms": 31,
    "le": 0.2803301564368813,
    "leShown": "0.28",
    "lle": 2.094399999999997,
    "lleShown": "2.1",
    "lleWithheld": null
   }
  },
  {
   "name": "imatinib parent of the mesylate",
   "smiles": "Cc1ccc(NC(=O)c2ccc(CN3CCN(C)CC3)cc2)cc1Nc1nccc(-c2cccnc2)n1",
   "input": "Cc1ccc(NC(=O)c2ccc(CN3CCN(C)CC3)cc2)cc1Nc1nccc(-c2cccnc2)n1.CS(=O)(=O)O",
   "handHeavyAtoms": 37,
   "counted": "C29H31N7O: 29 + 7 + 1",
   "rdkit": {
    "canonical": "Cc1ccc(NC(=O)c2ccc(CN3CCN(C)CC3)cc2)cc1Nc1nccc(-c2cccnc2)n1",
    "heavyAtomsRdkit": 37,
    "clogp": 4.590320000000004,
    "formalCharge": 0,
    "formula": "C29H31N7O"
   },
   "pIC50": 6.74,
   "expected": {
    "status": "given",
    "pIC50": 6.74,
    "heavyAtoms": 37,
    "le": 0.248513653043922,
    "leShown": "0.25",
    "lle": 2.149679999999996,
    "lleShown": "2.1",
    "lleWithheld": null
   }
  },
  {
   "name": "acetate parent of calcium acetate (four heavy atoms)",
   "smiles": "CC(=O)[O-]",
   "input": "CC(=O)[O-].CC(=O)[O-].[Ca+2]",
   "handHeavyAtoms": 4,
   "counted": "C2H3O2-: 2 + 2",
   "rdkit": {
    "canonical": "CC(=O)[O-]",
    "heavyAtomsRdkit": 4,
    "clogp": -1.2438,
    "formalCharge": -1,
    "formula": "C2H3O2-"
   },
   "pIC50": 7.11,
   "expected": {
    "status": "withheld",
    "reason": "too-small"
   }
  },
  {
   "name": "naphthalene, the larger part of a mixture with ethanol",
   "smiles": "c1ccc2ccccc2c1",
   "input": "CCO.c1ccc2ccccc2c1",
   "handHeavyAtoms": 10,
   "counted": "C10H8: 10",
   "rdkit": {
    "canonical": "c1ccc2ccccc2c1",
    "heavyAtomsRdkit": 10,
    "clogp": 2.839800000000001,
    "formalCharge": 0,
    "formula": "C10H8"
   },
   "pIC50": 7.48,
   "expected": {
    "status": "given",
    "pIC50": 7.48,
    "heavyAtoms": 10,
    "le": 1.0204545788788704,
    "leShown": "1.02",
    "lle": 4.640199999999999,
    "lleShown": "4.6",
    "lleWithheld": null
   }
  },
  {
   "name": "benzoylcholine (quaternary ammonium)",
   "smiles": "C[N+](C)(C)CCOC(=O)c1ccccc1",
   "handHeavyAtoms": 15,
   "counted": "C12H18NO2+: 12 + 1 + 2",
   "rdkit": {
    "canonical": "C[N+](C)(C)CCOC(=O)c1ccccc1",
    "heavyAtomsRdkit": 15,
    "clogp": 1.5495999999999999,
    "formalCharge": 1,
    "formula": "C12H18NO2+"
   },
   "pIC50": 7.85,
   "expected": {
    "status": "given",
    "pIC50": 7.85,
    "heavyAtoms": 15,
    "le": 0.7139544067913665,
    "leShown": "0.71",
    "lle": null,
    "lleWithheld": "charged"
   }
  },
  {
   "name": "N,N-dimethylphenethylamine, protonation written in",
   "smiles": "C[NH+](C)CCc1ccccc1",
   "handHeavyAtoms": 11,
   "counted": "C10H16N+: 10 + 1",
   "rdkit": {
    "canonical": "C[NH+](C)CCc1ccccc1",
    "heavyAtomsRdkit": 11,
    "clogp": 0.3736000000000004,
    "formalCharge": 1,
    "formula": "C10H16N+"
   },
   "pIC50": 8.22,
   "expected": {
    "status": "given",
    "pIC50": 8.22,
    "heavyAtoms": 11,
    "le": 1.0194624013592992,
    "leShown": "1.02",
    "lle": null,
    "lleWithheld": "charged"
   }
  },
  {
   "name": "diethyl ether (five heavy atoms)",
   "smiles": "CCOCC",
   "handHeavyAtoms": 5,
   "counted": "C4H10O: 4 + 1",
   "rdkit": {
    "canonical": "CCOCC",
    "heavyAtomsRdkit": 5,
    "clogp": 1.0428000000000002,
    "formalCharge": 0,
    "formula": "C4H10O"
   },
   "pIC50": 8.59,
   "expected": {
    "status": "withheld",
    "reason": "too-small"
   }
  },
  {
   "name": "venetoclax (about sixty heavy atoms)",
   "smiles": "CC1(C)CCC(CN2CCN(c3ccc(C(=O)NS(=O)(=O)c4ccc(NCC5CCOCC5)c([N+](=O)[O-])c4)c(Oc4cnc5[nH]ccc5c4)c3)CC2)=C(c2ccc(Cl)cc2)C1",
   "handHeavyAtoms": 61,
   "counted": "C45H50ClN7O7S: 45 + 1 + 7 + 7 + 1",
   "rdkit": {
    "canonical": "CC1(C)CCC(CN2CCN(c3ccc(C(=O)NS(=O)(=O)c4ccc(NCC5CCOCC5)c([N+](=O)[O-])c4)c(Oc4cnc5[nH]ccc5c4)c3)CC2)=C(c2ccc(Cl)cc2)C1",
    "heavyAtomsRdkit": 61,
    "clogp": 8.659900000000006,
    "formalCharge": 0,
    "formula": "C45H50ClN7O7S"
   },
   "pIC50": 8.96,
   "expected": {
    "status": "given",
    "pIC50": 8.96,
    "heavyAtoms": 61,
    "le": 0.20038732854288327,
    "leShown": "0.20",
    "lle": 0.300099999999994,
    "lleShown": "0.3",
    "lleWithheld": null
   }
  },
  {
   "name": "bortezomib (boron)",
   "smiles": "CC(C)C[C@H](NC(=O)[C@@H](Cc1ccccc1)NC(=O)c1cnccn1)B(O)O",
   "handHeavyAtoms": 28,
   "counted": "C19H25BN4O4: 19 + 1 + 4 + 4",
   "rdkit": {
    "canonical": "CC(C)C[C@H](NC(=O)[C@@H](Cc1ccccc1)NC(=O)c1cnccn1)B(O)O",
    "heavyAtomsRdkit": 28,
    "clogp": 0.36059999999999964,
    "formalCharge": 0,
    "formula": "C19H25BN4O4"
   },
   "pIC50": 9.33,
   "expected": {
    "status": "given",
    "pIC50": 9.33,
    "heavyAtoms": 28,
    "le": 0.45458561979277406,
    "leShown": "0.45",
    "lle": 8.9694,
    "lleShown": "9.0",
    "lleWithheld": null
   }
  },
  {
   "name": "ethanol",
   "smiles": "CCO",
   "handHeavyAtoms": 3,
   "counted": "C2H6O: 2 + 1",
   "rdkit": {
    "canonical": "CCO",
    "heavyAtomsRdkit": 3,
    "clogp": -0.0014000000000000123,
    "formalCharge": 0,
    "formula": "C2H6O"
   },
   "pIC50": 9.7,
   "expected": {
    "status": "withheld",
    "reason": "too-small"
   }
  },
  {
   "name": "toluene",
   "smiles": "Cc1ccccc1",
   "handHeavyAtoms": 7,
   "counted": "C7H8: 7",
   "rdkit": {
    "canonical": "Cc1ccccc1",
    "heavyAtomsRdkit": 7,
    "clogp": 1.99502,
    "formalCharge": 0,
    "formula": "C7H8"
   },
   "pIC50": 10.07,
   "expected": {
    "status": "given",
    "pIC50": 10.07,
    "heavyAtoms": 7,
    "le": 1.9625625686230375,
    "leShown": "1.96",
    "lle": 8.07498,
    "lleShown": "8.1",
    "lleWithheld": null
   }
  },
  {
   "name": "carboplatin, kept whole (platinum)",
   "smiles": "N.N.O=C1O[Pt]OC(=O)C12CCC2",
   "keptWhole": true,
   "expected": {
    "status": "withheld",
    "reason": "kept-whole"
   }
  }
 ]
}
