Open: Обработка конформационных ансамблей в Python

From TheorChemGroup at ZIOC RAS

New title: Обработка конформационных ансамблей в Python

Архив с примерами -- Вставить ссылку

В чем заключается эта обработка и для чего её делать?

Поиск конформеров с определенными типами контактов или другими геометрическими особенностями

Поиск уникальных конформеров

Фильтрование и сортировка по энергии

Установка библиотеки

Требуется Python 3.x (x >= 3.7).

Для установки на Linux нужно выполнить в терминале одну из следующих команд:

pip install -i https://test.pypi.org/simple/ pyxyz==0.37.1 # Для Python 3.7.x
pip install -i https://test.pypi.org/simple/ pyxyz==0.38.1 # Для Python 3.8.x
pip install -i https://test.pypi.org/simple/ pyxyz==0.39.1 # Для Python 3.9.x
pip install -i https://test.pypi.org/simple/ pyxyz==0.310.1 # Для Python 3.10.x

Для установки на Windows нужно выполнить в командной строке

pip install ...

Обратите внимание, что в некоторых случаях может понадобиться заменить pip на pip3 (это зависит от того, как у вас установлен Python).

Проверьте корректность установки: импортируется ли библиотека и выполняются ли тесты:

import pyxyz
import pyxyz.test

pyxyz.test.run_tests()

Пример обработки набора конформаций

Функционал библиотеки

Добавление структур в набор

include_from_file

Изменение данных

sort

update_description

Фильтры:

energy_filter

distance_filter

valence_filter

dihedral_filter

Получение данных

save

size

get_structure

get_atom_symbols

Подсчет структур:

energy_count

distance_count

valence_count

dihedral_count

TODO

1. RMSD filtering

2. Build connectivity graphs & search for VdW contacts

3. Complex filtering conditions (how to implement?)

4. Complex description templates (how to implement?)

TODO: include_from_dict

TODO: copy constructor, operator+