Сходство Танимото и поиск подструктур по SMARTS — с бесплатным инструментом

Опубликовано: 19 октября 2026 г. · Автор: Scidart Academy · Время чтения: ~7 мин
Две молекулы лекарств рядом со шкалой сходства Танимото под ними
Сходство Танимото показывает, сколько битов отпечатка у двух молекул общие.

Коротко: сходство Танимото сравнивает отпечатки двух молекул: T = c / (a + b − c), где a и b — биты, установленные в каждой молекуле, а c — биты, установленные в обеих. Значение лежит от 0 до 1. Откройте инструмент «Молекулярное сходство и поиск подструктур», введите два SMILES и нажмите Сравнить. Аспирин и салициловая кислота получают 0,554 (умеренно похожи). Для поиска по шаблону используйте SMARTS, например [CX3](=O)[OX2H1] для карбоновой кислоты.

Ключевые термины по одной строке

ОтпечатокСписок битов. Каждый бит включён (1), если молекула содержит определённый структурный фрагмент.
Коэффициент Танимотоc / (a + b − c). Общие биты, делённые на все биты, установленные хотя бы в одной молекуле. Диапазон от 0 до 1.
Коэффициент Дайса2c / (a + b). Придаёт общим битам двойной вес. Всегда не меньше Танимото.
ПодструктураГруппа связанных атомов и связей внутри большей молекулы, например бензольное кольцо или группа COOH.
SMARTSЯзык шаблонов на основе SMILES для описания подструктур с условиями на атомы и связи.
Общая подструктураНаибольший набор связанных атомов и связей, найденный в обеих молекулах.

Как работают молекулярные отпечатки

Компьютер не может напрямую сравнить два рисунка, поэтому каждую молекулу превращают в отпечаток (fingerprint). Есть три распространённых вида:

  • Отпечатки по словарю фрагментов имеют по одному биту на каждый заранее заданный фрагмент, например карбонил рядом с кислородом. Так работают ключи MACCS (166 битов).
  • Отпечатки по путям хешируют каждый линейный путь атомов до заданной длины в бит.
  • Круговые отпечатки (ECFP, Morgan) хешируют окружение каждого атома в радиусе 2 или 3 связей.

Инструмент MolDraw использует 512-битный отпечаток по словарю фрагментов — тот же, что и плагин Compare molecules. Аспирин устанавливает 74 из 512 битов, салициловая кислота — 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Похожи. Общее ядро с одной-двумя разными группами.
от 0,50 до 0,70Умеренно похожи. Есть общие фрагменты, но другой каркас или заместители.
от 0,30 до 0,50Слабо похожи. Общее только кольцо или функциональная группа.
Ниже 0,30Непохожи.

Эти пороги подходят для используемого здесь 512-битного фрагментного отпечатка. С круговым отпечатком, например ECFP4, значения для той же пары часто ниже, и 0,4 уже может означать родственное соединение. Никогда не смешивайте значения двух отпечатков в одной таблице.

Основы SMARTS для поиска подструктур

Обычный SMILES уже является запросом: c1ccccc1 находит каждое бензольное кольцо. Квадратные скобки добавляют условия к одному атому.

#7Атомный номер 7: любой азот, ароматический или нет.
c / CАроматический углерод / алифатический углерод.
H1, !H0Ровно один водород / хотя бы один водород.
X3, D2Всего три связи (включая H) / два соседа — тяжёлых атома.
R, R0, r5В цикле / не в цикле / в пятичленном цикле.
, ; !Или / и / не. [F,Cl,Br,I] — любой галоген.
- = # : ~Одинарная, двойная, тройная, ароматическая и любая связь.

