Every experiment,
accounted for.
ChemCellar is an open-source platform for registering and managing compounds, analysing screening campaigns and deciding what to make next, self-hosted on infrastructure you control.
- Registration
- Search
- Protocols
- Screening
- SAR workbench
- Campaigns
- Inventory
One record, from registration to decision.
The structure you register is the same record your assay results, SAR tables and freezer locations point to. Nothing is copied between systems, so nothing drifts.
Reagents and conditions: (i) standardize, strip salts, check for duplicates; (ii) weigh, barcode, dispense at ten concentrations; (iii) four-parameter fit, Z′ ≥ 0.5; (iv) stage criteria, reviewed by the team.
The same molecule is registered once.
Draw it, paste it or upload a file. ChemCellar standardizes the structure, records the salt, and, if the compound is already in the cellar, adds your material as a new batch of it.
COc1cc2ncnc(Nc3ccc(F)c(Cl)c3)c2cc1OCCCN1CCOCC1.Cl- Salt stripped: HCl, recorded on the batch
- Charges neutralized, parent extracted
- InChIKey
XGALLCVXEZPNRQ-UHFFFAOYSA-N
- STANDARDIZEOne canonical parentSalts and charges handled by the ChEMBL structure pipeline.
- DEDUPLICATEStereo-aware identityMatched on InChIKey: enantiomers stay distinct, common tautomers are treated as one.
- BULKFrom one compound to a libraryImport SDF, CSV or Excel with a preview before anything is written.
Ask by structure. Filter by result.
Combine a substructure with assay criteria, properties, tags and projects in one query. Every value in the answer shows how many runs stand behind it.
- STRUCTURESubstructure, similarity, exactSubstructure and similarity run in PostgreSQL through the RDKit cartridge; exact match is by InChIKey.
- RESULTSCriteria across any protocol“Active anywhere below 1 µM” is one condition, not twenty.
- HONEST NUMBERSYou choose how runs combineLatest run, geometric mean or best fit by R², with disagreements flagged.
- REUSESaved, shared, exportedCSV, SDF, Excel with numbers stored as numbers, or a PDF report.
| Structure | ID | MW | EGFR IC50 (nM) | Curve | Active in | Stage |
|---|---|---|---|---|---|---|
| CC-004302Afatinib | 485.95 | 0.5n=4 | EGFR, HER2 +2 | Lead | ||
| CC-004188Erlotinib | 393.44 | 2.0n=6 | EGFR, A431 | Lead | ||
| CC-004415Dacomitinib | 469.95 | 6.0n=3⚠ | EGFR, HER2 +1 | Confirmed | ||
| CC-004217Gefitinib | 446.91 | 33n=2 | EGFR, A431 | Confirmed |
An assay catalog that stays navigable.
Assay lists rot: near-identical protocols, run details baked into names, five spellings of one category. ChemCellar is designed so that does not happen, without telling anyone how to name things.
Target
- EGFR12
- HER27
- ABL19
- BRAF5
Assay format
- Biochemical11
- Cell-based8
Detection
- ADP-Glo7
- HTRF6
- CellTiter-Glo6
Status
- Active16
- Draft3
- Retired4
| EGFR kinase, ADP-GloBiochemical / ADP-Glo / IC50, % inhibition | 42 runs | Z′ 0.79 | v3 |
| EGFR L858R/T790M kinaseBiochemical / HTRF / IC50 | 17 runs | Z′ 0.74 | v2 |
| A431 proliferationCell-based / CellTiter-Glo / GI50 | 23 runs | Z′ 0.68 | v4 |
| HER2 kinase, ADP-GloBiochemical / ADP-Glo / IC50 | 31 runs | Z′ 0.77 | v2 |
| BT-474 proliferationCell-based / CellTiter-Glo / GI50 | 12 runs | Z′ 0.66 | v1 |
“EGFR kinase ADPGlo 10pt” shares its readouts and its target with EGFR kinase, ADP-Glo (v3).
Log a run of thisDismiss- REUSESuggested, never blockedWhen a new protocol resembles an existing one, you are shown it and you decide.
- NAVIGATEFacets with live countsSlice by target, format, detection, organism or status.
- VERSIONMethods change, history staysReadouts and conditions are versioned with the protocol.
From plate reader to fitted curve.
Import a run, check the plate, fit the curves, lock the data. Every value keeps its link to the well, the batch and the compound.
- IMPORTOne import, any layoutPlate files or summary tables. The original file is kept with the run.
- QUALITYZ′ and controls on every plateSee a bad plate before it becomes a bad decision.
- FITCurves you can inspect and correctExclude a point, refit, and keep the history of why.
- LOCKHit criteria with an authorWho set the threshold, and when, is part of the record.
See which change mattered.
Map a whole library by chemical similarity, colour it by potency, and draw around the region that interests you. This map is live: drag across it to make your own selection.

