MoleculeSubstructureCount[mol,patt]
patt が mol の部分構造に現れる回数を与える.
MoleculeSubstructureCount[patt]
分子に適用可能なMoleculeSubstructureCountの演算子形を表す.
MoleculeSubstructureCount
MoleculeSubstructureCount[mol,patt]
patt が mol の部分構造に現れる回数を与える.
MoleculeSubstructureCount[patt]
分子に適用可能なMoleculeSubstructureCountの演算子形を表す.
詳細とオプション
- patt は以下の形式の一つでなければならない.
-
MoleculePattern[…] 分子パターン Atom[…] 単一の原子のパターン Bond[{a1,a2}] 指定されたパターンを持つ原子間の結合 - デフォルトで,部分構造の一致は,同じ原子集合への複数の一致を除くために削除される.オプションOverlapsTrueを使うとこの機能が無効にできる.
- MoleculeSubstructureCountは,以下のオプションを取る.
-
IgnoreStereochemistry False 立体化学を無視するかどうか IncludeHydrogens Automatic 水素原子を含めるかどうか Overlaps False 重複するマッチを含めるかどうか
例題
すべて開く すべて閉じる例 (3)
MoleculeSubstructureCount[Molecule[{"O", "C", "O", "C", "C", "C", "C", "O", "O", "N", "N", "H", "H", "H", "H"},
{Bond[{1, 2}, "Double"], Bond[{2, 3}, "Single"], Bond[{2, 4}, "Single"], Bond[{4, 5}, "Aromatic"],
Bond[{5, 6}, "Aromatic"], Bond[{6, 7}, "Single"], Bond[{7, 8}, "Double"], Bond[{7, 9}, "Single"],
Bond[{6, 10}, "Aromatic"], Bond[{10, 11}, "Aromatic"], Bond[{11, 4}, "Aromatic"],
Bond[{3, 12}, "Single"], Bond[{5, 13}, "Single"], Bond[{9, 14}, "Single"],
Bond[{10, 15}, "Single"]}, {}], MoleculePattern["C(=O)[OH]"]]MoleculePlot[Molecule[{"O", "C", "O", "C", "C", "C", "C", "O", "O", "N", "N", "H", "H", "H", "H"},
{Bond[{1, 2}, "Double"], Bond[{2, 3}, "Single"], Bond[{2, 4}, "Single"], Bond[{4, 5}, "Aromatic"],
Bond[{5, 6}, "Aromatic"], Bond[{6, 7}, "Single"], Bond[{7, 8}, "Double"], Bond[{7, 9}, "Single"],
Bond[{6, 10}, "Aromatic"], Bond[{10, 11}, "Aromatic"], Bond[{11, 4}, "Aromatic"],
Bond[{3, 12}, "Single"], Bond[{5, 13}, "Single"], Bond[{9, 14}, "Single"],
Bond[{10, 15}, "Single"]}, {}], MoleculePattern["C(=O)[OH]"]]MoleculeSubstructureCount[Molecule[{"C", "N", "C", "O", "C", "C", "N", "C", "N", "C", "N", "C", "C", "O", "H", "H", "H", "H",
"H", "H", "H", "H", "H", "H"}, {Bond[{1, 2}, "Single"], Bond[{2, 3}, "Aromatic"],
Bond[{3, 4}, "Double"], Bond[{3, 5}, "Aromatic"], Bond[{5, 6 ... ], Bond[{1, 16}, "Single"],
Bond[{1, 17}, "Single"], Bond[{8, 18}, "Single"], Bond[{10, 19}, "Single"],
Bond[{10, 20}, "Single"], Bond[{10, 21}, "Single"], Bond[{12, 22}, "Single"],
Bond[{12, 23}, "Single"], Bond[{12, 24}, "Single"]}, {}],
MoleculePattern[{"N", "C", "O"}, {Bond[{1, 2}, "Single" | "Aromatic"], Bond[{2, 3}, "Double"]}]]MoleculeSubstructureCount[MoleculePattern["CNC"]] /@ {Molecule[{"C", "C", "C", "C", "C", "C", "N", "C", "C", "O", Atom["C", "HydrogenCount" -> 1],
Atom["C", "HydrogenCount" -> 1], Atom["N", "FormalCharge" -> 1, "UnpairedElectronCount" -> 1],
"C", Atom["C", "HydrogenCount" -> 1], Atom["O", "Forma ... ,
Association["StereoType" -> "DoubleBond", "StereoBond" -> {8, 9}, "Value" -> "Opposite",
"Ligands" -> {7, 10}], Association["StereoType" -> "DoubleBond", "StereoBond" -> {46, 47},
"Value" -> "Together", "Ligands" -> {51, 48}]}}], Molecule[{"O", Atom["C", "HydrogenCount" -> 1], Atom["C", "HydrogenCount" -> 1], "O", "P", "O",
"O", "O", Atom["C", "HydrogenCount" -> 1], "O", Atom["C", "HydrogenCount" -> 1], "N", "C", "N",
Atom["C", "HydrogenCount" -> 1], Atom["C", "Hydrog ... n" -> "Counterclockwise"], Association["StereoType" -> "Tetrahedral",
"ChiralCenter" -> 18, "Direction" -> "Counterclockwise"],
Association["StereoType" -> "Tetrahedral", "ChiralCenter" -> 25,
"Direction" -> "Counterclockwise"]}}], Molecule[{"O", "C", "N", "C", "C", "Cl", "C", "C", "C", "C", "Cl", "N", "C", "N", "C", "C", "N",
"C", Atom["C", "HydrogenCount" -> 1], "C", "O", "N", "C", "C", "C", "C", "C", "C", "C", "C", "C",
"C", "C", "F", "C", "C", "C", "C", "C", "C", "F ... , Bond[{10, 4}, "Aromatic"],
Bond[{19, 14}, "Single"], Bond[{33, 28}, "Aromatic"], Bond[{40, 35}, "Aromatic"]},
{StereochemistryElements -> {Association["StereoType" -> "Tetrahedral", "ChiralCenter" -> 19,
"Direction" -> "Clockwise"]}}]}スコープ (2)
ExternalIdentifierから分子を作り,含まれる炭素・酸素結合の数を求める:
MoleculeSubstructureCount[
Molecule[ExternalIdentifier["WikidataID", "Q27269295", <|"Label" -> "detorubicin", "Description" -> "chemical compound"|>]],
Bond[{"C", "O"}]
]TakeLargestBy[Molecule /@ IconizedObject[«list of 20 SMILES strings»], MoleculeSubstructureCount[Atom["Cl" | "F" | "Br" | "I"]], 3]オプション (3)
IgnoreStereochemistry (1)
MoleculeSubstructureCount[Molecule["l-alanine"],
MoleculePattern["C[C@@H](N)C(=O)O"]]IgnoreStereochemistryTrueを使って正の一致を取得する:
MoleculeSubstructureCount[Molecule["l-alanine"],
MoleculePattern["C[C@@H](N)C(=O)O"], IgnoreStereochemistry -> True]IncludeHydrogens (1)
デフォルトで,パターンに明示的な水素原子が含まれていない限り,部分構造マッチングは分子の水素省略グラフを用いて実行される:
MoleculeSubstructureCount[Molecule[{"C", "C", "C", "Cl"}, {Bond[{1, 2}, "Single"], Bond[{2, 3}, "Single"],
Bond[{2, 4}, "Single"]}, {}], Bond[{"C", "H"}, "Single"]]より複雑なパターンについては,水素の一致の一部が見落とされる.以下の例では,パターンは水素原子または塩素原子のいずれかに結合した炭素原子に対するものであるが,C-Cl結合しか見付からない:
MoleculeSubstructureCount[Molecule[{"C", "C", "C", "Cl"}, {Bond[{1, 2}, "Single"], Bond[{2, 3}, "Single"],
Bond[{2, 4}, "Single"]}, {}], Bond[{"C", Atom["AtomicNumber" -> (1 | 17)]}, "Single"]]パターンマッチングの目的において水素が明示的に扱われることを確実にしたければ,オプション IncludeHydrogensTrueを用いる:
MoleculeSubstructureCount[Molecule[{"C", "C", "C", "Cl"}, {Bond[{1, 2}, "Single"], Bond[{2, 3}, "Single"],
Bond[{2, 4}, "Single"]}, {}], Bond[{"C", Atom["AtomicNumber" -> (1 | 17)]}, "Single"], IncludeHydrogens -> All]アプリケーション (1)
aalist = EntityList[EntityClass["Chemical", "AminoAcids"]]carboxylPattern = MoleculePattern["C(=O)[OH]"]Select[aalist, MoleculeSubstructureCount[#, carboxylPattern] === 2&]選択した分子を,カルボキシル基をハイライトした状態で表示する:
MoleculePlot[#, carboxylPattern]& /@ %関連するガイド
-
▪
- 分子の構造と計算
テキスト
Wolfram Research (2021), MoleculeSubstructureCount, Wolfram言語関数, https://reference.wolfram.com/language/ref/MoleculeSubstructureCount.html.
CMS
Wolfram Language. 2021. "MoleculeSubstructureCount." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/MoleculeSubstructureCount.html.
APA
Wolfram Language. (2021). MoleculeSubstructureCount. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/MoleculeSubstructureCount.html
BibTeX
@misc{reference.wolfram_2026_moleculesubstructurecount, author="Wolfram Research", title="{MoleculeSubstructureCount}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/MoleculeSubstructureCount.html}", note=[Accessed: 08-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_moleculesubstructurecount, organization={Wolfram Research}, title={MoleculeSubstructureCount}, year={2021}, url={https://reference.wolfram.com/language/ref/MoleculeSubstructureCount.html}, note=[Accessed: 08-November-2026]}