Atomic Blender (PDB/XYZ)#

Аддон Atomic Blender (PDB/XYZ) импортирует атомные структуры (молекулы, кристаллы, кластеры, частицы, поверхности и т. д.), которые описаны в файлах PDB (.pdb) и XYZ (``.xyz ``) (Импортировать PDB/XYZ). Аддон считывает координаты всех атомов в файле PDB/XYZ и представляет атомы в виде шариков (balls) в мире Blender. Также палочки (sticks), которые описаны только в файлах PDB, отображаются, если они явно указаны в файле PDB. Шейдер Principled BSDF используется для описания свойств материала атомов.

Для импорта можно выбрать множество опций, которые позволяют по-разному воспроизводить атомы и палочки. С помощью нескольких инструментов на панели Atomic Blender Utilities panel атомные структуры можно изменить после импорта.

Обратите внимание, что координаты выбранных атомных структур в 3D мире Blender также можно экспортировать в файлы PDB/XYZ.

Общая мотивация: Atomic Blender (PDB/XYZ) интересен учёным, которые хотят визуализировать с помощью Blender свои атомные структуры, описанные в файлах PDB или XYZ. Благодаря Blender можно получить причудливую графику молекул, кристаллических структур, поверхностей, наночастиц, кластеров и сложных атомных расположений. Такая графика соответствует стандартам журналов высшего уровня, имеющих высокий импакт-фактор. См. Примеры в конце этой страницы.

См.также

Информация о PDB и XYZ

  • Описание формата файла PDB: Википедия и RCSB.

  • Описание формата файла XYZ: Википедия и Open Babel.

  • Некоторые примечания о файлах PDB и XYZ также можно найти здесь и здесь.

  • Многие молекулы можно загрузить с сайта RCSB (перейдите в раздел „Загрузить“).

  • Список программного обеспечения, которое по-разному работает с PDB, можно найти на сайте RCSB. Также есть Vesta, ASE и все квантовые химические калькуляторы, используемые в исследованиях, которые могут создавать или даже рассчитывать атомные структуры и хранить их в файлах PDB/XYZ.

См.также

Форум

  • Пожалуйста, используйте Форум Художников Blender для комментариев и вопросов или напрямую Чат Blender.

  • Также есть возможность задавать вопросы в Stack Exchange. Однако обратите внимание, что некоторым разработчикам, таким как Blendphys, не хватает кредитов, которые, однако, необходимы для получения разрешения на предоставление ответов на Stack Exchange.

Подсказка

Дефекты в Атомной Структуре

Если вы хотите показать дефекты, например пробелы в атомарной структуре, используйте „X“ для имени элемента в файле PDB или XYZ (см. здесь). Дефект отображается в виде куба.

Импорт PDB/XYZ#

../../_images/addons_import-export_mesh-atomic_import-PDB.png

Панель с опциями импорта PDB.#

Camera & Lamp (Камера и светило)#

Камера и/или источник света помещаются в трехмерный мир. Оба расположены так, что вся атомная структура может быть хорошо видна камерой при достаточном освещении источника света.

Object to Origin (PDB) (Объект к ориджину (PDB))#

Атомная структура помещается в начало координат (origin) (0,0, 0,0, 0,0) трехмерного мира.

Object to Origin (XYZ) (Объект к ориджину (XYZ))#

Либо только в the first (первом), либо во all frames (всех кадрах) атомная структура помещается в начало координат (0,0, 0,0, 0,0) трехмерного мира.

Balls/Atoms (Шарики/Атомы)#

Type Of (Тип)

Выберите NURBS, Mesh или Metaballs для атомов. Для опции Меш можно выбрать значения Azimuth (Азимут) и Zenith (Зенит). Меташары могут приводить к некоторым причудливым эффектам: например, если они достаточно большие, их формы сливаются вместе, создавая некий поверхностный эффект.

../../_images/addons_import-export_mesh-atomic_import-XYZ.png

Панель с опциями импорта XYZ.#

Scaling Factors (Коэффициенты масштабирования)

Радиусы атомов, а также расстояния между атомами можно масштабировать с помощью простого коэффициента.

Тип

Можно выбрать тип радиуса атома (атомный, Ван-дер-Ваальса (van der Waals) или заранее заданный).

Sticks/Bonds (Палочки/Узлы) (только PDB)#

Use Sticks (Использовать палочки)

Использовать палочки или нет. Обратите внимание, что палочки должны быть указаны в файле PDB. Аддон не „вычисляет“ возможные связи/узлы (bonds) между атомами, которые затем отображаются в виде палочек!