Распространённые шаблоны:

  • Карбоновая кислота: [CX3](=O)[OX2H1]
  • Сложный эфир: [#6][CX3](=O)[OX2][#6]
  • Первичный алкиламин: [NX3;H2][CX4]
  • Ароматический галогенид: c[F,Cl,Br,I]
  • Донор H-связи по Липински: [#7,#8;!H0]. Акцептор H-связи по Липински: [#7,#8]

Инструмент пока не поддерживает рекурсивные SMARTS вида $( ) и запросы, разделённые точкой. Переписывайте такие условия через соседние атомы.

Как пользоваться инструментом сходства и поиска подструктур MolDraw

  1. Откройте страницу «Молекулярное сходство и поиск подструктур». Открыта вкладка Сходство.
  2. Введите SMILES в поля Молекула A (SMILES) и Молекула B (SMILES) и нажмите Сравнить. Чтобы рисовать, выберите Молекула A или Молекула B рядом с Drawing fills и рисуйте в редакторе. Чтобы попробовать, нажмите пример, например Морфин и кодеин.
  3. Посмотрите значения Танимото и Дайса, вердикт и цветную шкалу. В таблице приведены a, b и c, чтобы можно было проверить арифметику. Затенённые атомы — наибольшая общая подструктура.
  4. Чтобы ранжировать много молекул, вставьте по одному SMILES в строку (название после SMILES — по желанию) в разделе Ранжировать список относительно молекулы A и нажмите Ранжировать. Сохраните таблицу кнопкой Download CSV.
  5. Для поиска по шаблону откройте Поиск подструктур. Введите запрос или нажмите кнопку шпаргалки, вставьте целевые молекулы и нажмите Искать. Отметьте Показывать только совпавшие молекулы, чтобы скрыть остальные.

Разобранные примеры

Пример 1: парацетамол и фенацетин

У фенацетина (CCOc1ccc(NC(C)=O)cc1) этоксигруппа там, где у парацетамола OH. Танимото = 0,846, Дайс = 0,917. Вердикт: похожи, чуть ниже границы «очень похожи». Общее ядро — весь ацетанилидный фрагмент.

Пример 2: ранжирование НПВП относительно ибупрофена

Нажмите Пример: НПВП и ибупрофен. Первым идёт напроксен (0,711), затем кетопрофен (0,691) и флурбипрофен (0,681). Все три — 2-арилпропионовые кислоты. Диклофенак получает 0,336, а кофеин последний с 0,106.

Пример 3: какие лекарства — карбоновые кислоты?

Запрос [CX3](=O)[OX2H1] по 9 примерам лекарств: совпадают 6 из 9. Парацетамол, целекоксиб и кофеин — нет. Каждая кислотная группа затенена на рисунке.

Пример 4: доноры по Липински в парацетамоле

Запрос [#7,#8;!H0] для CC(=O)Nc1ccc(O)cc1 даёт 2 совпадения: N–H амида и O–H фенола. Запрос акцепторов [#7,#8] даёт 3: N, кислород C=O и кислород OH.

Пример 5: энантиомеры

L-аланин и D-аланин дают Танимото 1,000. Инструмент добавляет примечание, что они различаются только стереохимией.

Сводная таблица

Аспирин и салициловая кислотаT = 0,554, D = 0,713, умеренно похожи
Парацетамол и фенацетинT = 0,846, похожи
Морфин и кодеинT = 0,944, очень похожи
Ибупрофен и напроксенT = 0,711, похожи
Бензол и циклогексанT = 0,000, непохожи
SMARTS для карбоновой кислоты[CX3](=O)[OX2H1]
SMARTS для доноров и акцепторов[#7,#8;!H0] and [#7,#8]

Частые ошибки

  • Сравнение значений разных отпечатков. 0,6 на одном отпечатке — не 0,6 на другом.
  • Ожидание различий между стереоизомерами. 2D-отпечатки игнорируют стереохимию.
  • Восприятие сходства как активности. Один изменённый атом может «выключить» лекарство.
  • Пропуск водородов в запросе. C(=O)O находит и сложные эфиры. Для кислотной OH используйте [OX2H1].
  • Путаница c и C. C1CCCCC1 — циклогексан, он не совпадает с бензолом.
  • Забытые соли и заряды. Карбоксилат [O-] не совпадает с запросом на OH.

Вопросы и ответы

Какое значение сходства Танимото считается хорошим?

Для 512-битного фрагментного отпечатка, используемого в инструменте MolDraw, 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). Дайс всегда не меньше Танимото, и они связаны соотношением Дайс = 2T / (1 + T). Танимото 0,554 соответствует Дайсу 0,713.

Почему инструмент даёт 1,000 для двух разных молекул?

Отпечаток хранит связность, а не 3D-форму. У энантиомеров, диастереомеров и E/Z-изомеров одинаковые фрагменты, поэтому они получают 1,000. Инструмент показывает примечание, если два ввода различаются только стереохимией.

Чем SMILES отличается от SMARTS?

SMILES описывает одну молекулу. SMARTS описывает шаблон, который может содержаться во многих молекулах. Любой SMILES — допустимый SMARTS, но SMARTS добавляет условия, например H1 (один водород), X3 (три связи), R (в цикле), и логику: запятая (или), точка с запятой (и) и восклицательный знак (не).

Как найти все карбоновые кислоты в списке молекул?

Откройте вкладку «Поиск подструктур», нажмите «Карбоновая кислота» в шпаргалке, чтобы загрузить [CX3](=O)[OX2H1], вставьте свой список SMILES и нажмите «Искать». В примере из 9 лекарств совпадают 6: ибупрофен, напроксен, кетопрофен, флурбипрофен, диклофенак и аспирин.

Можно ли подсчитать доноры водородных связей с помощью SMARTS?

Да. Шаблон [#7,#8;!H0] находит каждый атом азота или кислорода, несущий хотя бы один водород, — это число доноров по Липински. Парацетамол даёт 2 совпадения, а шаблон акцепторов [#7,#8] — 3.

Означает ли высокое сходство одинаковую активность?

Не всегда. Похожие молекулы часто имеют сходную активность, поэтому поиск по сходству используют для поиска аналогов. Но одно изменение, например одна метильная группа или один стереоцентр, может убрать активность. Считайте значение ориентиром, а не доказательством.

Связанные инструменты

Полезные руководства

Последнее обновление: