labmate-mcp 7.0.0__py3-none-any.whl → 7.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
labmate_mcp/bench.py CHANGED
@@ -2501,6 +2501,528 @@ _nr("Oppolzer Sultam",
2501
2501
  related="Evans, Myers, Enders",
2502
2502
  functional_groups="acryloyl, aldehyde, Diels-Alder, sultam")
2503
2503
 
2504
+
2505
+
2506
+ # --- C-C Bond Formation: Radical & Miscellaneous (v7.1.0) ---
2507
+
2508
+ _nr("Glaser Coupling",
2509
+ aliases=["Glaser-Eglinton", "Eglinton coupling"],
2510
+ category="C-C Bond Formation", type_="Oxidative Coupling",
2511
+ summary="Cu-mediated oxidative homo-coupling of terminal alkynes to form 1,3-diynes (butadiynes).",
2512
+ conditions="CuCl (10-100 mol%), TMEDA, O2 atmosphere, CH2Cl2 or pyridine, RT-60°C. Eglinton variant: Cu(OAc)2, pyridine, MeOH.",
2513
+ substrate="Terminal alkynes → symmetrical 1,3-diynes.",
2514
+ limitations="Homodimerization only (for cross-coupling see Cadiot-Chodkiewicz). Requires O2 as terminal oxidant.",
2515
+ mechanism="Cu(I) forms copper acetylide → oxidation to Cu(II) → reductive elimination or radical pathway → diyne + Cu(I).",
2516
+ refs="Glaser, Ber. Dtsch. Chem. Ges. 1869, 2, 422. Eglinton, J. Chem. Soc. 1959, 889.",
2517
+ related="Cadiot-Chodkiewicz, Sonogashira",
2518
+ functional_groups="terminal alkyne, diyne")
2519
+
2520
+ _nr("Cadiot-Chodkiewicz Coupling",
2521
+ aliases=["Cadiot-Chodkiewicz"],
2522
+ category="C-C Bond Formation", type_="Cross-Coupling",
2523
+ summary="Cu-catalyzed cross-coupling of a terminal alkyne with a 1-bromoalkyne to form unsymmetrical 1,3-diynes.",
2524
+ conditions="CuCl (5-10 mol%), NH2OH·HCl, EtNH2 or n-BuNH2, MeOH/H2O, 0°C-RT.",
2525
+ substrate="Terminal alkyne + 1-bromoalkyne → unsymmetrical 1,3-diynes.",
2526
+ limitations="Requires pre-formed bromoalkyne. Some homocoupling side product. Sensitive to conditions.",
2527
+ mechanism="Cu(I) acetylide + bromoalkyne → oxidative addition → reductive elimination → cross-coupled diyne.",
2528
+ refs="Cadiot, Chodkiewicz, in Chemistry of Acetylenes, Marcel Dekker, 1969, 597.",
2529
+ related="Glaser, Sonogashira",
2530
+ functional_groups="terminal alkyne, bromoalkyne, diyne")
2531
+
2532
+ _nr("Pauson-Khand Reaction",
2533
+ aliases=["PKR"],
2534
+ category="C-C Bond Formation", type_="Cycloaddition",
2535
+ summary="[2+2+1] Cycloaddition of an alkyne, alkene, and CO (from Co2(CO)8) to form cyclopentenones.",
2536
+ conditions="Co2(CO)8 (stoich. or cat.), toluene or DME, 60-130°C. Catalytic: Mo(CO)6, Rh catalysts. Promoters: TMANO, NMO, or CyNH2 (amine N-oxide).",
2537
+ substrate="Enyne substrates (intramolecular) or alkyne + alkene (intermolecular) → cyclopentenones.",
2538
+ limitations="Intermolecular version requires excess alkene. Regioselectivity can be poor. Steric bias needed for selectivity.",
2539
+ mechanism="Co2(CO)8 + alkyne → alkyne-Co complex → alkene insertion → CO insertion → reductive elimination → cyclopentenone.",
2540
+ refs="Khand, Pauson, J. Chem. Soc., Chem. Commun. 1971, 36.",
2541
+ related="Diels-Alder, Ring-Closing Metathesis",
2542
+ functional_groups="alkyne, alkene, cyclopentenone, enyne")
2543
+
2544
+ _nr("Catellani Reaction",
2545
+ aliases=["Catellani"],
2546
+ category="C-C Bond Formation", type_="Pd-Catalyzed C-H Activation",
2547
+ summary="Pd/norbornene-catalyzed ortho C-H functionalization of aryl halides followed by ipso termination.",
2548
+ conditions="Pd(OAc)2 (5-10 mol%), norbornene (1-2 equiv), base (Cs2CO3, K2CO3), DMF, 80-100°C. ortho electrophile + ipso termination agent.",
2549
+ substrate="ArI + ortho-electrophile (RX, ArX) + ipso-terminating agent (alkene, boronic acid) → 1,2,3-trisubstituted arenes.",
2550
+ limitations="Requires iodoarenes (most reactive). Norbornene must be ejected. Limited to specific combinations of ortho/ipso partners.",
2551
+ mechanism="Pd(0) oxidative addition to ArI → norbornene carbopalladation → ortho C-H palladation → ortho functionalization → β-carbon elimination (norbornene ejection) → ipso functionalization.",
2552
+ refs="Catellani, Chiusoli, J. Organomet. Chem. 1988, 346, C27.",
2553
+ related="Heck, Buchwald-Hartwig",
2554
+ functional_groups="aryl iodide, norbornene, C-H activation")
2555
+
2556
+ _nr("Cross-Metathesis",
2557
+ aliases=["CM", "olefin cross-metathesis"],
2558
+ category="C-C Bond Formation", type_="Metathesis",
2559
+ summary="Ru-catalyzed exchange of alkylidene units between two different olefins to form new C=C bonds.",
2560
+ conditions="Grubbs 2nd gen. or Hoveyda-Grubbs 2nd gen. (2-5 mol%), CH2Cl2 or toluene, 40°C, 2-24 h. Often one partner in excess (2-5 equiv).",
2561
+ substrate="Two terminal or internal olefins → cross-product. E-selectivity typical; Z-selective catalysts (Schrock/Hoveyda) available.",
2562
+ limitations="Statistical mixtures (homo- + cross-). Olefin categorization (Grubbs) predicts selectivity: Type I (fast) > Type II > Type III (spectator). Acrylates and styrenes are Type II.",
2563
+ mechanism="Ru-carbene [2+2] cycloaddition → metallacyclobutane → cycloreversion → new olefin + new Ru-carbene. Reversible — remove ethylene to drive equilibrium.",
2564
+ refs="Chatterjee, Choi, Sanders, Grubbs, JACS 2003, 125, 11360.",
2565
+ related="Ring-Closing Metathesis, Grubbs Metathesis, Olefin Metathesis",
2566
+ functional_groups="terminal olefin, internal olefin, acrylate")
2567
+
2568
+ _nr("Meerwein Arylation",
2569
+ aliases=["Meerwein reaction"],
2570
+ category="C-C Bond Formation", type_="Radical Addition",
2571
+ summary="Cu-catalyzed addition of aryldiazonium salts to electron-poor alkenes via aryl radical intermediates.",
2572
+ conditions="ArN2+ (from aniline + NaNO2/HCl), CuCl2 (cat.), acetone/H2O, 0-25°C. Modern: Cu(OTf)2, DMSO.",
2573
+ substrate="Aryldiazonium salts + activated alkenes (acrylates, acrylonitrile, styrene) → β-aryl products (often as chlorides).",
2574
+ limitations="Requires electron-poor olefins. Diazonium salts can be unstable/explosive. Moderate yields.",
2575
+ mechanism="Cu(I) reduces ArN2+ → Ar• radical + N2 → radical addition to alkene → atom transfer from CuCl2 → product + Cu(I).",
2576
+ refs="Meerwein, Büchner, van Emster, J. Prakt. Chem. 1939, 152, 237.",
2577
+ related="Sandmeyer, Heck, Minisci",
2578
+ functional_groups="diazonium, acrylate, radical")
2579
+
2580
+ # --- Pericyclic Reactions (v7.1.0) ---
2581
+
2582
+ _nr("Alder-Ene Reaction",
2583
+ aliases=["ene reaction", "Alder ene"],
2584
+ category="Pericyclic", type_="Ene Reaction",
2585
+ summary="Concerted [1,5]-sigmatropic shift of an allylic C-H bond to a dienophile (enophile) with formation of a new C-C bond and migration of the double bond.",
2586
+ conditions="Thermal: 200-400°C (retro-ene lower). Lewis acid catalyzed: BF3·Et2O, AlCl3, SnCl4, or chiral bisoxazoline-Cu complexes, -78°C to RT.",
2587
+ substrate="Alkene with allylic H (ene) + electron-poor alkene, aldehyde, or imine (enophile). Cis rule: H must be suprafacial to π-system.",
2588
+ limitations="Thermal conditions harsh. Regiochemistry can be complex. Carbonyl-ene more synthetically useful than C=C ene.",
2589
+ mechanism="Concerted suprafacial [4πs+2σs] 6-electron pericyclic. Transition state resembles Diels-Alder but with C-H bond breaking instead of second C-C bond.",
2590
+ refs="Alder, Pascher, Schmidt, Ber. Dtsch. Chem. Ges. 1943, 76, 27. Mikami, Shimizu, Chem. Rev. 1992, 92, 1021.",
2591
+ related="Diels-Alder, Cope Rearrangement, Conia-ene",
2592
+ functional_groups="alkene, allylic hydrogen, aldehyde")
2593
+
2594
+ _nr("Cope Rearrangement",
2595
+ aliases=["Cope"],
2596
+ category="Pericyclic", type_="Sigmatropic Rearrangement",
2597
+ summary="[3,3]-Sigmatropic rearrangement of 1,5-dienes. Chair-like transition state provides high stereoselectivity.",
2598
+ conditions="Thermal: 150-300°C (sealed tube). Oxy-Cope variant: KH, 18-crown-6, THF, 0°C-RT (dramatically accelerated by alkoxide anion).",
2599
+ substrate="1,5-Dienes → isomeric 1,5-dienes. Oxy-Cope: 3-hydroxy-1,5-dienes → δ,ε-unsaturated carbonyl after tautomerization.",
2600
+ limitations="High temperature needed for parent reaction. Equilibrium controlled — product must be thermodynamically favored. Ring strain can drive forward.",
2601
+ mechanism="Concerted [3,3]-sigmatropic through chair-like TS. Suprafacial on both components. Oxy-Cope: anionic acceleration (10^10-10^17 rate increase).",
2602
+ refs="Cope, Hardy, JACS 1940, 62, 441. Evans, Golob, JACS 1975, 97, 4765 (oxy-Cope).",
2603
+ related="Claisen Rearrangement, Ireland-Claisen, Oxy-Cope",
2604
+ functional_groups="1,5-diene, allyl vinyl ether")
2605
+
2606
+ _nr("Oxy-Cope Rearrangement",
2607
+ aliases=["oxy-Cope", "anionic oxy-Cope"],
2608
+ category="Pericyclic", type_="Sigmatropic Rearrangement",
2609
+ summary="[3,3]-Sigmatropic rearrangement of 3-hydroxy-1,5-dienes. Anionic variant (deprotonation with KH) accelerates rate by 10^10-10^17.",
2610
+ conditions="Anionic oxy-Cope: KH (excess), 18-crown-6, THF, 0°C-RT, 1-4 h. Neutral: 150-250°C (slow, low yield).",
2611
+ substrate="3-Hydroxy-1,5-dienes → enolate (tautomerizes to δ,ε-unsaturated ketone or aldehyde upon workup).",
2612
+ limitations="Requires accessible 3-hydroxy-1,5-diene. Chair-like TS determines stereochemistry. KH requires dry conditions.",
2613
+ mechanism="Alkoxide [3,3]-sigmatropic shift through chair TS → dienolate → protonation on workup → carbonyl product. Rate acceleration from charge delocalization in TS.",
2614
+ refs="Evans, Golob, JACS 1975, 97, 4765. Paquette, Tetrahedron 1997, 53, 13971.",
2615
+ related="Cope Rearrangement, Claisen Rearrangement",
2616
+ functional_groups="1,5-dien-3-ol, enolate, ketone")
2617
+
2618
+ _nr("Eschenmoser-Claisen Rearrangement",
2619
+ aliases=["Eschenmoser-Claisen"],
2620
+ category="Pericyclic", type_="Sigmatropic Rearrangement",
2621
+ summary="[3,3]-Sigmatropic rearrangement of allylic alcohols via N,O-ketene acetal intermediates to give γ,δ-unsaturated amides.",
2622
+ conditions="Allylic alcohol + MeC(OMe)2NMe2 (Eschenmoser salt/dimethylacetamide dimethyl acetal), toluene or xylene, 80-140°C, 2-16 h.",
2623
+ substrate="Allylic alcohols → γ,δ-unsaturated N,N-dimethylamides.",
2624
+ limitations="High temperatures needed. E/Z selectivity depends on substrate. Bulky substituents slow reaction.",
2625
+ mechanism="Allylic alcohol + ortho-amide → exchange → N,O-ketene acetal → [3,3]-sigmatropic rearrangement through chair TS → γ,δ-unsaturated amide.",
2626
+ refs="Wick, Felix, Sternbach, Eschenmoser, Helv. Chim. Acta 1964, 47, 2425.",
2627
+ related="Claisen Rearrangement, Ireland-Claisen, Johnson-Claisen",
2628
+ functional_groups="allylic alcohol, amide, ketene acetal")
2629
+
2630
+ # --- Oxidations (v7.1.0) ---
2631
+
2632
+ _nr("Fleming-Tamao Oxidation",
2633
+ aliases=["Tamao oxidation", "Tamao-Fleming"],
2634
+ category="Oxidation", type_="C-Si to C-OH Conversion",
2635
+ summary="Oxidative cleavage of C-Si bonds to give alcohols. Converts silyl groups into hydroxyl groups with retention of configuration.",
2636
+ conditions="Tamao: PhMe2Si → OH using H2O2/KF/KHCO3 in THF/MeOH or m-CPBA/BF3·Et2O, then H2O2/KF. Fleming: PhMe2Si → OH using Hg(OAc)2/AcOH then H2O2/KF/KHCO3.",
2637
+ substrate="Allylsilanes, vinylsilanes, alkylsilanes with at least one heteroatom on Si (OR, F, or aryl) → corresponding alcohols.",
2638
+ limitations="Requires activating group on Si (fluoride, alkoxy). PhMe2Si needs activation (protodesilylation or Hg). Steric bulk can slow reaction.",
2639
+ mechanism="Si activated by F⁻ or electrophile → pentacoordinate Si → nucleophilic oxidation (like Baeyer-Villiger on Si) → migration with retention → silanol → hydrolysis → alcohol.",
2640
+ refs="Tamao, Ishida, Kumada, JOC 1983, 48, 2120. Fleming, Henning, Plaut, J. Chem. Soc., Chem. Commun. 1984, 29.",
2641
+ related="Brown hydroboration, Wacker",
2642
+ functional_groups="silane, alcohol, C-Si bond")
2643
+
2644
+ _nr("Saegusa-Ito Oxidation",
2645
+ aliases=["Saegusa oxidation", "Saegusa-Ito"],
2646
+ category="Oxidation", type_="Enone Formation",
2647
+ summary="Pd(II)-mediated oxidation of silyl enol ethers to α,β-unsaturated carbonyl compounds (enones/enals).",
2648
+ conditions="Silyl enol ether + Pd(OAc)2 (1 equiv or cat. with co-oxidant), DMSO or MeCN, RT-60°C. Catalytic: Pd(OAc)2 (5-10 mol%) with allyl carbonate or O2/CuCl2.",
2649
+ substrate="Silyl enol ethers (TMS, TBS) → α,β-unsaturated ketones. Regioselective — unsaturation appears at the enol ether position.",
2650
+ limitations="Stoichiometric Pd traditionally needed (expensive). Catalytic variants developing. Over-oxidation possible.",
2651
+ mechanism="Pd(II) electrophilic attack on silyl enol ether → oxypalladation → β-hydride elimination → enone + Pd(0) (+ H-X). Re-oxidation of Pd(0) for catalytic cycle.",
2652
+ refs="Ito, Hirao, Saegusa, JOC 1978, 43, 1011.",
2653
+ related="Wacker Oxidation, TEMPO Oxidation",
2654
+ functional_groups="silyl enol ether, enone, ketone")
2655
+
2656
+ _nr("Riley Oxidation",
2657
+ aliases=["Riley", "SeO2 oxidation"],
2658
+ category="Oxidation", type_="Allylic Oxidation",
2659
+ summary="SeO2-mediated allylic oxidation of alkenes to allylic alcohols or α,β-unsaturated carbonyl compounds.",
2660
+ conditions="SeO2 (1-1.5 equiv), dioxane/H2O, 80-100°C. Catalytic: SeO2 (5-20 mol%) + t-BuOOH (stoich.), CH2Cl2, RT.",
2661
+ substrate="Alkenes → allylic alcohols (with t-BuOOH) or enones (stoich. SeO2). Methyl ketones → 1,2-diketones. α-Methylene → α-hydroxy.",
2662
+ limitations="Toxic Se. Regioselectivity follows ene-like mechanism (H abstracted from more substituted end). Over-oxidation to enone possible.",
2663
+ mechanism="SeO2 → ene reaction with alkene → allylseleninic acid → [2,3]-sigmatropic rearrangement → allylselenic acid ester → hydrolysis → allylic alcohol (+ Se or re-oxidation).",
2664
+ refs="Riley, Morley, Friend, J. Chem. Soc. 1932, 1875. Umbreit, Sharpless, JACS 1977, 99, 5526.",
2665
+ related="Wacker Oxidation, Rubottom Oxidation",
2666
+ functional_groups="alkene, allylic alcohol, enone, SeO2")
2667
+
2668
+ _nr("Pfitzner-Moffatt Oxidation",
2669
+ aliases=["Moffatt oxidation"],
2670
+ category="Oxidation", type_="Alcohol to Carbonyl",
2671
+ summary="DMSO/DCC-mediated oxidation of primary and secondary alcohols to aldehydes and ketones.",
2672
+ conditions="DMSO, DCC (or EDC), pyridinium trifluoroacetate or H3PO4 (acid catalyst), CH2Cl2, RT, 2-16 h.",
2673
+ substrate="Primary alcohols → aldehydes (no over-oxidation). Secondary alcohols → ketones. Very mild conditions.",
2674
+ limitations="DCC urea byproduct difficult to remove. Pyridinium salt can be hard to separate. Replaced largely by Swern/Dess-Martin.",
2675
+ mechanism="Acid activates DMSO → electrophilic S attacks alcohol → alkoxysulfonium salt → intramolecular elimination (like Swern) → carbonyl + Me2S.",
2676
+ refs="Pfitzner, Moffatt, JACS 1963, 85, 3027.",
2677
+ related="Swern Oxidation, Parikh-Doering, Dess-Martin Periodinane",
2678
+ functional_groups="alcohol, aldehyde, ketone, DMSO")
2679
+
2680
+ _nr("Malaprade Cleavage",
2681
+ aliases=["periodate cleavage", "Malaprade"],
2682
+ category="Oxidation", type_="Diol Cleavage",
2683
+ summary="Periodate (IO4⁻) cleavage of 1,2-diols to give two carbonyl compounds (aldehydes/ketones).",
2684
+ conditions="NaIO4 (1-1.5 equiv), H2O or H2O/THF or H2O/MeOH, RT, 0.5-4 h. Silica-supported NaIO4 in CH2Cl2.",
2685
+ substrate="1,2-Diols → 2 aldehydes/ketones. 1,2-Amino alcohols → aldehyde + amine (slower). α-Hydroxy acids → aldehyde + CO2.",
2686
+ limitations="Requires vicinal diol (1,2-relationship). Does not cleave 1,3-diols. Sensitive to pH. IO3⁻ byproduct.",
2687
+ mechanism="Cyclic periodate ester forms between diol and IO4⁻ → [3+2] retrocyclization → two carbonyls + IO3⁻. Concerted, retro-[3+2] mechanism.",
2688
+ refs="Malaprade, Bull. Soc. Chim. Fr. 1928, 43, 683.",
2689
+ related="Lemieux-Johnson Oxidation, Ozonolysis, Sharpless Dihydroxylation",
2690
+ functional_groups="1,2-diol, aldehyde, ketone, periodate")
2691
+
2692
+ # --- Reduction (v7.1.0) ---
2693
+
2694
+ _nr("Brown Hydroboration",
2695
+ aliases=["hydroboration", "hydroboration-oxidation", "Brown HB"],
2696
+ category="Reduction", type_="Hydroboration",
2697
+ summary="Anti-Markovnikov addition of B-H across alkenes, followed by oxidation to give primary alcohols. Syn-addition with predictable regio- and stereochemistry.",
2698
+ conditions="BH3·THF or BH3·SMe2 (3:1 alkene:BH3 ratio), THF, 0°C-RT, 1-4 h. Then NaOH/H2O2 (oxidation). Selective boranes: 9-BBN, disiamylborane, thexylborane.",
2699
+ substrate="Alkenes → primary alcohols (anti-Markovnikov). syn-Addition. 9-BBN: highly selective for less hindered C=C.",
2700
+ limitations="syn-Selectivity only. Alkynes give vinylboranes (→ aldehydes/ketones). Competing hydroboration of multiple C=C. Sensitive to air/moisture.",
2701
+ mechanism="Concerted 4-center addition: B-H adds syn across C=C → trialkylborane. Oxidation: H2O2/OH⁻ → ate complex → 1,2-shift with retention → borate ester → hydrolysis → alcohol.",
2702
+ refs="Brown, Rao, JACS 1956, 78, 5694. Brown, Zweifel, JACS 1960, 82, 4708.",
2703
+ related="Sharpless Epoxidation, Fleming-Tamao",
2704
+ functional_groups="alkene, organoborane, alcohol")
2705
+
2706
+ _nr("Transfer Hydrogenation",
2707
+ aliases=["Meerwein-Ponndorf-Verley variant", "ATH", "asymmetric transfer hydrogenation"],
2708
+ category="Reduction", type_="Catalytic Hydrogenation",
2709
+ summary="Catalytic reduction using H-donors (iPrOH, HCO2H/Et3N) instead of H2 gas. Avoids high-pressure equipment.",
2710
+ conditions="Noyori ATH: [RuCl2(p-cymene)]2/TsDPEN (0.5-2 mol%), HCO2H:Et3N (5:2), CH2Cl2 or H2O, RT-40°C. MPV: Al(OiPr)3, iPrOH, reflux.",
2711
+ substrate="Ketones → chiral secondary alcohols (ATH). Imines → amines. Quinolines → tetrahydroquinolines.",
2712
+ limitations="Slower than H2 hydrogenation. Equilibrium with iPrOH (must remove acetone). ATH: ee depends on substrate steric differentiation.",
2713
+ mechanism="Ru-hydride formed by β-hydride elimination from formate or iPrOH → outer-sphere concerted transfer to C=O through 6-membered pericyclic TS (no coordination to metal).",
2714
+ refs="Noyori, Hashiguchi, Acc. Chem. Res. 1997, 30, 97.",
2715
+ related="Noyori Asymmetric Hydrogenation, CBS Reduction, Meerwein-Ponndorf-Verley",
2716
+ functional_groups="ketone, alcohol, imine, amine, chiral")
2717
+
2718
+ # --- Heterocycle Synthesis (v7.1.0) ---
2719
+
2720
+ _nr("Knorr Pyrrole Synthesis",
2721
+ aliases=["Knorr pyrrole"],
2722
+ category="Heterocycle Synthesis", type_="Pyrrole Formation",
2723
+ summary="Condensation of an α-aminoketone with a β-ketoester to form substituted pyrroles.",
2724
+ conditions="α-Aminoketone (from α-oximino ketone reduction with Zn/AcOH) + ethyl acetoacetate, AcOH, 60-80°C or RT if pre-formed amine.",
2725
+ substrate="α-Aminoketones + 1,3-dicarbonyls → 2,3,4,5-tetrasubstituted pyrroles.",
2726
+ limitations="α-Aminoketones can self-condense → must generate in situ. Regiochemistry controlled by substitution pattern.",
2727
+ mechanism="Condensation of amine with ketone of β-ketoester → enamine → intramolecular cyclization with second carbonyl → dehydration → pyrrole.",
2728
+ refs="Knorr, Ber. Dtsch. Chem. Ges. 1884, 17, 1635.",
2729
+ related="Paal-Knorr, Hantzsch Pyridine",
2730
+ functional_groups="α-aminoketone, β-ketoester, pyrrole")
2731
+
2732
+ _nr("Gewald Reaction",
2733
+ aliases=["Gewald thiophene"],
2734
+ category="Heterocycle Synthesis", type_="Thiophene Formation",
2735
+ summary="Multicomponent synthesis of 2-aminothiophenes from ketones, α-cyanoacetates, and elemental sulfur.",
2736
+ conditions="Ketone + ethyl cyanoacetate + S8, Et3N or morpholine (base), EtOH, reflux, 4-12 h.",
2737
+ substrate="Ketones (including cyclic) + activated nitriles + sulfur → 2-amino-3-carboxythiophenes.",
2738
+ limitations="Works best with activated methylene (α to CN). Aromatic ketones less reactive. S8 can be limiting in some solvents.",
2739
+ mechanism="Knoevenagel condensation of ketone + cyanoacetate → α,β-unsaturated nitrile → sulfur incorporation via thiolate → cyclization → aromatization → 2-aminothiophene.",
2740
+ refs="Gewald, Schinke, Böttcher, Chem. Ber. 1966, 99, 94.",
2741
+ related="Paal-Knorr, Hantzsch Pyridine",
2742
+ functional_groups="ketone, cyanoacetate, sulfur, aminothiophene")
2743
+
2744
+ _nr("Skraup Quinoline Synthesis",
2745
+ aliases=["Skraup synthesis", "Doebner-von Miller"],
2746
+ category="Heterocycle Synthesis", type_="Quinoline Formation",
2747
+ summary="Acid-catalyzed condensation of anilines with glycerol (or α,β-unsaturated carbonyls) to form quinolines.",
2748
+ conditions="Aniline + glycerol, H2SO4 (conc.), oxidant (nitrobenzene or PhNO2), FeSO4·7H2O (moderator), 120-180°C. CAUTION: exothermic, can be violent!",
2749
+ substrate="Anilines → quinolines. Substituted anilines give regioselectively substituted products. Doebner-von Miller variant: use preformed α,β-unsaturated aldehyde/ketone instead of glycerol.",
2750
+ limitations="Extremely exothermic — add FeSO4 as moderator. Can be violent. Yields moderate (40-70%). Para-substituted anilines only give one regioisomer.",
2751
+ mechanism="Glycerol → acrolein (in situ dehydration) → conjugate addition by aniline → cyclization → oxidation (by PhNO2) → aromatization → quinoline.",
2752
+ refs="Skraup, Ber. Dtsch. Chem. Ges. 1880, 13, 2086.",
2753
+ related="Combes synthesis, Friedländer synthesis, Hantzsch",
2754
+ functional_groups="aniline, glycerol, quinoline")
2755
+
2756
+ _nr("Van Leusen Oxazole Synthesis",
2757
+ aliases=["Van Leusen", "TosMIC oxazole"],
2758
+ category="Heterocycle Synthesis", type_="Oxazole Formation",
2759
+ summary="Synthesis of 4,5-disubstituted oxazoles from TosMIC (tosylmethyl isocyanide) and aldehydes.",
2760
+ conditions="TosMIC (1-1.2 equiv), aldehyde, K2CO3 (2 equiv), MeOH, reflux, 1-6 h.",
2761
+ substrate="Aldehydes + TosMIC → 4,5-disubstituted oxazoles. Also: imines + TosMIC → imidazoles (Van Leusen 3-component).",
2762
+ limitations="TosMIC is moisture-sensitive. Best with aliphatic and aromatic aldehydes. Enolizable aldehydes may give side products.",
2763
+ mechanism="Deprotonation of TosMIC → carbanion attacks aldehyde → cyclization onto isocyanide carbon → [1,2]-elimination of TsH → oxazole.",
2764
+ refs="Van Leusen, Wildeman, Oldenziel, JOC 1977, 42, 1153.",
2765
+ related="Hantzsch Pyridine, Fischer Indole",
2766
+ functional_groups="aldehyde, isocyanide, oxazole, TosMIC")
2767
+
2768
+ # --- Rearrangements (v7.1.0) ---
2769
+
2770
+ _nr("Fries Rearrangement",
2771
+ aliases=["Fries"],
2772
+ category="Rearrangement", type_="Acyl Migration",
2773
+ summary="Lewis acid-catalyzed rearrangement of aryl esters to hydroxyaryl ketones (ortho or para).",
2774
+ conditions="ArOC(=O)R + AlCl3 (1-2 equiv), CS2 or PhNO2 or neat, 25°C (para-selective) or 100-160°C (ortho-selective). Photo-Fries: UV light, no Lewis acid.",
2775
+ substrate="Aryl esters → ortho-hydroxyaryl ketones (high T) or para-hydroxyaryl ketones (low T).",
2776
+ limitations="Stoichiometric AlCl3 (coordinates product). Temperature-dependent regio. Photo-Fries gives ortho-selectively.",
2777
+ mechanism="Lewis acid forms acylium + phenoxide → electrophilic acylation of electron-rich arene → ortho/para selectivity controlled by kinetic vs thermodynamic control.",
2778
+ refs="Fries, Finck, Ber. Dtsch. Chem. Ges. 1908, 41, 4271.",
2779
+ related="Friedel-Crafts Acylation, Beckmann Rearrangement",
2780
+ functional_groups="aryl ester, hydroxyaryl ketone, phenol")
2781
+
2782
+ _nr("Overman Rearrangement",
2783
+ aliases=["Overman"],
2784
+ category="Rearrangement", type_="[3,3]-Sigmatropic",
2785
+ summary="[3,3]-Sigmatropic rearrangement of allylic trichloroacetimidates to allylic trichloroacetamides — converts allylic alcohols to allylic amines.",
2786
+ conditions="Allylic alcohol + Cl3CCN, DBU (cat.), CH2Cl2, RT → trichloroacetimidate. Then: xylene, 140°C, or PdCl2(MeCN)2 (5 mol%), CH2Cl2, RT.",
2787
+ substrate="Allylic alcohols → allylic trichloroacetamides (→ allylic amines after hydrolysis). 1,3-Chirality transfer with suprafacial selectivity.",
2788
+ limitations="Thermal conditions harsh. Pd-catalyzed version much milder but can give different stereoselectivity. Trichloroacetamide must be hydrolyzed to free amine.",
2789
+ mechanism="[3,3]-Sigmatropic (like Claisen) through chair TS. Imidate O → amide N. Chirality transfers with predictable stereochemistry.",
2790
+ refs="Overman, JACS 1976, 98, 2901. Overman, Angew. Chem. Int. Ed. 1984, 23, 579.",
2791
+ related="Claisen Rearrangement, Ireland-Claisen",
2792
+ functional_groups="allylic alcohol, trichloroacetimidate, allylic amine")
2793
+
2794
+ _nr("Schmidt Reaction",
2795
+ aliases=["Schmidt"],
2796
+ category="Rearrangement", type_="Nitrogen Insertion",
2797
+ summary="Acid-catalyzed reaction of carboxylic acids, ketones, or aldehydes with hydrazoic acid (HN3) to give amines, lactams, or nitriles.",
2798
+ conditions="Substrate + NaN3, H2SO4 (conc.) or TfOH, CHCl3 or CH2Cl2, 0°C-RT. Ketone variant: intramolecular (for lactam formation in total synthesis).",
2799
+ substrate="RCOOH + HN3 → RNH2 (amine). R2CO + HN3 → lactam (Beckmann-like). RCHO + HN3 → RCN (nitrile).",
2800
+ limitations="HN3 is toxic and explosive! Handle with extreme care. Regioselectivity in unsymmetrical ketones: migratory aptitude of anti-periplanar group.",
2801
+ mechanism="Acid activates substrate → nucleophilic addition of HN3 → 1,2-shift (anti-periplanar migration) with loss of N2 → iminium/acylium → hydrolysis → product.",
2802
+ refs="Schmidt, Ber. Dtsch. Chem. Ges. 1924, 57, 704.",
2803
+ related="Beckmann Rearrangement, Curtius Rearrangement, Hofmann Rearrangement",
2804
+ functional_groups="ketone, carboxylic acid, HN3, lactam, amine")
2805
+
2806
+ _nr("Piancatelli Rearrangement",
2807
+ aliases=["Piancatelli"],
2808
+ category="Rearrangement", type_="Ring Contraction/Expansion",
2809
+ summary="Acid-catalyzed rearrangement of 2-furylcarbinols to 4-hydroxycyclopentenones (or with amines to give aminocyclopentenones).",
2810
+ conditions="2-Furylcarbinol, H2O, acid (p-TsOH, La(OTf)3, Dy(OTf)3), 60-120°C. Aza-Piancatelli: amine instead of H2O.",
2811
+ substrate="2-Furylcarbinols → trans-4-hydroxycyclopentenones. Aza variant: + RNH2 → trans-4-aminocyclopentenones.",
2812
+ limitations="Requires furfuryl alcohol substrates. Diastereoselectivity typically trans (thermodynamic). Moderate yields for some substrates.",
2813
+ mechanism="Acid-catalyzed ring-opening of furan → hydroxypentadienyl cation → 4π electrocyclic ring closure (conrotatory) → cyclopentenone.",
2814
+ refs="Piancatelli, Scettri, D'Auria, Tetrahedron 1980, 36, 661.",
2815
+ related="Paal-Knorr, Favorskii Rearrangement",
2816
+ functional_groups="furfuryl alcohol, cyclopentenone, furan")
2817
+
2818
+ _nr("Meinwald Rearrangement",
2819
+ aliases=["Meinwald"],
2820
+ category="Rearrangement", type_="Epoxide Ring-Opening",
2821
+ summary="Lewis or Brønsted acid-catalyzed isomerization of epoxides to carbonyl compounds (aldehydes or ketones).",
2822
+ conditions="Epoxide + BF3·Et2O (0.1-1 equiv) or ZnBr2, MgBr2, LiClO4, InCl3, CH2Cl2, -78°C to RT.",
2823
+ substrate="Aryl epoxides → aryl acetaldehydes (1,2-hydride shift) or aryl methyl ketones (1,2-aryl shift). Selectivity depends on Lewis acid and substitution.",
2824
+ limitations="Regiochemistry of ring-opening (which C-O breaks) and migratory aptitude determine product. Competitive elimination to allylic alcohol.",
2825
+ mechanism="Lewis acid coordinates to epoxide O → heterolytic C-O cleavage → carbocation stabilized by adjacent group → 1,2-shift (H or aryl) → carbonyl.",
2826
+ refs="Meinwald, Sinz, Crandall, JACS 1963, 85, 582.",
2827
+ related="Payne rearrangement, Favorskii Rearrangement",
2828
+ functional_groups="epoxide, aldehyde, ketone, Lewis acid")
2829
+
2830
+ # --- Other Useful Reactions (v7.1.0) ---
2831
+
2832
+ _nr("Arbuzov Reaction",
2833
+ aliases=["Michaelis-Arbuzov", "Arbuzov"],
2834
+ category="Functional Group Transformation", type_="P-C Bond Formation",
2835
+ summary="Reaction of trialkyl phosphites with alkyl halides to give dialkyl alkylphosphonates (Wittig-Horner reagents).",
2836
+ conditions="P(OR)3 + R'X (X = I, Br, OTs), neat or in toluene, 80-160°C, 2-24 h. Iodides fastest. No catalyst needed.",
2837
+ substrate="Trialkyl phosphites + alkyl halides → phosphonates. Product phosphonates used in HWE olefination.",
2838
+ limitations="Only primary and some secondary halides (SN2). Tertiary halides give elimination. Requires high temperature. Halide byproduct.",
2839
+ mechanism="SN2 by P on alkyl halide → phosphonium salt → dealkylation by halide (SN2 on P-alkyl) → phosphonate + RX.",
2840
+ refs="Arbuzov, J. Russ. Phys. Chem. Soc. 1906, 38, 687.",
2841
+ related="Horner-Wadsworth-Emmons, Wittig",
2842
+ functional_groups="phosphite, alkyl halide, phosphonate")
2843
+
2844
+ _nr("Balz-Schiemann Reaction",
2845
+ aliases=["Schiemann reaction", "Balz-Schiemann"],
2846
+ category="Functional Group Transformation", type_="Halogenation",
2847
+ summary="Thermal decomposition of aryldiazonium tetrafluoroborates to give aryl fluorides.",
2848
+ conditions="ArNH2 → ArN2+ BF4⁻ (diazotization with NaNO2/HBF4). Dry ArN2+BF4⁻ → thermal decomposition (Δ, 80-150°C) → ArF + N2 + BF3.",
2849
+ substrate="Aromatic amines → aryl fluorides (via diazonium tetrafluoroborate).",
2850
+ limitations="Diazonium salts potentially explosive when dry — handle with care! Moderate yields. Modern alternatives: Pd-catalyzed fluorination, nucleophilic aromatic substitution.",
2851
+ mechanism="ArNH2 + HONO → ArN2+ → ion exchange with HBF4 → ArN2+BF4⁻ → thermal or photolytic loss of N2 → aryl cation → fluoride transfer from BF4⁻ → ArF.",
2852
+ refs="Balz, Schiemann, Ber. Dtsch. Chem. Ges. 1927, 60, 1186.",
2853
+ related="Sandmeyer Reaction",
2854
+ functional_groups="amine, diazonium, aryl fluoride")
2855
+
2856
+ _nr("Burgess Reagent Dehydration",
2857
+ aliases=["Burgess reagent", "Burgess"],
2858
+ category="Functional Group Transformation", type_="Dehydration",
2859
+ summary="Mild, neutral dehydration of secondary and tertiary alcohols to alkenes using Burgess reagent (methyl N-(triethylammoniumsulfonyl)carbamate).",
2860
+ conditions="Burgess reagent (1.1-1.5 equiv), benzene or toluene or THF, reflux, 1-4 h. Also: microwave, 80-120°C, 5-15 min.",
2861
+ substrate="2° and 3° alcohols → alkenes (syn-elimination, cis product from trans-diaxial alcohol). Also dehydrates primary amides → nitriles.",
2862
+ limitations="Sensitive to moisture (store under N2). syn-Elimination selectivity. Not for primary alcohols (no β-H elimination possible).",
2863
+ mechanism="Alcohol attacks electrophilic S of Burgess reagent → carbamate intermediate → intramolecular syn-elimination (Ei, concerted) → alkene.",
2864
+ refs="Burgess, Penton, Taylor, JOC 1973, 38, 26. Atkins, Burgess, JACS 1968, 90, 4744.",
2865
+ related="Martin sulfurane, Corey-Winter, Bamford-Stevens",
2866
+ functional_groups="alcohol, alkene, dehydration, nitrile")
2867
+
2868
+ _nr("Corey-Nicolaou Macrolactonization",
2869
+ aliases=["Corey-Nicolaou"],
2870
+ category="Functional Group Transformation", type_="Macrolactonization",
2871
+ summary="Thioester activation for macrolactone formation. Forms macrocyclic lactones from ω-hydroxy acids under mild conditions.",
2872
+ conditions="ω-Hydroxy acid + 2,2'-dipyridyl disulfide (Aldrithiol-2) + PPh3, CH2Cl2, RT → 2-pyridinethiol ester. Then high-dilution cyclization in toluene, reflux (or RT).",
2873
+ substrate="ω-Hydroxy acids (seco-acids) → macrolactones (12-16+ membered rings). Key reaction in macrolide natural product synthesis.",
2874
+ limitations="Requires high dilution (0.001-0.01 M) to favor cyclization over oligomerization. Thiol byproduct. Multiple steps.",
2875
+ mechanism="PPh3 activates disulfide → mixed anhydride → thioester → intramolecular lactonization: thioester C=O activated by protonation (2-pyridinethiol is good leaving group + internal base).",
2876
+ refs="Corey, Nicolaou, JACS 1974, 96, 5614.",
2877
+ related="Yamaguchi Esterification, Shiina Macrolactonization, Steglich Esterification",
2878
+ functional_groups="ω-hydroxy acid, macrolactone, thioester")
2879
+
2880
+ _nr("Koenigs-Knorr Glycosylation",
2881
+ aliases=["Koenigs-Knorr"],
2882
+ category="Functional Group Transformation", type_="Glycosylation",
2883
+ summary="Ag or Hg salt-promoted glycosylation of glycosyl halides with alcohols to form O-glycosidic bonds.",
2884
+ conditions="Glycosyl bromide (peracetylated) + ROH, Ag2CO3 or AgOTf or HgBr2/Hg(CN)2 (promoter), CH2Cl2 or MeCN, molecular sieves, RT-40°C.",
2885
+ substrate="Glycosyl bromides/chlorides + alcohols → glycosides (α or β depending on C2 participation). Neighboring group participation by C2-OAc → 1,2-trans (β-glucoside).",
2886
+ limitations="Requires glycosyl halide (synthesis step). Anomeric selectivity depends on protecting groups and conditions. Ag salts expensive.",
2887
+ mechanism="Ag+ or Hg2+ abstracts halide → oxocarbenium ion → if C2-acyl participating group: acyloxonium intermediate → nucleophilic attack from opposite face → 1,2-trans product.",
2888
+ refs="Koenigs, Knorr, Ber. Dtsch. Chem. Ges. 1901, 34, 957.",
2889
+ related="Fischer glycosylation, Ferrier Rearrangement",
2890
+ functional_groups="glycosyl halide, alcohol, glycoside, carbohydrate")
2891
+
2892
+ _nr("Modified Julia Olefination",
2893
+ aliases=["Julia-Kocienski", "Kocienski olefination", "Barbier-Julia"],
2894
+ category="C-C Bond Formation", type_="Olefination",
2895
+ summary="One-pot olefination using heteroaryl sulfones (benzothiazol-2-yl or 1-phenyl-1H-tetrazol-5-yl) with aldehydes. More practical than classical Julia-Lythgoe.",
2896
+ conditions="Sulfone + n-BuLi or LiHMDS or KHMDS (1.1 equiv), THF, -78°C, then RCHO, -78°C → RT. E-selective with KHMDS; Z-selective with smaller bases in some cases.",
2897
+ substrate="Alkyl/benzyl BT-sulfones or PT-sulfones + aldehydes → alkenes (E or Z depending on base/sulfone). SO2 and heterocycle lost directly.",
2898
+ limitations="Sulfone preparation required. E/Z selectivity substrate-dependent. Some reagent cost for BT/PT sulfones.",
2899
+ mechanism="Metallated sulfone + RCHO → β-alkoxysulfone → Smiles rearrangement → spontaneous elimination of SO2 + ArOH → alkene. One-pot (unlike classical Julia which requires reduction step).",
2900
+ refs="Baudin, Julia, Bull. Soc. Chim. Fr. 1993, 130, 856. Blakemore, J. Chem. Soc., Perkin Trans. 1 2002, 2563.",
2901
+ related="Julia-Lythgoe, Wittig, HWE, Peterson",
2902
+ functional_groups="sulfone, aldehyde, alkene")
2903
+
2904
+ _nr("Shapiro Reaction",
2905
+ aliases=["Shapiro"],
2906
+ category="C-C Bond Formation", type_="Olefination",
2907
+ summary="Base-induced decomposition of tosylhydrazones to give alkenes via vinyl dianion (vinylcarbenoid) intermediates.",
2908
+ conditions="Tosylhydrazone + n-BuLi (2.2 equiv), THF or TMEDA, -78°C → 0°C → RT. Or: NaH, DME, reflux.",
2909
+ substrate="Ketone or aldehyde → tosylhydrazone → vinyl dianion → alkene (less substituted alkene preferred = Hofmann selectivity).",
2910
+ limitations="Requires stoichiometric strong base (2 equiv needed). Regioselectivity gives less substituted alkene. Not for base-sensitive substrates.",
2911
+ mechanism="First equiv n-BuLi → deprotonation → dianion. Second equiv → α-elimination of TsLi → diazene → loss of N2 → vinyl carbenoid → protonation → alkene (or trapping with electrophile).",
2912
+ refs="Shapiro, Health, JACS 1967, 89, 5734.",
2913
+ related="Bamford-Stevens, Wolff-Kishner, Wittig",
2914
+ functional_groups="ketone, tosylhydrazone, alkene, vinyl carbenoid")
2915
+
2916
+ _nr("Roskamp Reaction",
2917
+ aliases=["Roskamp"],
2918
+ category="C-C Bond Formation", type_="Homologation",
2919
+ summary="Lewis acid-catalyzed reaction of aldehydes with ethyl diazoacetate to give β-keto esters (homologation).",
2920
+ conditions="RCHO + N2CHCO2Et, BF3·Et2O or SnCl2 or Lewis acid (1-10 mol%), CH2Cl2, 0°C-RT, 1-4 h.",
2921
+ substrate="Aldehydes + EDA → β-keto esters. One-carbon homologation with introduction of ester group.",
2922
+ limitations="Diazo compounds require careful handling (toxic, potentially explosive). Lewis acid choice affects yield. Ketones less reactive.",
2923
+ mechanism="Lewis acid activates aldehyde → nucleophilic addition of diazo → 1,2-H shift with loss of N2 → β-keto ester.",
2924
+ refs="Roskamp, Johnson, JACS 1986, 108, 6062.",
2925
+ related="Arndt-Eistert, Tiffeneau-Demjanov",
2926
+ functional_groups="aldehyde, diazoacetate, β-keto ester")
2927
+
2928
+ _nr("Rieche Formylation",
2929
+ aliases=["Rieche"],
2930
+ category="Functional Group Transformation", type_="C-H Formylation",
2931
+ summary="Lewis acid-catalyzed ortho-formylation of electron-rich arenes using dichloromethyl methyl ether (Cl2CHOMe) as formyl equivalent.",
2932
+ conditions="ArH + Cl2CHOMe (1.1 equiv), TiCl4 or SnCl4 (1.1 equiv), CH2Cl2, -78°C → 0°C, 1-4 h. Then aqueous workup.",
2933
+ substrate="Electron-rich arenes (phenols, anisoles, indoles) → aryl aldehydes. Ortho-selective when position available.",
2934
+ limitations="Requires electron-rich arenes. TiCl4 stoichiometric. Low temperature needed. Competing poly-formylation.",
2935
+ mechanism="TiCl4 + Cl2CHOMe → chloromethyleneoxy cation (or free chloro carbocation) → electrophilic aromatic substitution → α-chloro ether intermediate → hydrolysis → aldehyde.",
2936
+ refs="Rieche, Gross, Höft, Chem. Ber. 1960, 93, 88.",
2937
+ related="Vilsmeier-Haack Formylation, Friedel-Crafts Acylation, Duff reaction",
2938
+ functional_groups="arene, aldehyde, TiCl4")
2939
+
2940
+ _nr("Prevost Reaction",
2941
+ aliases=["Prevost", "Prevost dihydroxylation"],
2942
+ category="Functional Group Transformation", type_="Dihydroxylation",
2943
+ summary="Silver carboxylate/iodine-mediated anti-dihydroxylation of alkenes via cyclic iodonium/diacetate intermediates.",
2944
+ conditions="Alkene + I2 (1 equiv) + AgOAc (2 equiv), AcOH or CCl4, reflux. Woodward modification (wet conditions): gives syn-diol.",
2945
+ substrate="Alkenes → anti-1,2-diols (after saponification of diacetate). Woodward variant (H2O present): syn-1,2-diols.",
2946
+ limitations="Stoichiometric Ag and I2. Functional group tolerance limited. Largely superseded by Sharpless AD.",
2947
+ mechanism="I2 + alkene → cyclic iodonium → AgOAc opens anti → iodoacetate → second AgOAc displaces I (SN2, inversion) → anti-diacetate → hydrolysis → anti-diol.",
2948
+ refs="Prevost, C.R. Acad. Sci. 1933, 196, 1129. Woodward, Brutcher, JACS 1958, 80, 209.",
2949
+ related="Sharpless Dihydroxylation, Upjohn Dihydroxylation",
2950
+ functional_groups="alkene, diol, iodine, silver acetate")
2951
+
2952
+ _nr("Polonovski Reaction",
2953
+ aliases=["Polonovski", "Potier-Polonovski"],
2954
+ category="Functional Group Transformation", type_="N-Demethylation",
2955
+ summary="TFAA-mediated conversion of N-oxides to iminium ions (Potier modification), enabling C-C bond formation or N-demethylation.",
2956
+ conditions="Amine N-oxide + TFAA (1.1 equiv), CH2Cl2, -78°C → 0°C. Potier: add nucleophile (CN⁻, allylsilane, silyl enol ether) to trap iminium.",
2957
+ substrate="Tertiary amine N-oxides → iminium ions → trapped by nucleophiles or reduced (N-demethylation).",
2958
+ limitations="Requires N-oxide preparation (m-CPBA oxidation). Regioselectivity of elimination. Sensitive to reaction temperature.",
2959
+ mechanism="TFAA activates N-oxide → [2,3]-elimination → iminium + trifluoroacetaldehyde → nucleophilic addition → functionalized amine.",
2960
+ refs="Polonovski, Polonovski, Bull. Soc. Chim. Fr. 1927, 41, 1190. Potier, Janot, Ann. Pharm. Fr. 1973, 31, 707.",
2961
+ related="Eschweiler-Clarke, Mannich",
2962
+ functional_groups="N-oxide, iminium, amine")
2963
+
2964
+ _nr("Kharasch Addition",
2965
+ aliases=["Kharasch", "atom transfer radical addition", "ATRA"],
2966
+ category="C-C Bond Formation", type_="Radical Addition",
2967
+ summary="Radical addition of polyhalomethanes (CCl4, CBr4, CHCl3) across alkenes — anti-Markovnikov addition with atom transfer.",
2968
+ conditions="Alkene + CCl4, CuCl (5-10 mol%) or [RuCl2(PPh3)3] or AIBN (radical initiator), 60-80°C. Modern: photoredox catalysis.",
2969
+ substrate="Terminal alkenes + CX4 → 1:1 adducts (anti-Markovnikov Cl3C-CH2-CHR-Cl). Useful for trichloromethylation.",
2970
+ limitations="Polymerization (telomerization) competes with 1:1 addition. Selectivity depends on catalyst and conditions.",
2971
+ mechanism="CuCl/L → Cl• radical from CCl4 (via inner-sphere electron transfer) → •CCl3 adds to alkene → radical → atom transfer from CuCl2 → product + CuCl.",
2972
+ refs="Kharasch, Jensen, Urry, Science 1945, 102, 128.",
2973
+ related="Minisci, Meerwein arylation",
2974
+ functional_groups="alkene, CCl4, radical, atom transfer")
2975
+
2976
+ _nr("Blanc Chloromethylation",
2977
+ aliases=["Blanc reaction"],
2978
+ category="Functional Group Transformation", type_="Electrophilic Aromatic Substitution",
2979
+ summary="Introduction of a chloromethyl (-CH2Cl) group onto aromatic rings using formaldehyde and HCl.",
2980
+ conditions="ArH + HCHO (37% aq. or paraformaldehyde) + HCl (conc.) or ZnCl2 catalyst, AcOH, 40-60°C.",
2981
+ substrate="Activated arenes → ArCH2Cl (benzylic chlorides). Useful for subsequent SN2, Sommelet (→ ArCHO), or Friedel-Crafts.",
2982
+ limitations="Bis(chloromethyl) ether (BCME) is a potent carcinogen formed as byproduct — extreme caution! Use ZnCl2/HCl alternative. Regioselectivity: ortho/para.",
2983
+ mechanism="HCHO + HCl → ClCH2OH (chloromethanol) → electrophilic aromatic substitution (SE-Ar) → ArCH2Cl + H2O.",
2984
+ refs="Blanc, Bull. Soc. Chim. Fr. 1923, 33, 313.",
2985
+ related="Friedel-Crafts Alkylation, Vilsmeier-Haack",
2986
+ functional_groups="arene, chloromethyl, formaldehyde, SAFETY: BCME carcinogen")
2987
+
2988
+ _nr("Mander Methylenation",
2989
+ aliases=["Mander reagent", "Mander's reagent"],
2990
+ category="Functional Group Transformation", type_="Ester Introduction",
2991
+ summary="Introduction of a methoxycarbonyl group at the α-position of ketones using methyl cyanoformate (Mander's reagent, NCCO2Me).",
2992
+ conditions="Ketone → enolate (LDA, LiHMDS, or NaH, THF, -78°C) + NCCO2Me (1.1-1.5 equiv), -78°C → RT, 1-12 h.",
2993
+ substrate="Ketone enolates + NCCO2Me → α-carbomethoxy ketones (β-keto esters). Regioselective based on enolate formation.",
2994
+ limitations="Requires regioselective enolization. CN⁻ byproduct. Excess reagent can give over-alkylation. Moisture-sensitive.",
2995
+ mechanism="Enolate C-nucleophile attacks electrophilic C of NCCO2Me → tetrahedral intermediate → loss of CN⁻ → β-keto ester.",
2996
+ refs="Mander, Sethi, Tetrahedron Lett. 1983, 24, 5425.",
2997
+ related="Claisen Condensation, Dieckmann Cyclization",
2998
+ functional_groups="ketone, enolate, β-keto ester, cyanoformate")
2999
+
3000
+ _nr("Eschenmoser-Tanabe Fragmentation",
3001
+ aliases=["Eschenmoser fragmentation"],
3002
+ category="Fragmentation", type_="Ring Fragmentation",
3003
+ summary="Base-induced fragmentation of α,β-epoxyketones to give alkynyl ketones (ynones) via ring opening.",
3004
+ conditions="α,β-Epoxyketone + arenesulfonyl hydrazine (TsNHNH2 or mesitylenesulfonyl hydrazide), then Et3N or NaOAc, CH2Cl2 or EtOH, RT-60°C.",
3005
+ substrate="α,β-Epoxyketones → ynones (ring-opened products with triple bond). Useful for macrocyclic ring expansion or opening.",
3006
+ limitations="Requires access to α,β-epoxyketone. Sulfonyl hydrazide needed. Not all ring systems fragment cleanly.",
3007
+ mechanism="Hydrazone formation at ketone → epoxide opens (anti-periplanar) → β-elimination of sulfonyl group → diazo intermediate → loss of N2 → vinyl carbene → alkyne.",
3008
+ refs="Eschenmoser, Felix, Ohloff, Helv. Chim. Acta 1967, 50, 708. Tanabe, Hayashi, JACS 1971, 93, 3779.",
3009
+ related="Wharton Fragmentation, Bamford-Stevens",
3010
+ functional_groups="epoxyketone, ynone, alkyne, fragmentation")
3011
+
3012
+ _nr("Carroll Rearrangement",
3013
+ aliases=["Carroll"],
3014
+ category="Rearrangement", type_="[3,3]-Sigmatropic",
3015
+ summary="[3,3]-Sigmatropic rearrangement of allylic esters of β-keto acids, followed by decarboxylation, to give γ,δ-unsaturated ketones.",
3016
+ conditions="Allylic acetoacetate, 150-200°C, or Pd(0) catalysis (Pd(PPh3)4, 5 mol%, THF, 65°C) for much milder conditions.",
3017
+ substrate="Allylic β-keto esters → γ,δ-unsaturated ketones (after decarboxylation). Combines Claisen rearrangement + decarboxylation in one pot.",
3018
+ limitations="Thermal version requires harsh conditions. Pd-catalyzed version milder but requires tuning. Competing retro-Claisen.",
3019
+ mechanism="Enolization → [3,3]-sigmatropic (like Claisen) → β-keto acid → decarboxylation → γ,δ-unsaturated ketone.",
3020
+ refs="Carroll, J. Chem. Soc. 1940, 704.",
3021
+ related="Claisen Rearrangement, Ireland-Claisen, Eschenmoser-Claisen",
3022
+ functional_groups="allylic ester, β-keto acid, ketone")
3023
+
3024
+
3025
+
2504
3026
  # =============================================================================
