Восстановление структуры по "экспериментальным данным PCA" в одномерной модели.

1. Создание модельной функции ЭП в одномерной элементарной ячейке.

Сначала на интервале [0,30] ангстрем была задана функция, имеющая вид нескольких гауссовых кривых с центром в разных точках. Гауссова функция определяется числами lambda,beta,gamma по формуле: gauss = lambda*exp(-(beta^2)*(X-gamma)^2). Функция была создана с помощью скрипта compile-func.py коммандой: python compile-func.py -g 32,3.3,5+30,3,8.2+10,3.1,14.3+43,3.2,15.7+27,3,17. Здесь после параметра -g стоят тройки чисел соответсвующие lambda(высота пика),beta(ширина пика),gamma(координата максимума пика).

В результате был получен файл с функцией func.txt и 1D график электронной плотности для 3х молекул из 1, 1 и 3х атомов соответственно, представленный ниже. Атомы в молекуле связаны ковалентно и находятся на расстоянии 1-1.5 анстрем друг от друга. Молекулы расположены на расстоянии 3-5 ангстрем. Всего 5 атомов. Ширина колокола соответствует диаметру атома 1-1.5 ангстрем, а высота - числу электронов в атоме.

2. Расчет амплитуд и фаз сигналов, моделирующих экспериментальные данные.

Коэффициенты Фурье были рассчитаны с помощью скрипта func2fourier.py коммандой: python func2fourier.py -i func.txt

На вход подавалась построенная ранее функция, в результате был получен файл func_ft.txt с 499 гармониками, в котором для каждой гармоники рассчитаны амплитуды (F) и фазы (phi).

3. Восстановление функции ЭП по амплитудам и фазам части сигналов.

Далее необходимо было отобрать минимальное число гармоник, необходимых для хорошего восстановления исходной функции ЭП. С помощью скрипта fourier-filter.py производился отбор гармоник, а скрипт fourier2func.py использовался для восстановление функции по отобранным гармоникам. Пример команд:

python fourier-filter.py -r 0-10 -i func_ft.txt

python fourier2func.py -f func.txt -i func_ft_filtered.txt

После первой комманды получен файл func_ft_filtered.txt с отобранными гармониками, а после второй график и файл с исходной и восстановленной функцией. Ниже представлены графики для разных наборов гармоник, число наверху справа является номером последней гармоники включенной в набор начинающийся с 0.

Начная с n=17 гармоник можно определить количество и расположение атомов в молекулах. При n=20 можно определить еще и положение максимумов функций, однако еще есть видимый шум. Начиная с n=25 шума уже почти не видно, поэтому минимальное число гармоник необходимое для отличного восстановления функции электронной плотности было выбрано n=25.

4. Шум.

Затем был внесен шум в выбранный набор гармоник n=25. Для этого при запуске скрипта func2fourier.py были использованы параметры -F % шума амплитуд и -P % шума фаз. Графики восстановленных функций с шумом представлены ниже.

Видно, что шум по фазам значительно сильнее ухудшает распознавание атомов чем шум по амплитудам. Только когда уровень шума по амплитудам достигает 30% возникает сложность распознавания некоторых сигналов, а для фаз такая сложность возникает при 20% уровне шума. Это же можно увидеть и на последних изображениях, при уровнях шума в 10% по амплитудам и фазам еще возможно предположить расположение атомов, а вот при дальнейшем увеличении шума уже практически невозможно.

5. Неполные наборы гармоник.

Из полного набора гармоник n=25 были выбраны произвольно некоторые гармоники, чтобы оценить качество восстановления функции электронной плотности. Если удалить первую гармонику, то базовая линия опускается вниз, но положение атомов можно однозначно определить. Если удалить первые 2, то базовая линия уходит еще сильнее вниз, но если сделать поправку на это то положение атомов можно однозначно определить. Удаление гармоник из середины набора значительно сильнее ухудшает качество восстановления функции электронной плотности, пики атомов становятся практически не отличимы от шума. При удалени 5ти гармоник из начала функцию восстановить еще можно, но если 10 или 8 то восстановление уже практически невозможно, пики практически не отличимы от шума. Если оставить только 10 гармоник в середине, то восстановить функцию невозможно. При добавлении в конец еще одной гармоники качество восстановления практически не ухудшается.

Сводную таблицу с результатами восстановления функции электронной плотности можно посмотреть по ссылке table1.docx.

Ссылки:

На главную


© Кузнецова Ксения, 2015