tooluniverse-organic-chemistry
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseOrganic Chemistry Reasoning Guide
有机化学推理指南
This skill teaches how to think through organic chemistry problems, not what to memorize.
本技能教授如何思考有机化学问题,而非死记硬背知识点。
1. Predicting Reaction Products — A Reasoning Process
1. 反应产物预测——推理流程
Do NOT pattern-match to a named reaction. Instead, reason from first principles:
不要直接匹配命名反应。相反,从基本原理出发进行推理:
Step 1 — Find the most reactive sites
步骤1 — 找出最具反应活性的位点
Look at each molecule and ask: where is the electron density?
- Electron-rich sites (nucleophiles): lone pairs on N, O, S; pi bonds (C=C, aromatics); carbanions; enolates
- Electron-poor sites (electrophiles): carbons bonded to electronegative atoms (C=O, C-X); carbocations; atoms with empty orbitals
The reaction will happen where the strongest nucleophile meets the strongest electrophile.
观察每个分子,思考:电子密度在哪里?
- 富电子位点(亲核试剂):N、O、S上的孤对电子;π键(C=C、芳香环);碳负离子;烯醇负离子
- 缺电子位点(亲电试剂):与电负性原子相连的碳(C=O、C-X);碳正离子;带有空轨道的原子
反应会发生在最强亲核试剂与最强亲电试剂相遇的位置。
Step 2 — What kind of bond-making/breaking is this?
步骤2 — 这属于哪种成键/断键类型?
Three fundamental categories:
- Ionic (polar): electrons move in pairs. One species donates electrons, the other accepts. Most common in solution chemistry.
- Radical: electrons move one at a time. Look for: heat + peroxides, UV light (hv), NBS, or radical initiators.
- Pericyclic: electrons move in a concerted cyclic transition state. Look for: heat or light with no other reagents, dienes + dienophiles, sigmatropic rearrangements.
分为三大基础类别:
- 离子型(极性):电子成对移动。一种物种提供电子,另一种接受电子。在溶液化学中最为常见。
- 自由基型:电子单个移动。需留意:加热+过氧化物、紫外光(hv)、NBS或自由基引发剂。
- 周环型:电子在协同环状过渡态中移动。需留意:无其他试剂时的加热或光照、二烯烃+亲双烯体、σ迁移重排。
Step 3 — Where do the electrons flow?
步骤3 — 电子如何流动?
Draw the arrow from nucleophile to electrophile. Ask:
- Which atom has the best orbital overlap?
- Is backside attack required (SN2) or can the nucleophile approach from either face (SN1)?
- For additions to C=C: which carbon gets the electrophile? (Markovnikov = more substituted carbocation intermediate; anti-Markovnikov = radical or hydroboration)
- For additions to C=O: the nucleophile attacks carbon (Burgi-Dunitz angle ~107 degrees).
- For E2 eliminations: base size determines regiochemistry. Bulky bases (KOtBu, LDA, DBU) favor the Hofmann product (less substituted alkene) because they abstract the less sterically hindered proton. Small bases (NaOEt, KOH, NaOMe) favor the Zaitsev product (more substituted, more stable alkene). Always check base size before predicting regiochemistry.
- For ion tracking in multi-step syntheses: write out the complete ionic equation at each step. Track every cation and anion through each transformation — identify what dissolves, what precipitates, what complexes form, and what remains in solution. Verify at each step: are all ions accounted for? Does the mass balance? Use solubility rules (Ksp) and complex stability constants (Kf) to predict which species persist.
从亲核试剂向亲电试剂绘制箭头。思考:
- 哪个原子的轨道重叠效果最佳?
- 是否需要背面进攻(SN2),还是亲核试剂可从任意面进攻(SN1)?
- 对于C=C的加成反应:哪个碳会结合亲电试剂?(马氏规则=生成更稳定的取代碳正离子中间体;反马氏规则=自由基或硼氢化反应)
- 对于C=O的加成反应:亲核试剂进攻碳(Burgi-Dunitz角约107度)。
- 对于E2消除反应:碱的体积决定区域选择性。大位阻碱(KOtBu、LDA、DBU)倾向于生成Hofmann产物(取代基较少的烯烃),因为它们会夺取空间位阻更小的质子。小位阻碱(NaOEt、KOH、NaOMe)倾向于生成Zaitsev产物(取代基更多、更稳定的烯烃)。预测区域选择性前务必检查碱的体积。
- 对于多步合成中的离子追踪:在每一步写出完整的离子方程式。追踪每个阳离子和阴离子在每一步转化中的去向——确定哪些物质溶解、哪些沉淀、哪些形成络合物、哪些留在溶液中。每一步都要验证:所有离子是否都被考虑到?质量是否守恒?利用溶解度规则(Ksp)和络合物稳定常数(Kf)预测哪些物种会留存。
Step 4 — What is the driving force?
步骤4 — 反应驱动力是什么?
Every reaction needs a thermodynamic reason to proceed:
- Leaving group departure: good leaving groups (I > Br > Cl > F; tosylate, triflate) stabilize themselves after leaving
- Ring strain relief: epoxide opening, cyclopropane opening
- Aromaticity gain: tautomerization to aromatic form, elimination to form conjugation
- Strong bond formation: C-O, C-F, H-O bonds are strong; reactions that form them are favored
- Gas evolution: loss of CO2, N2, or H2O drives equilibrium forward
每个反应都需要热力学依据才能进行:
- 离去基团脱离:良好的离去基团(I > Br > Cl > F;对甲苯磺酸根、三氟甲磺酸根)脱离后能稳定自身
- 环张力释放:环氧化物开环、环丙烷开环
- 芳香性获得:互变异构为芳香形式、消除反应形成共轭体系
- 强键形成:C-O、C-F、H-O键强度高;形成这些键的反应更受青睐
- 气体逸出:CO₂、N₂或H₂O的逸出会推动平衡正向移动
Step 5 — Sanity-check your product
步骤5 — 对产物进行合理性检查
Before reporting an answer:
- Are all valences correct? (C=4, N=3, O=2, H=1, halogens=1)
- Does the molecular formula balance? Count every atom on both sides.
- Is the product thermodynamically reasonable? (Don't propose anti-aromatic products or strained small rings without justification)
- Does degrees of unsaturation make sense? (DoU = (2C + 2 + N - H - X) / 2; a benzene ring = 4 DoU)
给出答案前:
- 所有原子的化合价是否正确?(C=4、N=3、O=2、H=1、卤素=1)
- 分子式是否守恒?计算两边的每个原子数量。
- 产物在热力学上是否合理?(无正当理由时,不要提出反芳香产物或高张力小环)
- 不饱和度是否合理?(DoU = (2C + 2 + N - H - X) / 2;苯环=4个DoU)
Named Reaction Decision Tree
命名反应决策树
Identify the reaction type from reagents/conditions, then apply its product topology:
| Reagent/Condition Pattern | Reaction Type | Product Logic |
|---|---|---|
| RMgBr (or RLi) + ArX + Pd or Ni catalyst | Kumada coupling | R replaces X on Ar; excess RMgBr replaces ALL X |
| Ph3P=CHR + aldehyde/ketone | Wittig | C=C replaces C=O; unstabilized ylide → Z-alkene; stabilized (ester/CN) → E-alkene |
| Sulfoxide + strong electrophile (Tf2O, Ac2O) | Pummerer rearrangement | S-oxidation state drops; alpha-carbon gets new bond to nucleophile/leaving group |
| Allyl vinyl ether heated (or 1,5-dien-3-ol + base) | [3,3]-sigmatropic (oxy-Cope/Claisen) | Redraw 6-membered chair TS; new sigma bond at 1,6 positions; old 3,4 bond breaks |
| Diene + dienophile, heat | Diels-Alder | [4+2] cycloaddition; endo rule for stereochemistry; cis dienophile substituents stay cis |
| ArX + excess organometallic (no catalyst) | Nucleophilic aromatic substitution or benzyne | Each X replaced by nucleophile; count equivalents to determine degree of substitution |
根据试剂/条件识别反应类型,然后应用其产物拓扑结构:
| 试剂/条件模式 | 反应类型 | 产物逻辑 |
|---|---|---|
| RMgBr(或RLi)+ ArX + Pd或Ni催化剂 | Kumada coupling | R取代Ar上的X;过量RMgBr会取代所有X |
| Ph3P=CHR + 醛/酮 | Wittig | C=C取代C=O;不稳定叶立德→Z型烯烃;稳定叶立德(酯/CN取代)→E型烯烃 |
| 亚砜 + 强亲电试剂(Tf2O、Ac2O) | Pummerer rearrangement | S的氧化态降低;α-碳与亲核试剂/离去基团形成新键 |
| 烯丙基乙烯基醚加热(或1,5-二烯-3-醇 + 碱) | [3,3]-σ迁移(氧杂Cope/Claisen重排) | 重绘六元环椅式过渡态;1,6位形成新σ键;原3,4位键断裂 |
| 二烯烃 + 亲双烯体,加热 | Diels-Alder | [4+2]环加成;立体化学遵循内型规则;顺式亲双烯体取代基保持顺式 |
| ArX + 过量有机金属试剂(无催化剂) | 亲核芳香取代或苯炔机制 | 每个X被亲核试剂取代;通过当量数判断取代程度 |
Retrosynthetic Analysis
逆合成分析
Work backward from product to starting materials by identifying how key bonds were formed:
-
Robinson Annulation (product is a 2-cyclohexenone fused or substituted system):
- Disconnect the C-C bond alpha to the enone carbonyl → two fragments: a 1,3-dicarbonyl compound + methyl vinyl ketone (or equivalent Michael acceptor)
- The 1,3-dicarbonyl (e.g., ethyl 2-methyl-6-oxocyclohexanecarboxylate) is the starting material
- Mechanism: Michael addition then intramolecular aldol condensation
-
Intramolecular Aldol (fused ring from KOH/base on an open-chain substrate):
- Product is a fused bicyclic enone → starting material is a 1,5-diketone (or 1,n-diketone)
- Carbon counting rule: product ring size = carbons between the two carbonyls + 1
- Example: hexahydronaphthalen-2-one from KOH → start with 2-(3-oxopentyl)cyclohexanone, not a butyl chain
-
General disconnection heuristic — identify the new bond, then choose the right reaction:
- New C-C bonds: aldol, Claisen, Michael, Wittig, Grignard, Diels-Alder
- New C-O bonds: epoxidation, hydration, oxidation
- New C-N bonds: reductive amination, Gabriel synthesis, amide coupling
通过识别关键化学键的形成方式,从产物反向推导起始原料:
-
Robinson环化(产物为稠合或取代的2-环己烯酮体系):
- 断开烯酮羰基α位的C-C键→得到两个片段:1,3-二羰基化合物 + 甲基乙烯基酮(或等效的Michael受体)
- 1,3-二羰基化合物(如2-甲基-6-氧代环己烷羧酸乙酯)即为起始原料
- 反应机制:Michael加成后发生分子内Aldol缩合
-
分子内Aldol反应(KOH/碱作用于开链底物生成稠环):
- 产物为稠合双环烯酮→起始原料为1,5-二酮(或1,n-二酮)
- 碳数规则:产物环大小=两个羰基之间的碳原子数 + 1
- 示例:KOH作用生成六氢萘-2-酮→起始原料为2-(3-氧代戊基)环己酮,而非丁基链结构
-
通用断键启发法——识别新形成的键,然后选择合适的反应:
- 新C-C键:Aldol、Claisen、Michael、Wittig、Grignard、Diels-Alder
- 新C-O键:环氧化、水合、氧化
- 新C-N键:还原胺化、Gabriel合成、酰胺偶联
Product Prediction Strategy (Stepwise)
产物预测策略(分步)
- Reactive sites: Mark every nucleophilic and electrophilic center in all reactants
- Reaction type: Match reagent/condition pattern to the decision tree above
- Bond changes: Explicitly list which bonds break and which form (write them out)
- Regiochemistry: Markovnikov (cation stability) vs anti-Markovnikov (radical/BH3); for ArX, each leaving group is an independent reactive site
- Stereochemistry: Wittig E/Z from ylide type; SN2 inversion; [3,3] suprafacial-suprafacial (chair TS); Pummerer retains sulfur connectivity
- Name the product: Convert the final structure to IUPAC; for biaryl systems count the phenyl groups systematically (e.g., three linked phenyls = terphenyl, not triphenylbenzene)
- 反应活性位点:标记所有反应物中的亲核和亲电中心
- 反应类型:将试剂/条件模式与上述决策树匹配
- 键变化:明确列出哪些键断裂、哪些键形成(写出具体内容)
- 区域选择性:马氏规则(碳正离子稳定性)vs反马氏规则(自由基/BH3);对于ArX,每个离去基团都是独立的反应位点
- 立体化学:Wittig反应的E/Z由叶立德类型决定;SN2反应构型翻转;[3,3]迁移为同侧-同侧(椅式过渡态);Pummerer重排保留硫的连接方式
- 产物命名:将最终结构转换为IUPAC名称;对于联芳体系,系统地计数苯基(例如,三个相连的苯基=三联苯,而非三苯基苯)
Structure Determination from Reactions
通过反应确定结构
- When a hydrocarbon reacts with Br2 under "normal conditions" (no UV, no catalyst): this is ionic ADDITION (to a strained ring or C=C), not radical substitution
- If the product has exactly 1 Br per carbon that reacted: suspect ring-opening of a strained cyclopropane or addition across C=C
- Strained 3-membered rings with Br2 undergo ionic ring-opening, not radical substitution
- When a metal dissolves in a solution of its own higher-valent salt, the product is the intermediate oxidation state (comproportionation), not a metal displacement
- 烃类在“常规条件”(无紫外光、无催化剂)下与Br₂反应:这是离子型加成(针对张力环或C=C),而非自由基取代
- 如果产物中每个反应碳恰好结合1个Br:怀疑是张力环丙烷开环或C=C加成
- 含Br₂的三元张力环发生离子型开环,而非自由基取代
- 金属溶解在自身高价盐溶液中时,产物为中间氧化态(归中反应),而非金属置换
Combustion Analysis Strategy
燃烧分析策略
- Preferred: use tool (via MCP/SDK) with
MolecularFormula_analyze,sample_g,CO2_g, andH2O_gparameters. Fallback: runmolar_massdirectly.molecular_formula.py - Preferred: use tool with
DegreesOfUnsaturation_calculateparameter. Fallback: runformula.degrees_of_unsaturation.py --formula <result> - Match DoU + any functional group test results (Br2 decolorization, KMnO4, etc.) to narrow the structure
- 首选:使用工具(通过MCP/SDK),传入
MolecularFormula_analyze、sample_g、CO2_g和H2O_g参数。备选:直接运行molar_mass。molecular_formula.py - 首选:使用工具,传入
DegreesOfUnsaturation_calculate参数。备选:运行formula。degrees_of_unsaturation.py --formula <result> - 将DoU与任何官能团测试结果(Br₂褪色、KMnO₄等)匹配,缩小结构范围
2. Spectroscopy Interpretation — A Problem-Solving Strategy
2. 光谱解析——问题解决策略
Do NOT look up tables of chemical shifts. Instead, follow this systematic approach:
不要直接查阅化学位移表。相反,遵循以下系统方法:
Start with molecular formula
从分子式入手
If given, calculate degrees of unsaturation first. This immediately tells you:
- DoU = 0: no rings or double bonds (saturated, open chain)
- DoU = 1: one ring OR one double bond
- DoU = 4: almost certainly a benzene ring (3 double bonds + 1 ring)
- DoU = 2: could be a triple bond, or two double bonds, or a ring + double bond
This single number eliminates huge categories of structures before you look at any spectrum.
若给出分子式,先计算不饱和度。这能立即告诉你:
- DoU = 0:无环或双键(饱和开链结构)
- DoU = 1:一个环或一个双键
- DoU = 4:几乎可以确定是苯环(3个双键 + 1个环)
- DoU = 2:可能是三键、两个双键,或一个环+一个双键
这个数值能在你查看任何光谱前排除大量结构类别。
IR: Look for the obvious peaks first
IR:先寻找明显的峰
Do not try to assign every peak. Instead, ask three questions:
- Is there a broad absorption around 2500-3500? If yes: O-H (very broad) or N-H (sharper, sometimes two peaks for primary amine).
- Is there a strong sharp peak around 1650-1750? If yes: C=O. Its exact position tells you the type (ester ~1735, ketone ~1715, acid ~1710, amide ~1680).
- Is there a peak around 2100-2300? If yes: triple bond (C-triple-C or C-triple-N) or cumulated double bond.
If you can answer these three questions, you have identified the major functional groups. Everything else is confirmatory.
不要尝试分配每个峰。相反,问三个问题:
- 2500-3500 cm⁻¹附近是否有宽吸收峰? 若是:O-H(非常宽)或N-H(较窄,伯胺有时会有两个峰)。
- 1650-1750 cm⁻¹附近是否有强而尖锐的峰? 若是:C=O。其具体位置可判断类型(酯
1735 cm⁻¹、酮1715 cm⁻¹、羧酸1710 cm⁻¹、酰胺1680 cm⁻¹)。 - 2100-2300 cm⁻¹附近是否有峰? 若是:三键(C≡C或C≡N)或累积双键。
若能回答这三个问题,你就已经识别出主要官能团。其余峰仅作验证用。
1H NMR: Three pieces of information per signal
¹H NMR:每个信号包含三类信息
Every signal tells you three things — use all of them:
- Chemical shift (where): How deshielded is this proton? Near electronegative atoms = downfield (higher ppm). Aromatic protons are 6.5-8.5 ppm; alkyl are 0.8-1.7 ppm; adjacent to C=O are 2.0-2.7 ppm.
- Multiplicity (splitting pattern): How many neighboring protons does this one have? n neighbors = n+1 peaks. A triplet means 2 adjacent H; a quartet means 3 adjacent H. This tells you about connectivity.
- Integration (area): How many protons does this signal represent? Ratios matter more than absolute values. A 3:2:1 integration ratio on a C3 compound strongly suggests CH3, CH2, CH.
每个信号能告诉你三件事——全部利用起来:
- 化学位移(位置):该质子的去屏蔽程度如何?靠近电负性原子=低场(高ppm)。芳香质子为6.5-8.5 ppm;烷基为0.8-1.7 ppm;与C=O相邻的为2.0-2.7 ppm。
- 多重性(分裂模式):该质子有多少个相邻质子?n个相邻质子=n+1个峰。三重峰表示有2个相邻H;四重峰表示有3个相邻H。这能告诉你连接方式。
- 积分(面积):该信号代表多少个质子?比例比绝对值更重要。C₃化合物上3:2:1的积分比强烈暗示CH₃、CH₂、CH结构。
13C NMR: Count the symmetry
¹³C NMR:计数对称性
- Count the number of distinct carbon signals. Compare to the molecular formula.
- Fewer signals than carbons = the molecule has symmetry (equivalent carbons).
- Carbonyl carbons appear above 160 ppm. Aromatic/alkene carbons: 100-160 ppm. sp3 carbons: 0-90 ppm.
- 计算不同碳信号的数量,并与分子式对比。
- 信号数少于碳原子数=分子具有对称性(等价碳)。
- 羰基碳出现在160 ppm以上。芳香/烯烃碳:100-160 ppm。sp³碳:0-90 ppm。
The combination strategy
组合策略
No single spectrum gives the answer. Combine them:
- Molecular formula gives DoU (structural constraints)
- IR identifies functional group classes (C=O? O-H? N-H?)
- 13C tells you how many unique carbon environments exist
- 1H tells you connectivity (through splitting) and hydrogen count (through integration)
- Propose a structure that is consistent with ALL data
- Verify: does your proposed structure predict every observed signal?
单一光谱无法给出答案。需结合所有信息:
- 分子式给出DoU(结构约束)
- IR识别官能团类别(是否有C=O?O-H?N-H?)
- ¹³C告诉你存在多少种独特的碳环境
- ¹H告诉你连接方式(通过分裂)和氢原子数(通过积分)
- 提出符合所有数据的结构
- 验证:你提出的结构是否能预测所有观测到的信号?
3. Stereochemistry — How to Think in 3D
3. 立体化学——如何进行三维思考
Finding stereocenters
寻找手性中心
A stereocenter is a carbon with four DIFFERENT substituents. To find them:
- Look at each sp3 carbon in the molecule
- Check: are all four groups attached to it different? (Trace each path outward — if two paths become identical at any point, those groups are the same)
- Ring carbons count too — the two "ring paths" going in opposite directions around the ring are different substituents if they differ at any point
手性中心是连接四个不同取代基的碳。寻找方法:
- 观察分子中的每个sp³碳
- 检查:连接的四个基团是否都不同?(向外追踪每条路径——若两条路径在任何点变得相同,则这些基团是等价的)
- 环碳也需考虑——如果环上两个反向路径在任何点存在差异,则它们属于不同取代基
Assigning R/S
分配R/S构型
- Rank the four substituents by CIP priority (higher atomic number = higher priority)
- For ties: move to the next atom along the chain and compare again
- Orient the molecule so the lowest-priority group (#4) points AWAY from you
- Read priorities 1-2-3: clockwise = R, counterclockwise = S
- Shortcut: if #4 is already pointing away in a drawing, just read the arrangement directly. If #4 points toward you, read the arrangement and FLIP the answer.
- 根据CIP优先级对四个取代基排序(原子序数越高,优先级越高)
- 若出现平局:沿链移动至下一个原子再次比较
- 将分子定向,使最低优先级基团(#4)指向远离你的方向
- 读取优先级1-2-3:顺时针=R,逆时针=S
- 捷径:若#4在绘图中已指向远离你的方向,直接读取排列即可。若#4指向你,则读取排列后翻转结果。
Predicting stereochemical outcomes of reactions
预测反应的立体化学结果
Ask: what is the mechanism?
- SN2: inversion at the stereocenter (backside attack). Always.
- SN1: racemization (planar carbocation intermediate attacked from both faces). Expect ~50:50 or slight preference.
- E2: requires anti-periplanar geometry (H and leaving group 180 degrees apart). This constrains which alkene geometry forms.
- Addition to alkenes: syn addition (hydroboration, catalytic hydrogenation) vs anti addition (bromine, epoxidation then opening)
- Addition to carbonyls with alpha-stereocenter: Felkin-Anh model — nucleophile attacks anti to the largest substituent on the alpha carbon
思考:反应机制是什么?
- SN2:手性中心构型翻转(背面进攻)。始终如此。
- SN1:外消旋化(平面碳正离子中间体可从两面被进攻)。预期比例约为50:50或略有偏好。
- E2:需要反式共平面几何(H和离去基团呈180度)。这会限制生成烯烃的几何构型。
- 烯烃加成:顺式加成(硼氢化、催化氢化)vs反式加成(溴加成、环氧化后开环)
- 带有α-手性中心的羰基加成:Felkin-Anh模型——亲核试剂从α-碳上最大取代基的反方向进攻
Relationship between stereoisomers
立体异构体之间的关系
- Enantiomers: non-superimposable mirror images. Same physical properties except optical rotation.
- Diastereomers: stereoisomers that are NOT mirror images. Different physical properties — can be separated.
- Meso compounds: have stereocenters but an internal mirror plane makes them achiral overall.
- 对映异构体:不可重叠的镜像。除旋光性外,物理性质相同。
- 非对映异构体:不属于镜像的立体异构体。物理性质不同——可分离。
- 内消旋化合物:具有手性中心,但内部对称面使其整体无手性。
4. Bundled Scripts
4. 捆绑脚本
These ready-to-run scripts live in .
Use them via the Bash tool instead of computing by hand — they validate inputs and print verification lines.
skills/tooluniverse-organic-chemistry/scripts/这些可直接运行的脚本位于目录下。
使用Bash工具运行它们,而非手动计算——它们会验证输入并输出验证信息。
skills/tooluniverse-organic-chemistry/scripts/chemistry_facts.py
— Chemical and physical facts reference
chemistry_facts.pychemistry_facts.py
——化学与物理事实参考工具
chemistry_facts.pyA lookup tool for facts that are easy to mis-remember. Query this script instead of guessing.
Three categories: , , . Run with no extra args to list all entries in a category.
allotropespoint_groupcommon_reagentspython chemistry_facts.py --type allotropes --element P
python chemistry_facts.py --type point_group --molecule "benzene"
python chemistry_facts.py --type common_reagents --reagent "LiAlH4"
python chemistry_facts.py --type allotropes # list all elementsCoverage: Allotropes for P, C, S, O. Point groups for 15 molecules (water C2v through H2 D∞h). 24 reagents (LiAlH4 through DMDO) with full name, function, selectivity, stereochemistry, and KEY DISTINCTION notes.
When to use: Any question about allotropes, molecular symmetry/point groups, or reagent selectivity. Always query before reporting reagent facts.
用于查询容易记错的事实。优先查询本脚本,而非猜测。
分为三类:(同素异形体)、(点群)、(常用试剂)。不带额外参数运行可列出某类下的所有条目。
allotropespoint_groupcommon_reagentspython chemistry_facts.py --type allotropes --element P
python chemistry_facts.py --type point_group --molecule "benzene"
python chemistry_facts.py --type common_reagents --reagent "LiAlH4"
python chemistry_facts.py --type allotropes # 列出所有元素的同素异形体覆盖范围:P、C、S、O的同素异形体。15种分子的点群(从水的C2v到H2的D∞h)。24种试剂(从LiAlH4到DMDO),包含全名、功能、选择性、立体化学及关键区别说明。
适用场景:任何关于同素异形体、分子对称性/点群或试剂选择性的问题。报告试剂相关事实前务必查询。
crystal_validator.py
— Crystal structure density validator
crystal_validator.pycrystal_validator.py
——晶体结构密度验证工具
crystal_validator.pyPreferred: use tool (via MCP/SDK) with unit cell parameters (, , , , , , , , ). Fallback: run directly.
CrystalStructure_validateabcalphabetagammaZMWdensitycrystal_validator.pyValidates crystal structure data by computing theoretical density from unit cell parameters and
comparing against a reported value. Flags inconsistencies that indicate errors in published datasets.
Supports all seven crystal systems (cubic, tetragonal, orthorhombic, hexagonal, trigonal, monoclinic, triclinic).
python crystal_validator.py --a 5.43 --b 5.43 --c 5.43 --Z 8 --MW 28.085 --density 2.329
python crystal_validator.py --datasets datasets.json # batch mode: JSON array of datasetsAngles default to 90deg. Output: crystal system, volume, calculated density, %error, verdict (OK/WARNING/MISMATCH).
Batch mode compares multiple datasets to find the outlier. Density formula: d = (Z * MW) / (V * Na).
When to use: Crystal structure verification, density consistency checks, finding erroneous datasets.
首选:使用工具(通过MCP/SDK),传入晶胞参数(、、、、、、、、)。备选:直接运行。
CrystalStructure_validateabcalphabetagammaZMWdensitycrystal_validator.py通过晶胞参数计算理论密度,并与报告值对比,验证晶体结构数据。标记表明已发布数据集存在错误的不一致之处。
支持所有七种晶系(立方、四方、正交、六方、三方、单斜、三斜)。
python crystal_validator.py --a 5.43 --b 5.43 --c 5.43 --Z 8 --MW 28.085 --density 2.329
python crystal_validator.py --datasets datasets.json # 批量模式:JSON数组格式的数据集角度默认值为90度。输出内容:晶系、体积、计算密度、误差百分比、判定结果(OK/WARNING/MISMATCH)。
批量模式会对比多个数据集找出异常值。密度公式:d = (Z * MW) / (V * Na)。
适用场景:晶体结构验证、密度一致性检查、查找错误数据集。
stereochem_tracker.py
— Stereochemistry through reaction sequences
stereochem_tracker.pystereochem_tracker.py
——反应序列中的立体化学追踪工具
stereochem_tracker.pyTracks R/S configuration at a stereocenter through a series of reactions, predicting the
stereochemical outcome at each step.
python stereochem_tracker.py --start R --reactions "SN2, oxidation, SN1"Supported reactions: SN2 (inversion), SN1 (racemization), E2/E1 (elimination), reduction/oxidation/hydrogenation/hydroboration/epoxidation (retention), mitsunobu (inversion), double_inversion (retention), racemization/epimerization/enolization (racemization).
When to use: Multi-step synthesis chirality tracking, verifying net retention/inversion.
追踪手性中心在一系列反应中的R/S构型,预测每一步的立体化学结果。
python stereochem_tracker.py --start R --reactions "SN2, oxidation, SN1"支持的反应:SN2(构型翻转)、SN1(外消旋化)、E2/E1(消除)、还原/氧化/氢化/硼氢化/环氧化(构型保留)、Mitsunobu(构型翻转)、双翻转(构型保留)、外消旋化/差向异构化/烯醇化(外消旋化)。
适用场景:多步合成中的手性追踪、验证净构型保留/翻转。
smiles_verifier.py
— SMILES molecular property verifier (no RDKit)
smiles_verifier.pysmiles_verifier.py
——SMILES分子属性验证工具(无需RDKit)
smiles_verifier.pyPreferred: use tool (via MCP/SDK) with and optional constraint parameters (, , , , ). Fallback: run directly.
SMILES_verifysmilesmwheavy_atomsvalence_electronstotal_atomsformal_chargesmiles_verifier.pyParses a SMILES string without external dependencies and computes molecular weight, heavy atom
count, valence electron count, total atom count, and formal charge. Then optionally checks these
against user-supplied constraints. Use this every time you design or propose a SMILES answer.
python smiles_verifier.py --smiles "CC(C)(C(=N)N)N=NC(C)(C)C(=N)N" --mw 198.15 --heavy_atoms 14 --valence_electrons 80Constraint flags: (tolerance 0.5), , , ,
--mw--heavy_atoms--valence_electrons--total_atoms--formal_chargeWhen to use: Always verify SMILES answers before reporting. Catches MW, atom count, and electron count errors.
首选:使用工具(通过MCP/SDK),传入和可选约束参数(、、、、)。备选:直接运行。
SMILES_verifysmilesmwheavy_atomsvalence_electronstotal_atomsformal_chargesmiles_verifier.py无需外部依赖即可解析SMILES字符串,计算分子量、重原子数、价电子数、总原子数及形式电荷。然后可选择将这些结果与用户提供的约束条件对比。每次设计或提出SMILES答案时都要使用本工具。
python smiles_verifier.py --smiles "CC(C)(C(=N)N)N=NC(C)(C)C(=N)N" --mw 198.15 --heavy_atoms 14 --valence_electrons 80约束参数:(公差0.5)、、、、
--mw--heavy_atoms--valence_electrons--total_atoms--formal_charge适用场景:报告SMILES答案前务必验证。可捕捉分子量、原子数及电子数错误。
degrees_of_unsaturation.py
— Degrees of unsaturation (DoU) calculator
degrees_of_unsaturation.pydegrees_of_unsaturation.py
——不饱和度(DoU)计算器
degrees_of_unsaturation.pyPreferred: use tool (via MCP/SDK) with or individual atom count parameters. Fallback: run directly.
DegreesOfUnsaturation_calculateformuladegrees_of_unsaturation.pyComputes DoU = (2C + 2 + N − H − X) / 2 from a formula string or individual atom counts.
Handles all halogens (F, Cl, Br, I) and notes that O and S do not affect DoU.
Prints the full arithmetic, a structural interpretation, and a round-trip verification.
python degrees_of_unsaturation.py --formula C6H6
python degrees_of_unsaturation.py --C 10 --H 14 --O 2 --N 1Output: atom counts, step-by-step formula, result, structural interpretation, non-integer DoU warning.
首选:使用工具(通过MCP/SDK),传入或单个原子计数参数。备选:直接运行。
DegreesOfUnsaturation_calculateformuladegrees_of_unsaturation.py根据分子式字符串或单个原子数计算DoU = (2C + 2 + N − H − X) / 2。
支持所有卤素(F、Cl、Br、I),并注明O和S不影响DoU数值。
输出完整计算过程、结构解释及往返验证结果。
python degrees_of_unsaturation.py --formula C6H6
python degrees_of_unsaturation.py --C 10 --H 14 --O 2 --N 1输出内容:原子计数、分步计算公式、结果、结构解释、非整数DoU警告。
molecular_formula.py
— Combustion analysis and formula analysis
molecular_formula.pymolecular_formula.py
——燃烧分析与分子式分析工具
molecular_formula.pyPreferred: use tool (via MCP/SDK) with combustion or formula parameters. Fallback: run directly.
MolecularFormula_analyzemolecular_formula.pyTwo modes in one script.
Mode 1: combustion analysis — , , , optional
Mode 2: formula analysis — (MW, DoU, elemental composition)
--sample_g--CO2_g--H2O_g--molar_mass--formula C6H6python molecular_formula.py --sample_g 0.2 --CO2_g 0.4874 --H2O_g 0.1998 --molar_mass 78
python molecular_formula.py --formula C6H6首选:使用工具(通过MCP/SDK),传入燃烧分析或分子式参数。备选:直接运行。
MolecularFormula_analyzemolecular_formula.py本脚本包含两种模式。
模式1:燃烧分析 —— 、、,可选
模式2:分子式分析 —— (计算分子量、DoU、元素组成)
--sample_g--CO2_g--H2O_g--molar_mass--formula C6H6python molecular_formula.py --sample_g 0.2 --CO2_g 0.4874 --H2O_g 0.1998 --molar_mass 78
python molecular_formula.py --formula C6H65. Computational Procedures
5. 计算流程
ALWAYS EXECUTE as Python scripts using the Bash tool — do not compute mentally. Prefer the bundled scripts (, ) over writing code from scratch.
molecular_formula.pydegrees_of_unsaturation.pyKey formulas (write and run Python when bundled scripts don't cover the case):
- Combustion analysis: moles_C = CO2_g / 44.01; moles_H = H2O_g / 18.015 * 2; moles_O by mass difference. Ratio → GCD → empirical formula. Factor = MM / empirical_MM.
- DoU: (2C + 2 + N - H - X) / 2. O and S do not affect the count.
- Limiting reagent: equiv = mass / (MW * stoich_coeff) for each reagent; minimum equiv is limiting; yield = min_equiv * product_stoich * product_MW.
务必使用Bash工具作为Python脚本执行——不要手动计算。优先使用捆绑脚本(、),而非从头编写代码。
molecular_formula.pydegrees_of_unsaturation.py关键公式(当捆绑脚本无法覆盖场景时,编写并运行Python代码):
- 燃烧分析:moles_C = CO2_g / 44.01;moles_H = H2O_g / 18.015 * 2;通过质量差计算moles_O。比例→最大公约数→经验式。系数=摩尔质量/经验式摩尔质量。
- DoU:(2C + 2 + N - H - X) / 2。O和S不影响计算结果。
- 限制试剂:equiv = 质量 / (分子量 * 化学计量系数)(针对每种试剂);最小equiv即为限制试剂;产率= min_equiv * 产物化学计量系数 * 产物分子量。
6. When to Reason vs When to Look Things Up
6. 何时推理 vs 何时查阅资料
REASON through these (do not look up):
以下情况需推理(不要查阅):
- Reaction products and mechanisms
- Spectroscopy interpretation (combine the data you have)
- Stereochemical outcomes
- Degrees of unsaturation
- Whether a reaction is thermodynamically favorable
- 反应产物与机制
- 光谱解析(结合已有数据)
- 立体化学结果
- 不饱和度计算
- 反应是否在热力学上有利
COMPUTE with bundled scripts for these:
以下情况使用捆绑脚本计算:
- Crystal structure density verification: Preferred: tool. Fallback:
CrystalStructure_validate(never compute unit cell volumes by hand)crystal_validator.py - Stereochemistry tracking through multi-step synthesis: (tracks R/S through SN2, SN1, etc.)
stereochem_tracker.py - Degrees of unsaturation: Preferred: tool. Fallback:
DegreesOfUnsaturation_calculatedegrees_of_unsaturation.py - Combustion analysis and formula analysis: Preferred: tool. Fallback:
MolecularFormula_analyzemolecular_formula.py - SMILES verification (MW, heavy atoms, valence electrons): Preferred: tool. Fallback:
SMILES_verify(always verify SMILES answers)smiles_verifier.py
- 晶体结构密度验证:首选工具。备选
CrystalStructure_validate(永远不要手动计算晶胞体积)crystal_validator.py - 多步合成中的立体化学追踪:(追踪SN2、SN1等反应中的R/S构型)
stereochem_tracker.py - 不饱和度计算:首选工具。备选
DegreesOfUnsaturation_calculatedegrees_of_unsaturation.py - 燃烧分析与分子式分析:首选工具。备选
MolecularFormula_analyzemolecular_formula.py - SMILES验证(分子量、重原子数、价电子数):首选工具。备选
SMILES_verify(务必验证SMILES答案)smiles_verifier.py
LOOK UP with tools for these:
以下情况使用工具查阅:
- Allotropes of an element (count, names, properties):
chemistry_facts.py --type allotropes --element X - Molecular point group and symmetry elements:
chemistry_facts.py --type point_group --molecule "name" - Reagent function, selectivity, or key distinction:
chemistry_facts.py --type common_reagents --reagent "name" - Specific physical constants (boiling points, pKa values, solubility): then
PubChem_get_CID_by_compound_namePubChem_get_compound_properties_by_CID - Whether a compound exists and its canonical SMILES/InChI: or
PubChem_get_CID_by_compound_namePubChem_get_compound_properties_by_CID - Drug-likeness, bioactivity data, assay results: or
ChEMBL_get_moleculeChEMBL_search_molecules - Metabolite pathways and biological context:
HMDB_get_metabolite
- 元素的同素异形体(数量、名称、性质):
chemistry_facts.py --type allotropes --element X - 分子点群与对称元素:
chemistry_facts.py --type point_group --molecule "name" - 试剂功能、选择性或关键区别:
chemistry_facts.py --type common_reagents --reagent "name" - 特定物理常数(沸点、pKa值、溶解度):先使用,再使用
PubChem_get_CID_by_compound_namePubChem_get_compound_properties_by_CID - 化合物是否存在及其标准SMILES/InChI:或
PubChem_get_CID_by_compound_namePubChem_get_compound_properties_by_CID - 类药性、生物活性数据、分析结果:或
ChEMBL_get_moleculeChEMBL_search_molecules - 代谢途径与生物学背景:
HMDB_get_metabolite
Crystal structure verification strategy:
晶体结构验证策略:
Extract unit cell params, Z, MW, density for each dataset. Run in batch. Largest %error = the error. Common errors: wrong Z, swapped params, angle transcription errors.
crystal_validator.py --datasets datasets.json提取每个数据集的晶胞参数、Z、分子量、密度。批量运行。误差百分比最大的即为错误数据集。常见错误:Z值错误、参数互换、角度转录错误。
crystal_validator.py --datasets datasets.jsonMolecular Design from Constraints (SMILES design):
基于约束的分子设计(SMILES设计):
- Start from constraints (MW, heavy atoms, VE) to estimate formula
- Build SMILES, then always verify:
python smiles_verifier.py --smiles "..." --mw X --heavy_atoms Y --valence_electrons Z - If any constraint FAILs, revise and re-run until all pass
- 从约束条件(分子量、重原子数、价电子数)出发估算分子式
- 构建SMILES,然后务必验证:
python smiles_verifier.py --smiles "..." --mw X --heavy_atoms Y --valence_electrons Z - 若任何约束条件不满足,修改后重新运行,直至全部通过
The verify-after-reasoning pattern:
推理后验证模式:
- Reason through the problem, arrive at a proposed answer
- Verify known compounds with PubChem; verify numerical answers with Python computation
- For numerical answers: ALWAYS compute with scripts before answering
- 推理问题,得出初步答案
- 使用PubChem验证已知化合物;使用Python计算验证数值答案
- 对于数值答案:回答前务必使用脚本计算