Как ответить
Алгоритм Vesper — это метод идентификации пептидов по тандемным масс-спектрам (MS/MS), разработанный для высокопроизводительной протеомики. Он не строит спектр «с нуля», а сравнивает экспериментальный спектр с предварительно вычисленными теоретическими спектрами из базы данных белков. Ключевое отличие Vesper от классических подходов (например, SEQUEST) — использование быстрого преобразования Фурье (FFT) для ускорения кросс-корреляции, что позволяет обрабатывать тысячи спектров в минуту.
Работает так:
- 1. Подготовка базы теоретических спектров. Все белки из референсной базы (например, UniProt) «перевариваются» in silico протеазой (обычно трипсином) с учётом возможных мисскливиджей. Для каждого пептида генерируется теоретический MS/MS спектр — список масс фрагментных ионов (b/y-ионов) с их интенсивностями, вычисленными по эмпирическим моделям.
- 2. Обработка экспериментального спектра. Сырой спектр фильтруется: удаляются шумовые пики, применяется нормализация интенсивностей, окна по m/z. Спектр обычно центрируется по наиболее интенсивному пику или по нейтральной массе предшественника.
- 3. Кросс-корреляция через FFT. Для каждой пары «экспериментальный спектр — теоретический спектр» вычисляется скоррелированность. Вместо прямого перебора (O(n²)) Vesper преобразует оба спектра в дискретные сигналы (с фиксированным шагом по m/z, например, 1 Da) и выполняет свёртку через БПФ. Это даёт O(n log n) на одно сравнение.
- 4. Постобработка и ранжирование. Полученные корреляции сортируются. Для каждого экспериментального спектра выбирается лучший кандидат — пептид с максимальным score. Дополнительно применяется статистическая оценка (например, FDR через target-decoy search).
Важный нюанс: алгоритм не строит спектр как таковой — он использует готовые теоретические шаблоны. Вопрос «сначала строит спектр?» может возникнуть из-за непонимания: да, генерируются теоретические спектры, но это делается один раз для всей базы, а не «на лету» под каждый эксперимент. В современных реализациях (Vesper 2.0) также используется предварительное индексирование, чтобы быстро искать пептиды по массе предшественника, отсекая заведомо неподходящие варианты.
Пример: если у нас экспериментальный спектр с массой предшественника 1000 Da, Vesper сначала отфильтрует из базы только пептиды с массой 1000 ± tolerance, а затем применит FFT-кросс-корреляцию для десятка-сотни кандидатов. Это даёт производительность до ~1000 спектров/сек на одном ядре.