TGViewer
OdanChem research OdanChem research @odanchem · 684 subscribers
Post #18 749
Принципы поиска по спектру
#spectrum_search
Данным постом открываю серию публикаций на тему использованию поиска по ЯМР спектру в работе синтетика. Эта концепция не самая стандартная, поэтому для подавляющего большинства синтетиков вообще дико звучит идея "поищи по ЯМР спектру". Для массов благодаря базе NIST к этому все привыкли, для ИК спектров - в целом, тоже, но для ЯМР частая реакция - "А что, так можно было?". Внезапно да, можно и нужно. Будет серия постов, потом они объединятся в большой лонгрид с картинками.

Сегодняшний пост - начало рассуждений о том, как такой поиск вообще может работать, какие есть подводные камни. А потом будут части про то, как он работает у нас, какие-то практические use-case, а также рекомендации. 
Все программы для библиотечного поиска, которые я знаю (буду рад в комментариях обсудить другие подходы, концепции, примеры реализации), работают по принципу полнопрофильного сравнения спектров. То есть, допустим, у нас доступна библиотека ИК или масс спектров. Туда залиты экспериментально зарегистрированные и как-то предобработанные данные. По сути, полный профиль. Есть экспериментальный спектр, который мы хотим пробить по базе. Программа предобрабатывает загруженный спектр по аналогии с библиотечными и сравнивает со всеми спектрами в базе. По пути считает какую-то similarity, по которой ранжируется выдача результатов. Математика (алгоритм сравнения) там может быть разная, но общая логика примерно одна - мы каждую точку нашего спектра сравниваем с соответствующей точкой библиотечного. Возможно, когда-то потом сделаю пост с описанием классических алгоритмов поиска.
Схема - отличная, позволяет аккуратно искать по библиотеке, дает довольно точные результаты. Один нюанс - для ее работы нужна база данных с исходниками спектров. Такие базы для МС с ионизацией электронами делает NIST, есть много ИК-баз разного размера от производителей ИК-спектрометров. Новый спектр туда тоже попадает по одной схеме: автор базы должен либо зарегистрировать его сам, либо у кого-то доверенного (то есть автор верит этому кому-то, что спектр соответствует тому, чему заявлено) этот спектр взять. И это работает для коммерчески доступных веществ, но что, если мы хотим базу state-of-the-art молекул?  
Можно написать авторам статей, где они опубликованы. Но убедить всех все прислать, стандартизировать формат и т.п. - задача нетривиальная. Но погодите, они УЖЕ описали спектры своих  молекул в стандартном общепринятом виде строки спектра. Всем знакомое
1H NMR (400 MHz, CDCl3) δ 7.37 (dd, J = 7.4, 1.7 Hz, 1H), 7.30 (ddd appears as td, J = 7.9, 1.6 Hz, 1H), 7.25 – 7.19 (m, 2H), 6.99 – 6.91 (m, 2H), 6.75 (t, J = 7.3 Hz, 1H), 6.71 (d, J = 7.5 Hz, 2H), 4.39 (s, 2H), 4.17 (s, 1H), 3.90 (s, 3H).

Вот их можно попытаться оцифровать и получить список положений пиков. Но ключевая проблема - мы не можем по этим данным полноценно восстановить профиль спектра. Интенсивности на 13С ЯМР зависят от кучи факторов и их обычно не пишут. И, думаю, все это читающие хоть раз забивали на расшифровку сложной мультиплетности (сложнее дублета дублетов) на протоннике и писали "m". Ширина мультиплета тоже не всегда понятна. Поэтому нужен какой-то другой принцип поиска, который мы как раз и реализовали. В чем он заключается - будет следующий пост.
  • ❤ 14
  • 👍 6
  • 🔥 5
More from @odanchem
  1. Aug 17, 2026Post #55
  2. Aug 7, 2026Post #54
  3. Jul 28, 2026Post #53
  4. Jul 18, 2026Post #52
  5. Mar 12, 2026Автоматическая расшифровка ЯМР спектров с помощью ИИ Коллеги, настало время рассказать про…
  6. Mar 6, 2026Обновление OdanChem #odanchem Коллеги, всех приветствуем. С момента прошлого поста сообщес…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →