BondList
更多信息和选项
- patt 的可能的值有:
-
"type" 具有指定键类型的键 Bond[{a1,a2},"type"] 原子由 ai 定义的键 MoleculePattern[…] 有一个键的分子模式 - ai 可以是原子的索引号,或表示原子的模式.
- "prop" 的可能的值包括:
-
"BondIndex" 键的索引 "BondLength" 给定原子间的欧拉距离 "BondType" 键的类型 "ConjugatedBondQ" 共轭键 - 如果使用默认设置 IncludeHydrogensAll,BondList 将返回所有的键. 如果使用选项值 "ExplicitOnly",将排除与隐式氢原子的键.
范例
打开所有单元 关闭所有单元基本范例 (3)
BondList[Molecule[{"C", "C", "C", "C", "C", "O", "N", "O"}, {Bond[{1, 2}, "Double"], Bond[{2, 3}, "Single"],
Bond[{3, 4}, "Double"], Bond[{4, 5}, "Single"], Bond[{5, 6}, "Single"], Bond[{6, 7}, "Single"],
Bond[{7, 8}, "Double"]}, {}]]BondList[Molecule[{"C", "C", "C", "C", "C", "O", "N", "O"}, {Bond[{1, 2}, "Double"], Bond[{2, 3}, "Single"],
Bond[{3, 4}, "Double"], Bond[{4, 5}, "Single"], Bond[{5, 6}, "Single"], Bond[{6, 7}, "Single"],
Bond[{7, 8}, "Double"]}, {}], Bond[{"C", "C"}]]BondList[Molecule[{"C", "C", "C", "C", "C", "O", "N", "O"}, {Bond[{1, 2}, "Double"], Bond[{2, 3}, "Single"],
Bond[{3, 4}, "Double"], Bond[{4, 5}, "Single"], Bond[{5, 6}, "Single"], Bond[{6, 7}, "Single"],
Bond[{7, 8}, "Double"]}, {}], "Double"]BondList[Molecule[{"C", "C", "C", "C", "C", "O", "N", "O"}, {Bond[{1, 2}, "Double"], Bond[{2, 3}, "Single"],
Bond[{3, 4}, "Double"], Bond[{4, 5}, "Single"], Bond[{5, 6}, "Single"], Bond[{6, 7}, "Single"],
Bond[{7, 8}, "Double"]}, {}], Bond[{"C", "C"}, "Double"]]mol = Molecule[{"C", "C", "C", "C", "C", "C", "C", "C", "O", "C", "C", "C", "C", "C", "C", "C", "C", "C",
"C", "C", "O", "O", "C", "O", "C", "C", "O", "H", "H", "H", "H", "H", "H", "H", "H", "H", "H",
"H", "H", "H", "H", "H", "H", "H", "H", "H", "H ... "Counterclockwise"],
Association["StereoType" -> "Tetrahedral", "ChiralCenter" -> 26, "Direction" -> "Clockwise"],
Association["StereoType" -> "DoubleBond", "StereoBond" -> {10, 11}, "Value" -> "Opposite",
"Ligands" -> {7, 12}]}}]BondList[mol, Bond[{Atom["RingAtomQ" -> True], Atom[Except["H"], "RingAtomQ" -> False]}]]将结果赋给 MoleculePlot,可视化这些键:
MoleculePlot[mol, %]m = Molecule[Entity["Chemical", "4Allyloxybenzaldehyde"]]BondList[m, Bond[{"C", "H"}], "BondLength"]//MeanBondList[m, Bond[{"C", "C"}], "BondLength"]//Mean选项 (1)
IncludeHydrogens (1)
默认情况下,BondList 将包括所有原子:
mol = Molecule["CCO"]BondList[mol]用 IncludeHydrogensNone 可排除占原子大多数的氢原子:
BondList[mol, IncludeHydrogens -> None]% === BondList[mol, Bond[{Except["H"], Except["H"]}]]可能存在的问题 (2)
m = Molecule["(Z)-2-(furan-2-yl)-3-(5-nitrothiophen-2-yl)prop-2-enamide"];
MoleculePlot[m]BondList[m, Bond[_, "Double"]]在统计前用 MoleculeModify 将芳香键转换为单/双键:
BondList[MoleculeModify[m, "Kekulize"], Bond[_, "Double"]]因为 Molecule 会尝试用氢原子填充化合价,所以即使原始分子表达式中没有氢原子,也会将它们包括在计数中:
m = Molecule[{"O"}, {}];
BondList[m]如果想要排除氢原子,可使用 IncludeHydrogens"ExplicitOnly":
BondList[m, IncludeHydrogens -> "ExplicitOnly"]或者,为了阻止氢原子出现,使用 Molecule 的选项 ValenceFillingNone:
m2 = Molecule[{"C"}, {}, ValenceFilling -> None]BondList[m2]巧妙范例 (1)
通过 ExternalIdentifier 利用从 "PubChem" 获取的数据创建一个分子:
m = Molecule[ExternalIdentifier["PubChemCompoundID", 208908]]创建一个 Dataset,显示出现的键的类型及其平均键长:
Dataset@GroupBy[
BondList[m, All, {"AtomicSymbol", "BondLength"}],
Sort @* First -> Last,
Mean]相关指南
-
▪
- 分子结构与计算
文本
Wolfram Research (2019),BondList,Wolfram 语言函数,https://reference.wolfram.com/language/ref/BondList.html (更新于 2020 年).
CMS
Wolfram 语言. 2019. "BondList." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/BondList.html.
APA
Wolfram 语言. (2019). BondList. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/BondList.html 年
BibTeX
@misc{reference.wolfram_2026_bondlist, author="Wolfram Research", title="{BondList}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/BondList.html}", note=[Accessed: 14-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_bondlist, organization={Wolfram Research}, title={BondList}, year={2020}, url={https://reference.wolfram.com/language/ref/BondList.html}, note=[Accessed: 14-September-2026]}