---
title: "Giải thích độ tương đồng Tanimoto và tìm cấu trúc con bằng SMARTS | MolDraw Blog"
url: https://www.moldraw.com/vi/blog/tanimoto-similarity-substructure-search-guide.html
description: "Fingerprint phân tử và công thức Tanimoto, Dice chấm điểm hai phân tử thế nào, điểm 0,85 nghĩa là gì, và cách tìm phân tử bằng SMARTS, kèm công cụ miễn phí."
lang: vi
publisher: Scidart Academy
generated: 2026-10-26
---
# Giải thích độ tương đồng Tanimoto và tìm cấu trúc con SMARTS, kèm công cụ miễn phí

Đăng: 19/10/2026 · Tác giả: Scidart Academy · Thời gian đọc: ~7 phút

![Hai phân tử thuốc đặt cạnh nhau với thước đo độ tương đồng Tanimoto bên dưới](https://www.moldraw.com/blog/thumbs/tanimoto-similarity-substructure-search-guide.webp)

Độ tương đồng Tanimoto đo số bit fingerprint mà hai phân tử có chung.

**Trả lời ngắn:** Độ tương đồng Tanimoto so sánh fingerprint của hai phân tử: T = c / (a + b − c), trong đó a và b là số bit bật trong mỗi phân tử và c là số bit bật trong cả hai. Giá trị từ 0 đến 1. Mở công cụ [tương đồng phân tử và tìm cấu trúc con](https://www.moldraw.com/vi/tools/free-chem-tools/molecular-similarity-substructure-search.html), nhập hai SMILES và nhấn **So sánh**. Aspirin và salicylic acid đạt 0,554 (tương đồng vừa phải). Để tìm theo mẫu, hãy dùng SMARTS như `[CX3](=O)[OX2H1]` cho carboxylic acid.

## Thuật ngữ chính, mỗi thuật ngữ một dòng

| Fingerprint | Một danh sách bit. Mỗi bit bật (1) khi phân tử chứa một mảnh cấu trúc nhất định. |
| --- | --- |
| Hệ số Tanimoto | c / (a + b − c). Số bit chung chia cho tổng số bit bật ở một trong hai phân tử. Khoảng 0 đến 1. |
| Hệ số Dice | 2c / (a + b). Tính bit chung với trọng số gấp đôi. Luôn ít nhất bằng Tanimoto. |
| Cấu trúc con | Một nhóm nguyên tử và liên kết nối với nhau trong một phân tử lớn hơn, như vòng benzene hay nhóm COOH. |
| SMARTS | Ngôn ngữ mẫu dựa trên SMILES để mô tả cấu trúc con với điều kiện trên nguyên tử và liên kết. |
| Cấu trúc con chung | Tập hợp lớn nhất các nguyên tử và liên kết nối với nhau có mặt trong cả hai phân tử. |

## Fingerprint phân tử hoạt động thế nào

Máy tính không thể so sánh trực tiếp hai bản vẽ, nên mỗi phân tử được chuyển thành một fingerprint. Có ba loại phổ biến:

- **Fingerprint từ điển mảnh** có một bit cho mỗi mảnh định nghĩa sẵn, như carbonyl cạnh oxygen. Khóa MACCS (166 bit) hoạt động theo cách này.
- **Fingerprint đường đi** băm mọi đường đi tuyến tính của nguyên tử đến một độ dài nhất định thành một bit.
- **Fingerprint vòng tròn** (ECFP, Morgan) băm môi trường quanh mỗi nguyên tử đến bán kính 2 hoặc 3 liên kết.

Công cụ MolDraw dùng **fingerprint từ điển mảnh 512 bit**, giống với [plugin Compare molecules](https://www.moldraw.com/vi/blog/compare-molecules-plugin-tanimoto-similarity.html). Aspirin bật 74 trong 512 bit. Salicylic acid bật 41. Phân tử lớn hơn thường bật nhiều bit hơn.

Fingerprint ghi lại nguyên tử nào liên kết với nguyên tử nào. Nó không ghi liên kết nêm hay hình dạng 3D. Vì vậy L-alanine và D-alanine đạt 1,000.

## Công thức Tanimoto với ví dụ đếm cụ thể

Gọi a là số bit bật trong phân tử A, b trong phân tử B, và c trong cả hai.

- **Tanimoto:** T = c / (a + b − c)
- **Dice:** D = 2c / (a + b) = 2T / (1 + T)

**Ví dụ có lời giải, aspirin so với salicylic acid:**

1. Aspirin, CC(=O)Oc1ccccc1C(=O)O: a = 74 bit.
2. Salicylic acid, OC(=O)c1ccccc1O: b = 41 bit.
3. Số bit bật ở cả hai: c = 41. Mọi bit của salicylic acid cũng có trong aspirin.
4. Hợp = a + b − c = 74 + 41 − 41 = 74.
5. T = 41 / 74 = **0,554**. D = 82 / 115 = **0,713**.

Salicylic acid là cấu trúc con của aspirin, nhưng điểm chỉ ở mức vừa phải. 33 bit thêm từ nhóm ester acetyl của aspirin kéo điểm xuống. Tanimoto phạt sự khác biệt về kích thước, điều hữu ích khi bạn muốn tìm chất tương tự gần có cùng kích thước.

Tanimoto có tính **đối xứng**: A so với B cho cùng giá trị như B so với A. Fingerprint giống hệt nhau cho đúng 1.

## Điểm Tanimoto có ý nghĩa gì

| 0,85 đến 1,00 | Rất tương đồng. Chất tương tự gần, hoặc cùng một phân tử ở 1,00. |
| --- | --- |
| 0,70 đến 0,85 | Tương đồng. Có chung khung chính với một hai nhóm khác nhau. |
| 0,50 đến 0,70 | Tương đồng vừa phải. Có vài mảnh chung, khác khung hoặc nhóm thế. |
| 0,30 đến 0,50 | Tương đồng yếu. Chỉ chung một vòng hoặc một nhóm chức. |
| Dưới 0,30 | Không tương đồng. |

Các ngưỡng này phù hợp với fingerprint mảnh 512 bit dùng ở đây. Với fingerprint vòng tròn như ECFP4, điểm cho cùng một cặp thường thấp hơn, và 0,4 đã có thể nghĩa là hợp chất có liên quan. Đừng bao giờ trộn điểm từ hai fingerprint trong một bảng.

## Cơ bản về SMARTS để tìm cấu trúc con

Một SMILES thông thường đã là một truy vấn: `c1ccccc1` tìm mọi vòng benzene. Dấu ngoặc vuông thêm điều kiện cho một nguyên tử.

| `#7` | Số hiệu nguyên tử 7: bất kỳ nitrogen nào, thơm hay không. |
| --- | --- |
| `c` / `C` | Carbon thơm / carbon béo. |
| `H1`, `!H0` | Đúng một hydrogen / ít nhất một hydrogen. |
| `X3`, `D2` | Tổng cộng ba liên kết (kể cả H) / hai nguyên tử nặng lân cận. |
| `R`, `R0`, `r5` | Trong vòng / không trong vòng / trong vòng 5 cạnh. |
| `,` `;` `!` | Hoặc / và / không. `[F,Cl,Br,I]` là bất kỳ halogen nào. |
| `-` `=` `#` `:` `~` | Liên kết đơn, đôi, ba, thơm và bất kỳ. |

Các mẫu thông dụng:

- Carboxylic acid: `[CX3](=O)[OX2H1]`
- Ester: `[#6][CX3](=O)[OX2][#6]`
- Amine béo bậc một: `[NX3;H2][CX4]`
- Halide thơm: `c[F,Cl,Br,I]`
- Nhóm cho liên kết H theo Lipinski: `[#7,#8;!H0]`. Nhóm nhận liên kết H theo Lipinski: `[#7,#8]`

Công cụ chưa hỗ trợ SMARTS đệ quy viết bằng `$( )` hay truy vấn phân tách bằng dấu chấm. Hãy viết lại các điều kiện đó bằng nguyên tử lân cận.

## Cách dùng công cụ tương đồng và cấu trúc con MolDraw

1. Mở trang [tương đồng phân tử và tìm cấu trúc con](https://www.moldraw.com/vi/tools/free-chem-tools/molecular-similarity-substructure-search.html). Thẻ **Độ tương đồng** đang mở.
2. Nhập SMILES vào **Phân tử A (SMILES)** và **Phân tử B (SMILES)** rồi nhấn **So sánh**. Để vẽ thay vì nhập, chọn **Phân tử A** hoặc **Phân tử B** cạnh **Bản vẽ điền vào** và vẽ trong trình soạn thảo. Nhấn một ví dụ như **Morphine và codeine** để thử.
3. Đọc điểm Tanimoto và Dice, kết luận và thanh màu. Bảng hiển thị a, b và c, để bạn kiểm tra phép tính. Các nguyên tử được tô là cấu trúc con chung lớn nhất.
4. Để xếp hạng nhiều phân tử, dán mỗi dòng một SMILES (tên sau SMILES là tùy chọn) vào **Xếp hạng danh sách so với Phân tử A** và nhấn **Xếp hạng danh sách**. Lưu bảng bằng **Tải CSV**.
5. Để tìm theo mẫu, mở **Tìm cấu trúc con**. Nhập truy vấn hoặc nhấn một nút trong bảng tra nhanh, dán các phân tử đích và nhấn **Tìm kiếm**. Đánh dấu **Chỉ hiện phân tử khớp** để ẩn phần còn lại.

## Ví dụ có lời giải

### Ví dụ 1: paracetamol so với phenacetin

Phenacetin (CCOc1ccc(NC(C)=O)cc1) có nhóm ethoxy ở chỗ paracetamol có OH. Tanimoto = **0,846**, Dice = 0,917. Kết luận: tương đồng, ngay dưới ngưỡng rất tương đồng. Khung chung là toàn bộ đơn vị acetanilide.

### Ví dụ 2: xếp hạng các NSAID so với ibuprofen

Nhấn **Ví dụ: các NSAID so với ibuprofen**. Naproxen xếp đầu (0,711), tiếp đến ketoprofen (0,691) và flurbiprofen (0,681). Cả ba đều là 2-arylpropionic acid. Diclofenac đạt 0,336, và caffeine xếp cuối với 0,106.

### Ví dụ 3: thuốc nào là carboxylic acid?

Truy vấn `[CX3](=O)[OX2H1]` trên 9 thuốc ví dụ: **6 trên 9 khớp**. Paracetamol, celecoxib và caffeine không khớp. Mỗi nhóm acid được tô trên bản vẽ.

### Ví dụ 4: nhóm cho theo Lipinski trong paracetamol

Truy vấn `[#7,#8;!H0]` trên CC(=O)Nc1ccc(O)cc1 cho **2 kết quả khớp**: N–H của amide và O–H của phenol. Truy vấn nhóm nhận `[#7,#8]` cho 3: N, oxygen của C=O và oxygen của OH.

### Ví dụ 5: đối quang

L-alanine so với D-alanine cho Tanimoto **1,000**. Công cụ thêm ghi chú rằng hai chất chỉ khác nhau về hóa học lập thể.

## Bảng tóm tắt

| Aspirin và salicylic acid | T = 0,554, D = 0,713, tương đồng vừa phải |
| --- | --- |
| Paracetamol và phenacetin | T = 0,846, tương đồng |
| Morphine và codeine | T = 0,944, rất tương đồng |
| Ibuprofen và naproxen | T = 0,711, tương đồng |
| Benzene và cyclohexane | T = 0,000, không tương đồng |
| SMARTS cho carboxylic acid | `[CX3](=O)[OX2H1]` |
| SMARTS cho nhóm cho và nhóm nhận | `[#7,#8;!H0]` và `[#7,#8]` |

## Lỗi thường gặp

- **So sánh điểm từ các fingerprint khác nhau.** 0,6 trên fingerprint này không phải 0,6 trên fingerprint khác.
- **Mong đợi các đồng phân lập thể khác nhau.** Fingerprint 2D bỏ qua lập thể.
- **Coi độ tương đồng là hoạt tính.** Thay một nguyên tử có thể làm thuốc mất tác dụng.
- **Bỏ quên hydrogen trong truy vấn.** `C(=O)O` cũng khớp với ester. Hãy dùng `[OX2H1]` cho OH của acid.
- **Nhầm c và C.** `C1CCCCC1` là cyclohexane và không khớp với benzene.
- **Quên muối và điện tích.** Carboxylate `[O-]` không khớp với truy vấn OH.

## Hỏi và đáp

### Điểm tương đồng Tanimoto thế nào là tốt?

Với fingerprint mảnh 512 bit dùng trong công cụ MolDraw, từ 0,85 trở lên nghĩa là rất tương đồng, 0,70 đến 0,85 là tương đồng, 0,50 đến 0,70 là tương đồng vừa phải, 0,30 đến 0,50 là tương đồng yếu và dưới 0,30 là không tương đồng. Các ngưỡng thay đổi theo fingerprint, nên chỉ so sánh điểm từ cùng một phương pháp.

### Tính hệ số Tanimoto thế nào?

Đếm số bit bật trong phân tử A (a), trong phân tử B (b) và trong cả hai (c). Tanimoto = c / (a + b − c). Với aspirin (a = 74) và salicylic acid (b = 41) và c = 41, Tanimoto = 41 / 74 = 0,554.

### Độ tương đồng Tanimoto có giống độ tương đồng Dice không?

Không. Cả hai dùng cùng các số đếm, nhưng Dice = 2c / (a + b). Dice luôn bằng hoặc cao hơn Tanimoto, và hai đại lượng liên hệ qua Dice = 2T / (1 + T). Tanimoto 0,554 tương ứng Dice 0,713.

### Vì sao công cụ cho 1,000 với hai phân tử khác nhau?

Fingerprint lưu sự kết nối, không lưu hình dạng 3D. Đối quang, đồng phân dia và đồng phân E/Z có cùng các mảnh, nên đạt 1,000. Công cụ hiện ghi chú khi hai dữ liệu nhập chỉ khác nhau về hóa học lập thể.

### SMILES và SMARTS khác nhau thế nào?

SMILES mô tả một phân tử. SMARTS mô tả một mẫu mà nhiều phân tử có thể chứa. Mọi SMILES đều là SMARTS hợp lệ, nhưng SMARTS thêm các điều kiện như H1 (một hydrogen), X3 (ba liên kết), R (trong vòng) và phép logic với dấu phẩy (hoặc), dấu chấm phẩy (và) và dấu chấm than (không).

### Làm sao tìm mọi carboxylic acid trong một danh sách phân tử?

Mở thẻ Tìm cấu trúc con, nhấn Carboxylic acid trong bảng tra nhanh để nạp [CX3](=O)[OX2H1], dán danh sách SMILES và nhấn Tìm kiếm. Trong bộ ví dụ 9 thuốc, 6 chất khớp: ibuprofen, naproxen, ketoprofen, flurbiprofen, diclofenac và aspirin.

### Có đếm được nhóm cho liên kết hydrogen bằng SMARTS không?

Có. Mẫu [#7,#8;!H0] khớp với mỗi nitrogen hoặc oxygen mang ít nhất một hydrogen, chính là số nhóm cho theo Lipinski. Paracetamol cho 2 kết quả khớp và mẫu nhóm nhận [#7,#8] cho 3.

### Độ tương đồng cao có nghĩa hai phân tử có cùng hoạt tính không?

Không phải lúc nào cũng vậy. Các phân tử tương đồng thường có hoạt tính giống nhau, vì vậy tìm kiếm tương đồng được dùng để tìm chất tương tự. Nhưng một thay đổi nhỏ, như một nhóm methyl hay một trung tâm lập thể, có thể làm mất hoạt tính. Hãy coi điểm số là hướng dẫn, không phải bằng chứng.

## Công cụ liên quan

[Tìm kiếm tương đồng và cấu trúc con](https://www.moldraw.com/vi/tools/free-chem-tools/molecular-similarity-substructure-search.html) [Chuỗi peptide và DNA sang cấu trúc](https://www.moldraw.com/vi/tools/free-chem-tools/peptide-dna-sequence-to-structure.html) [Nhận diện nhóm chức](https://www.moldraw.com/vi/tools/free-chem-tools/functional-group-identifier.html) [Tính quy tắc 5 của Lipinski](https://www.moldraw.com/vi/tools/free-chem-tools/lipinski-rule-calculator.html) [Tính tính giống thuốc](https://www.moldraw.com/vi/tools/free-chem-tools/druglikeness-calculator.html) [Máy tính TPSA](https://www.moldraw.com/vi/tools/free-chem-tools/tpsa-calculator.html) [Hướng dẫn ký hiệu SMILES](https://www.moldraw.com/vi/tools/free-chem-tools/smiles-notation-guide.html)

## Hướng dẫn liên quan

[Hướng dẫn chuỗi peptide và DNA sang cấu trúc](https://www.moldraw.com/vi/blog/peptide-dna-sequence-to-structure-guide.html) [Plugin So sánh phân tử](https://www.moldraw.com/vi/blog/compare-molecules-plugin-tanimoto-similarity.html) [Tra cứu hoạt tính sinh học ChEMBL](https://www.moldraw.com/vi/blog/chembl-plugin-bioactivity-lookup.html) [Plugin pKa và vi dạng](https://www.moldraw.com/vi/blog/pka-plugin-protonation-states-microspecies.html) [Tất cả công cụ hóa học miễn phí của MolDraw](https://www.moldraw.com/vi/blog/moldraw-all-free-chemistry-tools-guide.html)

Cập nhật lần cuối: ngày 19 tháng 10 năm 2026
