Модель для компьютерного эксперимента.
На отрезке [0,30] (ангстремы) расположены две молекулы. Атомы в молекуле связаны ковалентно и находятся на расстоянии 1-1.5 анстрем друг от друга. Молекулы расположены на расстоянии 3-5 ангстрем (водородная связь или гидрофобное взаимодействие между ними). Всего 6 атомов . Электронные плотности (ЭП) атомов описываются гауссовой кривой. Максимум ЭП в центре атома приблизительно пропорционален числу электронов в атоме.
Параметры для построения функции электронной плотности были взяты для модели из файла variant1.txt. Для построения функции был запущен скрипт compile-func.py со следующими параметрами:
python compile-func.py -g 30,2,11+20,2,13+20.0,2,16+30.0,2,21+30.0,2,25+30,2,28
Результат - на рисунке 1.
Рисунок 1. График функции распределения электронной плотности.
Для данной плотности были рассчитаны гармоники ряда Фурье с помощью скрипта func2fourier.py. В результате получился файл fourier.txt, содержащий 498 амплитуд и фаз гармоник.
Восстановление функции электронной плотности по полному набору гармоник.
С помощью скрипта fourier-filter.py были созданы полные наборы гармоник с разными n, и для них восстановлены электронные плотности скриптом fourier2func.py. Результат - на рисунке 2.
Рисунок 2. Графики электронной плотности, восстановленные по полным наборам гармоник с разными n. Пунктир - истинная электронная плотность.
Теперь рассмотрим, что будет, если гармоники изначально рассчитаны с некоторыми погрешностями. Восстановим электронную плотность по 30 гармоникам, внеся погрешность в 10% в амплитуду, фазу, или всё вместе. Используем команду:
python func2fourier.py -i func.txt -o fourier_F_P.txt -F f -P p
Результат - на рисунке 3.
Рисунок 3. Графики электронной плотности, восстановленные по полным наборам гармоник с n=30 и разными погрешностями в определении гармоник.
Как можно заметить, погрешность в фазе ухудшает качество восстановления сильнее, чем погрешность в амплитуде, и даже сильнее, чем все вместе (как ни парадоксально).
Восстановление функции электронной плотности по неполному набору гармоник.
Для того чтобы проверить, как функция восстанавливается из неполного набора гармоник, было создано 3 набора:
- с удаленными первыми 2 гармониками (2-30);
- с удаленными 3 гармониками из середины (1-10,12-17,19-22,24-30);
- с добавленной гармоникой на 10 больше максимальной (1-30, 40).
Результат - на рисунке 4.
Рисунок 3. Графики электронной плотности, восстановленные по неполным наборам гармоник.
Как можно заметить, при удалении первых гармоник, или добавлении гармоники с высоким числом, график функции сильно отличается от настоящего, но на определении пиков, а значит и атомов это не сказывается. Напротив, при удалении рандомных средних гармоник качество расшифровки заметно падает.
В таблице - статистика по всем восстановленным электронным плотностям.
Набор гармоник | Разрешение (Å) | Полнота данных (%) | Шум амплитуды (% от величины F) | Шум фазы (% от величины phi) | Качество восстановления |
---|---|---|---|---|---|
Полный набор гармоник | |||||
0 - 5 | 6 | 100 | 0 | 0 | Плохое |
0 - 10 | 3 | 100 | 0 | 0 | Плохое |
0 - 20 | 0.67 | 100 | 0 | 0 | Хорошее |
0 - 30 | 1 | 100 | 0 | 0 | Отличное |
0 - 30 | 1 | 100 | 10 | 0 | Хорошее |
0 - 30 | 1 | 100 | 0 | 10 | Среднее |
0 - 30 | 1 | 100 | 10 | 10 | Хорошее |
Неполный набор гармоник | |||||
2 - 30 | 1 | 93.5 | 0 | 0 | Хорошее |
0 - 10, 12 - 17, 19 - 22, 24 - 30 | 1 | 90.3 | 0 | 0 | Среднее |
0 - 30, 40 | 1 | 78 | 10 | 10 | Хорошее |