Тип

В общем, параметры Sector (Сектор) и Radius (Радиус) определяют точность и размер палочек соответственно. Опция Smooth (Гладко) всегда означает, что к палочкам применяется оператор сглаживания (Smooth). Опция Color (Цвет) означает, что палочка разделена на две части, показывая цвета соответствующих двух атомов, которые она соединяет.

Instancing Vertices (Создание экземпляров вершин):

Палочки одного элемента помещаются в одну экземплярную структуру вершин, и палочки выглядят как цилиндры. Структура экземпляров вершин делает отображение и загрузку многих палочек/стержней относительно быстрыми (дополнительную информацию см. в разделе The instancing vertex structure ). Опции Unit (Единица) — длина единицы (небольшого цилиндра): несколько таких единиц собраны вместе, образуя собственно стержень (цилиндр). Чем больше длина единицы, тем меньше количество таких единиц и, следовательно, тем быстрее происходит отображение. Однако, если единичная (unit) длина слишком велика, стержень в конечном итоге становится длиннее, чем длина связи (bond) (расстояние между атомами). Это может затем привести к «эффекту перекрытия» , когда палка пересекает атомы. Опция Bonds (Связи) отображает помимо одинарных также двойные, тройные и т. д. связи, тогда как опция Distance (Расстояние) — это расстояние между связями, измеряемое в диаметре стержня.

Skin (Оболочка):

Модификаторы skin и subdivision (скина/оболочки и подразделения) используются для создания стержней. Это даёт красивую сеть стержней, которую можно использовать, например, для показа. только связи структуры (предварительно удалите атомы!). Опции SubDivV и SubDivR являются параметрами оператора подразделения. Если активирована опция Smooth, первоначальный квадратный профиль стержней изменится на более круглый. Обратите внимание: если выбран этот вариант, существует только один объект, представляющий все стержни/палочки.

Нормаль:

Используются обычные цилиндры. Для каждой связки (bond) используется один отдельный цилиндр. Если активирована опция One Object (Один объект), вероятнее всего стержни Не объединяются в один меш-объект. Это делает отображение стержней очень быстрым. Однако отдельных стержней больше не существует.

Frames (Кадры) (только XYZ)#

Load All Frames (Загрузить все кадры)

Загрузить только первый или все кадры.

Skip Frames (Пропускать кадры)

Пропускать и загружать только каждый n-й кадр. Это весьма полезно для больших данных, где может быть достаточно показать только каждый четвертый кадр.

Frames/Key (Кадры/Ключ)

Показывать определенное количество кадров на один ключ (frames per key). Множество кадров в ключе приводят к более плавному отображению.

Важно

Имейте в виду: количество атомов в кадре должно быть одинаковым для всех кадров!

The instancing vertex structure (Структура экземпляров вершин)#

../../_images/addons_import-export_mesh-atomic_dupli_1.png

Структура NaCl в планеровщике (outliner).#

Важно понимать, как атомы (и стержни(sticks)) атомной структуры организованы внутри Blender. Вот почему мы уделим этому немного внимания:

Когда атомные структуры импортируются через импортёр PDB или XYZ, атомы помещаются в так называемые instancing vertex structures (структуры экземпляров (фрагментации) вершин), что-то вроде „групп“ элементов. Например, все атомы натрия структуры NaCl образуют одну instancing vertex structure, то же самое относится и к атомам хлора (см. рисунок). В случае атомов натрия существует коллекция Sodium, включающая коллекцию Sodium_atom. Внутри последнего Sodium_mesh состоит из самого меша (Mesh_Sodium) и шара под названием Sodium_ball. Меш содержит только вершины (без объектов!), и вершины расположены в позициях x,y,z, указанных в файле PDB/XYZ. Blender просто „дублирует“ „репрезентативный“ шар Sodium_ball во всех вершинах! Поскольку используется только один шарик, это делает работу невероятно быстрой, отображая (representing), например, тысячу атомов внутри Blender. Обратите внимание, что репрезентативный шар находится в центре конструкции и не имеет никакого значения. По этой причине переключатель видимости отображаемого (representative) шара выключен (см. красную стрелку)!

Подведём некоторые заключения:

  • Репрезентативный шар (шар-экземпляр) появляется во всех вершинах с одинаковой ориентацией.

  • Изменение свойств материала репрезентативного шара приводит к изменению свойств всех дублированных шаров.

  • Щарик НЕ является отдельным объектом, а скорее связанным элементом конструкции. На самом деле объекта как такового не существует.