Every promotion has a reason.
A campaign pulls results from the protocols you choose and walks compounds through named stages. Criteria do the routine work. People make the calls, and the call is recorded.
| ID | EGFR IC50 | HER2 IC50 | Selectivity | A431 GI50 | Stage |
|---|---|---|---|---|---|
| CC-004188 | 2.0 nM | > 10 µM | > 5,000× | 110 nM | Lead |
| CC-004217 | 33 nM | 3.7 µM | 112× | 80 nM | Leadpromoted |
| CC-004415 | 6.0 nM | 46 nM | 7.7× | 35 nM | Confirmed |
| CC-004530 | 500 nM | > 10 µM | > 20× | ND | Primary hit |
- STAGESA funnel you defineName the stages and set the criteria that move a compound forward.
- JUDGEMENTPromote or demote, with a reasonOverrides are allowed, visible, and attributed.
- OUT OF RANGE“> 10 µM” is not 10 µMA value that cannot prove a criterion does not pass it.
Know where every milligram is.
Batches, samples and plates are tracked from synthesis to the freezer box, and out again when they are loaned, requested or shipped.
- LOCATEFreezer, rack, box, positionBrowse storage the way it is physically laid out.
- MOVELoans, requests and shipmentsChain of custody from your bench to a partner lab.
- MAKESynthesis requestsAsk for more, assign it, and follow it to a new batch.
- SCANKiosk mode at the benchBarcode stations for check-in and check-out.
- Amount
- 12.4 mg of 20.0
- Purity
- 99.1 % (LC-MS)
- Salt
- HCl, 1 eq
- Source
- Synthesis SR-0088
- Loan2.0 mg to Assay Labdue 14 Oct
- ShipmentSH-0031 to partner sitein transit
- RequestSR-0102 resynthesis, 50 mgassigned
The details are the product.
Most of what makes discovery data trustworthy is small. These are decisions ChemCellar makes the way a careful scientist would.
A “>” stays a “>”
A result reported as “greater than” keeps its qualifier through every table, criterion and export.
Potency averages on the log scale
Geometric means and fold-range across runs, with a flag when runs disagree by more than tenfold.
Identity is stereo-aware
Duplicates are matched on InChIKey. Enantiomers are never merged into one compound.
The raw file stays with the run
Every import keeps the original file, so a curve can be defended months later.
Thresholds have an author
Hit criteria record who chose them and when, and freeze when the run is locked.
Nothing disappears quietly
Changes land in an audit trail that cannot be edited. Deletes show what they will affect first.
Your data never leaves the building.
Discovery data is the project. ChemCellar is built so the group doing the science is the group holding the keys.
$ git clone https://github.com/sidxz/cellar $ cd cellar && cp .env.example .env # point it at Duar and your identity provider $ make prod-up ✔ postgres RDKit cartridge healthy ✔ migrate schema at head done ✔ backend :8000 ready ✔ frontend :3000 ready
Chemistry-aware document intelligence. Compounds and bioactivity extracted from your reports and papers.
Project and pipeline tracking for discovery programs.