2505
3027
  # Lookup Functions
2506
3028
  # =============================================================================
@@ -3390,3 +3912,803 @@ def lookup_nmr_solvent(query: str) -> list[dict]:
3390
3912
  if not results and q in ("all", "table", "list", ""):
3391
3913
  return NMR_SOLVENTS
3392
3914
  return results
3915
+
3916
+
3917
+
3918
+ # =============================================================================
3919
+ # Lab Tips — "Law of the Lab" practical bench wisdom (v7.1.0)
3920
+ # =============================================================================
3921
+
3922
+ LAB_TIPS: dict[str, list[dict]] = {
3923
+ "reaction_setup": [
3924
+ {"title": "Grignard initiation tricks",
3925
+ "tip": "If your Grignard won't start: (1) Crush Mg turnings with a glass rod in the flask to expose fresh surface. (2) Add a crystal of I2 — it etches the oxide layer. (3) Add 1-2 drops of 1,2-dibromoethane — exothermic reaction initiates. (4) Use a heat gun on the flask exterior briefly. (5) Sonication works. (6) As a last resort, add a few drops of pre-formed Grignard (if available) or use Rieke Mg.",
3926
+ "category": "reaction_setup", "tags": "grignard, initiation, magnesium, troubleshooting"},
3927
+ {"title": "Degassing solvents properly",
3928
+ "tip": "Three methods: (1) Freeze-pump-thaw (FPT): freeze in liquid N2, evacuate, thaw, repeat 3×. Gold standard. (2) Sparge: bubble N2 or Ar through solvent for 15-30 min via needle. Good for large volumes. (3) Sonication under vacuum: fastest but least thorough. For cross-coupling and air-sensitive chemistry, FPT is ideal.",
3929
+ "category": "reaction_setup", "tags": "degassing, air-sensitive, freeze-pump-thaw, sparge"},
3930
+ {"title": "Stirring matters more than you think",
3931
+ "tip": "Heterogeneous reactions (Pd/C, K2CO3 suspensions, biphasic) often fail due to poor stirring. Use an appropriately sized stir bar (should cover ~2/3 flask bottom). Egg-shaped for round-bottoms. For viscous mixtures: overhead stirring >> magnetic. If your TLC shows no reaction after 2h, check the stirring first.",
3932
+ "category": "reaction_setup", "tags": "stirring, heterogeneous, troubleshooting"},
3933
+ {"title": "Syringe technique for air-sensitive reagents",
3934
+ "tip": "Flush syringe with N2/Ar before drawing reagent. Use a long needle through septum. Draw slightly more than needed, invert, push out bubbles. Deliver at steady rate — rushing causes spattering. For large volumes (>10 mL), use cannula transfer instead. Replace septa that have been punctured >5 times.",
3935
+ "category": "reaction_setup", "tags": "syringe, air-sensitive, cannula, technique"},
3936
+ {"title": "Scale-up: heat transfer changes everything",
3937
+ "tip": "What worked at 0.5 mmol may fail at 50 mmol. Key changes: (1) Exotherms are much worse — add reagents more slowly. (2) Cooling baths must be larger. (3) Stirring efficiency drops. (4) Concentration may need adjustment. (5) Reaction times increase (mass transfer limited). Rule of thumb: first scale 5-10×, not 100×.",
3938
+ "category": "reaction_setup", "tags": "scale-up, exotherm, heat transfer"},
3939
+ {"title": "Molecular sieves: activation is critical",
3940
+ "tip": "Molecular sieves (3Å or 4Å) must be activated before use: heat to 250-300°C under vacuum for 4-8 h, or microwave for 5 min at high power. Flame-drying (heat gun + vacuum) works for small amounts. Cool under N2/Ar, store in desiccator. Old/saturated sieves are useless. 4Å for general use; 3Å for small molecules (H2O, MeOH); 5Å for larger molecules.",
3941
+ "category": "reaction_setup", "tags": "molecular sieves, drying, activation"},
3942
+ ],
3943
+ "temperature_control": [
3944
+ {"title": "Cooling bath temperatures (quick reference)",
3945
+ "tip": "0°C: ice/water. -10 to -15°C: ice/NaCl (rock salt). -20°C: ice/CaCl2 or dry ice/ethylene glycol. -42°C: dry ice/MeCN. -78°C: dry ice/acetone (or dry ice/iPrOH). -98°C: liquid N2/MeOH (CAUTION). -116°C: liquid N2/ethanol. Keep the bath level above the reaction mixture level. Replenish dry ice regularly — it sublimes!",
3946
+ "category": "temperature_control", "tags": "cooling bath, temperature, dry ice"},
3947
+ {"title": "Cryogenic reaction tips",
3948
+ "tip": "At -78°C: (1) Allow 15 min for flask contents to equilibrate before adding reagents. (2) Add reagents DOWN the flask wall, not directly into solution. (3) Monitor internal temperature if possible (thermocouple through septum). (4) Exothermic additions at low T: slow is key. (5) Stir vigorously — temperature gradients form easily. (6) Wide-mouth Dewar flasks work best for -78°C baths.",
3949
+ "category": "temperature_control", "tags": "cryogenic, low temperature, -78°C, technique"},
3950
+ {"title": "Temperature-dependent selectivity",
3951
+ "tip": "Kinetic vs thermodynamic control: low T → kinetic product (LDA at -78°C for kinetic enolate). High T → thermodynamic product (NaH at RT for thermodynamic enolate). For additions to carbonyls: -78°C often crucial for diastereoselectivity. Warm slowly if you want to catch intermediates on TLC.",
3952
+ "category": "temperature_control", "tags": "kinetic, thermodynamic, selectivity, enolate"},
3953
+ ],
3954
+ "moisture_sensitive": [
3955
+ {"title": "Schlenk line basics",
3956
+ "tip": "Essential for air/moisture-sensitive chemistry. Key rules: (1) Always check manifold for grease cracks. (2) Flame-dry all glassware under vacuum (3× cycle). (3) Use dry N2 or Ar (pass through Drierite column). (4) Keep positive inert gas pressure. (5) Never leave bubblers dry — oil prevents backflow. (6) Label left/right stopcocks clearly: vacuum vs inert gas.",
3957
+ "category": "moisture_sensitive", "tags": "schlenk, air-free, inert atmosphere"},
3958
+ {"title": "Common moisture sources people forget",
3959
+ "tip": "Your reaction might be wet because of: (1) Solvent not dried properly — use solvent system or distill from CaH2/Na. (2) Glassware not flame-dried — even 'oven-dried' glass absorbs H2O. (3) Wet reagents — hygroscopic solids (K2CO3, CsF) need drying. (4) Humid air during transfer. (5) Old/used septa. (6) NMR solvents opened without drying. When in doubt: add molecular sieves.",
3960
+ "category": "moisture_sensitive", "tags": "moisture, drying, water, troubleshooting"},
3961
+ {"title": "Solvent drying guide",
3962
+ "tip": "THF: Na/benzophenone still (blue/purple = dry) or pass through Al2O3. CH2Cl2: CaH2 distillation or Al2O3. DMF: vacuum distillation from CaH2 at reduced pressure (high bp!) or stored over 4Å MS. MeCN: CaH2 distillation. Et2O: Na/benzophenone or Al2O3. Toluene: Na or Al2O3. MeOH: Mg/I2 method. Modern: solvent purification systems (SPS) are the standard.",
3963
+ "category": "moisture_sensitive", "tags": "solvent drying, distillation, purification"},
3964
+ ],
3965
+ "workup_tips": [
3966
+ {"title": "Breaking emulsions — the complete guide",
3967
+ "tip": "(1) Add saturated NaCl (brine) — most effective first step. (2) Add more organic solvent to dilute. (3) Filter through Celite. (4) Add a few drops of iPrOH (breaks surface tension). (5) Centrifuge if available. (6) Let it sit — sometimes 30 min separates layers. (7) Gentle swirling, not vigorous shaking. (8) Add dilute HCl or NaOH to change pH. (9) As a last resort: break emulsion through pipette, discard interface.",
3968
+ "category": "workup", "tags": "emulsion, extraction, troubleshooting, separation"},
3969
+ {"title": "Which drying agent and when",
3970
+ "tip": "Na2SO4: general purpose, cheap, slow (needs 15-30 min), high capacity, removes large amounts of H2O. MgSO4: faster (5-10 min), lower capacity, fine powder can pass through filter. Na2SO4 for large-scale; MgSO4 for quick small-scale. For very dry: molecular sieves after initial drying. Never use Na2SO4 with acid-sensitive compounds (slightly acidic).",
3971
+ "category": "workup", "tags": "drying agent, Na2SO4, MgSO4, extraction"},
3972
+ {"title": "Rotovap technique",
3973
+ "tip": "(1) Water bath ≤40°C for most compounds (volatile aldehydes at 25°C). (2) Spin speed: fast enough for thin film but not splashing. (3) Lower slowly into bath — sudden heating causes bumping. (4) Always use a bump trap. (5) If bumping occurs: reduce vacuum, increase spin speed, add boiling chips. (6) For high-boiling solvents (DMF, DMSO): use high vacuum pump, not house vacuum. (7) Never rotovap HF-containing solutions — etches glass!",
3974
+ "category": "workup", "tags": "rotovap, concentration, evaporation, technique"},
3975
+ {"title": "Aqueous wash sequence for common reactions",
3976
+ "tip": "Standard: H2O → sat. NaHCO3 → brine → dry. After acid-catalyzed: H2O → sat. NaHCO3 (removes acid catalyst) → brine → dry. After base-mediated: H2O → 1M HCl (removes amine/base) → brine → dry. After Pd-catalyzed: filter through Celite first, then standard workup. After DCC coupling: filter urea first, then extract. Always check TLC of each layer!",
3977
+ "category": "workup", "tags": "aqueous workup, washing, extraction, sequence"},
3978
+ ],
3979
+ "purification_tips": [
3980
+ {"title": "When column chromatography fails",
3981
+ "tip": "If your spots co-elute: (1) Try a different solvent system (EtOAc/hex → Et2O/hex → CH2Cl2/MeOH). (2) Add 1% Et3N for basic compounds (prevents tailing). (3) Add 1% AcOH for acidic compounds. (4) Use smaller silica:crude ratio (50:1 → 100:1). (5) Slow gradient (1% steps). (6) Prep TLC for small amounts (<50 mg). (7) Try reverse-phase (C18) or alumina instead of silica.",
3982
+ "category": "purification", "tags": "column, chromatography, troubleshooting, separation"},
3983
+ {"title": "Recrystallization — the underrated technique",
3984
+ "tip": "Often gives higher purity than chromatography. Procedure: (1) Dissolve in minimum hot solvent. (2) Add anti-solvent dropwise until slightly cloudy. (3) Let cool slowly (insulate with cotton/aluminum foil). (4) Scratch flask wall with glass rod to induce crystallization. (5) Collect by filtration (use Büchner funnel + cold wash). Common pairs: EtOH/H2O, EtOAc/hexanes, CH2Cl2/hexanes, hot EtOH alone.",
3985
+ "category": "purification", "tags": "recrystallization, crystallization, purification"},
3986
+ {"title": "Silica gel loading methods",
3987
+ "tip": "Wet loading: dissolve crude in minimum CH2Cl2, load carefully onto silica surface. Dry loading (preferred for large scale): dissolve in CH2Cl2 + add Celite or silica (2× mass), rotovap to dryness → free-flowing powder → load on top of column. Dry loading avoids band broadening from overloading. Never load in DMSO or DMF — they elute slowly and ruin separation.",
3988
+ "category": "purification", "tags": "column, loading, silica, dry loading, technique"},
3989
+ ],
3990
+ "analytical_tips": [
3991
+ {"title": "TLC development tips",
3992
+ "tip": "(1) Spot from dilute solution — overloading gives tailing/streaking. (2) Develop in a pre-saturated chamber (lined with filter paper). (3) Mark spots under UV (254 nm) with pencil IMMEDIATELY — fluorescence fades. (4) Dip in stain (KMnO4 for alkenes/alkynes; vanillin for all; ninhydrin for amines; anisaldehyde for sugars/terpenes). (5) For baseline compounds: try more polar eluent or add 1% AcOH/Et3N.",
3993
+ "category": "analytical", "tags": "TLC, development, staining, troubleshooting"},
3994
+ {"title": "NMR sample preparation matters",
3995
+ "tip": "(1) Use 5-15 mg in 0.6-0.7 mL solvent. (2) Filter through cotton/glass wool plug to remove particulates (causes line broadening). (3) Center sample in coil region (4-5 cm from bottom of tube). (4) For ¹³C: use 20-30 mg minimum (or run overnight). (5) D2O shake: add drop of D2O, shake — exchangeable protons (OH, NH) disappear. (6) For paramagnetic impurities: filter through short silica plug.",
3996
+ "category": "analytical", "tags": "NMR, sample preparation, technique"},
3997
+ {"title": "HRMS: choosing your ionization",
3998
+ "tip": "ESI+ (electrospray, positive): works for most polar/ionizable compounds (amines, amides, peptides). Look for [M+H]+, [M+Na]+, [M+K]+. ESI-: for acids, phenols, sulfonates. APCI: for less polar compounds. EI (electron impact): for volatile small molecules (<500 Da). MALDI: for large molecules (peptides, polymers). If you see [M+Na]+, your compound MW = observed - 22.9898.",
3999
+ "category": "analytical", "tags": "HRMS, mass spec, ionization, ESI"},
4000
+ ],
4001
+ "safety": [
4002
+ {"title": "Azide safety — critical rules",
4003
+ "tip": "⚠️ AZIDES ARE POTENTIALLY EXPLOSIVE. Rules: (1) Never acidify solutions containing NaN3 — HN3 is volatile, toxic (TLV 0.1 ppm), and explosive. (2) Heavy metal azides (Pb, Ag, Hg) are shock-sensitive detonators — NEVER form these. (3) Small organic azides (<C3) can be explosive — keep in solution, never isolate neat. (4) Rule of thumb: (NC + NO)/NTotal ≥ 3 for safe handling. (5) Always destroy excess NaN3 with NaNO2/H2SO4 before disposal. (6) Azide waste → bleach to destroy before drain.",
4004
+ "category": "safety", "tags": "azide, safety, explosive, NaN3, hazard"},
4005
+ {"title": "Peroxide-forming solvents",
4006
+ "tip": "⚠️ EXPLOSION RISK. These solvents form dangerous peroxides on storage/exposure to air: Et2O, THF, dioxane, iPr2O, dimethoxyethane (DME). Rules: (1) Test with KI/starch paper before distilling or concentrating. (2) Date bottles when opened — discard Et2O after 3 months, THF after 6 months. (3) Never distill to dryness. (4) Store over BHT (inhibitor) or molecular sieves. (5) If peroxide test is positive: add FeSO4 or Na2SO3 before concentration.",
4007
+ "category": "safety", "tags": "peroxide, solvent, explosion, THF, Et2O, safety"},
4008
+ {"title": "Swern oxidation odor protocol",
4009
+ "tip": "The Swern oxidation produces dimethyl sulfide (Me2S) — one of the foulest-smelling chemicals in organic chemistry (detectable at 0.001 ppm). Protocol: (1) Work in fume hood with sash down. (2) Have bleach traps ready for DMS waste. (3) Run reaction in well-sealed apparatus. (4) Warn labmates. (5) Alternative DMSO oxidations (Pfitzner-Moffatt, Parikh-Doering) also produce Me2S. (6) Dess-Martin or TEMPO oxidation avoids this entirely.",
4010
+ "category": "safety", "tags": "swern, DMS, smell, odor, oxidation"},
4011
+ {"title": "Pyrophoric reagents: n-BuLi, t-BuLi, LDA, DIBAL-H",
4012
+ "tip": "⚠️ IGNITE ON CONTACT WITH AIR. Rules: (1) Always use sure/seal bottles + needle/syringe technique. (2) Have dry sand bucket nearby (not water extinguisher!). (3) Titrate before use (diphenylacetic acid method for BuLi: yellow→colorless endpoint). (4) t-BuLi: ALWAYS use 2 equiv — first equiv destroys, second is your reagent. Never add t-BuLi to halides containing α-protons. (5) Quench with iPrOH (slow, controlled) not water (violent).",
4013
+ "category": "safety", "tags": "pyrophoric, BuLi, air-sensitive, safety, titration"},
4014
+ {"title": "Ozone (O3) safety",
4015
+ "tip": "⚠️ TOXIC GAS (TLV 0.1 ppm). Ozonolysis protocol: (1) Work in fume hood, keep O3 generator output tubing sealed. (2) Monitor with O3 detector if available. (3) Blue color in O3 solution (at -78°C) indicates saturation — stop generator. (4) Always quench ozonides before warming: PPh3 (→ aldehyde), Me2S (→ aldehyde), NaBH4 (→ alcohol), H2O2 (→ acid). (5) Never warm ozonide intermediates — potentially explosive! (6) Vent excess O3 through KI trap.",
4016
+ "category": "safety", "tags": "ozone, ozonolysis, toxic, safety"},
4017
+ {"title": "Hydrogen gas safety",
4018
+ "tip": "⚠️ FLAMMABLE AND EXPLOSIVE (4-75% in air). Hydrogenation safety: (1) Never use open flames near H2 cylinder. (2) Use balloons or Parr shaker (not pressured bombs) for small scale. (3) Pd/C is pyrophoric when dry + loaded with H2 — always filter wet, never let cake dry on filter. (4) For Parr hydrogenator: check seals, start at low pressure, vent slowly. (5) Evacuate/backfill reaction flask 3× with H2 to purge air.",
4019
+ "category": "safety", "tags": "hydrogen, hydrogenation, Pd/C, flammable, safety"},
4020
+ ],
4021
+ "common_mistakes": [
4022
+ {"title": "Forgetting to check your reagent quality",
4023
+ "tip": "Many failed reactions are due to old/decomposed reagents. Check: (1) n-BuLi: titrate before every use (white precipitate = dead). (2) NaH: old bottles absorb moisture → less reactive (grey instead of white). (3) Pd catalysts: old Pd(PPh3)4 turns green/dark → ineffective. (4) DIAD/DEAD: yellow → red/brown = decomposed. (5) Oxalyl chloride: old bottles have phosgene buildup — open carefully in hood. (6) m-CPBA: titrate with Na2S2O3 (usually 70-77% pure, balance is m-CBA).",
4024
+ "category": "common_mistakes", "tags": "reagent quality, troubleshooting, titration"},
4025
+ {"title": "Concentration matters: dilute vs concentrated",
4026
+ "tip": "Common concentration guidelines: (1) SNAr, SN2: concentrated (0.5-1 M) is fine. (2) Macrolactonization: high dilution essential (0.001-0.01 M). (3) Cross-coupling: 0.1-0.5 M typical. (4) Diels-Alder: concentrated helps (5 M or neat). (5) Radical reactions: 0.1-0.3 M typical. (6) Photochemistry: dilute (0.01-0.05 M) to ensure light penetration. If your reaction is sluggish: try increasing or decreasing concentration.",
4027
+ "category": "common_mistakes", "tags": "concentration, dilution, reaction optimization"},
4028
+ {"title": "TLC before and during — not just after",
4029
+ "tip": "Always run a TLC of your starting material BEFORE starting the reaction (reference spot). Co-spot: apply starting material, product, and co-spot on same plate. This saves hours of wondering which spot is which. Check TLC every 30-60 min for new reactions. Use a pencil (not pen!) to mark TLC plates.",
4030
+ "category": "common_mistakes", "tags": "TLC, monitoring, technique, reference"},
4031
+ {"title": "Base equivalents: substoichiometric kills yield",
4032
+ "tip": "If your reaction needs 'base (1 equiv)' — you need at least 1.05-1.1 equiv to account for moisture, acid impurities, and side reactions. For deprotonations: use 1.1-1.3 equiv of base. For Pd couplings with K2CO3 (2 equiv): weigh carefully — substoichiometric base is the #1 cause of incomplete conversion. Grind K2CO3 fresh for better surface area.",
4033
+ "category": "common_mistakes", "tags": "base, equivalents, stoichiometry, troubleshooting"},
4034
+ ],
4035
+ "time_savers": [
4036
+ {"title": "Parallel TLC: monitor multiple reactions",
4037
+ "tip": "Run multiple reactions at the same time and spot them all on one TLC plate. Use thin lanes (1-2 mm) spaced 5 mm apart. Label with pencil underneath. This is how experienced chemists can run 4-6 reactions simultaneously and know within 2 hours which conditions work best.",
4038
+ "category": "time_savers", "tags": "TLC, parallel, optimization, screening"},
4039
+ {"title": "Quick crude NMR before column",
4040
+ "tip": "Always take a crude ¹H NMR before running a column. This tells you: (1) conversion (starting material present?), (2) product:byproduct ratio, (3) whether chromatography is even necessary (sometimes >90% pure crude can be recrystallized). Saves 2 hours of column for reactions that need re-running.",
4041
+ "category": "time_savers", "tags": "NMR, crude, chromatography, analysis"},
4042
+ {"title": "Overnight reactions: setup for success",
4043
+ "tip": "For reactions left overnight: (1) Ensure stable stirring (bar won't decouple). (2) Check oil bath temperature stability. (3) Top up cooling baths (ice baths won't last — use dry ice/acetone for overnight cold). (4) Leave a note on the hood with your name, date, reaction, expected finish time, and hazards. (5) Use a balloon filled with N2/Ar for positive pressure.",
4044
+ "category": "time_savers", "tags": "overnight, setup, practical, technique"},
4045
+ ],
4046
+ }
4047
+
4048
+
4049
+ def lookup_lab_tips(query: str) -> list[dict]:
4050
+ """Search lab tips by keyword or category."""
4051
+ q = query.lower().strip()
4052
+ results = []
4053
+ seen_titles = set()
4054
+
4055
+ for category, tips in LAB_TIPS.items():
4056
+ for tip in tips:
4057
+ if tip["title"] in seen_titles:
4058
+ continue
4059
+ searchable = " ".join([
4060
+ tip["title"], tip["tip"], tip.get("tags", ""),
4061
+ tip.get("category", ""), category
4062
+ ]).lower()
4063
+ if q in searchable:
4064
+ results.append(tip)
4065
+ seen_titles.add(tip["title"])
4066
+
4067
+ # If query matches a category name, return all tips in that category
4068
+ if not results:
4069
+ for category, tips in LAB_TIPS.items():
4070
+ if q in category.lower():
4071
+ for tip in tips:
4072
+ if tip["title"] not in seen_titles:
4073
+ results.append(tip)
4074
+ seen_titles.add(tip["title"])
4075
+
4076
+ return results[:15]
4077
+
4078
+
4079
+ # =============================================================================
4080
+ # Hazardous Reagent Safety Cards (v7.1.0)
4081
+ # =============================================================================
4082
+
4083
+ SAFETY_CARDS: list[dict] = [
4084
+ {"reagent": "n-Butyllithium (n-BuLi)",
4085
+ "hazards": "Pyrophoric (ignites in air), corrosive. Hexane/pentane solutions.",
4086
+ "handling": "Schlenk line or glovebox. Sure/seal bottle + syringe. Sand bucket nearby (not water). Titrate before each use.",
4087
+ "quench": "Add slowly to iPrOH at 0°C (controlled). Then wash with dilute HCl.",
4088
+ "first_aid": "Skin: brush off solid, flush with water. Fire: smother with sand, CO2 extinguisher.",
4089
+ "storage": "2-8°C under N2. Check concentration regularly."},
4090
+ {"reagent": "t-Butyllithium (t-BuLi)",
4091
+ "hazards": "EXTREMELY pyrophoric — ignites violently in air. Most dangerous common organolithium.",
4092
+ "handling": "Double-tipped needle only. Never open to air. Work in hood with sash down. Sand bucket ready. ALWAYS use 2 equiv (first equiv quenches impurities).",
4093
+ "quench": "iPrOH at -78°C, dropwise. NEVER add to halide solutions at RT (can cause fire).",
4094
+ "first_aid": "Skin: flush with copious water. Fire: sand, CO2 extinguisher. Report immediately.",
4095
+ "storage": "2-8°C under N2. Pentane solutions only (hexane crystallizes at low T)."},
4096
+ {"reagent": "Lithium aluminum hydride (LAH, LiAlH4)",
4097
+ "hazards": "Reacts violently with water (H2 gas + heat → fire). Pyrophoric as fine powder. Strong reductant.",
4098
+ "handling": "Weigh under N2 blanket. Add to dry solvent (THF or Et2O), never add solvent to LAH. Cool to 0°C when adding substrates.",
4099
+ "quench": "Fieser protocol (n:n:3n rule): n mL H2O, n mL 15% NaOH, 3n mL H2O (n = grams LAH). Add each DROPWISE at 0°C.",
4100
+ "first_aid": "Fire: sand or CO2, never water on bulk LAH.",
4101
+ "storage": "Desiccator under N2. Old LAH loses activity → grey/clumpy = degraded."},
4102
+ {"reagent": "Sodium hydride (NaH)",
4103
+ "hazards": "Reacts with water → H2 (fire risk). 60% dispersion in mineral oil is safer than dry NaH.",
4104
+ "handling": "Wash oil dispersion with hexanes under N2 if dry NaH needed (rarely). Add to dry DMF/THF. H2 evolution — use N2-filled balloon to monitor.",
4105
+ "quench": "Slowly add iPrOH or MeOH at 0°C until H2 evolution stops. Then cautious water addition.",
4106
+ "first_aid": "Skin: brush off, flush with water.",
4107
+ "storage": "RT under N2. Protect from moisture. 60% oil dispersion safest form."},
4108
+ {"reagent": "Diazomethane (CH2N2)",
4109
+ "hazards": "⚠️ TOXIC, EXPLOSIVE, CARCINOGENIC. Can detonate on contact with ground glass, rough surfaces, or heat.",
4110
+ "handling": "Generate fresh from Diazald (safe precursor). Use smooth glassware only (no ground glass joints — use rubber sleeves). Work behind blast shield. Keep solutions in Et2O at 0°C. NEVER concentrate or distill.",
4111
+ "quench": "Add AcOH dropwise (converts to methyl acetate + N2). Dilute solution only.",
4112
+ "first_aid": "Inhalation: move to fresh air immediately. Seek medical attention.",
4113
+ "storage": "Do not store. Generate fresh each time. Keep Et2O solutions at -20°C for max 24h."},
4114
+ {"reagent": "Osmium tetroxide (OsO4)",
4115
+ "hazards": "Highly toxic (TLV 0.002 mg/m³). Volatile. Causes irreversible eye damage (corneal ulceration). Readily absorbed through skin.",
4116
+ "handling": "Double gloves (nitrile + butyl rubber). Work in fume hood only. Use catalytic amounts with stoichiometric co-oxidant (NMO). Weigh quickly in hood.",
4117
+ "quench": "Add Na2SO3 or Na2S2O3 (reduces Os(VIII) to insoluble OsO2). Filter and dispose as heavy metal waste.",
4118
+ "first_aid": "Eyes: immediate flush (15 min), seek ophthalmological evaluation. Skin: remove clothing, wash thoroughly.",
4119
+ "storage": "Sealed ampoule in secondary container in fume hood. Solutions in t-BuOH more stable than aqueous."},
4120
+ {"reagent": "Hydrofluoric acid (HF)",
4121
+ "hazards": "⚠️ EXTREMELY DANGEROUS. Penetrates skin painlessly → systemic fluoride poisoning → cardiac arrest. Burns may not be immediately visible.",
4122
+ "handling": "Requires specific HF training and medical protocol. Polyethylene or Teflon containers only (etches glass!). Double nitrile gloves + face shield + HF-rated apron.",
4123
+ "quench": "Neutralize with CaCO3 or Ca(OH)2 slurry. Never pour down drain without treatment.",
4124
+ "first_aid": "Apply calcium gluconate gel IMMEDIATELY (keep in lab near HF). Seek emergency medical attention even for minor exposures. Hospital monitoring required.",
4125
+ "storage": "Polyethylene bottles in secondary containment. Designated HF storage area."},
4126
+ {"reagent": "Sodium azide (NaN3)",
4127
+ "hazards": "Toxic (LD50 ~27 mg/kg oral). Forms explosive heavy metal azides and volatile HN3 in acid. HN3 toxic (TLV 0.1 ppm) and explosive.",
4128
+ "handling": "Never acidify. Never contact heavy metals (Pb, Cu, Ag pipes). Keep alkaline. Use in fume hood.",
4129
+ "quench": "Destroy with NaNO2 in dilute H2SO4 or with bleach (NaOCl). Confirm destruction (test with FeCl3 → no red = azide destroyed).",
4130
+ "first_aid": "Ingestion: seek immediate medical attention. Skin: wash thoroughly.",
4131
+ "storage": "RT, away from acids and heavy metals. Clearly labeled."},
4132
+ {"reagent": "Palladium on carbon (Pd/C)",
4133
+ "hazards": "Pd/C loaded with H2 is pyrophoric. Can ignite spontaneously if allowed to dry while H2-saturated.",
4134
+ "handling": "NEVER let Pd/C filter cake dry on the filter paper. Keep wet with solvent at all times. Filter under N2 atmosphere if possible. Wet filter cake → rinse into waste container with MeOH/H2O.",
4135
+ "quench": "N/A for Pd itself. Spent Pd/C: keep wet, dispose as heavy metal waste.",
4136
+ "first_aid": "Fire: smother with sand or CO2.",
4137
+ "storage": "Store in closed container. Pd/C is reusable if activity hasn't dropped."},
4138
+ ]
4139
+
4140
+
4141
+ def lookup_safety(query: str) -> list[dict]:
4142
+ """Search safety cards by reagent name or keyword."""
4143
+ q = query.lower().strip()
4144
+ results = []
4145
+ for card in SAFETY_CARDS:
4146
+ searchable = " ".join([
4147
+ card["reagent"], card["hazards"], card["handling"],
4148
+ card.get("quench", ""), card.get("storage", ""),
4149
+ ]).lower()
4150
+ if q in searchable:
4151
+ results.append(card)
4152
+ return results
4153
+
4154
+
4155
+ # =============================================================================
4156
+ # Reaction Development Checklist (v7.2.0)
4157
+ # Based on: "Reaction Development: A Student's Checklist"
4158
+ # Kerr, Jenkinson, Sheridan & Sparr, Chem. Soc. Rev. 2025
4159
+ # DOI: 10.1039/D4CS01046A
4160
+ # =============================================================================
4161
+
4162
+ REACTION_DEV_CHECKLIST: dict[str, dict] = {
4163
+ "take_stock": {
4164
+ "name": "Take Stock",
4165
+ "icon": "🔍",
4166
+ "summary": "Confirm product identity, mass balance, conditions necessity, reproducibility, and minimal retron before moving forward.",
4167
+ "questions": [
4168
+ {
4169
+ "header": "Have you made the desired compound?",
4170
+ "checks": [
4171
+ "Have you obtained a range of characterisation data? (¹H/¹³C NMR, HRMS, IR, mp)",
4172
+ "Have you obtained the X-ray crystal structure? (gold standard for connectivity & stereochemistry)",
4173
+ ],
4174
+ "tips": [
4175
+ "Minimum characterisation for new compounds: ¹H NMR, ¹³C NMR, HRMS. Most journals also require IR and melting point for solids.",
4176
+ "X-ray crystallography is the strongest proof of structure — pursue it for key compounds, especially if stereochemistry is in question.",
4177
+ "For oils/non-crystalline compounds, NOESY/ROESY experiments can establish relative stereochemistry.",
4178
+ ],
4179
+ },
4180
+ {
4181
+ "header": "Have you determined where all the atoms go?",
4182
+ "checks": [
4183
+ "Can you write out a balanced equation?",
4184
+ "Where do all of the atoms in the product come from?",
4185
+ "What are the byproducts and side-products?",
4186
+ "Is there involvement from solvent, water or oxygen?",
4187
+ ],
4188
+ "tips": [
4189
+ "A balanced equation ensures your mechanism is plausible. If atoms appear or disappear, something is wrong.",
4190
+ "Isotope labelling (²H, ¹³C, ¹⁸O) can trace atom origins unambiguously.",
4191
+ "Adventitious O₂ or H₂O involvement is surprisingly common — run control experiments under rigorously anhydrous/anaerobic conditions.",
4192
+ "Side-products are mechanistically informative: characterise them, don't just discard.",
4193
+ ],
4194
+ },
4195
+ {
4196
+ "header": "Are all reaction conditions necessary?",
4197
+ "checks": [
4198
+ "How long does it take to reach full conversion?",
4199
+ "Are you operating at the lowest feasible temperature?",
4200
+ "What is the lowest equivalency of reagent that can be used?",
4201
+ "Are all reagents required to achieve product formation?",
4202
+ ],
4203
+ "tips": [
4204
+ "Systematic omission experiments: remove each component one at a time and check if reaction still proceeds.",
4205
+ "Time course studies (TLC/HPLC/NMR monitoring at intervals) reveal optimal reaction time and whether over-reaction occurs.",
4206
+ "Excess reagent ≠ better yield. Optimise stoichiometry — excesses cause purification headaches and waste.",
4207
+ ],
4208
+ },
4209
+ {
4210
+ "header": "Is the reaction reproducible and robust?",
4211
+ "checks": [
4212
+ "Can you reproduce the yield of the reaction?",
4213
+ "Can the purification conditions be reliably reproduced?",
4214
+ "Have you performed a sensitivity screen?",
4215
+ ],
4216
+ "tips": [
4217
+ "Reproduce your best result at least three times. Report average ± standard deviation.",
4218
+ "Glorius sensitivity screen: systematically test additives (H₂O, air, base, acid, radical inhibitors, etc.) to identify which impurities are tolerated or fatal.",
4219
+ "If yield varies between runs, investigate: reagent quality, solvent water content, inert atmosphere integrity, stirring efficiency.",
4220
+ "Record EVERYTHING: batch numbers, solvent lot, ambient temperature, humidity — hidden variables kill reproducibility.",
4221
+ ],
4222
+ },
4223
+ {
4224
+ "header": "Have you found the minimal synthon and retron?",
4225
+ "checks": [
4226
+ "Can the substrate or reagents be simplified?",
4227
+ "Can the reactivity be extended to intermolecular systems?",
4228
+ "Is the minimal retron found in natural products?",
4229
+ ],
4230
+ "tips": [
4231
+ "Strip your substrate to the minimum structure that still reacts — this defines the retron.",
4232
+ "If your reaction is intramolecular, test whether an intermolecular variant is viable (often more useful).",
4233
+ "Search Reaxys or SciFinder for natural products containing your retron — this strengthens the 'Applications' section of your paper.",
4234
+ ],
4235
+ },
4236
+ ],
4237
+ },
4238
+ "kinetics_thermodynamics": {
4239
+ "name": "Kinetics & Thermodynamics",
4240
+ "icon": "📈",
4241
+ "summary": "Establish rate laws, driving forces, equilibrium control, and product stability to understand reactivity fundamentals.",
4242
+ "questions": [
4243
+ {
4244
+ "header": "Can the rate law be determined?",
4245
+ "checks": [
4246
+ "What reagents are involved in the rate-determining step?",
4247
+ "Can you calculate the rate constant?",
4248
+ ],
4249
+ "tips": [
4250
+ "Variable time normalisation analysis (VTNA) or reaction progress kinetic analysis (RPKA, Blackmond) are modern, experiment-efficient approaches to determining rate orders.",
4251
+ "Initial rates method: measure rate at varying [A] while keeping [B] constant, then vice versa.",
4252
+ "In situ IR (ReactIR), in situ NMR, or UV-vis monitoring can provide continuous kinetic data.",
4253
+ ],
4254
+ },
4255
+ {
4256
+ "header": "Can you increase the rate?",
4257
+ "checks": [
4258
+ "What is the effect on the rate of increasing temperature?",
4259
+ "Can you harness the Thorpe-Ingold effect?",
4260
+ ],
4261
+ "tips": [
4262
+ "Arrhenius/Eyring analysis: measure rates at 3-5 temperatures to extract Ea or ΔG‡/ΔH‡/ΔS‡.",
4263
+ "Thorpe-Ingold (gem-disubstitution) effect: installing substituents on a tether can dramatically accelerate cyclisation reactions.",
4264
+ "Microwave heating, ultrasound, or flow chemistry can overcome kinetic barriers.",
4265
+ ],
4266
+ },
4267
+ {
4268
+ "header": "Have you established the steric sensitivity?",
4269
+ "checks": [
4270
+ "What are the steric limits of the reaction?",
4271
+ "Can you favour reactivity using intramolecularisation?",
4272
+ ],
4273
+ "tips": [
4274
+ "Test substrates of increasing steric demand: Me < Et < iPr < tBu < Ad (or ortho-substituents in arenes).",
4275
+ "A-values and cone angles quantify steric demands — use Tolman cone angles for phosphine ligands.",
4276
+ "Intramolecular reactions benefit from effective molarity — can be 10³-10⁸ M higher than intermolecular equivalents.",
4277
+ ],
4278
+ },
4279
+ {
4280
+ "header": "Have you identified the reaction driving force?",
4281
+ "checks": [
4282
+ "What is the thermodynamic driving force?",
4283
+ "Can you estimate the value of ΔH and ΔS?",
4284
+ "Can you run the reaction at a higher pressure?",
4285
+ "Can you destabilise the starting materials?",
4286
+ ],
4287
+ "tips": [
4288
+ "Common driving forces: aromatisation, ring strain release, gas evolution (N₂, CO₂, CO), precipitation, chelation.",
4289
+ "DFT calculations (B3LYP, ωB97X-D, M06-2X) with a good basis set can estimate ΔG reliably for organic reactions.",
4290
+ "Le Chatelier: remove product (distillation, precipitation, Dean-Stark) or use excess of cheap reagent to drive equilibria.",
4291
+ "High pressure favours reactions with negative ΔV‡ (bond-forming steps, cycloadditions).",
4292
+ ],
4293
+ },
4294
+ {
4295
+ "header": "Can you bias an equilibrium?",
4296
+ "checks": [
4297
+ "Can you stabilise an intermediate at equilibrium?",
4298
+ "Can you evolve or precipitate the product or byproduct?",
4299
+ ],
4300
+ "tips": [
4301
+ "Dean-Stark trap: removes H₂O azeotropically — drives esterifications, imine formation, acetal formation.",
4302
+ "Molecular sieves: 3Å for H₂O, 4Å for larger molecules like MeOH.",
4303
+ "Product precipitation: choose solvent systems where the product crashes out (e.g., Suzuki coupling in aqueous conditions).",
4304
+ ],
4305
+ },
4306
+ {
4307
+ "header": "Is the intended product stable?",
4308
+ "checks": [
4309
+ "Is the product stable under the reaction conditions?",
4310
+ "Does the product decompose, polymerise, or isomerise on standing?",
4311
+ ],
4312
+ "tips": [
4313
+ "Monitor product stability: re-submit product to reaction conditions and check for degradation.",
4314
+ "Some products are kinetic products — test thermal stability and check if thermodynamic products form over time.",
4315
+ "Protect sensitive products immediately after isolation (store under N₂, in dark, at low temperature as needed).",
4316
+ ],
4317
+ },
4318
+ ],
4319
+ },
4320
+ "mechanism": {
4321
+ "name": "Mechanism",
4322
+ "icon": "⚙️",
4323
+ "summary": "Gather experimental and computational evidence for the reaction mechanism — KIE, spectroscopy, radical clocks, Hammett, computation.",
4324
+ "questions": [
4325
+ {
4326
+ "header": "Do you have evidence for the mechanism?",
4327
+ "checks": [
4328
+ "Can you measure kinetic isotope effects (KIE)?",
4329
+ "Can you monitor the reaction with in situ spectroscopy?",
4330
+ "Are the bond forming steps concerted or stepwise?",
4331
+ "Can you conceive of a radical clock experiment?",
4332
+ "Can you measure the quantum yield of the reaction?",
4333
+ "Can you estimate the frontier molecular orbitals?",
4334
+ "Can you probe the reaction with UV-vis spectroscopy?",
4335
+ "Can you calculate the triplet energy of the substrates?",
4336
+ "Can you perform a Hammett analysis?",
4337
+ "Can you analyse the kinetic profile of the reaction?",
4338
+ "Can you measure redox potentials with cyclic voltammetry?",
4339
+ "Can you perform a Stern-Volmer quenching study?",
4340
+ ],
4341
+ "tips": [
4342
+ "KIE: kH/kD > 2 suggests C-H bond cleavage in/before the RDS. Use deuterated substrates.",
4343
+ "Radical clocks: cyclopropylmethyl radical ring-opens at ~10⁸ s⁻¹ — use to test for radical intermediates.",
4344
+ "Hammett analysis: ρ > 0 = negative charge builds in RDS; ρ < 0 = positive charge builds. Use σ, σ⁺, or σ⁻ depending on mechanism.",
4345
+ "Stern-Volmer: if Ksv is linear, single-quenching pathway. Deviation = multiple pathways or static quenching.",
4346
+ "Cyclic voltammetry: measure E₁/₂ of substrates vs catalyst to assess thermodynamic feasibility of SET steps.",
4347
+ "Quantum yield Φ > 1 indicates a radical chain mechanism. Φ < 1 indicates stoichiometric photon consumption.",
4348
+ "In situ IR (ReactIR) can track functional group appearance/disappearance in real time.",
4349
+ ],
4350
+ },
4351
+ {
4352
+ "header": "Have the intermediates been identified?",
4353
+ "checks": [
4354
+ "Can an intermediate be isolated or detected by spectroscopy?",
4355
+ "Can you intercept an intermediate using a trapping agent?",
4356
+ ],
4357
+ "tips": [
4358
+ "Common trapping agents: TEMPO (radicals), BHT (radicals), 1,1-diphenylethylene (radicals), dienes (carbenes/nitrenes), furan (arynes).",
4359
+ "Low-temperature NMR (down to -100°C in CD₂Cl₂) can detect fleeting intermediates.",
4360
+ "Mass spectrometry (ESI-MS, MALDI) can detect charged intermediates directly from reaction mixtures.",
4361
+ "Crossover experiments: mix two substrates and check for scrambled products to distinguish intra- vs intermolecular pathways.",
4362
+ ],
4363
+ },
4364
+ {
4365
+ "header": "Can the reaction pathway be computed?",
4366
+ "checks": [
4367
+ "Are the proposed transition state energies feasible?",
4368
+ "Can you rationalise selectivity using computation?",
4369
+ ],
4370
+ "tips": [
4371
+ "DFT methods for organic mechanisms: M06-2X/6-311+G(d,p) or ωB97X-D/def2-TZVP with SMD solvation.",
4372
+ "Transition state barriers: ΔG‡ < 25 kcal/mol feasible at RT; 25-35 kcal/mol requires heating; > 35 kcal/mol unlikely.",
4373
+ "For selectivity: compute competing transition states; ΔΔG‡ = 1.4 kcal/mol ≈ 10:1 selectivity at RT.",
4374
+ "NCI (non-covalent interaction) analysis and distortion/interaction analysis can rationalise selectivity origins.",
4375
+ "Tools: Gaussian, ORCA (free for academics), Psi4 (open source). CREST for conformer sampling.",
4376
+ ],
4377
+ },
4378
+ {
4379
+ "header": "Is there a better route to the active species?",
4380
+ "checks": [
4381
+ "Can the route to the active species be simplified?",
4382
+ "How does the method compare to similar transformations?",
4383
+ ],
4384
+ "tips": [
4385
+ "Well-defined catalysts (e.g., Pd-PEPPSI, XPhos-Pd-G3/G4) often outperform in situ-generated species.",
4386
+ "Pre-catalyst activation studies: monitor by NMR or UV-vis which species forms on mixing catalyst + ligand + base.",
4387
+ "Literature comparison: tabulate your method vs existing methods (yield, scope, conditions, catalyst loading, functional group tolerance).",
4388
+ ],
4389
+ },
4390
+ ],
4391
+ },
4392
+ "optimisation": {
4393
+ "name": "Optimisation",
4394
+ "icon": "📊",
4395
+ "summary": "Systematically maximise yield, achieve selectivity, and improve protocol efficiency and sustainability.",
4396
+ "questions": [
4397
+ {
4398
+ "header": "Has the yield been fully maximised?",
4399
+ "checks": [
4400
+ "Reaction time",
4401
+ "Temperature",
4402
+ "Stoichiometry",
4403
+ "Concentration",
4404
+ "Catalyst loading",
4405
+ "Solvent",
4406
+ "Mixing rate",
4407
+ "Reagent addition rate",
4408
+ "Pressure",
4409
+ "Solution pH",
4410
+ ],
4411
+ "extra_checks": [
4412
+ "Reagent addition order",
4413
+ "Additives",
4414
+ "Reaction atmosphere (air, N₂, Ar, O₂, H₂)",
4415
+ "Wavelength of light",
4416
+ "Light intensity",
4417
+ "Number of light sources",
4418
+ "Waste production",
4419
+ "Electrode material",
4420
+ "Current density",
4421
+ "Inter-electrode distance",
4422
+ "Residence time (flow)",
4423
+ "Flow rate",
4424
+ "Sustainability",
4425
+ "Reaction cost",
4426
+ ],
4427
+ "tips": [
4428
+ "Design of Experiments (DoE): use factorial designs to explore parameter space efficiently rather than one-variable-at-a-time (OVAT).",
4429
+ "Optimise in this order: solvent → temperature → stoichiometry → concentration → catalyst loading → additives → time.",
4430
+ "For photochemistry: light intensity, wavelength, distance to light source, and reactor geometry all matter enormously.",
4431
+ "For electrochemistry: electrode material, current density, electrolyte, cell geometry, and divided vs undivided cell are critical.",
4432
+ "For flow chemistry: residence time, temperature, back-pressure, and mixing efficiency replace batch parameters.",
4433
+ ],
4434
+ },
4435
+ {
4436
+ "header": "Can reaction selectivity be achieved?",
4437
+ "checks": [
4438
+ "Can chemo-/regio- or diastereoselectivity be achieved?",
4439
+ "Can the reaction be rendered enantioselective?",
4440
+ "Can the conditions access divergent reactivity?",
4441
+ ],
4442
+ "tips": [
4443
+ "Chemoselectivity: tune reagent strength, temperature, or protecting groups to differentiate similar functional groups.",
4444
+ "For enantioselectivity: screen chiral ligand families (BINAP, PHOX, BOX, cinchona alkaloids, NHC, CPA) systematically.",
4445
+ "Temperature often affects dr/ee: lower temperature → higher selectivity (kinetic control).",
4446
+ "Solvent can switch selectivity: polar solvents favour charged transition states, non-polar favour non-polar TS.",
4447
+ ],
4448
+ },
4449
+ {
4450
+ "header": "Can the protocol be more efficient?",
4451
+ "checks": [
4452
+ "Can you compare PMI and E-Factor to similar syntheses?",
4453
+ "Can the reaction be run in air or at ambient temperature?",
4454
+ "Can any step of the procedure be automated?",
4455
+ "Can the reaction be performed with less toxic reagents?",
4456
+ ],
4457
+ "tips": [
4458
+ "Process Mass Intensity (PMI) = total mass in / mass product. E-factor = mass waste / mass product. Lower = greener.",
4459
+ "ACS GCI Roundtable solvent selection guide: replace DCM → 2-MeTHF or EtOAc; DMF → DMAc or NMP (or better, avoid dipolar aprotirs).",
4460
+ "If your reaction works under air, SAY SO prominently — this is a huge practical advantage.",
4461
+ "Automation: DoE software, automated sampling, or synthesis robots (Chemspeed, Mettler EasyMax) can accelerate optimisation enormously.",
4462
+ ],
4463
+ },
4464
+ ],
4465
+ },
4466
+ "catalysis": {
4467
+ "name": "Catalysis",
4468
+ "icon": "🔄",
4469
+ "summary": "Establish catalytic cycles, identify active species, achieve enantioselective catalysis, and optimise turnover.",
4470
+ "questions": [
4471
+ {
4472
+ "header": "Can the reaction be catalysed?",
4473
+ "checks": [
4474
+ "Can the reaction be catalysed by an enzyme?",
4475
+ "Can a reagent be turned over using a redox agent?",
4476
+ "Can the reaction be catalysed in the excited state?",
4477
+ "Have you confirmed the existence of a catalytic cycle?",
4478
+ ],
4479
+ "tips": [
4480
+ "Catalytic cycle proof: show that product forms with sub-stoichiometric catalyst AND that catalyst can be recovered/reused.",
4481
+ "Turnover experiments: monitor product formation over time — linear growth = catalytic; levelling off = catalyst death.",
4482
+ "For photoredox: confirm that both light AND photocatalyst are required (control experiments in dark, without catalyst).",
4483
+ "Electrochemistry can replace stoichiometric oxidants/reductants — consider if your reagent serves only as an electron shuttle.",
4484
+ ],
4485
+ },
4486
+ {
4487
+ "header": "Have you identified the catalytically active species?",
4488
+ "checks": [
4489
+ "Can you detect the active species using spectroscopy?",
4490
+ "Can you find a relationship between pre-catalyst and active catalyst?",
4491
+ "Are nanoparticles responsible for catalytic activity?",
4492
+ "Can a better strategy to form the active catalyst be conceived?",
4493
+ ],
4494
+ "tips": [
4495
+ "Mercury drop test: Hg(0) amalgamates with Pd nanoparticles → if reaction stops, nanoparticles were the active catalyst.",
4496
+ "Hot filtration test: remove solid catalyst mid-reaction; if reaction continues in filtrate, homogeneous species are active.",
4497
+ "Kinetic induction period = slow activation of pre-catalyst. Sigmoidal kinetics may indicate nanoparticle formation.",
4498
+ "For Pd catalysis: Pd(0) nanoparticles vs molecular Pd(0) is a perennial debate — test with substoichiometric PVP or polymer-supported scavengers.",
4499
+ ],
4500
+ },
4501
+ {
4502
+ "header": "Can you catalyse the reaction enantioselectively?",
4503
+ "checks": [
4504
+ "Can the reaction be used for desymmetrisation?",
4505
+ "Can an organocatalyst be employed?",
4506
+ "Is there a relationship between sterics and enantioselectivity?",
4507
+ "Have you identified the enantiodetermining step?",
4508
+ ],
4509
+ "tips": [
4510
+ "Non-linear effects (NLE): if ee(product) vs ee(ligand) is non-linear, dimeric or oligomeric catalyst species may be involved.",
4511
+ "Ligand-accelerated catalysis: if chiral ligand makes reaction faster AND more selective, this simplifies practical use.",
4512
+ "Desymmetrisation of meso compounds gives enantiopure products from achiral starting materials — powerful strategy.",
4513
+ "Temperature-dependent ee: plot ln(er) vs 1/T — reveals whether ΔΔH‡ or ΔΔS‡ dominates selectivity.",
4514
+ ],
4515
+ },
4516
+ {
4517
+ "header": "Is the catalyst turnover optimal?",
4518
+ "checks": [
4519
+ "Can Turnover Number (TON) be calculated?",
4520
+ "Can catalyst deactivation pathways be suppressed?",
4521
+ "Can you reduce the use of precious metals?",
4522
+ "Is there a relationship between ligand identity and TON?",
4523
+ ],
4524
+ "tips": [
4525
+ "TON = mol product / mol catalyst. TOF = TON / time. For Pd: TON > 1000 is good; > 10,000 is excellent for applications.",
4526
+ "Common deactivation: aggregation to Pd black, oxidation, ligand dissociation, product inhibition.",
4527
+ "Slow addition of catalyst or substrate can improve TON by keeping [catalyst] low and minimising decomposition.",
4528
+ "Earth-abundant metal alternatives: Fe, Cu, Ni, Co, Mn — growing rapidly and increasingly competitive with Pd, Ir, Rh.",
4529
+ ],
4530
+ },
4531
+ ],
4532
+ },
4533
+ "scope": {
4534
+ "name": "Scope",
4535
+ "icon": "🎯",
4536
+ "summary": "Demonstrate substrate generality, functional group tolerance, and define the parameters that govern reactivity.",
4537
+ "questions": [
4538
+ {
4539
+ "header": "Is the substrate scope diverse?",
4540
+ "checks": [
4541
+ "Have you explored a wide range of substrates?",
4542
+ "Have you attempted to eliminate selection and reporting bias?",
4543
+ "Can complex substrates be tolerated?",
4544
+ "Have a variety of steric environments been explored?",
4545
+ "Have you reported the 'negative' results?",
4546
+ "Has a standardised scope selection model been used?",
4547
+ ],
4548
+ "tips": [
4549
+ "Report failures! Substrates that don't work are as informative as those that do, and reviewers appreciate honesty.",
4550
+ "Selection bias: don't just pick substrates that work well — include challenging ones (ortho-substituted, heteroaromatics, aliphatics).",
4551
+ "Glorius/Collins 'informer library': standardised substrate sets that probe electronic, steric, and FG tolerance systematically.",
4552
+ "For arene scope: include electron-rich (OMe, NMe₂), electron-poor (NO₂, CF₃, CN), and halogenated (F, Cl, Br) examples at ortho/meta/para.",
4553
+ "For alkyl scope: include 1°, 2°, 3° substrates and β-branched examples to probe steric limits.",
4554
+ "Complex substrates (drug molecules, natural products) demonstrate real-world applicability — even 1-2 examples are valuable.",
4555
+ ],
4556
+ },
4557
+ {
4558
+ "header": "Have you shown functional group tolerance?",
4559
+ "checks": [
4560
+ "Can the reaction tolerate nucleophiles or electrophiles?",
4561
+ "Can you tolerate substrates that can be oxidised or reduced?",
4562
+ "Can you tolerate Lewis acids and Lewis bases?",
4563
+ "Can you tolerate fragments found frequently in drugs?",
4564
+ "Can the reaction be performed in a range of solvents?",
4565
+ "Have you employed a robustness screen?",
4566
+ ],
4567
+ "tips": [
4568
+ "Glorius robustness screen: add 1 equiv of additive (amine, alcohol, ketone, alkene, thiol, etc.) to standard reaction and measure yield + recovery.",
4569
+ "Drug-like fragments to test: pyridine, piperidine, morpholine, thiophene, indole, free NH, free OH, unprotected amine.",
4570
+ "Reducible groups: alkene, alkyne, nitro, azide, carbonyl. Oxidisable groups: thioether, amine, alcohol, aldehyde.",
4571
+ "If you use a protecting group in scope, also show an example without it — reviewers will ask.",
4572
+ ],
4573
+ },
4574
+ {
4575
+ "header": "Have you defined the parameters of reactivity?",
4576
+ "checks": [
4577
+ "Can you define a pKa range in which reactivity is observed?",
4578
+ "Is there a steric limit to reactivity?",
4579
+ "Can you define a redox window for the starting materials?",
4580
+ "Have you considered the mechanistic implications of the scope?",
4581
+ "Can the Mayr scale be used to define the limits of electrophilicity, nucleophilicity and radical philicity?",
4582
+ ],
4583
+ "tips": [
4584
+ "Mayr nucleophilicity/electrophilicity scales (mayr.uni-muenchen.de): if log k = s(N+E), you can predict whether a reaction is feasible.",
4585
+ "pKa range: if reaction works for substrates with pKa 10-15 but fails at pKa > 20, this defines the deprotonation step's limits.",
4586
+ "Redox window: measure E₁/₂ by CV for substrates that work vs those that fail — defines SET thermodynamic requirements.",
4587
+ "Steric maps: correlate %Vbur (percent buried volume) or Sterimol parameters with yield to quantify steric limits.",
4588
+ "Hammett/Swain-Lupton correlations (σ, F, R) can separate electronic field vs resonance effects on reactivity.",
4589
+ ],
4590
+ },
4591
+ ],
4592
+ },
4593
+ "applications": {
4594
+ "name": "Applications",
4595
+ "icon": "🚀",
4596
+ "summary": "Demonstrate utility in synthesis, late-stage functionalisation, derivatisation, bioconjugation, and materials chemistry.",
4597
+ "questions": [
4598
+ {
4599
+ "header": "Can it be used to access target compounds?",
4600
+ "checks": [
4601
+ "Can the reaction be applied to natural product synthesis?",
4602
+ "Can the reaction be used to access motifs found in drugs?",
4603
+ "Can you access building blocks for functional materials?",
4604
+ ],
4605
+ "tips": [
4606
+ "Search SciFinder/Reaxys for natural products and drugs containing your product's structural motif.",
4607
+ "Even a formal synthesis (making a known intermediate) counts. Total synthesis is ideal but not required.",
4608
+ "Biologically active scaffolds: show bioactivity data if available, or reference known actives with similar structures.",
4609
+ "Materials applications: show optical/electronic properties (UV-vis, fluorescence, CV) if your products have extended conjugation.",
4610
+ ],
4611
+ },
4612
+ {
4613
+ "header": "Can it be used for late-stage transformations?",
4614
+ "checks": [
4615
+ "Can the reaction tolerate dense functionality?",
4616
+ "Can the reaction be used for skeletal editing?",
4617
+ ],
4618
+ "tips": [
4619
+ "Late-stage functionalisation (LSF): apply your reaction to a complex drug molecule (e.g., from the Pfizer diversinate set).",
4620
+ "Skeletal editing: single-atom insertion, deletion, or swap in heteroaromatic rings — transformative for medicinal chemistry.",
4621
+ "Even modest yields on complex substrates are noteworthy if the transformation is otherwise impossible.",
4622
+ ],
4623
+ },
4624
+ {
4625
+ "header": "Can the products be derivatised?",
4626
+ "checks": [
4627
+ "Do you form a linchpin group that can be further reacted?",
4628
+ "Can functional group interconversion be demonstrated?",
4629
+ "Can the reaction be used as part of a cascade?",
4630
+ ],
4631
+ "tips": [
4632
+ "Versatile handles: boronic esters (Suzuki), vinyl (Heck/metathesis), halides (cross-coupling), azides (click), aldehydes (diverse chemistry).",
4633
+ "Show 2-3 downstream transformations to demonstrate product versatility — a 'product derivatisation' scheme is standard.",
4634
+ "Cascade/domino sequences incorporating your reaction increase step-efficiency and impact.",
4635
+ ],
4636
+ },
4637
+ {
4638
+ "header": "Can it be used for bioconjugation?",
4639
+ "checks": [
4640
+ "Are the conditions suitably mild for in vivo functionalisation?",
4641
+ "Can the reaction target a native amino acid side chain?",
4642
+ "Can the reaction be run in a cell or in an organism?",
4643
+ "Can click-type reactivity between biomolecules be achieved?",
4644
+ ],
4645
+ "tips": [
4646
+ "Bioconjugation requirements: aqueous, pH 6-8, < 37°C, fast (minutes), selective in presence of thiols/amines/carboxylates.",
4647
+ "Targetable residues: Cys (thiol), Lys (amine), Tyr (phenol), Trp (indole), Met (thioether), His (imidazole).",
4648
+ "Bioorthogonal = no cross-reactivity with biological functional groups. Gold standard: SPAAC, iEDDA (tetrazine-TCO), Staudinger.",
4649
+ ],
4650
+ },
4651
+ {
4652
+ "header": "Can it be used in materials chemistry?",
4653
+ "checks": [
4654
+ "Can the reaction be used to depolymerise plastics?",
4655
+ "Can the functionalisation of a plastic be achieved?",
4656
+ ],
4657
+ "tips": [
4658
+ "Polymer applications: post-polymerisation modification, monomer synthesis, depolymerisation (circular economy is hot).",
4659
+ "Demonstrate scalability (> 1 g, ideally 10 g+) for materials applications.",
4660
+ "Surface functionalisation: show that your chemistry works on solid supports, films, or nanoparticles.",
4661
+ ],
4662
+ },
4663
+ ],
4664
+ },
4665
+ }
4666
+
4667
+
4668
+ def lookup_rxn_dev_checklist(query: str) -> list[dict]:
4669
+ """Search the reaction development checklist by keyword or section name."""
4670
+ q = query.lower().strip()
4671
+ results = []
4672
+
4673
+ # First: check if query matches a section key or name
4674
+ for key, section in REACTION_DEV_CHECKLIST.items():
4675
+ if q in key or q in section["name"].lower():
4676
+ results.append({
4677
+ "section": section["name"],
4678
+ "icon": section["icon"],
4679
+ "summary": section["summary"],
4680
+ "questions": section["questions"],
4681
+ "match_type": "section",
4682
+ })
4683
+
4684
+ # Second: search within questions/checks/tips
4685
+ if not results:
4686
+ for key, section in REACTION_DEV_CHECKLIST.items():
4687
+ for qblock in section["questions"]:
4688
+ searchable = " ".join([
4689
+ qblock["header"],
4690
+ " ".join(qblock.get("checks", [])),
4691
+ " ".join(qblock.get("extra_checks", [])),
4692
+ " ".join(qblock.get("tips", [])),
4693
+ ]).lower()
4694
+ if q in searchable:
4695
+ results.append({
4696
+ "section": section["name"],
4697
+ "icon": section["icon"],
4698
+ "header": qblock["header"],
4699
+ "checks": qblock.get("checks", []),
4700
+ "extra_checks": qblock.get("extra_checks", []),
4701
+ "tips": qblock.get("tips", []),
4702
+ "match_type": "question",
4703
+ })
4704
+
4705
+ return results[:20]
4706
+
4707
+
4708
+ def get_all_checklist_sections() -> list[str]:
4709
+ """Return all section names for the reaction development checklist."""
4710
+ return [f"{s['icon']} {s['name']}" for s in REACTION_DEV_CHECKLIST.values()]
4711
+
4712
+
4713
+
4714
+