../../_images/addons_import-export_mesh-atomic_dupli_2.png

Структура NaCl в планеровщике (outliner).#

Модификации#

Смещение „отдельного“ атома

Для этого необходимо сместить соответствующую вершину: перейдите в Edit Mode (режим Редактирования) и выберите атом. Теперь вы можете сместить атом (вершину).

Изменение свойств материалов (всех атомов)

Для этого необходимо изменить свойства материала репрезентативного шара: в аутлайнере (outliner) включить видимость репрезентативного шара (здесь Sodium_ball, см. красную стрелку на рисунке). Затем вы можете выбрать шар и изменить свойства материала. После этого сделайте невидимым репрезентативный шар, иначе он появится в структуре.

Отделить атом

Об этом см. раздел Separate Atoms (Отделить атомы).

Чтобы упростить работу с атомными структурами, можно использовать панель утилит, см. следующий раздел.

Подсказка

Преобразование всех атомов структуры экземплярных вершин (Instancing Vertex Structure) в реальные независимые объекты

Сделайте следующее: Выделите атомарные структуры с помощью мыши и используйте Make Instances Real. Благодаря этому вы создаёте настоящие независимые объекты! В аутлайнере (outliner) удалите оставшиеся структуры вершин экземпляров с именами «Carbon (Углерод)», «Hydrogen (Водород)» и т. д.

Обратите внимание: если структуры представляют собой многие сотни и тысячи атомов, Blender может стать довольно медленным: сразу все эти новые атомы будут представлены как отдельные объекты-шарики, и Blender придется иметь дело со всеми ними несколькими способами. Как упоминалось выше, для каждой экземплярной вершинной структуры существует только один репрезентативный объект-шар!

Atomic Blender Utilities Panel (Панель утилит Atomic Blender)#

Панель Atomic Blender Utilities упрощает вашу жизнь при манипулировании атомами импортированных структур.

../../_images/addons_import-export_mesh-atomic_custom_file.png

Запись о водороде в файле пользовательских данных.#

Custom Data File (Пользовательский файл данных)#

Можно загрузить отдельный файл пользовательских данных, который содержит для каждого элемента следующую информацию:

  • Все типы radii (радиусов) (атомные, VdW, ионные) в Å

  • Цвет шара

  • Другие свойства материала для шейдера Principled BSDF.

Такая опция полезна, когда желательно использовать предопределенные значения радиусов атомов и свойств шейдера. Пример можно скачать здесь: Пользовательский файл данных.

Пользовательский файл данных представляет собой файл ASCII, который может дублироваться и изменяться пользователем. Радиус и свойства материала атомов можно изменить следующим образом: откройте файл ASCII стандартным текстовым редактором, найдите имя атома и измените радиус (Radius used (используемый радиус)). Сделайте то же самое, например, со значениями RGB для цвета (Color). Значение RGBA(1.0, 1.0, 1.0, 1.0) соответствует белому цвету, а RGBA(0.0, 0.0, 0.0, 1.0) – чёрному. Обратите внимание, что последнее значение кортежа цвета — это альфа-значение цвета. Кроме того, можно изменить некоторые другие свойства, такие как Metallic, Roughness и Transmission. Это свойства Шейдера Principled BSDF. Также есть некоторые свойства для EEVEE, которые можно использовать для определения прозрачности объекта и т. д.

Обратите внимание, что в заголовке файла пользовательских данных все возможные значения строковых параметров P BSDF Subsurface Method, P BSDF Distribution, EEVEE Blend Method и EEVEE Shadow Method перечислены.

../../_images/addons_import-export_mesh-atomic_utilities-panel.png

Панель Atomic Blender Utilities.#

Внутри Blender сначала необходимо загрузить файл данных. Цвета и свойства материала изменяются после выполнения команды Apply (Применить). Обратите внимание, что изменяются только выбранные атомы!

Measure Distances (Измерение расстояний)#

С помощью этого инструмента можно измерить расстояние между двумя объектами в режиме Объекта, а также в режиме Редактирования. Единица измерения – Ångström.

Change Atom Size (Изменить размер атома)#

Обратите внимание, что атомные структуры должны быть выбраны!

Type of Radii (Тип радиусов)
Тип

С помощью этого селектора можно выбрать тип радиусов. Любой из них использует Predefined (предопределённые), Atomic (атомные) или Van der Waals радиусы. Значениями по умолчанию для Предопределённых радиусов являются Атомные радиусы.

