molbuilder 1.0.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.
- molbuilder/__init__.py +8 -0
- molbuilder/__main__.py +6 -0
- molbuilder/atomic/__init__.py +4 -0
- molbuilder/atomic/bohr.py +235 -0
- molbuilder/atomic/quantum_atom.py +334 -0
- molbuilder/atomic/quantum_numbers.py +196 -0
- molbuilder/atomic/wavefunctions.py +297 -0
- molbuilder/bonding/__init__.py +4 -0
- molbuilder/bonding/covalent.py +442 -0
- molbuilder/bonding/lewis.py +347 -0
- molbuilder/bonding/vsepr.py +433 -0
- molbuilder/cli/__init__.py +1 -0
- molbuilder/cli/demos.py +516 -0
- molbuilder/cli/menu.py +127 -0
- molbuilder/cli/wizard.py +831 -0
- molbuilder/core/__init__.py +6 -0
- molbuilder/core/bond_data.py +170 -0
- molbuilder/core/constants.py +51 -0
- molbuilder/core/element_properties.py +183 -0
- molbuilder/core/elements.py +181 -0
- molbuilder/core/geometry.py +232 -0
- molbuilder/gui/__init__.py +2 -0
- molbuilder/gui/app.py +286 -0
- molbuilder/gui/canvas3d.py +115 -0
- molbuilder/gui/dialogs.py +117 -0
- molbuilder/gui/event_handler.py +118 -0
- molbuilder/gui/sidebar.py +105 -0
- molbuilder/gui/toolbar.py +71 -0
- molbuilder/io/__init__.py +1 -0
- molbuilder/io/json_io.py +146 -0
- molbuilder/io/mol_sdf.py +169 -0
- molbuilder/io/pdb.py +184 -0
- molbuilder/io/smiles_io.py +47 -0
- molbuilder/io/xyz.py +103 -0
- molbuilder/molecule/__init__.py +2 -0
- molbuilder/molecule/amino_acids.py +919 -0
- molbuilder/molecule/builders.py +257 -0
- molbuilder/molecule/conformations.py +70 -0
- molbuilder/molecule/functional_groups.py +484 -0
- molbuilder/molecule/graph.py +712 -0
- molbuilder/molecule/peptides.py +13 -0
- molbuilder/molecule/stereochemistry.py +6 -0
- molbuilder/process/__init__.py +3 -0
- molbuilder/process/conditions.py +260 -0
- molbuilder/process/costing.py +316 -0
- molbuilder/process/purification.py +285 -0
- molbuilder/process/reactor.py +297 -0
- molbuilder/process/safety.py +476 -0
- molbuilder/process/scale_up.py +427 -0
- molbuilder/process/solvent_systems.py +204 -0
- molbuilder/reactions/__init__.py +3 -0
- molbuilder/reactions/functional_group_detect.py +728 -0
- molbuilder/reactions/knowledge_base.py +1716 -0
- molbuilder/reactions/reaction_types.py +102 -0
- molbuilder/reactions/reagent_data.py +1248 -0
- molbuilder/reactions/retrosynthesis.py +1430 -0
- molbuilder/reactions/synthesis_route.py +377 -0
- molbuilder/reports/__init__.py +158 -0
- molbuilder/reports/cost_report.py +206 -0
- molbuilder/reports/molecule_report.py +279 -0
- molbuilder/reports/safety_report.py +296 -0
- molbuilder/reports/synthesis_report.py +283 -0
- molbuilder/reports/text_formatter.py +170 -0
- molbuilder/smiles/__init__.py +4 -0
- molbuilder/smiles/parser.py +487 -0
- molbuilder/smiles/tokenizer.py +291 -0
- molbuilder/smiles/writer.py +375 -0
- molbuilder/visualization/__init__.py +1 -0
- molbuilder/visualization/bohr_viz.py +166 -0
- molbuilder/visualization/molecule_viz.py +368 -0
- molbuilder/visualization/quantum_viz.py +434 -0
- molbuilder/visualization/theme.py +12 -0
- molbuilder-1.0.0.dist-info/METADATA +360 -0
- molbuilder-1.0.0.dist-info/RECORD +78 -0
- molbuilder-1.0.0.dist-info/WHEEL +5 -0
- molbuilder-1.0.0.dist-info/entry_points.txt +2 -0
- molbuilder-1.0.0.dist-info/licenses/LICENSE +21 -0
- molbuilder-1.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,1248 @@
|
|
|
1
|
+
"""Reagent and solvent databases with GHS hazard information.
|
|
2
|
+
|
|
3
|
+
This module provides two master dictionaries -- ``REAGENT_DB`` and
|
|
4
|
+
``SOLVENT_DB`` -- that catalogue the most common reagents and solvents
|
|
5
|
+
encountered in organic synthesis. Each entry carries physical-property
|
|
6
|
+
data, approximate cost, GHS hazard classifications, and storage guidance.
|
|
7
|
+
|
|
8
|
+
Lookup helpers (``get_reagent``, ``get_solvent``, ``search_reagents``,
|
|
9
|
+
``search_solvents``) allow fuzzy retrieval by name or formula fragment.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
from __future__ import annotations
|
|
13
|
+
from dataclasses import dataclass, field
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
# =====================================================================
|
|
17
|
+
# Reagent name normalisation
|
|
18
|
+
# =====================================================================
|
|
19
|
+
|
|
20
|
+
# Alias dictionary for common alternative names
|
|
21
|
+
_REAGENT_ALIASES: dict[str, str] = {
|
|
22
|
+
"lialh4": "lithium_aluminium_hydride",
|
|
23
|
+
"nabh4": "sodium_borohydride",
|
|
24
|
+
"pcc": "pyridinium_chlorochromate",
|
|
25
|
+
"dcc": "dicyclohexylcarbodiimide",
|
|
26
|
+
"mcpba": "meta_chloroperoxybenzoic_acid",
|
|
27
|
+
"tbscl": "tert_butyldimethylsilyl_chloride",
|
|
28
|
+
"tmscl": "trimethylsilyl_chloride",
|
|
29
|
+
"boc2o": "di_tert_butyl_dicarbonate",
|
|
30
|
+
"fmoc_cl": "fluorenylmethyloxycarbonyl_chloride",
|
|
31
|
+
"pd_c": "palladium_on_carbon",
|
|
32
|
+
"pd/c": "palladium_on_carbon",
|
|
33
|
+
"h2so4": "sulfuric_acid",
|
|
34
|
+
"hcl": "hydrochloric_acid",
|
|
35
|
+
"naoh": "sodium_hydroxide",
|
|
36
|
+
"koh": "potassium_hydroxide",
|
|
37
|
+
"kmno4": "potassium_permanganate",
|
|
38
|
+
"k2cr2o7": "potassium_dichromate",
|
|
39
|
+
"lioh": "lithium_hydroxide",
|
|
40
|
+
"nah": "sodium_hydride",
|
|
41
|
+
"n_buli": "n_butyllithium",
|
|
42
|
+
"n-buli": "n_butyllithium",
|
|
43
|
+
"t_buok": "potassium_tert_butoxide",
|
|
44
|
+
"t-buok": "potassium_tert_butoxide",
|
|
45
|
+
"et3n": "triethylamine",
|
|
46
|
+
"dbu": "1_8_diazabicyclo_5_4_0_undec_7_ene",
|
|
47
|
+
"dmap": "4_dimethylaminopyridine",
|
|
48
|
+
"tfa": "trifluoroacetic_acid",
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def normalize_reagent_name(name: str) -> str:
|
|
53
|
+
"""Normalize a reagent name to its canonical key.
|
|
54
|
+
|
|
55
|
+
Lowercases, replaces whitespace/hyphens with underscores, and checks
|
|
56
|
+
the alias dictionary for common abbreviations.
|
|
57
|
+
"""
|
|
58
|
+
key = name.strip().lower().replace(" ", "_").replace("-", "_")
|
|
59
|
+
return _REAGENT_ALIASES.get(key, key)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
# =====================================================================
|
|
63
|
+
# Data classes
|
|
64
|
+
# =====================================================================
|
|
65
|
+
|
|
66
|
+
@dataclass
|
|
67
|
+
class Reagent:
|
|
68
|
+
name: str
|
|
69
|
+
formula: str
|
|
70
|
+
cas: str = ""
|
|
71
|
+
mw: float = 0.0
|
|
72
|
+
cost_per_kg: float = 0.0 # USD approximate
|
|
73
|
+
ghs_hazards: list[str] = field(default_factory=list)
|
|
74
|
+
ghs_pictograms: list[str] = field(default_factory=list)
|
|
75
|
+
storage: str = ""
|
|
76
|
+
physical_state: str = "" # solid, liquid, gas
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
@dataclass
|
|
80
|
+
class Solvent:
|
|
81
|
+
name: str
|
|
82
|
+
formula: str
|
|
83
|
+
bp: float = 0.0 # boiling point degC
|
|
84
|
+
mp: float = 0.0 # melting point degC
|
|
85
|
+
density: float = 1.0 # g/mL
|
|
86
|
+
dielectric: float = 1.0
|
|
87
|
+
polarity_index: float = 0.0
|
|
88
|
+
cas: str = ""
|
|
89
|
+
cost_per_L: float = 0.0
|
|
90
|
+
green_score: int = 5 # 1=very green, 10=avoid
|
|
91
|
+
ghs_hazards: list[str] = field(default_factory=list)
|
|
92
|
+
miscible_with_water: bool = False
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
# =====================================================================
|
|
96
|
+
# REAGENT_DB (~100 entries)
|
|
97
|
+
# =====================================================================
|
|
98
|
+
|
|
99
|
+
REAGENT_DB: dict[str, Reagent] = {
|
|
100
|
+
|
|
101
|
+
# -----------------------------------------------------------------
|
|
102
|
+
# Oxidizing agents
|
|
103
|
+
# -----------------------------------------------------------------
|
|
104
|
+
"kmno4": Reagent(
|
|
105
|
+
name="Potassium permanganate", formula="KMnO4", cas="7722-64-7",
|
|
106
|
+
mw=158.03, cost_per_kg=35,
|
|
107
|
+
ghs_hazards=["H272", "H302", "H314", "H410"],
|
|
108
|
+
ghs_pictograms=["GHS03", "GHS05", "GHS07", "GHS09"],
|
|
109
|
+
storage="Cool dry place, away from organics", physical_state="solid",
|
|
110
|
+
),
|
|
111
|
+
"cro3": Reagent(
|
|
112
|
+
name="Chromium trioxide", formula="CrO3", cas="1333-82-0",
|
|
113
|
+
mw=99.99, cost_per_kg=120,
|
|
114
|
+
ghs_hazards=["H271", "H301", "H311", "H314", "H317", "H330", "H340", "H350", "H361", "H372", "H410"],
|
|
115
|
+
ghs_pictograms=["GHS03", "GHS05", "GHS06", "GHS08", "GHS09"],
|
|
116
|
+
storage="Locked oxidizer cabinet, separate from organics", physical_state="solid",
|
|
117
|
+
),
|
|
118
|
+
"pcc": Reagent(
|
|
119
|
+
name="Pyridinium chlorochromate", formula="C5H5NHCrO3Cl", cas="26299-14-9",
|
|
120
|
+
mw=215.56, cost_per_kg=280,
|
|
121
|
+
ghs_hazards=["H301", "H312", "H314", "H317", "H340", "H350"],
|
|
122
|
+
ghs_pictograms=["GHS05", "GHS06", "GHS08"],
|
|
123
|
+
storage="Desiccator, away from organics", physical_state="solid",
|
|
124
|
+
),
|
|
125
|
+
"pdc": Reagent(
|
|
126
|
+
name="Pyridinium dichromate", formula="(C5H5NH)2Cr2O7", cas="20039-37-6",
|
|
127
|
+
mw=376.21, cost_per_kg=350,
|
|
128
|
+
ghs_hazards=["H301", "H312", "H314", "H317", "H340", "H350"],
|
|
129
|
+
ghs_pictograms=["GHS05", "GHS06", "GHS08"],
|
|
130
|
+
storage="Desiccator, away from organics", physical_state="solid",
|
|
131
|
+
),
|
|
132
|
+
"oxalyl_chloride": Reagent(
|
|
133
|
+
name="Oxalyl chloride", formula="(COCl)2", cas="79-37-8",
|
|
134
|
+
mw=126.93, cost_per_kg=75,
|
|
135
|
+
ghs_hazards=["H301", "H314", "H330"],
|
|
136
|
+
ghs_pictograms=["GHS05", "GHS06"],
|
|
137
|
+
storage="Fridge under inert gas, moisture-sensitive", physical_state="liquid",
|
|
138
|
+
),
|
|
139
|
+
"dmso": Reagent(
|
|
140
|
+
name="Dimethyl sulfoxide", formula="(CH3)2SO", cas="67-68-5",
|
|
141
|
+
mw=78.13, cost_per_kg=15,
|
|
142
|
+
ghs_hazards=[],
|
|
143
|
+
ghs_pictograms=[],
|
|
144
|
+
storage="Room temperature, tightly sealed", physical_state="liquid",
|
|
145
|
+
),
|
|
146
|
+
"jones_reagent": Reagent(
|
|
147
|
+
name="Jones reagent (CrO3/H2SO4)", formula="CrO3/H2SO4",
|
|
148
|
+
mw=0.0, cost_per_kg=0,
|
|
149
|
+
ghs_hazards=["H271", "H301", "H314", "H340", "H350"],
|
|
150
|
+
ghs_pictograms=["GHS03", "GHS05", "GHS06", "GHS08"],
|
|
151
|
+
storage="Prepared fresh in acetone", physical_state="liquid",
|
|
152
|
+
),
|
|
153
|
+
"mcpba": Reagent(
|
|
154
|
+
name="meta-Chloroperoxybenzoic acid", formula="ClC6H4CO3H", cas="937-14-4",
|
|
155
|
+
mw=172.57, cost_per_kg=220,
|
|
156
|
+
ghs_hazards=["H242", "H302", "H315", "H318", "H335"],
|
|
157
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS07"],
|
|
158
|
+
storage="Freezer, away from organics and metals", physical_state="solid",
|
|
159
|
+
),
|
|
160
|
+
"oso4": Reagent(
|
|
161
|
+
name="Osmium tetroxide", formula="OsO4", cas="20816-12-0",
|
|
162
|
+
mw=254.23, cost_per_kg=25000,
|
|
163
|
+
ghs_hazards=["H300", "H310", "H314", "H330"],
|
|
164
|
+
ghs_pictograms=["GHS05", "GHS06"],
|
|
165
|
+
storage="Double-sealed container, fume hood only", physical_state="solid",
|
|
166
|
+
),
|
|
167
|
+
"naio4": Reagent(
|
|
168
|
+
name="Sodium periodate", formula="NaIO4", cas="7790-28-5",
|
|
169
|
+
mw=213.89, cost_per_kg=110,
|
|
170
|
+
ghs_hazards=["H272", "H302", "H315", "H319"],
|
|
171
|
+
ghs_pictograms=["GHS03", "GHS07"],
|
|
172
|
+
storage="Cool dry place", physical_state="solid",
|
|
173
|
+
),
|
|
174
|
+
"h2o2": Reagent(
|
|
175
|
+
name="Hydrogen peroxide 30%", formula="H2O2", cas="7722-84-1",
|
|
176
|
+
mw=34.01, cost_per_kg=12,
|
|
177
|
+
ghs_hazards=["H271", "H302", "H314", "H318", "H335"],
|
|
178
|
+
ghs_pictograms=["GHS03", "GHS05", "GHS07"],
|
|
179
|
+
storage="Fridge, away from metals and organics", physical_state="liquid",
|
|
180
|
+
),
|
|
181
|
+
"naocl": Reagent(
|
|
182
|
+
name="Sodium hypochlorite (bleach)", formula="NaOCl", cas="7681-52-9",
|
|
183
|
+
mw=74.44, cost_per_kg=5,
|
|
184
|
+
ghs_hazards=["H314", "H400", "H410"],
|
|
185
|
+
ghs_pictograms=["GHS05", "GHS09"],
|
|
186
|
+
storage="Cool dark place", physical_state="liquid",
|
|
187
|
+
),
|
|
188
|
+
"dess_martin": Reagent(
|
|
189
|
+
name="Dess-Martin periodinane", formula="C13H13IO8", cas="87413-09-0",
|
|
190
|
+
mw=424.14, cost_per_kg=3500,
|
|
191
|
+
ghs_hazards=["H228", "H302", "H315", "H319"],
|
|
192
|
+
ghs_pictograms=["GHS02", "GHS07"],
|
|
193
|
+
storage="Freezer, moisture-sensitive", physical_state="solid",
|
|
194
|
+
),
|
|
195
|
+
|
|
196
|
+
# -----------------------------------------------------------------
|
|
197
|
+
# Reducing agents
|
|
198
|
+
# -----------------------------------------------------------------
|
|
199
|
+
"nabh4": Reagent(
|
|
200
|
+
name="Sodium borohydride", formula="NaBH4", cas="16940-66-2",
|
|
201
|
+
mw=37.83, cost_per_kg=80,
|
|
202
|
+
ghs_hazards=["H260", "H301", "H314"],
|
|
203
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS06"],
|
|
204
|
+
storage="Dry, inert atmosphere, away from water", physical_state="solid",
|
|
205
|
+
),
|
|
206
|
+
"lialh4": Reagent(
|
|
207
|
+
name="Lithium aluminium hydride", formula="LiAlH4", cas="16853-85-3",
|
|
208
|
+
mw=37.95, cost_per_kg=250,
|
|
209
|
+
ghs_hazards=["H260", "H314"],
|
|
210
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
211
|
+
storage="Glovebox or sure-seal, strict inert atmosphere", physical_state="solid",
|
|
212
|
+
),
|
|
213
|
+
"dibal_h": Reagent(
|
|
214
|
+
name="Diisobutylaluminium hydride", formula="(i-Bu)2AlH", cas="1191-15-7",
|
|
215
|
+
mw=142.22, cost_per_kg=320,
|
|
216
|
+
ghs_hazards=["H250", "H260", "H314"],
|
|
217
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
218
|
+
storage="Sure-seal, strict inert atmosphere, -20 C", physical_state="liquid",
|
|
219
|
+
),
|
|
220
|
+
"h2_pd_c": Reagent(
|
|
221
|
+
name="Hydrogen / Palladium on carbon", formula="H2 + Pd/C",
|
|
222
|
+
mw=0.0, cost_per_kg=800,
|
|
223
|
+
ghs_hazards=["H220", "H315", "H319", "H335"],
|
|
224
|
+
ghs_pictograms=["GHS02", "GHS07"],
|
|
225
|
+
storage="Pd/C: keep wet to avoid pyrophoricity; H2: gas cylinder", physical_state="solid",
|
|
226
|
+
),
|
|
227
|
+
"zn_hcl": Reagent(
|
|
228
|
+
name="Zinc / Hydrochloric acid", formula="Zn/HCl",
|
|
229
|
+
mw=0.0, cost_per_kg=15,
|
|
230
|
+
ghs_hazards=["H290", "H314", "H335", "H410"],
|
|
231
|
+
ghs_pictograms=["GHS05", "GHS07", "GHS09"],
|
|
232
|
+
storage="Zinc: dry; HCl: corrosive cabinet", physical_state="solid",
|
|
233
|
+
),
|
|
234
|
+
"na_nh3": Reagent(
|
|
235
|
+
name="Sodium in liquid ammonia (Birch)", formula="Na/NH3(l)",
|
|
236
|
+
mw=0.0, cost_per_kg=50,
|
|
237
|
+
ghs_hazards=["H250", "H260", "H314", "H331"],
|
|
238
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS06"],
|
|
239
|
+
storage="Na under oil; NH3 in cylinder", physical_state="liquid",
|
|
240
|
+
),
|
|
241
|
+
"red_al": Reagent(
|
|
242
|
+
name="Red-Al (sodium bis(2-methoxyethoxy)aluminium hydride)",
|
|
243
|
+
formula="NaAlH2(OCH2CH2OCH3)2", cas="22722-98-1",
|
|
244
|
+
mw=202.16, cost_per_kg=400,
|
|
245
|
+
ghs_hazards=["H250", "H260", "H314"],
|
|
246
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
247
|
+
storage="Sure-seal, inert atmosphere", physical_state="liquid",
|
|
248
|
+
),
|
|
249
|
+
"cecl3": Reagent(
|
|
250
|
+
name="Cerium(III) chloride heptahydrate", formula="CeCl3*7H2O", cas="18618-55-8",
|
|
251
|
+
mw=372.58, cost_per_kg=90,
|
|
252
|
+
ghs_hazards=["H302", "H315", "H319"],
|
|
253
|
+
ghs_pictograms=["GHS07"],
|
|
254
|
+
storage="Cool dry place", physical_state="solid",
|
|
255
|
+
),
|
|
256
|
+
|
|
257
|
+
# -----------------------------------------------------------------
|
|
258
|
+
# Nucleophiles / Bases (inorganic)
|
|
259
|
+
# -----------------------------------------------------------------
|
|
260
|
+
"naoh": Reagent(
|
|
261
|
+
name="Sodium hydroxide", formula="NaOH", cas="1310-73-2",
|
|
262
|
+
mw=40.00, cost_per_kg=8,
|
|
263
|
+
ghs_hazards=["H290", "H314"],
|
|
264
|
+
ghs_pictograms=["GHS05"],
|
|
265
|
+
storage="Tightly sealed, away from acids", physical_state="solid",
|
|
266
|
+
),
|
|
267
|
+
"koh": Reagent(
|
|
268
|
+
name="Potassium hydroxide", formula="KOH", cas="1310-58-3",
|
|
269
|
+
mw=56.11, cost_per_kg=12,
|
|
270
|
+
ghs_hazards=["H290", "H302", "H314"],
|
|
271
|
+
ghs_pictograms=["GHS05", "GHS07"],
|
|
272
|
+
storage="Tightly sealed, away from acids", physical_state="solid",
|
|
273
|
+
),
|
|
274
|
+
"nacn": Reagent(
|
|
275
|
+
name="Sodium cyanide", formula="NaCN", cas="143-33-9",
|
|
276
|
+
mw=49.01, cost_per_kg=60,
|
|
277
|
+
ghs_hazards=["H290", "H300", "H310", "H330", "H410"],
|
|
278
|
+
ghs_pictograms=["GHS06", "GHS09"],
|
|
279
|
+
storage="Locked poison cabinet, separate from acids", physical_state="solid",
|
|
280
|
+
),
|
|
281
|
+
"nan3": Reagent(
|
|
282
|
+
name="Sodium azide", formula="NaN3", cas="26628-22-8",
|
|
283
|
+
mw=65.01, cost_per_kg=55,
|
|
284
|
+
ghs_hazards=["H300", "H310", "H400", "H410"],
|
|
285
|
+
ghs_pictograms=["GHS06", "GHS09"],
|
|
286
|
+
storage="Poison cabinet, never contact heavy metals or acid", physical_state="solid",
|
|
287
|
+
),
|
|
288
|
+
"naome": Reagent(
|
|
289
|
+
name="Sodium methoxide", formula="NaOCH3", cas="124-41-4",
|
|
290
|
+
mw=54.02, cost_per_kg=40,
|
|
291
|
+
ghs_hazards=["H228", "H251", "H301", "H311", "H314", "H331"],
|
|
292
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS06"],
|
|
293
|
+
storage="Inert atmosphere, away from moisture", physical_state="solid",
|
|
294
|
+
),
|
|
295
|
+
"naoet": Reagent(
|
|
296
|
+
name="Sodium ethoxide", formula="NaOC2H5", cas="141-52-6",
|
|
297
|
+
mw=68.05, cost_per_kg=45,
|
|
298
|
+
ghs_hazards=["H228", "H251", "H301", "H311", "H314", "H331"],
|
|
299
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS06"],
|
|
300
|
+
storage="Inert atmosphere, away from moisture", physical_state="solid",
|
|
301
|
+
),
|
|
302
|
+
"kotbu": Reagent(
|
|
303
|
+
name="Potassium tert-butoxide", formula="KOC(CH3)3", cas="865-47-4",
|
|
304
|
+
mw=112.21, cost_per_kg=90,
|
|
305
|
+
ghs_hazards=["H228", "H251", "H301", "H314"],
|
|
306
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS06"],
|
|
307
|
+
storage="Glovebox or inert atmosphere", physical_state="solid",
|
|
308
|
+
),
|
|
309
|
+
|
|
310
|
+
# -----------------------------------------------------------------
|
|
311
|
+
# Electrophiles (alkyl/acyl halides)
|
|
312
|
+
# -----------------------------------------------------------------
|
|
313
|
+
"mei": Reagent(
|
|
314
|
+
name="Methyl iodide", formula="CH3I", cas="74-88-4",
|
|
315
|
+
mw=141.94, cost_per_kg=120,
|
|
316
|
+
ghs_hazards=["H301", "H312", "H315", "H331", "H335", "H351"],
|
|
317
|
+
ghs_pictograms=["GHS06", "GHS08"],
|
|
318
|
+
storage="Fridge, amber bottle, inert atmosphere", physical_state="liquid",
|
|
319
|
+
),
|
|
320
|
+
"etbr": Reagent(
|
|
321
|
+
name="Ethyl bromide", formula="C2H5Br", cas="74-96-4",
|
|
322
|
+
mw=108.97, cost_per_kg=60,
|
|
323
|
+
ghs_hazards=["H225", "H302", "H332", "H351"],
|
|
324
|
+
ghs_pictograms=["GHS02", "GHS07", "GHS08"],
|
|
325
|
+
storage="Fridge, away from ignition", physical_state="liquid",
|
|
326
|
+
),
|
|
327
|
+
"bnbr": Reagent(
|
|
328
|
+
name="Benzyl bromide", formula="C6H5CH2Br", cas="100-39-0",
|
|
329
|
+
mw=171.04, cost_per_kg=90,
|
|
330
|
+
ghs_hazards=["H301", "H315", "H318", "H335"],
|
|
331
|
+
ghs_pictograms=["GHS05", "GHS06"],
|
|
332
|
+
storage="Fridge, tightly sealed", physical_state="liquid",
|
|
333
|
+
),
|
|
334
|
+
"allyl_bromide": Reagent(
|
|
335
|
+
name="Allyl bromide", formula="CH2=CHCH2Br", cas="106-95-6",
|
|
336
|
+
mw=120.98, cost_per_kg=55,
|
|
337
|
+
ghs_hazards=["H225", "H301", "H311", "H314", "H331"],
|
|
338
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS06"],
|
|
339
|
+
storage="Fridge, inert atmosphere", physical_state="liquid",
|
|
340
|
+
),
|
|
341
|
+
"accl": Reagent(
|
|
342
|
+
name="Acetyl chloride", formula="CH3COCl", cas="75-36-5",
|
|
343
|
+
mw=78.50, cost_per_kg=30,
|
|
344
|
+
ghs_hazards=["H225", "H314", "H331"],
|
|
345
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS06"],
|
|
346
|
+
storage="Inert atmosphere, moisture-sensitive", physical_state="liquid",
|
|
347
|
+
),
|
|
348
|
+
"bzcl": Reagent(
|
|
349
|
+
name="Benzoyl chloride", formula="C6H5COCl", cas="98-88-4",
|
|
350
|
+
mw=140.57, cost_per_kg=40,
|
|
351
|
+
ghs_hazards=["H302", "H314", "H332"],
|
|
352
|
+
ghs_pictograms=["GHS05", "GHS07"],
|
|
353
|
+
storage="Inert atmosphere, moisture-sensitive", physical_state="liquid",
|
|
354
|
+
),
|
|
355
|
+
|
|
356
|
+
# -----------------------------------------------------------------
|
|
357
|
+
# Organometallics
|
|
358
|
+
# -----------------------------------------------------------------
|
|
359
|
+
"memgbr": Reagent(
|
|
360
|
+
name="Methylmagnesium bromide (3 M in Et2O)", formula="CH3MgBr",
|
|
361
|
+
cas="75-16-1", mw=119.24, cost_per_kg=600,
|
|
362
|
+
ghs_hazards=["H225", "H250", "H260", "H314"],
|
|
363
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
364
|
+
storage="Sure-seal, strict inert atmosphere, fridge", physical_state="liquid",
|
|
365
|
+
),
|
|
366
|
+
"etmgbr": Reagent(
|
|
367
|
+
name="Ethylmagnesium bromide (3 M in Et2O)", formula="C2H5MgBr",
|
|
368
|
+
cas="925-90-6", mw=133.27, cost_per_kg=550,
|
|
369
|
+
ghs_hazards=["H225", "H250", "H260", "H314"],
|
|
370
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
371
|
+
storage="Sure-seal, strict inert atmosphere, fridge", physical_state="liquid",
|
|
372
|
+
),
|
|
373
|
+
"phmgbr": Reagent(
|
|
374
|
+
name="Phenylmagnesium bromide (3 M in THF)", formula="C6H5MgBr",
|
|
375
|
+
cas="100-58-3", mw=181.31, cost_per_kg=500,
|
|
376
|
+
ghs_hazards=["H225", "H250", "H260", "H314"],
|
|
377
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
378
|
+
storage="Sure-seal, strict inert atmosphere, fridge", physical_state="liquid",
|
|
379
|
+
),
|
|
380
|
+
"n_buli": Reagent(
|
|
381
|
+
name="n-Butyllithium (2.5 M in hexanes)", formula="C4H9Li",
|
|
382
|
+
cas="109-72-8", mw=64.06, cost_per_kg=450,
|
|
383
|
+
ghs_hazards=["H225", "H250", "H260", "H304", "H314"],
|
|
384
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
385
|
+
storage="Sure-seal, glovebox, -20 C", physical_state="liquid",
|
|
386
|
+
),
|
|
387
|
+
"phli": Reagent(
|
|
388
|
+
name="Phenyllithium (1.9 M in Bu2O)", formula="C6H5Li",
|
|
389
|
+
cas="591-51-5", mw=84.04, cost_per_kg=700,
|
|
390
|
+
ghs_hazards=["H225", "H250", "H260", "H314"],
|
|
391
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
392
|
+
storage="Sure-seal, glovebox", physical_state="liquid",
|
|
393
|
+
),
|
|
394
|
+
"meli": Reagent(
|
|
395
|
+
name="Methyllithium (1.6 M in Et2O)", formula="CH3Li",
|
|
396
|
+
cas="917-54-4", mw=21.98, cost_per_kg=800,
|
|
397
|
+
ghs_hazards=["H225", "H250", "H260", "H314"],
|
|
398
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
399
|
+
storage="Sure-seal, glovebox", physical_state="liquid",
|
|
400
|
+
),
|
|
401
|
+
|
|
402
|
+
# -----------------------------------------------------------------
|
|
403
|
+
# Coupling catalysts / reagents
|
|
404
|
+
# -----------------------------------------------------------------
|
|
405
|
+
"pd_pph3_4": Reagent(
|
|
406
|
+
name="Tetrakis(triphenylphosphine)palladium(0)", formula="Pd(PPh3)4",
|
|
407
|
+
cas="14221-01-3", mw=1155.56, cost_per_kg=12000,
|
|
408
|
+
ghs_hazards=["H315", "H319", "H335"],
|
|
409
|
+
ghs_pictograms=["GHS07"],
|
|
410
|
+
storage="Glovebox or Schlenk line, -20 C, light-sensitive", physical_state="solid",
|
|
411
|
+
),
|
|
412
|
+
"pdcl2_dppf": Reagent(
|
|
413
|
+
name="[1,1'-Bis(diphenylphosphino)ferrocene]dichloropalladium(II)",
|
|
414
|
+
formula="PdCl2(dppf)", cas="72287-26-4", mw=731.70, cost_per_kg=15000,
|
|
415
|
+
ghs_hazards=["H302", "H315", "H319", "H335"],
|
|
416
|
+
ghs_pictograms=["GHS07"],
|
|
417
|
+
storage="Inert atmosphere, light-sensitive", physical_state="solid",
|
|
418
|
+
),
|
|
419
|
+
"pd_oac_2": Reagent(
|
|
420
|
+
name="Palladium(II) acetate", formula="Pd(OAc)2", cas="3375-31-3",
|
|
421
|
+
mw=224.51, cost_per_kg=10000,
|
|
422
|
+
ghs_hazards=["H302", "H315", "H319"],
|
|
423
|
+
ghs_pictograms=["GHS07"],
|
|
424
|
+
storage="Cool dry place, light-sensitive", physical_state="solid",
|
|
425
|
+
),
|
|
426
|
+
"cui": Reagent(
|
|
427
|
+
name="Copper(I) iodide", formula="CuI", cas="7681-65-4",
|
|
428
|
+
mw=190.45, cost_per_kg=120,
|
|
429
|
+
ghs_hazards=["H302", "H315", "H319", "H335", "H410"],
|
|
430
|
+
ghs_pictograms=["GHS07", "GHS09"],
|
|
431
|
+
storage="Cool dry place, light-sensitive", physical_state="solid",
|
|
432
|
+
),
|
|
433
|
+
"ni_cod_2": Reagent(
|
|
434
|
+
name="Bis(1,5-cyclooctadiene)nickel(0)", formula="Ni(cod)2",
|
|
435
|
+
cas="1295-35-8", mw=275.04, cost_per_kg=18000,
|
|
436
|
+
ghs_hazards=["H250", "H302", "H315", "H317", "H319", "H334", "H341", "H350", "H360", "H372"],
|
|
437
|
+
ghs_pictograms=["GHS02", "GHS07", "GHS08"],
|
|
438
|
+
storage="Glovebox, -20 C, extremely air-sensitive", physical_state="solid",
|
|
439
|
+
),
|
|
440
|
+
|
|
441
|
+
# -----------------------------------------------------------------
|
|
442
|
+
# Bases (organic)
|
|
443
|
+
# -----------------------------------------------------------------
|
|
444
|
+
"et3n": Reagent(
|
|
445
|
+
name="Triethylamine", formula="(C2H5)3N", cas="121-44-8",
|
|
446
|
+
mw=101.19, cost_per_kg=22,
|
|
447
|
+
ghs_hazards=["H225", "H302", "H311", "H314", "H331"],
|
|
448
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS06"],
|
|
449
|
+
storage="Flammable cabinet, away from acids", physical_state="liquid",
|
|
450
|
+
),
|
|
451
|
+
"dmap": Reagent(
|
|
452
|
+
name="4-Dimethylaminopyridine", formula="C7H10N2", cas="1122-58-3",
|
|
453
|
+
mw=122.17, cost_per_kg=250,
|
|
454
|
+
ghs_hazards=["H301", "H311", "H331"],
|
|
455
|
+
ghs_pictograms=["GHS06"],
|
|
456
|
+
storage="Cool dry place", physical_state="solid",
|
|
457
|
+
),
|
|
458
|
+
"dbu": Reagent(
|
|
459
|
+
name="1,8-Diazabicyclo[5.4.0]undec-7-ene", formula="C9H16N2",
|
|
460
|
+
cas="6674-22-2", mw=152.24, cost_per_kg=110,
|
|
461
|
+
ghs_hazards=["H302", "H311", "H314"],
|
|
462
|
+
ghs_pictograms=["GHS05", "GHS07"],
|
|
463
|
+
storage="Inert atmosphere", physical_state="liquid",
|
|
464
|
+
),
|
|
465
|
+
"nah": Reagent(
|
|
466
|
+
name="Sodium hydride (60% in mineral oil)", formula="NaH",
|
|
467
|
+
cas="7646-69-7", mw=24.00, cost_per_kg=65,
|
|
468
|
+
ghs_hazards=["H260", "H314"],
|
|
469
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
470
|
+
storage="Glovebox or Schlenk line", physical_state="solid",
|
|
471
|
+
),
|
|
472
|
+
"k2co3": Reagent(
|
|
473
|
+
name="Potassium carbonate", formula="K2CO3", cas="584-08-7",
|
|
474
|
+
mw=138.21, cost_per_kg=10,
|
|
475
|
+
ghs_hazards=["H315", "H319", "H335"],
|
|
476
|
+
ghs_pictograms=["GHS07"],
|
|
477
|
+
storage="Dry, tightly sealed", physical_state="solid",
|
|
478
|
+
),
|
|
479
|
+
"cs2co3": Reagent(
|
|
480
|
+
name="Cesium carbonate", formula="Cs2CO3", cas="534-17-8",
|
|
481
|
+
mw=325.82, cost_per_kg=400,
|
|
482
|
+
ghs_hazards=["H315", "H319", "H335"],
|
|
483
|
+
ghs_pictograms=["GHS07"],
|
|
484
|
+
storage="Dry, tightly sealed, hygroscopic", physical_state="solid",
|
|
485
|
+
),
|
|
486
|
+
"pyridine": Reagent(
|
|
487
|
+
name="Pyridine", formula="C5H5N", cas="110-86-1",
|
|
488
|
+
mw=79.10, cost_per_kg=25,
|
|
489
|
+
ghs_hazards=["H225", "H302", "H312", "H332"],
|
|
490
|
+
ghs_pictograms=["GHS02", "GHS07"],
|
|
491
|
+
storage="Flammable cabinet", physical_state="liquid",
|
|
492
|
+
),
|
|
493
|
+
"dipea": Reagent(
|
|
494
|
+
name="N,N-Diisopropylethylamine (Hunig's base)", formula="(iPr)2NEt",
|
|
495
|
+
cas="7087-68-5", mw=129.25, cost_per_kg=50,
|
|
496
|
+
ghs_hazards=["H225", "H302", "H311", "H314", "H331"],
|
|
497
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS06"],
|
|
498
|
+
storage="Flammable cabinet, inert atmosphere", physical_state="liquid",
|
|
499
|
+
),
|
|
500
|
+
|
|
501
|
+
# -----------------------------------------------------------------
|
|
502
|
+
# Acids
|
|
503
|
+
# -----------------------------------------------------------------
|
|
504
|
+
"hcl": Reagent(
|
|
505
|
+
name="Hydrochloric acid (conc. 37%)", formula="HCl", cas="7647-01-0",
|
|
506
|
+
mw=36.46, cost_per_kg=6,
|
|
507
|
+
ghs_hazards=["H290", "H314", "H335"],
|
|
508
|
+
ghs_pictograms=["GHS05", "GHS07"],
|
|
509
|
+
storage="Acid cabinet", physical_state="liquid",
|
|
510
|
+
),
|
|
511
|
+
"h2so4": Reagent(
|
|
512
|
+
name="Sulfuric acid (conc.)", formula="H2SO4", cas="7664-93-9",
|
|
513
|
+
mw=98.08, cost_per_kg=8,
|
|
514
|
+
ghs_hazards=["H290", "H314"],
|
|
515
|
+
ghs_pictograms=["GHS05"],
|
|
516
|
+
storage="Acid cabinet, separate from organics", physical_state="liquid",
|
|
517
|
+
),
|
|
518
|
+
"hno3": Reagent(
|
|
519
|
+
name="Nitric acid (conc. 70%)", formula="HNO3", cas="7697-37-2",
|
|
520
|
+
mw=63.01, cost_per_kg=10,
|
|
521
|
+
ghs_hazards=["H272", "H290", "H314"],
|
|
522
|
+
ghs_pictograms=["GHS03", "GHS05"],
|
|
523
|
+
storage="Acid cabinet, separate from organics", physical_state="liquid",
|
|
524
|
+
),
|
|
525
|
+
"tfa": Reagent(
|
|
526
|
+
name="Trifluoroacetic acid", formula="CF3COOH", cas="76-05-1",
|
|
527
|
+
mw=114.02, cost_per_kg=55,
|
|
528
|
+
ghs_hazards=["H290", "H314", "H332"],
|
|
529
|
+
ghs_pictograms=["GHS05", "GHS07"],
|
|
530
|
+
storage="Acid cabinet, tightly sealed", physical_state="liquid",
|
|
531
|
+
),
|
|
532
|
+
"acoh": Reagent(
|
|
533
|
+
name="Acetic acid (glacial)", formula="CH3COOH", cas="64-19-7",
|
|
534
|
+
mw=60.05, cost_per_kg=12,
|
|
535
|
+
ghs_hazards=["H226", "H314"],
|
|
536
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
537
|
+
storage="Acid/flammable cabinet", physical_state="liquid",
|
|
538
|
+
),
|
|
539
|
+
"p_tsoh": Reagent(
|
|
540
|
+
name="para-Toluenesulfonic acid monohydrate", formula="CH3C6H4SO3H*H2O",
|
|
541
|
+
cas="6192-52-5", mw=190.22, cost_per_kg=25,
|
|
542
|
+
ghs_hazards=["H302", "H314", "H318"],
|
|
543
|
+
ghs_pictograms=["GHS05", "GHS07"],
|
|
544
|
+
storage="Dry, tightly sealed", physical_state="solid",
|
|
545
|
+
),
|
|
546
|
+
"bf3_oet2": Reagent(
|
|
547
|
+
name="Boron trifluoride diethyl etherate", formula="BF3*OEt2",
|
|
548
|
+
cas="109-63-7", mw=141.93, cost_per_kg=45,
|
|
549
|
+
ghs_hazards=["H226", "H302", "H314", "H331"],
|
|
550
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS06"],
|
|
551
|
+
storage="Inert atmosphere, moisture-sensitive", physical_state="liquid",
|
|
552
|
+
),
|
|
553
|
+
"ticl4": Reagent(
|
|
554
|
+
name="Titanium(IV) chloride", formula="TiCl4", cas="7550-45-0",
|
|
555
|
+
mw=189.68, cost_per_kg=60,
|
|
556
|
+
ghs_hazards=["H290", "H314", "H330", "H335"],
|
|
557
|
+
ghs_pictograms=["GHS05", "GHS06"],
|
|
558
|
+
storage="Inert atmosphere, fume hood, moisture-sensitive", physical_state="liquid",
|
|
559
|
+
),
|
|
560
|
+
"alcl3": Reagent(
|
|
561
|
+
name="Aluminium chloride", formula="AlCl3", cas="7446-70-0",
|
|
562
|
+
mw=133.34, cost_per_kg=20,
|
|
563
|
+
ghs_hazards=["H290", "H302", "H314"],
|
|
564
|
+
ghs_pictograms=["GHS05", "GHS07"],
|
|
565
|
+
storage="Inert atmosphere, moisture-sensitive", physical_state="solid",
|
|
566
|
+
),
|
|
567
|
+
|
|
568
|
+
# -----------------------------------------------------------------
|
|
569
|
+
# Protection reagents
|
|
570
|
+
# -----------------------------------------------------------------
|
|
571
|
+
"boc2o": Reagent(
|
|
572
|
+
name="Di-tert-butyl dicarbonate", formula="(Boc)2O", cas="24424-99-5",
|
|
573
|
+
mw=218.25, cost_per_kg=100,
|
|
574
|
+
ghs_hazards=["H228", "H302"],
|
|
575
|
+
ghs_pictograms=["GHS02", "GHS07"],
|
|
576
|
+
storage="Fridge", physical_state="solid",
|
|
577
|
+
),
|
|
578
|
+
"fmoc_cl": Reagent(
|
|
579
|
+
name="9-Fluorenylmethyl chloroformate", formula="FmocCl",
|
|
580
|
+
cas="28920-43-6", mw=258.70, cost_per_kg=350,
|
|
581
|
+
ghs_hazards=["H302", "H315", "H319"],
|
|
582
|
+
ghs_pictograms=["GHS07"],
|
|
583
|
+
storage="Fridge, moisture-sensitive", physical_state="solid",
|
|
584
|
+
),
|
|
585
|
+
"tbscl": Reagent(
|
|
586
|
+
name="tert-Butyldimethylsilyl chloride", formula="TBSCl",
|
|
587
|
+
cas="18162-48-6", mw=150.72, cost_per_kg=120,
|
|
588
|
+
ghs_hazards=["H228", "H302", "H314"],
|
|
589
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS07"],
|
|
590
|
+
storage="Dry, inert atmosphere", physical_state="solid",
|
|
591
|
+
),
|
|
592
|
+
"tbdpscl": Reagent(
|
|
593
|
+
name="tert-Butyldiphenylsilyl chloride", formula="TBDPSCl",
|
|
594
|
+
cas="58479-61-1", mw=274.87, cost_per_kg=300,
|
|
595
|
+
ghs_hazards=["H302", "H314"],
|
|
596
|
+
ghs_pictograms=["GHS05", "GHS07"],
|
|
597
|
+
storage="Inert atmosphere, moisture-sensitive", physical_state="liquid",
|
|
598
|
+
),
|
|
599
|
+
"pmbcl": Reagent(
|
|
600
|
+
name="para-Methoxybenzyl chloride", formula="PMBCl", cas="824-94-2",
|
|
601
|
+
mw=156.61, cost_per_kg=80,
|
|
602
|
+
ghs_hazards=["H302", "H315", "H319"],
|
|
603
|
+
ghs_pictograms=["GHS07"],
|
|
604
|
+
storage="Fridge, moisture-sensitive", physical_state="liquid",
|
|
605
|
+
),
|
|
606
|
+
"ac2o": Reagent(
|
|
607
|
+
name="Acetic anhydride", formula="(CH3CO)2O", cas="108-24-7",
|
|
608
|
+
mw=102.09, cost_per_kg=15,
|
|
609
|
+
ghs_hazards=["H226", "H302", "H314", "H332"],
|
|
610
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS07"],
|
|
611
|
+
storage="Flammable cabinet, moisture-sensitive", physical_state="liquid",
|
|
612
|
+
),
|
|
613
|
+
|
|
614
|
+
# -----------------------------------------------------------------
|
|
615
|
+
# Deprotection reagents
|
|
616
|
+
# -----------------------------------------------------------------
|
|
617
|
+
"tbaf": Reagent(
|
|
618
|
+
name="Tetrabutylammonium fluoride (1 M in THF)", formula="TBAF",
|
|
619
|
+
cas="429-41-4", mw=261.46, cost_per_kg=500,
|
|
620
|
+
ghs_hazards=["H225", "H302", "H314"],
|
|
621
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS07"],
|
|
622
|
+
storage="Sure-seal, fridge", physical_state="liquid",
|
|
623
|
+
),
|
|
624
|
+
"hf_pyridine": Reagent(
|
|
625
|
+
name="Hydrogen fluoride / pyridine (Olah's reagent)", formula="HF*pyr",
|
|
626
|
+
cas="32001-55-1", mw=0.0, cost_per_kg=200,
|
|
627
|
+
ghs_hazards=["H300", "H310", "H314", "H330"],
|
|
628
|
+
ghs_pictograms=["GHS05", "GHS06"],
|
|
629
|
+
storage="Polyethylene container, CaF2 antidote nearby", physical_state="liquid",
|
|
630
|
+
),
|
|
631
|
+
"ddq": Reagent(
|
|
632
|
+
name="2,3-Dichloro-5,6-dicyano-1,4-benzoquinone", formula="DDQ",
|
|
633
|
+
cas="84-58-2", mw=227.00, cost_per_kg=500,
|
|
634
|
+
ghs_hazards=["H301", "H311", "H319", "H331"],
|
|
635
|
+
ghs_pictograms=["GHS06"],
|
|
636
|
+
storage="Cool dry place, light-sensitive", physical_state="solid",
|
|
637
|
+
),
|
|
638
|
+
|
|
639
|
+
# -----------------------------------------------------------------
|
|
640
|
+
# Miscellaneous
|
|
641
|
+
# -----------------------------------------------------------------
|
|
642
|
+
"pph3": Reagent(
|
|
643
|
+
name="Triphenylphosphine", formula="PPh3", cas="603-35-0",
|
|
644
|
+
mw=262.29, cost_per_kg=50,
|
|
645
|
+
ghs_hazards=["H302", "H315", "H319"],
|
|
646
|
+
ghs_pictograms=["GHS07"],
|
|
647
|
+
storage="Room temperature", physical_state="solid",
|
|
648
|
+
),
|
|
649
|
+
"grubbs_1": Reagent(
|
|
650
|
+
name="Grubbs catalyst 1st generation", formula="Cl2(PCy3)2Ru=CHPh",
|
|
651
|
+
cas="172222-30-9", mw=822.96, cost_per_kg=25000,
|
|
652
|
+
ghs_hazards=["H315", "H319", "H335"],
|
|
653
|
+
ghs_pictograms=["GHS07"],
|
|
654
|
+
storage="Glovebox, -20 C, inert atmosphere", physical_state="solid",
|
|
655
|
+
),
|
|
656
|
+
"grubbs_2": Reagent(
|
|
657
|
+
name="Grubbs catalyst 2nd generation",
|
|
658
|
+
formula="Cl2(IMes)(PCy3)Ru=CHPh", cas="246047-72-3",
|
|
659
|
+
mw=848.97, cost_per_kg=28000,
|
|
660
|
+
ghs_hazards=["H315", "H319", "H335"],
|
|
661
|
+
ghs_pictograms=["GHS07"],
|
|
662
|
+
storage="Glovebox, -20 C, inert atmosphere", physical_state="solid",
|
|
663
|
+
),
|
|
664
|
+
"socl2": Reagent(
|
|
665
|
+
name="Thionyl chloride", formula="SOCl2", cas="7719-09-7",
|
|
666
|
+
mw=118.97, cost_per_kg=25,
|
|
667
|
+
ghs_hazards=["H302", "H314", "H331"],
|
|
668
|
+
ghs_pictograms=["GHS05", "GHS06"],
|
|
669
|
+
storage="Inert atmosphere, moisture-sensitive", physical_state="liquid",
|
|
670
|
+
),
|
|
671
|
+
"pcl5": Reagent(
|
|
672
|
+
name="Phosphorus pentachloride", formula="PCl5", cas="10026-13-8",
|
|
673
|
+
mw=208.24, cost_per_kg=40,
|
|
674
|
+
ghs_hazards=["H290", "H302", "H314"],
|
|
675
|
+
ghs_pictograms=["GHS05", "GHS07"],
|
|
676
|
+
storage="Inert atmosphere, moisture-sensitive", physical_state="solid",
|
|
677
|
+
),
|
|
678
|
+
"p2o5": Reagent(
|
|
679
|
+
name="Phosphorus pentoxide", formula="P2O5", cas="1314-56-3",
|
|
680
|
+
mw=141.94, cost_per_kg=20,
|
|
681
|
+
ghs_hazards=["H290", "H314"],
|
|
682
|
+
ghs_pictograms=["GHS05"],
|
|
683
|
+
storage="Tightly sealed, extremely hygroscopic", physical_state="solid",
|
|
684
|
+
),
|
|
685
|
+
"diad": Reagent(
|
|
686
|
+
name="Diisopropyl azodicarboxylate", formula="iPrO2CN=NCO2iPr",
|
|
687
|
+
cas="2446-83-5", mw=202.21, cost_per_kg=180,
|
|
688
|
+
ghs_hazards=["H225", "H302", "H312", "H315", "H319", "H332"],
|
|
689
|
+
ghs_pictograms=["GHS02", "GHS07"],
|
|
690
|
+
storage="Fridge, flammable cabinet", physical_state="liquid",
|
|
691
|
+
),
|
|
692
|
+
"dead": Reagent(
|
|
693
|
+
name="Diethyl azodicarboxylate", formula="EtO2CN=NCO2Et",
|
|
694
|
+
cas="1972-28-7", mw=174.15, cost_per_kg=160,
|
|
695
|
+
ghs_hazards=["H225", "H301", "H311", "H315", "H319", "H331", "H335", "H351"],
|
|
696
|
+
ghs_pictograms=["GHS02", "GHS06", "GHS08"],
|
|
697
|
+
storage="Fridge, flammable cabinet", physical_state="liquid",
|
|
698
|
+
),
|
|
699
|
+
"imidazole": Reagent(
|
|
700
|
+
name="Imidazole", formula="C3H4N2", cas="288-32-4",
|
|
701
|
+
mw=68.08, cost_per_kg=30,
|
|
702
|
+
ghs_hazards=["H302", "H314"],
|
|
703
|
+
ghs_pictograms=["GHS05", "GHS07"],
|
|
704
|
+
storage="Room temperature", physical_state="solid",
|
|
705
|
+
),
|
|
706
|
+
"n2h4": Reagent(
|
|
707
|
+
name="Hydrazine monohydrate", formula="N2H4*H2O", cas="7803-57-8",
|
|
708
|
+
mw=50.06, cost_per_kg=40,
|
|
709
|
+
ghs_hazards=["H226", "H301", "H311", "H314", "H317", "H331", "H350", "H410"],
|
|
710
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS06", "GHS08", "GHS09"],
|
|
711
|
+
storage="Flammable cabinet, poison area", physical_state="liquid",
|
|
712
|
+
),
|
|
713
|
+
"zncl2": Reagent(
|
|
714
|
+
name="Zinc chloride", formula="ZnCl2", cas="7646-85-7",
|
|
715
|
+
mw=136.30, cost_per_kg=15,
|
|
716
|
+
ghs_hazards=["H290", "H302", "H314", "H410"],
|
|
717
|
+
ghs_pictograms=["GHS05", "GHS07", "GHS09"],
|
|
718
|
+
storage="Dry, tightly sealed", physical_state="solid",
|
|
719
|
+
),
|
|
720
|
+
"znbr2": Reagent(
|
|
721
|
+
name="Zinc bromide", formula="ZnBr2", cas="7699-45-8",
|
|
722
|
+
mw=225.20, cost_per_kg=50,
|
|
723
|
+
ghs_hazards=["H302", "H314", "H410"],
|
|
724
|
+
ghs_pictograms=["GHS05", "GHS07", "GHS09"],
|
|
725
|
+
storage="Dry, tightly sealed, hygroscopic", physical_state="solid",
|
|
726
|
+
),
|
|
727
|
+
"cul": Reagent(
|
|
728
|
+
name="Copper(I) chloride", formula="CuCl", cas="7758-89-6",
|
|
729
|
+
mw=98.99, cost_per_kg=30,
|
|
730
|
+
ghs_hazards=["H302", "H400", "H410"],
|
|
731
|
+
ghs_pictograms=["GHS07", "GHS09"],
|
|
732
|
+
storage="Inert atmosphere", physical_state="solid",
|
|
733
|
+
),
|
|
734
|
+
"mgso4": Reagent(
|
|
735
|
+
name="Magnesium sulfate (anhydrous, drying agent)", formula="MgSO4",
|
|
736
|
+
cas="7487-88-9", mw=120.37, cost_per_kg=8,
|
|
737
|
+
ghs_hazards=[], ghs_pictograms=[],
|
|
738
|
+
storage="Tightly sealed", physical_state="solid",
|
|
739
|
+
),
|
|
740
|
+
"na2so4": Reagent(
|
|
741
|
+
name="Sodium sulfate (anhydrous, drying agent)", formula="Na2SO4",
|
|
742
|
+
cas="7757-82-6", mw=142.04, cost_per_kg=5,
|
|
743
|
+
ghs_hazards=[], ghs_pictograms=[],
|
|
744
|
+
storage="Tightly sealed", physical_state="solid",
|
|
745
|
+
),
|
|
746
|
+
"nahco3": Reagent(
|
|
747
|
+
name="Sodium bicarbonate", formula="NaHCO3", cas="144-55-8",
|
|
748
|
+
mw=84.01, cost_per_kg=4,
|
|
749
|
+
ghs_hazards=[], ghs_pictograms=[],
|
|
750
|
+
storage="Room temperature", physical_state="solid",
|
|
751
|
+
),
|
|
752
|
+
"nh4cl": Reagent(
|
|
753
|
+
name="Ammonium chloride", formula="NH4Cl", cas="12125-02-9",
|
|
754
|
+
mw=53.49, cost_per_kg=6,
|
|
755
|
+
ghs_hazards=["H302", "H319"],
|
|
756
|
+
ghs_pictograms=["GHS07"],
|
|
757
|
+
storage="Room temperature", physical_state="solid",
|
|
758
|
+
),
|
|
759
|
+
"lda": Reagent(
|
|
760
|
+
name="Lithium diisopropylamide (2 M in THF/heptane)", formula="LDA",
|
|
761
|
+
cas="4111-54-0", mw=107.12, cost_per_kg=500,
|
|
762
|
+
ghs_hazards=["H225", "H250", "H260", "H314"],
|
|
763
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
764
|
+
storage="Sure-seal, -20 C", physical_state="liquid",
|
|
765
|
+
),
|
|
766
|
+
"lhmds": Reagent(
|
|
767
|
+
name="Lithium bis(trimethylsilyl)amide (1 M in THF)", formula="LiHMDS",
|
|
768
|
+
cas="4039-32-1", mw=167.33, cost_per_kg=450,
|
|
769
|
+
ghs_hazards=["H225", "H250", "H260", "H314"],
|
|
770
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
771
|
+
storage="Sure-seal, -20 C", physical_state="liquid",
|
|
772
|
+
),
|
|
773
|
+
"nahmds": Reagent(
|
|
774
|
+
name="Sodium bis(trimethylsilyl)amide (1 M in THF)", formula="NaHMDS",
|
|
775
|
+
cas="1070-89-9", mw=183.37, cost_per_kg=400,
|
|
776
|
+
ghs_hazards=["H225", "H250", "H260", "H314"],
|
|
777
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
778
|
+
storage="Sure-seal, -20 C", physical_state="liquid",
|
|
779
|
+
),
|
|
780
|
+
"khmds": Reagent(
|
|
781
|
+
name="Potassium bis(trimethylsilyl)amide (0.5 M in toluene)",
|
|
782
|
+
formula="KHMDS", cas="40949-94-8", mw=199.47, cost_per_kg=500,
|
|
783
|
+
ghs_hazards=["H225", "H250", "H260", "H314"],
|
|
784
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
785
|
+
storage="Sure-seal, -20 C", physical_state="liquid",
|
|
786
|
+
),
|
|
787
|
+
"o3": Reagent(
|
|
788
|
+
name="Ozone (generated in situ)", formula="O3",
|
|
789
|
+
mw=48.00, cost_per_kg=0,
|
|
790
|
+
ghs_hazards=["H270", "H314", "H330"],
|
|
791
|
+
ghs_pictograms=["GHS03", "GHS05", "GHS06"],
|
|
792
|
+
storage="Generated from O2 via ozonizer", physical_state="gas",
|
|
793
|
+
),
|
|
794
|
+
"me2s": Reagent(
|
|
795
|
+
name="Dimethyl sulfide", formula="(CH3)2S", cas="75-18-3",
|
|
796
|
+
mw=62.13, cost_per_kg=15,
|
|
797
|
+
ghs_hazards=["H225", "H302", "H332"],
|
|
798
|
+
ghs_pictograms=["GHS02", "GHS07"],
|
|
799
|
+
storage="Flammable cabinet, fume hood (stench)", physical_state="liquid",
|
|
800
|
+
),
|
|
801
|
+
"ph3p_chco2et": Reagent(
|
|
802
|
+
name="Ethyl (triphenylphosphoranylidene)acetate (stabilized Wittig)",
|
|
803
|
+
formula="Ph3P=CHCO2Et", cas="1099-45-2", mw=348.39, cost_per_kg=300,
|
|
804
|
+
ghs_hazards=["H302", "H315", "H319"],
|
|
805
|
+
ghs_pictograms=["GHS07"],
|
|
806
|
+
storage="Room temperature", physical_state="solid",
|
|
807
|
+
),
|
|
808
|
+
"ch2i2": Reagent(
|
|
809
|
+
name="Diiodomethane", formula="CH2I2", cas="75-11-6",
|
|
810
|
+
mw=267.84, cost_per_kg=80,
|
|
811
|
+
ghs_hazards=["H302", "H315", "H319", "H335"],
|
|
812
|
+
ghs_pictograms=["GHS07"],
|
|
813
|
+
storage="Amber bottle, fridge", physical_state="liquid",
|
|
814
|
+
),
|
|
815
|
+
"znet2": Reagent(
|
|
816
|
+
name="Diethylzinc (1 M in hexanes)", formula="ZnEt2",
|
|
817
|
+
cas="557-20-0", mw=123.53, cost_per_kg=350,
|
|
818
|
+
ghs_hazards=["H250", "H260", "H302", "H314"],
|
|
819
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS07"],
|
|
820
|
+
storage="Sure-seal, glovebox", physical_state="liquid",
|
|
821
|
+
),
|
|
822
|
+
"bu3snh": Reagent(
|
|
823
|
+
name="Tributyltin hydride", formula="Bu3SnH", cas="688-73-3",
|
|
824
|
+
mw=291.06, cost_per_kg=200,
|
|
825
|
+
ghs_hazards=["H301", "H311", "H315", "H319", "H331", "H360", "H372", "H410"],
|
|
826
|
+
ghs_pictograms=["GHS06", "GHS08", "GHS09"],
|
|
827
|
+
storage="Fridge, inert atmosphere", physical_state="liquid",
|
|
828
|
+
),
|
|
829
|
+
"aibn": Reagent(
|
|
830
|
+
name="Azobisisobutyronitrile", formula="(CH3)2C(CN)N=NC(CN)(CH3)2",
|
|
831
|
+
cas="78-67-1", mw=164.21, cost_per_kg=50,
|
|
832
|
+
ghs_hazards=["H242", "H302", "H412"],
|
|
833
|
+
ghs_pictograms=["GHS02", "GHS07"],
|
|
834
|
+
storage="Freezer, shock-sensitive", physical_state="solid",
|
|
835
|
+
),
|
|
836
|
+
"nbs": Reagent(
|
|
837
|
+
name="N-Bromosuccinimide", formula="C4H4BrNO2", cas="128-08-5",
|
|
838
|
+
mw=177.98, cost_per_kg=45,
|
|
839
|
+
ghs_hazards=["H302", "H315", "H319"],
|
|
840
|
+
ghs_pictograms=["GHS07"],
|
|
841
|
+
storage="Cool dry place, light-sensitive", physical_state="solid",
|
|
842
|
+
),
|
|
843
|
+
"ncs": Reagent(
|
|
844
|
+
name="N-Chlorosuccinimide", formula="C4H4ClNO2", cas="128-09-6",
|
|
845
|
+
mw=133.53, cost_per_kg=40,
|
|
846
|
+
ghs_hazards=["H302", "H314"],
|
|
847
|
+
ghs_pictograms=["GHS05", "GHS07"],
|
|
848
|
+
storage="Cool dry place", physical_state="solid",
|
|
849
|
+
),
|
|
850
|
+
"br2": Reagent(
|
|
851
|
+
name="Bromine", formula="Br2", cas="7726-95-6",
|
|
852
|
+
mw=159.81, cost_per_kg=30,
|
|
853
|
+
ghs_hazards=["H314", "H330", "H400"],
|
|
854
|
+
ghs_pictograms=["GHS05", "GHS06", "GHS09"],
|
|
855
|
+
storage="Corrosive cabinet, fume hood", physical_state="liquid",
|
|
856
|
+
),
|
|
857
|
+
"i2": Reagent(
|
|
858
|
+
name="Iodine", formula="I2", cas="7553-56-2",
|
|
859
|
+
mw=253.81, cost_per_kg=60,
|
|
860
|
+
ghs_hazards=["H302", "H312", "H332", "H400"],
|
|
861
|
+
ghs_pictograms=["GHS07", "GHS09"],
|
|
862
|
+
storage="Cool dry place", physical_state="solid",
|
|
863
|
+
),
|
|
864
|
+
"9_bbn": Reagent(
|
|
865
|
+
name="9-Borabicyclo[3.3.1]nonane (0.5 M in THF)", formula="9-BBN",
|
|
866
|
+
cas="280-64-8", mw=122.02, cost_per_kg=400,
|
|
867
|
+
ghs_hazards=["H225", "H250", "H260", "H314"],
|
|
868
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
869
|
+
storage="Sure-seal, inert atmosphere", physical_state="liquid",
|
|
870
|
+
),
|
|
871
|
+
"bh3_thf": Reagent(
|
|
872
|
+
name="Borane-THF complex (1 M in THF)", formula="BH3*THF",
|
|
873
|
+
cas="14044-65-6", mw=85.94, cost_per_kg=250,
|
|
874
|
+
ghs_hazards=["H225", "H250", "H260", "H314"],
|
|
875
|
+
ghs_pictograms=["GHS02", "GHS05"],
|
|
876
|
+
storage="Sure-seal, strict inert atmosphere, fridge", physical_state="liquid",
|
|
877
|
+
),
|
|
878
|
+
"b2h6": Reagent(
|
|
879
|
+
name="Diborane (gas)", formula="B2H6",
|
|
880
|
+
cas="19287-45-7", mw=27.67, cost_per_kg=0,
|
|
881
|
+
ghs_hazards=["H220", "H250", "H330", "H314"],
|
|
882
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS06"],
|
|
883
|
+
storage="Gas cylinder, pyrophoric", physical_state="gas",
|
|
884
|
+
),
|
|
885
|
+
"phthalimide_k": Reagent(
|
|
886
|
+
name="Potassium phthalimide", formula="C8H4KNO2", cas="1074-82-4",
|
|
887
|
+
mw=185.22, cost_per_kg=30,
|
|
888
|
+
ghs_hazards=["H302", "H315", "H319"],
|
|
889
|
+
ghs_pictograms=["GHS07"],
|
|
890
|
+
storage="Room temperature", physical_state="solid",
|
|
891
|
+
),
|
|
892
|
+
"nh2nh2": Reagent(
|
|
893
|
+
name="Hydrazine (anhydrous)", formula="N2H4", cas="302-01-2",
|
|
894
|
+
mw=32.05, cost_per_kg=50,
|
|
895
|
+
ghs_hazards=["H226", "H301", "H311", "H314", "H317", "H331", "H350", "H410"],
|
|
896
|
+
ghs_pictograms=["GHS02", "GHS05", "GHS06", "GHS08", "GHS09"],
|
|
897
|
+
storage="Flammable, poison cabinet", physical_state="liquid",
|
|
898
|
+
),
|
|
899
|
+
"crcl2": Reagent(
|
|
900
|
+
name="Chromium(II) chloride", formula="CrCl2", cas="10049-05-5",
|
|
901
|
+
mw=122.90, cost_per_kg=200,
|
|
902
|
+
ghs_hazards=["H302", "H315", "H319", "H335"],
|
|
903
|
+
ghs_pictograms=["GHS07"],
|
|
904
|
+
storage="Glovebox, air-sensitive", physical_state="solid",
|
|
905
|
+
),
|
|
906
|
+
"pd_c_10": Reagent(
|
|
907
|
+
name="Palladium on carbon (10 wt%)", formula="Pd/C",
|
|
908
|
+
cas="7440-05-3", mw=106.42, cost_per_kg=900,
|
|
909
|
+
ghs_hazards=["H228"],
|
|
910
|
+
ghs_pictograms=["GHS02"],
|
|
911
|
+
storage="Keep wetted with water to prevent ignition", physical_state="solid",
|
|
912
|
+
),
|
|
913
|
+
"lindlar": Reagent(
|
|
914
|
+
name="Lindlar catalyst (Pd/CaCO3/Pb)", formula="Pd/CaCO3/Pb(OAc)2",
|
|
915
|
+
mw=0.0, cost_per_kg=2000,
|
|
916
|
+
ghs_hazards=["H302", "H332", "H360", "H373"],
|
|
917
|
+
ghs_pictograms=["GHS07", "GHS08"],
|
|
918
|
+
storage="Room temperature, keep dry", physical_state="solid",
|
|
919
|
+
),
|
|
920
|
+
"sncl2": Reagent(
|
|
921
|
+
name="Tin(II) chloride dihydrate", formula="SnCl2*2H2O",
|
|
922
|
+
cas="10025-69-1", mw=225.65, cost_per_kg=25,
|
|
923
|
+
ghs_hazards=["H302", "H315", "H319"],
|
|
924
|
+
ghs_pictograms=["GHS07"],
|
|
925
|
+
storage="Cool dry place", physical_state="solid",
|
|
926
|
+
),
|
|
927
|
+
"samarium_ii_iodide": Reagent(
|
|
928
|
+
name="Samarium(II) iodide (0.1 M in THF)", formula="SmI2",
|
|
929
|
+
cas="32248-43-4", mw=404.16, cost_per_kg=5000,
|
|
930
|
+
ghs_hazards=["H225", "H315", "H319"],
|
|
931
|
+
ghs_pictograms=["GHS02", "GHS07"],
|
|
932
|
+
storage="Sure-seal, inert atmosphere, air-sensitive", physical_state="liquid",
|
|
933
|
+
),
|
|
934
|
+
"ticl3": Reagent(
|
|
935
|
+
name="Titanium(III) chloride", formula="TiCl3", cas="7705-07-9",
|
|
936
|
+
mw=154.23, cost_per_kg=80,
|
|
937
|
+
ghs_hazards=["H302", "H314"],
|
|
938
|
+
ghs_pictograms=["GHS05", "GHS07"],
|
|
939
|
+
storage="Inert atmosphere", physical_state="solid",
|
|
940
|
+
),
|
|
941
|
+
"pd2_dba_3": Reagent(
|
|
942
|
+
name="Tris(dibenzylideneacetone)dipalladium(0)",
|
|
943
|
+
formula="Pd2(dba)3", cas="51364-51-3", mw=915.72, cost_per_kg=14000,
|
|
944
|
+
ghs_hazards=["H315", "H319", "H335"],
|
|
945
|
+
ghs_pictograms=["GHS07"],
|
|
946
|
+
storage="Glovebox, inert atmosphere, light-sensitive", physical_state="solid",
|
|
947
|
+
),
|
|
948
|
+
"sphos": Reagent(
|
|
949
|
+
name="2-Dicyclohexylphosphino-2',6'-dimethoxybiphenyl (SPhos)",
|
|
950
|
+
formula="SPhos", cas="657408-07-6", mw=414.54, cost_per_kg=8000,
|
|
951
|
+
ghs_hazards=["H302", "H315", "H319"],
|
|
952
|
+
ghs_pictograms=["GHS07"],
|
|
953
|
+
storage="Inert atmosphere, room temperature", physical_state="solid",
|
|
954
|
+
),
|
|
955
|
+
"xphos": Reagent(
|
|
956
|
+
name="2-Dicyclohexylphosphino-2',4',6'-triisopropylbiphenyl (XPhos)",
|
|
957
|
+
formula="XPhos", cas="564483-18-7", mw=476.67, cost_per_kg=9000,
|
|
958
|
+
ghs_hazards=["H302", "H315", "H319"],
|
|
959
|
+
ghs_pictograms=["GHS07"],
|
|
960
|
+
storage="Inert atmosphere, room temperature", physical_state="solid",
|
|
961
|
+
),
|
|
962
|
+
"bu4nf": Reagent(
|
|
963
|
+
name="Tetrabutylammonium fluoride trihydrate", formula="Bu4NF*3H2O",
|
|
964
|
+
cas="22206-57-1", mw=315.51, cost_per_kg=450,
|
|
965
|
+
ghs_hazards=["H302", "H314"],
|
|
966
|
+
ghs_pictograms=["GHS05", "GHS07"],
|
|
967
|
+
storage="Fridge, hygroscopic", physical_state="solid",
|
|
968
|
+
),
|
|
969
|
+
"hbf4": Reagent(
|
|
970
|
+
name="Tetrafluoroboric acid (48% in water)", formula="HBF4",
|
|
971
|
+
cas="16872-11-0", mw=87.81, cost_per_kg=35,
|
|
972
|
+
ghs_hazards=["H290", "H314"],
|
|
973
|
+
ghs_pictograms=["GHS05"],
|
|
974
|
+
storage="Acid cabinet", physical_state="liquid",
|
|
975
|
+
),
|
|
976
|
+
"bpin2": Reagent(
|
|
977
|
+
name="Bis(pinacolato)diboron", formula="B2pin2", cas="73183-34-3",
|
|
978
|
+
mw=253.94, cost_per_kg=250,
|
|
979
|
+
ghs_hazards=["H302", "H315", "H319"],
|
|
980
|
+
ghs_pictograms=["GHS07"],
|
|
981
|
+
storage="Room temperature, moisture-sensitive", physical_state="solid",
|
|
982
|
+
),
|
|
983
|
+
"me3sn_snme3": Reagent(
|
|
984
|
+
name="Hexamethylditin", formula="Me3SnSnMe3", cas="661-69-8",
|
|
985
|
+
mw=327.59, cost_per_kg=1500,
|
|
986
|
+
ghs_hazards=["H301", "H311", "H315", "H319", "H331", "H360", "H372", "H410"],
|
|
987
|
+
ghs_pictograms=["GHS06", "GHS08", "GHS09"],
|
|
988
|
+
storage="Fridge, inert atmosphere", physical_state="liquid",
|
|
989
|
+
),
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
|
|
993
|
+
# =====================================================================
|
|
994
|
+
# SOLVENT_DB (~30 entries)
|
|
995
|
+
# =====================================================================
|
|
996
|
+
|
|
997
|
+
SOLVENT_DB: dict[str, Solvent] = {
|
|
998
|
+
"water": Solvent(
|
|
999
|
+
name="Water", formula="H2O", bp=100.0, mp=0.0,
|
|
1000
|
+
density=1.00, dielectric=80.1, polarity_index=10.2,
|
|
1001
|
+
cas="7732-18-5", cost_per_L=0.05, green_score=1,
|
|
1002
|
+
ghs_hazards=[], miscible_with_water=True,
|
|
1003
|
+
),
|
|
1004
|
+
"meoh": Solvent(
|
|
1005
|
+
name="Methanol", formula="CH3OH", bp=64.7, mp=-97.6,
|
|
1006
|
+
density=0.791, dielectric=32.7, polarity_index=5.1,
|
|
1007
|
+
cas="67-56-1", cost_per_L=8, green_score=3,
|
|
1008
|
+
ghs_hazards=["H225", "H301", "H311", "H331"],
|
|
1009
|
+
miscible_with_water=True,
|
|
1010
|
+
),
|
|
1011
|
+
"etoh": Solvent(
|
|
1012
|
+
name="Ethanol", formula="C2H5OH", bp=78.4, mp=-114.1,
|
|
1013
|
+
density=0.789, dielectric=24.5, polarity_index=5.2,
|
|
1014
|
+
cas="64-17-5", cost_per_L=10, green_score=2,
|
|
1015
|
+
ghs_hazards=["H225"], miscible_with_water=True,
|
|
1016
|
+
),
|
|
1017
|
+
"iproh": Solvent(
|
|
1018
|
+
name="Isopropanol", formula="(CH3)2CHOH", bp=82.6, mp=-89.5,
|
|
1019
|
+
density=0.786, dielectric=17.9, polarity_index=3.9,
|
|
1020
|
+
cas="67-63-0", cost_per_L=9, green_score=2,
|
|
1021
|
+
ghs_hazards=["H225", "H319", "H336"],
|
|
1022
|
+
miscible_with_water=True,
|
|
1023
|
+
),
|
|
1024
|
+
"nbuoh": Solvent(
|
|
1025
|
+
name="n-Butanol", formula="C4H9OH", bp=117.7, mp=-89.8,
|
|
1026
|
+
density=0.810, dielectric=17.8, polarity_index=3.9,
|
|
1027
|
+
cas="71-36-3", cost_per_L=12, green_score=3,
|
|
1028
|
+
ghs_hazards=["H226", "H302", "H315", "H318", "H335", "H336"],
|
|
1029
|
+
miscible_with_water=False,
|
|
1030
|
+
),
|
|
1031
|
+
"dcm": Solvent(
|
|
1032
|
+
name="Dichloromethane", formula="CH2Cl2", bp=39.6, mp=-96.7,
|
|
1033
|
+
density=1.325, dielectric=8.9, polarity_index=3.1,
|
|
1034
|
+
cas="75-09-2", cost_per_L=12, green_score=7,
|
|
1035
|
+
ghs_hazards=["H302", "H315", "H336", "H351"],
|
|
1036
|
+
miscible_with_water=False,
|
|
1037
|
+
),
|
|
1038
|
+
"chcl3": Solvent(
|
|
1039
|
+
name="Chloroform", formula="CHCl3", bp=61.2, mp=-63.5,
|
|
1040
|
+
density=1.489, dielectric=4.8, polarity_index=4.1,
|
|
1041
|
+
cas="67-66-3", cost_per_L=14, green_score=8,
|
|
1042
|
+
ghs_hazards=["H302", "H315", "H319", "H331", "H336", "H351", "H361", "H372"],
|
|
1043
|
+
miscible_with_water=False,
|
|
1044
|
+
),
|
|
1045
|
+
"ccl4": Solvent(
|
|
1046
|
+
name="Carbon tetrachloride", formula="CCl4", bp=76.7, mp=-22.9,
|
|
1047
|
+
density=1.594, dielectric=2.2, polarity_index=1.6,
|
|
1048
|
+
cas="56-23-5", cost_per_L=20, green_score=10,
|
|
1049
|
+
ghs_hazards=["H301", "H311", "H331", "H351", "H372", "H412", "H420"],
|
|
1050
|
+
miscible_with_water=False,
|
|
1051
|
+
),
|
|
1052
|
+
"et2o": Solvent(
|
|
1053
|
+
name="Diethyl ether", formula="(C2H5)2O", bp=34.6, mp=-116.3,
|
|
1054
|
+
density=0.713, dielectric=4.3, polarity_index=2.8,
|
|
1055
|
+
cas="60-29-7", cost_per_L=15, green_score=5,
|
|
1056
|
+
ghs_hazards=["H224", "H302", "H336"],
|
|
1057
|
+
miscible_with_water=False,
|
|
1058
|
+
),
|
|
1059
|
+
"thf": Solvent(
|
|
1060
|
+
name="Tetrahydrofuran", formula="C4H8O", bp=66.0, mp=-108.4,
|
|
1061
|
+
density=0.889, dielectric=7.5, polarity_index=4.0,
|
|
1062
|
+
cas="109-99-9", cost_per_L=18, green_score=5,
|
|
1063
|
+
ghs_hazards=["H225", "H302", "H319", "H335"],
|
|
1064
|
+
miscible_with_water=True,
|
|
1065
|
+
),
|
|
1066
|
+
"1,4_dioxane": Solvent(
|
|
1067
|
+
name="1,4-Dioxane", formula="C4H8O2", bp=101.1, mp=11.8,
|
|
1068
|
+
density=1.033, dielectric=2.2, polarity_index=4.8,
|
|
1069
|
+
cas="123-91-1", cost_per_L=20, green_score=8,
|
|
1070
|
+
ghs_hazards=["H225", "H302", "H319", "H335", "H351"],
|
|
1071
|
+
miscible_with_water=True,
|
|
1072
|
+
),
|
|
1073
|
+
"mtbe": Solvent(
|
|
1074
|
+
name="Methyl tert-butyl ether", formula="(CH3)3COCH3", bp=55.2, mp=-108.6,
|
|
1075
|
+
density=0.740, dielectric=2.6, polarity_index=2.5,
|
|
1076
|
+
cas="1634-04-4", cost_per_L=15, green_score=4,
|
|
1077
|
+
ghs_hazards=["H225", "H335"],
|
|
1078
|
+
miscible_with_water=False,
|
|
1079
|
+
),
|
|
1080
|
+
"2_methf": Solvent(
|
|
1081
|
+
name="2-Methyltetrahydrofuran", formula="C5H10O", bp=80.0, mp=-136.0,
|
|
1082
|
+
density=0.854, dielectric=6.2, polarity_index=3.5,
|
|
1083
|
+
cas="96-47-9", cost_per_L=25, green_score=3,
|
|
1084
|
+
ghs_hazards=["H225", "H335"],
|
|
1085
|
+
miscible_with_water=False,
|
|
1086
|
+
),
|
|
1087
|
+
"acetone": Solvent(
|
|
1088
|
+
name="Acetone", formula="(CH3)2CO", bp=56.1, mp=-94.7,
|
|
1089
|
+
density=0.791, dielectric=20.7, polarity_index=5.1,
|
|
1090
|
+
cas="67-64-1", cost_per_L=8, green_score=3,
|
|
1091
|
+
ghs_hazards=["H225", "H319", "H336"],
|
|
1092
|
+
miscible_with_water=True,
|
|
1093
|
+
),
|
|
1094
|
+
"mek": Solvent(
|
|
1095
|
+
name="Methyl ethyl ketone (2-butanone)", formula="CH3COC2H5",
|
|
1096
|
+
bp=79.6, mp=-86.7,
|
|
1097
|
+
density=0.805, dielectric=18.5, polarity_index=4.7,
|
|
1098
|
+
cas="78-93-3", cost_per_L=10, green_score=4,
|
|
1099
|
+
ghs_hazards=["H225", "H319", "H336"],
|
|
1100
|
+
miscible_with_water=True,
|
|
1101
|
+
),
|
|
1102
|
+
"etoac": Solvent(
|
|
1103
|
+
name="Ethyl acetate", formula="CH3COOC2H5", bp=77.1, mp=-83.6,
|
|
1104
|
+
density=0.902, dielectric=6.0, polarity_index=4.4,
|
|
1105
|
+
cas="141-78-6", cost_per_L=10, green_score=3,
|
|
1106
|
+
ghs_hazards=["H225", "H319", "H336"],
|
|
1107
|
+
miscible_with_water=False,
|
|
1108
|
+
),
|
|
1109
|
+
"toluene": Solvent(
|
|
1110
|
+
name="Toluene", formula="C6H5CH3", bp=110.6, mp=-95.0,
|
|
1111
|
+
density=0.867, dielectric=2.4, polarity_index=2.4,
|
|
1112
|
+
cas="108-88-3", cost_per_L=10, green_score=5,
|
|
1113
|
+
ghs_hazards=["H225", "H304", "H315", "H336", "H361", "H373"],
|
|
1114
|
+
miscible_with_water=False,
|
|
1115
|
+
),
|
|
1116
|
+
"benzene": Solvent(
|
|
1117
|
+
name="Benzene", formula="C6H6", bp=80.1, mp=5.5,
|
|
1118
|
+
density=0.879, dielectric=2.3, polarity_index=2.7,
|
|
1119
|
+
cas="71-43-2", cost_per_L=12, green_score=10,
|
|
1120
|
+
ghs_hazards=["H225", "H304", "H315", "H319", "H340", "H350", "H372"],
|
|
1121
|
+
miscible_with_water=False,
|
|
1122
|
+
),
|
|
1123
|
+
"xylenes": Solvent(
|
|
1124
|
+
name="Xylenes (mixed isomers)", formula="C6H4(CH3)2", bp=139.0, mp=-47.0,
|
|
1125
|
+
density=0.860, dielectric=2.4, polarity_index=2.5,
|
|
1126
|
+
cas="1330-20-7", cost_per_L=10, green_score=6,
|
|
1127
|
+
ghs_hazards=["H226", "H304", "H312", "H315", "H319", "H332", "H335"],
|
|
1128
|
+
miscible_with_water=False,
|
|
1129
|
+
),
|
|
1130
|
+
"hexanes": Solvent(
|
|
1131
|
+
name="Hexanes", formula="C6H14", bp=69.0, mp=-95.0,
|
|
1132
|
+
density=0.659, dielectric=1.9, polarity_index=0.1,
|
|
1133
|
+
cas="110-54-3", cost_per_L=10, green_score=5,
|
|
1134
|
+
ghs_hazards=["H225", "H304", "H315", "H336", "H361", "H373", "H411"],
|
|
1135
|
+
miscible_with_water=False,
|
|
1136
|
+
),
|
|
1137
|
+
"pentane": Solvent(
|
|
1138
|
+
name="Pentane", formula="C5H12", bp=36.1, mp=-129.7,
|
|
1139
|
+
density=0.626, dielectric=1.8, polarity_index=0.0,
|
|
1140
|
+
cas="109-66-0", cost_per_L=12, green_score=5,
|
|
1141
|
+
ghs_hazards=["H225", "H304", "H336", "H411"],
|
|
1142
|
+
miscible_with_water=False,
|
|
1143
|
+
),
|
|
1144
|
+
"heptane": Solvent(
|
|
1145
|
+
name="Heptane", formula="C7H16", bp=98.4, mp=-90.6,
|
|
1146
|
+
density=0.684, dielectric=1.9, polarity_index=0.1,
|
|
1147
|
+
cas="142-82-5", cost_per_L=12, green_score=4,
|
|
1148
|
+
ghs_hazards=["H225", "H304", "H315", "H336", "H411"],
|
|
1149
|
+
miscible_with_water=False,
|
|
1150
|
+
),
|
|
1151
|
+
"petroleum_ether": Solvent(
|
|
1152
|
+
name="Petroleum ether (40-60)", formula="mixture", bp=50.0, mp=-70.0,
|
|
1153
|
+
density=0.640, dielectric=1.9, polarity_index=0.1,
|
|
1154
|
+
cas="8032-32-4", cost_per_L=8, green_score=5,
|
|
1155
|
+
ghs_hazards=["H225", "H304", "H336", "H411"],
|
|
1156
|
+
miscible_with_water=False,
|
|
1157
|
+
),
|
|
1158
|
+
"dmf": Solvent(
|
|
1159
|
+
name="N,N-Dimethylformamide", formula="(CH3)2NCHO", bp=153.0, mp=-60.5,
|
|
1160
|
+
density=0.944, dielectric=36.7, polarity_index=6.4,
|
|
1161
|
+
cas="68-12-2", cost_per_L=15, green_score=7,
|
|
1162
|
+
ghs_hazards=["H226", "H312", "H319", "H332", "H360"],
|
|
1163
|
+
miscible_with_water=True,
|
|
1164
|
+
),
|
|
1165
|
+
"dmso_solvent": Solvent(
|
|
1166
|
+
name="Dimethyl sulfoxide", formula="(CH3)2SO", bp=189.0, mp=19.0,
|
|
1167
|
+
density=1.100, dielectric=46.7, polarity_index=7.2,
|
|
1168
|
+
cas="67-68-5", cost_per_L=12, green_score=4,
|
|
1169
|
+
ghs_hazards=[], miscible_with_water=True,
|
|
1170
|
+
),
|
|
1171
|
+
"nmp": Solvent(
|
|
1172
|
+
name="N-Methyl-2-pyrrolidone", formula="C5H9NO", bp=202.0, mp=-24.4,
|
|
1173
|
+
density=1.028, dielectric=32.0, polarity_index=6.7,
|
|
1174
|
+
cas="872-50-4", cost_per_L=20, green_score=7,
|
|
1175
|
+
ghs_hazards=["H315", "H319", "H335", "H360"],
|
|
1176
|
+
miscible_with_water=True,
|
|
1177
|
+
),
|
|
1178
|
+
"dma": Solvent(
|
|
1179
|
+
name="N,N-Dimethylacetamide", formula="CH3CON(CH3)2", bp=165.0, mp=-20.0,
|
|
1180
|
+
density=0.937, dielectric=37.8, polarity_index=6.5,
|
|
1181
|
+
cas="127-19-5", cost_per_L=18, green_score=7,
|
|
1182
|
+
ghs_hazards=["H312", "H332", "H360"],
|
|
1183
|
+
miscible_with_water=True,
|
|
1184
|
+
),
|
|
1185
|
+
"mecn": Solvent(
|
|
1186
|
+
name="Acetonitrile", formula="CH3CN", bp=81.6, mp=-43.8,
|
|
1187
|
+
density=0.786, dielectric=37.5, polarity_index=5.8,
|
|
1188
|
+
cas="75-05-8", cost_per_L=14, green_score=5,
|
|
1189
|
+
ghs_hazards=["H225", "H302", "H312", "H319", "H332"],
|
|
1190
|
+
miscible_with_water=True,
|
|
1191
|
+
),
|
|
1192
|
+
"pyridine_solvent": Solvent(
|
|
1193
|
+
name="Pyridine", formula="C5H5N", bp=115.2, mp=-41.6,
|
|
1194
|
+
density=0.982, dielectric=12.4, polarity_index=5.3,
|
|
1195
|
+
cas="110-86-1", cost_per_L=25, green_score=7,
|
|
1196
|
+
ghs_hazards=["H225", "H302", "H312", "H332"],
|
|
1197
|
+
miscible_with_water=True,
|
|
1198
|
+
),
|
|
1199
|
+
"et3n_solvent": Solvent(
|
|
1200
|
+
name="Triethylamine", formula="(C2H5)3N", bp=88.9, mp=-114.7,
|
|
1201
|
+
density=0.726, dielectric=2.4, polarity_index=1.8,
|
|
1202
|
+
cas="121-44-8", cost_per_L=22, green_score=5,
|
|
1203
|
+
ghs_hazards=["H225", "H302", "H311", "H314", "H331"],
|
|
1204
|
+
miscible_with_water=False,
|
|
1205
|
+
),
|
|
1206
|
+
"acoh_solvent": Solvent(
|
|
1207
|
+
name="Acetic acid (glacial)", formula="CH3COOH", bp=117.9, mp=16.6,
|
|
1208
|
+
density=1.049, dielectric=6.2, polarity_index=6.0,
|
|
1209
|
+
cas="64-19-7", cost_per_L=12, green_score=4,
|
|
1210
|
+
ghs_hazards=["H226", "H314"], miscible_with_water=True,
|
|
1211
|
+
),
|
|
1212
|
+
"tfa_solvent": Solvent(
|
|
1213
|
+
name="Trifluoroacetic acid", formula="CF3COOH", bp=72.4, mp=-15.4,
|
|
1214
|
+
density=1.489, dielectric=8.6, polarity_index=5.5,
|
|
1215
|
+
cas="76-05-1", cost_per_L=55, green_score=8,
|
|
1216
|
+
ghs_hazards=["H290", "H314", "H332"],
|
|
1217
|
+
miscible_with_water=True,
|
|
1218
|
+
),
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
|
|
1222
|
+
# =====================================================================
|
|
1223
|
+
# Lookup helpers
|
|
1224
|
+
# =====================================================================
|
|
1225
|
+
|
|
1226
|
+
def get_reagent(name: str) -> Reagent | None:
|
|
1227
|
+
"""Look up a reagent by name or normalised key."""
|
|
1228
|
+
key = normalize_reagent_name(name)
|
|
1229
|
+
return REAGENT_DB.get(key) or REAGENT_DB.get(name)
|
|
1230
|
+
|
|
1231
|
+
|
|
1232
|
+
def get_solvent(name: str) -> Solvent | None:
|
|
1233
|
+
"""Look up a solvent by name or normalised key."""
|
|
1234
|
+
key = normalize_reagent_name(name)
|
|
1235
|
+
return SOLVENT_DB.get(key) or SOLVENT_DB.get(name)
|
|
1236
|
+
|
|
1237
|
+
|
|
1238
|
+
def search_reagents(query: str) -> list[Reagent]:
|
|
1239
|
+
"""Return all reagents whose name or formula contains *query*."""
|
|
1240
|
+
q = query.lower()
|
|
1241
|
+
return [r for r in REAGENT_DB.values()
|
|
1242
|
+
if q in r.name.lower() or q in r.formula.lower()]
|
|
1243
|
+
|
|
1244
|
+
|
|
1245
|
+
def search_solvents(query: str) -> list[Solvent]:
|
|
1246
|
+
"""Return all solvents whose name contains *query*."""
|
|
1247
|
+
q = query.lower()
|
|
1248
|
+
return [s for s in SOLVENT_DB.values() if q in s.name.lower()]
|