Сходство Танимото и поиск подструктур по SMARTS — с бесплатным инструментом
Коротко: сходство Танимото сравнивает отпечатки двух молекул: 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)
Разобранный пример, аспирин и салициловая кислота:
- Аспирин, CC(=O)Oc1ccccc1C(=O)O: a = 74 бита.
- Салициловая кислота, OC(=O)c1ccccc1O: b = 41 бит.
- Биты, включённые в обеих: c = 41. Каждый бит салициловой кислоты есть и в аспирине.
- Объединение = a + b − c = 74 + 41 − 41 = 74.
- 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
- Откройте страницу «Молекулярное сходство и поиск подструктур». Открыта вкладка Сходство.
- Введите SMILES в поля Молекула A (SMILES) и Молекула B (SMILES) и нажмите Сравнить. Чтобы рисовать, выберите Молекула A или Молекула B рядом с Drawing fills и рисуйте в редакторе. Чтобы попробовать, нажмите пример, например Морфин и кодеин.
- Посмотрите значения Танимото и Дайса, вердикт и цветную шкалу. В таблице приведены a, b и c, чтобы можно было проверить арифметику. Затенённые атомы — наибольшая общая подструктура.
- Чтобы ранжировать много молекул, вставьте по одному SMILES в строку (название после SMILES — по желанию) в разделе Ранжировать список относительно молекулы A и нажмите Ранжировать. Сохраните таблицу кнопкой Download CSV.
- Для поиска по шаблону откройте Поиск подструктур. Введите запрос или нажмите кнопку шпаргалки, вставьте целевые молекулы и нажмите Искать. Отметьте Показывать только совпавшие молекулы, чтобы скрыть остальные.
Разобранные примеры
Пример 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.
Означает ли высокое сходство одинаковую активность?
Не всегда. Похожие молекулы часто имеют сходную активность, поэтому поиск по сходству используют для поиска аналогов. Но одно изменение, например одна метильная группа или один стереоцентр, может убрать активность. Считайте значение ориентиром, а не доказательством.