---
title: "タニモト類似度とSMARTS部分構造検索を解説 | MolDrawブログ"
url: https://www.moldraw.com/ja/blog/tanimoto-similarity-substructure-search-guide.html
description: "分子フィンガープリントとタニモト係数・ダイス係数の式で2つの分子をどう採点するか、0.85というスコアの意味、SMARTSによる分子の検索方法を、無料ツールとともに解説します。"
lang: ja
publisher: Scidart Academy
generated: 2026-10-26
---
# タニモト類似度とSMARTS部分構造検索を解説（無料ツール付き）

公開：2026年10月19日 · 著者：Scidart Academy · 読了時間：約7分

![2つの医薬品分子を並べ、その下にタニモト類似度のメーターを置いた図](https://www.moldraw.com/blog/thumbs/tanimoto-similarity-substructure-search-guide.webp)

タニモト類似度は、2つの分子が共有するフィンガープリントのビットの多さを採点します。

**要点：**タニモト類似度は2つの分子のフィンガープリントを比較します：T = c / (a + b − c)。aとbは各分子で立っているビット数、cは両方で立っているビット数です。値は0から1までです。[分子類似性検索と部分構造検索](https://www.moldraw.com/ja/tools/free-chem-tools/molecular-similarity-substructure-search.html)ツールを開き、2つのSMILESを入力して**Compare**を押します。アスピリンとサリチル酸のスコアは0.554（中程度に類似）です。パターン検索には、カルボン酸なら`[CX3](=O)[OX2H1]`のようなSMARTSを使います。

## 重要用語を1行ずつ

| フィンガープリント | ビットの並び。分子が特定の構造フラグメントを含むと、そのビットがオン（1）になります。 |
| --- | --- |
| タニモト係数 | c / (a + b − c)。共通のビット数を、どちらかの分子で立っているビットの総数で割ったもの。範囲は0〜1。 |
| ダイス係数 | 2c / (a + b)。共通のビットに2倍の重みを付けます。常にタニモト係数以上になります。 |
| 部分構造 | 大きな分子の中にある、つながった原子と結合のまとまり。ベンゼン環やCOOH基など。 |
| SMARTS | 原子や結合に条件を付けて部分構造を記述する、SMILESに基づくパターン言語。 |
| 共通部分構造 | 両方の分子に見つかる、つながった原子と結合の最大の集合。 |

## 分子フィンガープリントの仕組み

コンピューターは2つの図を直接比べられないので、各分子をフィンガープリントに変換します。一般的なものは3種類あります。

- **フラグメント辞書型フィンガープリント**は、酸素の隣のカルボニルなど、あらかじめ定義したフラグメントごとに1ビットを持ちます。MACCSキー（166ビット）がこの方式です。
- **パス型フィンガープリント**は、一定の長さまでの原子の直線的なパスをすべてハッシュしてビットにします。
- **環状フィンガープリント**（ECFP、Morgan）は、各原子の周りの環境を半径2〜3結合までハッシュします。

MolDrawのツールは**512ビットのフラグメント辞書型フィンガープリント**を使います。これは[分子比較プラグイン](https://www.moldraw.com/ja/blog/compare-molecules-plugin-tanimoto-similarity.html)と同じものです。アスピリンは512ビットのうち74ビット、サリチル酸は41ビットが立ちます。大きな分子ほど通常は多くのビットが立ちます。

フィンガープリントは、どの原子がどの原子と結合しているかを記録します。くさび結合や3D形状は記録しません。そのため、L-アラニンとD-アラニンのスコアは1.000になります。

## タニモト係数の式と計算例

分子Aで立っているビット数をa、分子Bをb、両方をcとします。

- **タニモト係数：**T = c / (a + b − c)
- **ダイス係数：**D = 2c / (a + b) = 2T / (1 + T)

**計算例、アスピリンとサリチル酸：**

1. アスピリン、CC(=O)Oc1ccccc1C(=O)O：a = 74ビット。
2. サリチル酸、OC(=O)c1ccccc1O：b = 41ビット。
3. 両方で立っているビット：c = 41。サリチル酸のビットはすべてアスピリンにもあります。
4. 和集合 = a + b − c = 74 + 41 − 41 = 74。
5. T = 41 / 74 = **0.554**。D = 82 / 115 = **0.713**。

サリチル酸はアスピリンの部分構造ですが、スコアは中程度にとどまります。アスピリンのアセチルエステルによる33の余分なビットが不利に働くからです。タニモト係数は大きさの違いにペナルティを与えるので、同じ大きさの近い類縁体を探したいときに便利です。

タニモト係数は**対称**です。AとBの比較は、BとAの比較と同じ値になります。同一のフィンガープリントではちょうど1になります。

## タニモト係数のスコアの意味

| 0.85〜1.00 | 非常に類似。近い類縁体、または1.00なら同じ分子。 |
| --- | --- |
| 0.70〜0.85 | 類似。共通の骨格を持ち、1〜2個の基が異なる。 |
| 0.50〜0.70 | 中程度に類似。一部のフラグメントが共通で、骨格や置換基が異なる。 |
| 0.30〜0.50 | わずかに類似。環や官能基が1つ共通しているだけ。 |
| 0.30未満 | 非類似。 |

これらのしきい値は、ここで使う512ビットのフラグメントフィンガープリント向けのものです。ECFP4のような環状フィンガープリントでは同じ組み合わせでもスコアが低くなることが多く、0.4でもすでに関連化合物を意味することがあります。2種類のフィンガープリントのスコアを1つの表に混ぜてはいけません。

## 部分構造検索のためのSMARTSの基礎

普通のSMILESもそのままクエリになります：`c1ccccc1`はすべてのベンゼン環を見つけます。角かっこで1つの原子に条件を加えます。

| `#7` | 原子番号7：芳香族かどうかにかかわらず、すべての窒素。 |
| --- | --- |
| `c` / `C` | 芳香族炭素／脂肪族炭素。 |
| `H1`、`!H0` | 水素がちょうど1個／水素が1個以上。 |
| `X3`、`D2` | 結合の総数が3（Hを含む）／重原子の隣接原子が2個。 |
| `R`、`R0`、`r5` | 環内／環外／五員環内。 |
| `,` `;` `!` | または／かつ／でない。`[F,Cl,Br,I]`は任意のハロゲンです。 |
| `-` `=` `#` `:` `~` | 単結合、二重結合、三重結合、芳香族結合、任意の結合。 |

よく使うパターン：

- カルボン酸：`[CX3](=O)[OX2H1]`
- エステル：`[#6][CX3](=O)[OX2][#6]`
- 第一級アルキルアミン：`[NX3;H2][CX4]`
- 芳香族ハロゲン化物：`c[F,Cl,Br,I]`
- リピンスキーの水素結合ドナー：`[#7,#8;!H0]`。リピンスキーの水素結合アクセプター：`[#7,#8]`

このツールは、`$( )`で書く再帰的SMARTSやドットで区切ったクエリにはまだ対応していません。そうした条件は隣接原子を使って書き直してください。

## MolDrawの類似性・部分構造ツールの使い方

1. [分子類似性検索と部分構造検索](https://www.moldraw.com/ja/tools/free-chem-tools/molecular-similarity-substructure-search.html)のページを開きます。**Similarity**タブが開いています。
2. **Molecule A (SMILES)**と**Molecule B (SMILES)**にSMILESを入力して**Compare**を押します。描いて入力する場合は、**Drawing fills**の横で**Molecule A**または**Molecule B**を選び、エディターで描きます。**Morphine vs codeine**などの例を押して試せます。
3. タニモト係数とダイス係数のスコア、判定、色付きのバーを読み取ります。表にはa、b、cが表示されるので、計算を確認できます。網掛けされた原子が最大共通部分構造です。
4. 多数の分子を順位付けするには、**Rank a list against Molecule A**の下に1行に1つずつSMILESを貼り付け（SMILESの後の名前は任意）、**Rank list**を押します。表は**Download CSV**で保存できます。
5. パターン検索には**Substructure search**を開きます。クエリを入力するかチートシートのボタンを押し、対象を貼り付けて**Search**を押します。**Show only molecules that match**にチェックを入れると、一致しないものが非表示になります。

## 例題

### 例1：パラセタモールとフェナセチン

フェナセチン（CCOc1ccc(NC(C)=O)cc1）は、パラセタモールのOHの位置にエトキシ基を持ちます。タニモト係数 = **0.846**、ダイス係数 = 0.917。判定：類似で、非常に類似の境界のすぐ下です。共通骨格はアセトアニリド単位全体です。

### 例2：NSAIDsをイブプロフェンに対して順位付け

**Example: NSAIDs vs ibuprofen**を押します。ナプロキセンが1位（0.711）、次いでケトプロフェン（0.691）、フルルビプロフェン（0.681）です。3つとも2-アリールプロピオン酸です。ジクロフェナクは0.336、カフェインは0.106で最下位です。

### 例3：どの医薬品がカルボン酸か？

9種の例の医薬品に`[CX3](=O)[OX2H1]`をクエリすると、**9種中6種が一致**します。パラセタモール、セレコキシブ、カフェインは一致しません。各酸の基は図の中で網掛けされます。

### 例4：パラセタモールのリピンスキーのドナー

CC(=O)Nc1ccc(O)cc1に`[#7,#8;!H0]`をクエリすると**2か所一致**します：アミドのN–HとフェノールのO–Hです。アクセプターのクエリ`[#7,#8]`では3か所：N、C=Oの酸素、OHの酸素です。

### 例5：鏡像異性体

L-アラニンとD-アラニンのタニモト係数は**1.000**です。ツールは、両者が立体化学だけで異なるという注記を加えます。

## まとめの表

| アスピリン vs サリチル酸 | T = 0.554、D = 0.713、中程度に類似 |
| --- | --- |
| パラセタモール vs フェナセチン | T = 0.846、類似 |
| モルヒネ vs コデイン | T = 0.944、非常に類似 |
| イブプロフェン vs ナプロキセン | T = 0.711、類似 |
| ベンゼン vs シクロヘキサン | T = 0.000、非類似 |
| カルボン酸のSMARTS | `[CX3](=O)[OX2H1]` |
| ドナーとアクセプターのSMARTS | `[#7,#8;!H0]`と`[#7,#8]` |

## よくある間違い

- **異なるフィンガープリントのスコアを比べる。**あるフィンガープリントでの0.6は、別のものでの0.6とは違います。
- **立体異性体で差が出ると期待する。**2Dフィンガープリントは立体化学を無視します。
- **類似度を活性と読み替える。**原子1つの変化で薬が効かなくなることもあります。
- **クエリで水素を省略する。**`C(=O)O`はエステルにも一致します。酸のOHには`[OX2H1]`を使いましょう。
- **cとCを混同する。**`C1CCCCC1`はシクロヘキサンで、ベンゼンには一致しません。
- **塩や電荷を忘れる。**カルボキシラート`[O-]`はOHのクエリに一致しません。

## 質問と回答

### タニモト類似度の良いスコアとはどのくらいですか？

MolDrawのツールで使う512ビットのフラグメントフィンガープリントでは、0.85以上は非常に類似、0.70〜0.85は類似、0.50〜0.70は中程度に類似、0.30〜0.50はわずかに類似、0.30未満は非類似です。しきい値はフィンガープリントによって変わるので、スコアは同じ手法どうしでのみ比較してください。

### タニモト係数はどう計算しますか？

分子Aで立っているビット数（a）、分子Bで立っているビット数（b）、両方で立っているビット数（c）を数えます。タニモト係数 = c / (a + b − c)。アスピリン（a = 74）とサリチル酸（b = 41）でc = 41なら、タニモト係数 = 41 / 74 = 0.554です。

### タニモト類似度とダイス類似度は同じですか？

いいえ。どちらも同じ数を使いますが、ダイス係数 = 2c / (a + b)です。ダイス係数は常にタニモト係数以上で、両者はDice = 2T / (1 + T)の関係にあります。タニモト係数0.554はダイス係数0.713に相当します。

### 異なる2つの分子でツールが1.000を返すのはなぜですか？

フィンガープリントが記録するのは結合のつながりで、3D形状ではないからです。鏡像異性体、ジアステレオマー、E/Z異性体は同じフラグメントを持つので、1.000になります。2つの入力が立体化学だけで異なる場合、ツールは注記を表示します。

### SMILESとSMARTSの違いは何ですか？

SMILESは1つの分子を記述します。SMARTSは多くの分子が含みうるパターンを記述します。すべてのSMILESは有効なSMARTSですが、SMARTSにはH1（水素1個）、X3（結合数3）、R（環内）などの条件や、カンマ（または）、セミコロン（かつ）、感嘆符（でない）による論理が加わります。

### 分子のリストからカルボン酸をすべて見つけるには？

Substructure searchタブを開き、チートシートのCarboxylic acidを押して[CX3](=O)[OX2H1]を読み込み、SMILESのリストを貼り付けてSearchを押します。9種の医薬品の例では、イブプロフェン、ナプロキセン、ケトプロフェン、フルルビプロフェン、ジクロフェナク、アスピリンの6種が一致します。

### SMARTSで水素結合ドナーを数えられますか？

はい。パターン[#7,#8;!H0]は、水素を1個以上持つ窒素や酸素それぞれに一致し、これがリピンスキーのドナー数です。パラセタモールでは2か所一致し、アクセプターのパターン[#7,#8]では3か所一致します。

### 類似度が高ければ2つの分子の活性は同じですか？

必ずしもそうではありません。類似した分子は活性を共有することが多く、そのため類似性検索は類縁体探しに使われます。しかし、メチル基1つや不斉中心1つといった1か所の変化で活性が失われることもあります。スコアは目安として扱い、証明とは考えないでください。

## 関連ツール

[分子類似性検索と部分構造検索](https://www.moldraw.com/ja/tools/free-chem-tools/molecular-similarity-substructure-search.html) [ペプチド・DNA配列から構造へ](https://www.moldraw.com/ja/tools/free-chem-tools/peptide-dna-sequence-to-structure.html) [官能基判定ツール](https://www.moldraw.com/ja/tools/free-chem-tools/functional-group-identifier.html) [リピンスキーの5の法則計算ツール](https://www.moldraw.com/ja/tools/free-chem-tools/lipinski-rule-calculator.html) [ドラッグライクネス計算ツール](https://www.moldraw.com/ja/tools/free-chem-tools/druglikeness-calculator.html) [TPSA計算ツール](https://www.moldraw.com/ja/tools/free-chem-tools/tpsa-calculator.html) [SMILES記法ガイド](https://www.moldraw.com/ja/tools/free-chem-tools/smiles-notation-guide.html)

## 関連ガイド

[ペプチド・DNA配列から構造式へのガイド](https://www.moldraw.com/ja/blog/peptide-dna-sequence-to-structure-guide.html) [分子比較プラグイン](https://www.moldraw.com/ja/blog/compare-molecules-plugin-tanimoto-similarity.html) [ChEMBLの生物活性検索](https://www.moldraw.com/ja/blog/chembl-plugin-bioactivity-lookup.html) [pKa・ミクロ種プラグイン](https://www.moldraw.com/ja/blog/pka-plugin-protonation-states-microspecies.html) [MolDrawの無料化学ツール一覧](https://www.moldraw.com/ja/blog/moldraw-all-free-chemistry-tools-guide.html)

最終更新日：2026年10月19日