Charge (Заряд)

Для опции Ionic radii (ионные радиусы) можно выбрать состояние заряда, и радиусы выбранных объектов мгновенно изменяются. Выберите один тип атома (например, только все водородные (hydrogen)), а затем примените состояние заряда. Изменения применяются только в том случае, если известно состояние заряда атома. См., например, Файл пользовательских данных.

Radii in pm (Радиусы в пм)

Радиусами всех атомов, принадлежащих одному элементу, можно манипулировать. Введите название атома (например, „Hydrogen“ (водород)) и выберите радиус в пикометрах.

Radii by Scale (Радиусы по масштабу)

Это изменяет радиусы всех выбранных атомов и атомных структур с одним масштабным коэффициентом. Введите коэффициент масштабирования и увеличьте или уменьшите размер радиусов, используя кнопки Bigger (больше) или Smaller (меньше) соответственно.

Change Stick Size (Изменить размер стержня)#

Диаметр выбранных стержнеё изменён. Кнопки Больше и Меньше позволяют увеличить или уменьшить диаметр соответственно. Масштабный коэффициент определяет, насколько сильным будет изменение диаметра. Используя Outliner, можно применять эти операторы только к выбранным стержням (например, только к стержням атомов водорода). Обратите внимание, что изменения применяются только в том случае, если стержни представляют собой отдельные объекты, например одиночные цилиндры или если стержни описаны в структурах экземплярных вершин (instancing vertex structures).

Change Atom Shape (Изменить форму атома)#

Можно изменить форму атома на сферу, куб, икосферу (icosphere) и т. д. Кроме того, можно изменить материал атома. Сначала выберите атомы в 3D-вьюпорте или в аутлайнере (outliner).

Shape (форма)

Выберите форму в первом селекторе.

Материал

Выберите один из материалов во втором селекторе. Материалы являются лишь примерами, дальнейшие уточнения можно выполнить на вкладке «Материалы» в свойствах.

Special (Особый)

Здесь вы можете выбрать объект особой формы, материала и т. д. Такие объекты неплохо отображают дефекты атомных структур. Выбирая такой особенный предмет, вы больше не можете отдельно выбирать форму и материал сверху. На вкладках «Объекты» и «Материалы» в свойствах можно внести дальнейшие изменения.

Кнопка Replace (Заменить)

В конце, нажмите кнопку Replace. Изменяются форма и/или материал всех выбранных атомов. Эта опция работает для объектов и структур экземпляров вершин (instancing vertex object structures).

Кнопка Default (по умолчанию)

Если вы хотите иметь значения по умолчанию (сферы NURBS, а также цвета и размеры определенных элементов) выбранных атомов, нажмите кнопку Default.

Separate Atoms (Отделить атомы)#

Чтобы разделить отдельные атомы, сначала выберите атомы (вершины) в Edit Mode (режиме редактирования). При выборе Режима редактирования в нижней части панели Atomic Blender Utilities появляется кнопка Separate (разделить). Если селекторы в Change atom shape (изменить форму атома) остаются в положении Unchanged (без изменений), тип объекта (NURBS, меш, мета) и его свойства не будут изменены при разделении.

После выбора атомов используйте кнопку Separate Atoms, чтобы разделить выбранные атомы: теперь атомы представляют собой отдельные новые объекты, которыми можно манипулировать стандартным способом. Они появляются в аутлайнере (outliner) и имеют суффикс _sep.

Примеры#

../../_images/addons_import-export_mesh-atomic_molecule-representations.jpeg

Разные представления одной и той же молекулы.#

../../_images/addons_import-export_mesh-atomic_DNA.jpeg

Часть молекулы ДНК.#

../../_images/addons_import-export_mesh-atomic_JPCC-2014.jpg

Функционализированные молекулы [5]helicene (гелицена) на поверхности NaCl(001) (Clemens Barth и др. – Ссылка на публикацию).#

../../_images/addons_import-export_mesh-atomic_ESE-2017.jpeg

Структура солнечного элемента, подчеркивающая свойства кремниевых нанокристаллов, осажденных с помощью системы импульсного распыления (Mickael Lozac’h и др. – Ссылка на публикацию).#

Это видео было создано Sébastien Coget (ответственный исследователь: Frank Palmino) в институте Femto-ST в Безансоне (Франция). Фильм демонстрирует, что с помощью Blender можно создавать профессиональные фильмы для исследований. Он был визуализирован (rendered) с помощью Cycles.