chem-brainstorm

Use at the start of any computational chemistry task to structure thinking, map available tools, and generate concrete hypotheses. Covers molecule evaluation, hypothesis building, reaction assessment, and pipeline design. Flexible guide — adapt depth to problem complexity.

Chem-Brainstorm — Computational Chemistry Thinking Guide

A flexible brainstorming framework for comp chem problems. Not a rigid checklist — activate only the steps relevant to the problem at hand. For complex/recurring workflows, load the appropriate references/protocol-*.md.


Step 1 — Classify the Problem

Identify which mode(s) apply (can be multiple):

ModeKeywordsProtocol
MOL"evaluate this molecule", "properties of X", "is this drug-like?"references/protocol-mol-evaluation.md
HYP"why does X work?", "what target?", "generate hypotheses", "SAR"references/protocol-hypothesis.md
RXN"will this reaction work?", "retrosynthesis", "conditions", "mechanism"references/protocol-reaction.md
PIPE"screen a library", "build a workflow", "automate", "batch"references/protocol-pipeline.md

For simple one-off questions (e.g. "LogP of aspirin"), skip to Step 3 directly.


Step 2 — Audit Inputs

What is available?

Input typeExamples
StructureSMILES, SDF, MOL, InChI, name
Library.smi, .sdf, CSV with SMILES column
TargetGene name, UniProt ID, PDB ID
ReactionReaction SMILES, SMARTS, conditions
DataIC50/EC50 table, experimental results
NoneStarting from a concept only

Missing inputs → note what to fetch (Step 3 MCPs).


Step 3 — Tool Map

Match inputs and goal to available tools. Order = cost (⚡ fast → ⚡⚡⚡ expensive).

ALKYL Scripts (local, instant)

GoalScriptCost
Properties, Lipinski, PAINSchem_props.py
Drug-likeness filters (Ro5/Veber/Egan/PAINS)chem_filter.py
Full structural analysis (FG, stereo, QED, SA)chem_analyze.py
Protonation state at pHchem_pka.py --ph 7.4
CYP450 metabolic soft spotschem_metabolism.py
Scaffold, BRICS fragmentschem_scaffold.py
Tautomers, stereoisomerschem_tautomers.py / chem_enum.py
Substructure / similarity searchchem_search.py
Compare two molecules (MCS, Δprop)chem_compare.py
Apply reaction SMARTSchem_react.py
Batch process a librarychem_batch.py
Diverse subset selectionchem_diversity.py
3D conformer generationchem_3d.py⚡⚡
QM input (ORCA/Gaussian)chem_qm.py⚡⚡⚡

ALKYL Skills (conceptual / coding help)

GoalSkill
SMILES / SMARTS / SMIRKS writingdaylight-theory
RDKit code (any cheminformatics)rdkit
ML on molecules (GCN, QSAR, MoleculeNet)deepchem
Retrosynthesis, generative MLtorchdrug
Reaction graph analysis, ITS/DPOsynkit
HPC/cloud pipelinenextflow

MCPs (external data, use when local data insufficient)

GoalMCPKey functions
Bioactivity, known targets, similar drugsChEMBLcompound_search, get_bioactivity, target_search, get_mechanism
Target-disease associations, tractabilityOpenTargetssearch_entities, query_open_targets_graphql
Recent methods, preprints, benchmarksbioRxivsearch_preprints, get_preprint
Clinical context, indications, endpointsClinicalTrialssearch_trials, analyze_endpoints

Marketplace Skills (specialized)

GoalSkill
ADME/tox datasets, ML oraclesscientific-skills:pytdc
Protein structure (AlphaFold, PDB)scientific-skills:pdb-database
Purchasable compoundsscientific-skills:zinc-database
Approved drugs + interactionsscientific-skills:drugbank-database
DiffDock virtual screeningscientific-skills:diffdock
Cloud QM (DFT, pKa, Boltz)scientific-skills:rowan

Step 4 — Propose Directions

Generate 2–3 concrete directions, each annotated with:

  • Cost estimate (⚡/⚡⚡/⚡⚡⚡)
  • First concrete action (script call or MCP query)
  • What the result will tell us

Format:

Direction 1 — [name] ⚡
→ Action: python chem_filter.py --smiles "..."
→ Tells us: drug-likeness baseline before investing further

Direction 2 — [name] ⚡⚡
→ Action: ChEMBL compound_search + get_bioactivity
→ Tells us: known activity landscape for this scaffold

Direction 3 — [name] ⚡⚡⚡
→ Action: chem_3d.py → diffdock against PDB:XXXX
→ Tells us: predicted binding pose and affinity

Step 5 — Sanity Checks (auto-activate if SMILES available)

Always run before investing in expensive steps:

chem_filter.py  → Lipinski, Veber, PAINS alerts
chem_analyze.py → SA score (> 6 = hard to synthesize), QED
chem_pka.py     → dominant form at physiological pH 7.4
chem_metabolism.py → CYP450 liabilities

Red flags that change the plan:

  • SA score > 6 → consider simpler analog or retrosynthesis first
  • PAINS alert → flag as assay interference risk
  • net_charge ≠ 0 at pH 7.4 → affects permeability/docking

Step 6 — Literature Anchor (activate for HYP mode or novel targets)

bioRxiv.search_preprints(query="[target/method]", date_range="2024-2026")
→ find recent methods, negative results, benchmark conditions

ChEMBL.target_search(query="[gene]")
→ confirm target is druggable, find reference ligands

OpenTargets.search_entities(query="[target]")
→ genetic evidence, disease associations, tractability score

Decision Tree

Got SMILES?
  └─ Yes → run sanity checks (Step 5) first
  └─ No  → fetch from ChEMBL/PubChem or start from concept

Simple property question?
  └─ Yes → Step 3 scripts directly, no need for full workflow

Need external data?
  └─ Yes → MCPs before running expensive local tools

Complex / reproducible workflow?
  └─ Yes → load references/protocol-*.md

Related Skills

  • daylight-theory — write correct SMARTS/SMIRKS for queries and transforms
  • rdkit — implement any cheminformatics step in Python
  • synkit — if the problem involves reaction mechanisms or networks