Atomic Blender (PDB/XYZ) – Атомічне Blender (PDB/XYZ)
The Atomic Blender (PDB/XYZ) add-on imports atomic structures
(molecules, crystals, clusters, particles, surfaces, etc.), which are described in
PDB (.pdb) and XYZ files (.xyz) (Import PDB/XYZ). The add-on reads the coordinates of
all atoms in the PDB/XYZ file and represents the atoms as balls in the Blender world.
Also the sticks, which are described in PDB files only, are shown if the sticks are explicitly listed in the PDB file.
The Principled BSDF shader
is used to describe the material properties of the atoms.
Для імпорту можуть бути обрані багато варіантів, які дозволяють представляти атоми та палички по-різному. За допомогою кількох засобів в панелі Atomic Blender Utilities panel, ці атомічні структури можуть модифікуватися після імпорту.
Зауважте, що координати вибраних атомічних структур у 3D світі Blender’а можуть також експортуватися у файли PDB/XYZ.
Загальна мотивація: Atomic Blender (PDB/XYZ) є цікавим для науковців, котрі хочуть візуалізувати їх атомічні структури, описані у файлах PDB або XYZ, за допомогою Blender. Завдяки Blender’у можуть отримуватися вигадлива графіка молекул, кристалічних структур, поверхонь, наночастинок, кластерів та складні атомічні компонування. Така графіка відповідає стандартам журналів найвищого рівня, які мають високий фактор впливу. Дивіться Examples в кінці цієї сторінки.
Дивись також
Info about PDB and XYZ – Інфо про PDB та XYZ
Опис формату файлів XYZ: Wikipedia and Open Babel.
Деякі примітки про файли PDB та XYZ можна також знайти на here та here.
Багато молекул можна завантажити із RCSB site (перейдіть до „Download“).
Список програмного забезпечення, яке працює різними способами з PDB, можна знайти на сайті RCSB site. Також є Vesta, ASE та всі quantum chemical calculators, що використовуються в досліджуванні, які можуть створювати або навіть розрахувати атомічні структури та зберігати їх у файлах PDB/XYZ.
Дивись також
Forum – Форум
Будь ласка, використовуйте Blender Artists forum для коментарів та запитань або безпосередньо Blender chat.
Також є можливість ставити питання на Stack Exchange. Проте, зауважте, що деякі з розробників, як Blendphys, не мають достатньо заслуг, що необхідні для давання відповідей на Stack Exchange.
Підказка
Defects in an Atomic Structure – Дефекти в Атомній Структурі
Якщо ви хочете показати дефекти, такі як порожнечі в атомній структурі, то використовуйте „X“ для імені елемента у файлі PDB або XYZ (see here). Дефект показується у формі куба.
Import PDB/XYZ – Імпорт PDB/XYZ
Панель з опціями для імпорту PDB.
Camera & Lamp – Камера й Лампа
Камера та/або джерело освітлення розміщуються у 3D світі. Обидвоє розміщуються таким чином, щоб вся атомна структура могла добре бути видимою камерою з достатнім освітленням від джерела світла.
Object to Origin (PDB) – Об’єкт у Початок (PDB)
Атомна структура розміщується у початку (0.0, 0.0, 0.0) 3D світу.
Object to Origin (XYZ) – Об’єкт у Початок (XYZ)
Або лише у першому, або у всіх кадрах, атомна структура ставиться у початок (0.0, 0.0, 0.0) 3D світу.
Balls/Atoms – Кульки/Атоми
- Type Of – Тип
Обирається NURBS, Mesh або Metaballs для атомів. Для опції Mesh можуть обиратися значення азимуту Azimuth та зеніту Zenith. Вибір метаболів Metaballs може призвести до деяких вигадливих ефектів: наприклад, якщо вони достатньо великі, то їх форми сплавляються разом, показуючи свого роду ефект поверхні.
Панель з опціями для імпорту XYZ.
- Scaling Factors – Фактори Масштабування
Радіуси атомів, а також відстані між атомами можуть масштабуватися за допомогою простого фактора.
- Type – Тип
Тип радіуса атомів може обиратися (атомний, van der Waals або як передвизначено).
Sticks/Bonds (only PDB) – Палички/Зв’язки (лише PDB)
- Use Sticks – Вжиття Паличок
Використовуються палички чи ні. Зауважте, що палички повинні бути перелічені у файлі PDB. Додаток не «розраховує» можливі зв’язки між атомами, які потім показуються як палички!
- Type – Тип
Загалом, опції Sector та Radius визначають точність та розмірність паличок, відповідно. Опція згладження Smooth завжди означає, що оператор Smooth застосовується на паличках. Опція Color означає, що паличка ділиться на дві частини, що показуються кольорами відповідних двох атомів, які вона з’єднує.
- Instancing Vertices – Примірникування Вершин
Палички одного елемента кладуться в одну структуру примірникування вершин, і палички показуються як циліндри. Ця структура примірникування вершин робить показування та завантажування багатьох паличок відносно швидким (дивіться Секцію The instancing vertice structure для отримання додаткової інформації). Опції одиниць Unit є довжиною одиниці (невеликий циліндр): кілька таких одиниць кладуться разом, формуючи фактично паличну (циліндр). Чим довша довжина одиниці, тим меншою є кількість таких одиниць, і, отже, швидшим є показування. Проте, якщо довжина одиниці є надто довгою, то паличка стає зрештою довшою, ніж довжина зв’язку (відстань між атомами). Це може призводити до «ефекту перекриття», де паличка перетинається з атомами. Опція зв’язків Bonds показує окрім одинарних також подвійні, потрійні тощо зв’язки, тоді як опція відстані Distance є відстанню зв’язка, виміряною в діаметрах палички.
- Skin – Покрив
Модифікатори покриву та підподілення використовуються для побудови паличок. Це дає гарну мережу паличок, яка може використовуватися для показу, наприклад, лише зв’язків структури (видаліть атоми перед тим!) Опції SubDivV та SubDivR є параметрами оператора підподілення. Якщо активовано опцію Smooth, то початковий квадратний профіль паличок змінюється на більш круговий. Зауважте, що якщо ця опція обрана, то існує лише один об’єкт, що представляє всі палички.
- Normal – Нормаль
Нормальні циліндри використовуються. Для кожного зв’язку використовується один індивідуальний циліндр. Якщо опція One Object активована, то приблизно жодні No палички не сполучаються в один об’єкт сіті. Це робить показування паличок дуже швидким. Проте, індивідуальні палички вже більше не існують.
Frames (only XYZ) – Кадри (лише XYZ)
- Load All Frames – Завантажити Всі Кадри
Завантажується лише перший або всі кадри.
- Skip Frames – Пропуск Кадрів
Пропускаються кадри та завантажується лише кожний n-й кадр. Це досить корисно для великих даних, де може бути достатньо показувати лише кожен 4-й кадр.
- Frames/Key – Кадри/Ключ
Показується вказана кількість кадрів на ключ. Багато кадрів у ключі призводять до більш текучого представлення.
Важливо
Будь ласка, майте на увазі: кількість атомів у кадрі має бути однаковою для всіх кадрів!
Структура примірникування вершин
Структура NaCl у структураторі.
Важливо розуміти, як атоми (та палички) атомічної структури організовуються всередині Blender. Ось чому ми зосереджуємося трохи на цьому в наступному:
Коли атомічні труктури імпортуються через імпортер PDB або XYZ, атоми кладуться в так звані структури примірникування вершин, щось схоже на «групи» елементів. Наприклад, всі атоми натрію зі структури NaCl формують одну структуру примірникування вершин, і те саме застосовується до атомів хлору (дивіться ілюстрацію). У випадку з атомами натрію там є колекція Sodium, що включає колекцію Sodium_atom. Всередині останньої, Sodium_mesh скомпонована зі самої сіті (Mesh_Sodium) та кульки з іменем Sodium_ball. Ця сіть містить вершини (не об’єкти!), а ці вершини розміщуються в позиціях x,y,z, визначених у файлі PDB/XYZ. Те, що Blender робить, так це просто «дублює» «репрезентативну» кульку Sodium_ball на всі вершини! Оскільки лише одна кулька використовується, це неймовірно пришвидшує представлення, наприклад, тисячі атомів всередині Blender. Зауважте, що ця репрезентативна кулька знаходиться в центрі структури, без необхідності жодного значення. Це є причиною, чому перемикач видимості репрезентативної кульки вимкнено (дивіться на червону стрілку)!
Є деякі наслідки: а) Репрезентативна кулька показується на всіх вершинах з однаковою орієнтацією. б) Зміна властивості матеріалів репрезентативної кульки змінює властивості всіх дубльованих кульок. в) Кулька НЕ є індивідуальним об’єктом, вона скоріше пов’язаний член структури. Фактично, об’єкт як такий не існує.
Структура NaCl у структураторі.
Modifications – Модифікації
- Displacing an „individual“ atom – Зміщування «індивідуального» атома
Для цього, відповідна вершина має бути зміщена: перейдіть в режим редагування Edit Mode та виберіть атом. Ви можете тепер змішувати атом (вершину).
- Changing material properties (of all atoms) – Зміна властивостей матеріалів (для всіх атомів)
Для цього, властивості матеріалів репрезентативної кульки повинні бути змінені: у структураторі перемкніть видимість репрезентативної кульки (тут, Sodium_ball, дивіться червону стрілку на ілюстрації). Ви можете далі вибрати кульку та змінити властивості матеріалів. Опісля, зробіть невидимою репрезентативну кульку, інакше вона показуватиметься в структурі.
- Separate an atom – Відокремлення атома
Для цього, дивіться Секцію Separate Atoms.
Щоб полегшити оброблення атомічних структур, може використовуватися панель утиліти, дивіться наступну Секцію.
Підказка
Converting All Atoms of an Instancing Vertice Structure to Real Independent Objects – Конвертування Всіх Атомів Структури Примірникування Вершин у Реальні Незалежні Об’єкти
Зробіть наступне: Виберіть атомічні структури за допомогою миші та скористайтеся Зробити Примірники Реальними – Make Instances Real. За допомогою цього ви продукуєте реальні незалежні об’єкти! У структураторі Outliner видаліть решту структур примірникування вершин, з іменами «Carbon», «Hydrogen» тощо.
Зауважте, що якщо структури представляють сотні та тисячі атомів, то Blender може стати досить повільним: одночасно всі ці нові атоми представляються як індивідуальні кулькові об’єкти та Blender має впоратися з усіма ними різними способами. Як згадувалося вище, для кожної структури примірникування вершин існує лише один репрезентативний кульковий об’єкт!
Atomic Blender Utilities Panel – Панель «Атомічні Утиліти Blender»
Панель Atomic Blender Utilities робить ваше життя легшим під час маніпулювання атомами імпортованих структур.
Запис для водню у файлі кастомних даних.
Custom Data File – Файл Кастомних Даних
Окремий файл кастомних даних може завантажуватися, що містить для кожного елемента наступну інформацію:
Усі типи радіусів (атомічний, VdW, іонічний) в Å
Колір кульок
Інші властивості матеріалів для шейдера Principled BSDF.
Така опція корисна, коли бажано використовувати передвизначені значення для радіусів атомів та властивостей шейдера. Приклад можна завантажити звідси: Custom data file.
The custom data file is an ASCII file, which can be duplicated and modified by
the user. The radius and material properties of the atoms can be
changed as follows: open the ASCII file with a standard text editor, search
the name of the atom and change the radius (Radius used). Do the same
with, e.g., the RGB values for the color (Color). The value
RGBA(1.0, 1.0, 1.0, 1.0) corresponds to white and RGBA(0.0, 0.0, 0.0, 1.0) is
black. Note that the last value of a color tuple is the alpha value of the
color. Furthermore, several other properties such as Metallic,
Roughness and Transmission can be changed. These are the properties
in the
Principled BSDF shader.
There are also some properties for
Eevee, which
can be used to determine the object’s transparency etc.
Зауважте, що в заголовку файлу кастомних даних перелічуються усі можливі значення рядкових опцій – P BSDF Subsurface method, P BSDF Distribution, Eevee Blend Method та Eevee Shadow Method.
Панель Atomic Blender Utilities.
Усередині Blender, спершу слід завантажити цей файл даних. Кольори та властивості матеріалів змінюються після виконання Apply. Зауважте, що лише вибрані атоми змінюються!
Measure Distances – Міряння Відстаней
За допомогою цього засобу може вимірюватися відстань між двома об’єктами як в режимі Object Mode, так і Edit Mode. Одиницею є ангстрем Ångström.
Change Atom Size – Зміна Розміру Атома
Зауважте, що атомічні структури повинні бути вибраними!
- Type of Radii – Тип Радіусів
- Type – Тип
За допомогою цього вибірника можна обрати тип радіусів. Для використання на вибір є радіуси Predefined – передвизначений, Atomic – атомічний або Van der Waals. Стандартними значеннями для передвизначених Predefined радіусів є атомічні Atomic радіуси.
- Charge – Заряд
Для опції іонічних радіусів Ionic radii можна обрати стан заряду, і радіуси вибраних об’єктів миттєво зміняться. Виберіть один тип атомів (наприклад, лише атоми водню) і далі застосуйте стан заряду. Зміни застосовуються лише тоді, якщо стан заряду атома доступний. Дивіться, наприклад, у Custom data file.
- Radii in pm – Радіуси у пікометрах
Радіуси всіх атомів, що належать одному елементу, можуть маніпулюватися. Уведіть ім’я атома (наприклад, „Hydrogen“ – водень) та оберіть радіус в пікометрах.
- Radii by Scale – Радіуси за Масштабом
Це модифікує радіуси всіх вибраних атомів та структури атомів за допомогою одного фактора масштабування. Уводьте цей фактор масштабування та збільшуйте або зменшуйте розмір радіусів за допомогою кнопки Bigger або Smaller, відповідно.
Change Stick Size – Зміна Розміру Палички
Діаметр вибраних паличок змінюється. Кнопки Bigger та Smaller дозволяють збільшувати або зменшувати цей діаметр, відповідно. Фактор масштабу визначає, наскільки сильною буде зміна діаметра. Використовуючи структуратор Outliner, можна застосовувати ці оператори лише на вибранні паличок (наприклад, лише на паличках атомів водню). Зауважте, що зміни застосовуються лише тоді, якщо палички є індивідуальними об’єктами, наприклад, одиничні циліндри, або якщо палички описуються в структурах примірникування вершин.
Change Atom Shape – Зміна Форми Атома
Можливо змінювати форму на сферу, куб, ікосферу тощо. Більш того, матеріал атома може бути змінений. Спершу, виберіть ваші атоми в оглядвікні 3D Viewport або структураторі Outliner.
- Shape – Форма
Обирається форма у першому вибірнику.
- Material – Матеріал
Обирається один з матеріалів у другому вибірнику. Ці матеріали є лише прикладами, подальші уточнення можна зробити у вкладці матеріалів Materials властивостей Properties.
- Special – Спеціальне
Тут ви можете обрати об’єкт з особливою формою, матеріалом тощо. Такі об’єкти є досить гарними для представлення дефектів в атомічних структурах. При обранні такого особливого об’єкта ви не можете вже більше окремо обирати форму та матеріал вище. У вкладках об’єктів Objects та матеріалів Materials властивостей Properties можна робити подальші зміни.
- Button Replace – Кнопка «Заміна»
Після всього, натисніть кнопку Replace. Форма та/або матеріал всіх вибраних атомів тоді зміняться. Ця опція працює для об’єктів та об’єктних структур примірникування вершин.
- Button Default – Кнопка «Стандарт»
Якщо ви хочете мати стандартні значення (сфери NURBS та визначені кольори та розміри елементів) вибраних атомів, то натисніть кнопку Default.
Separate Atoms – Відокремлення Атомів
Для відокремлення одиничних атомів спершу виберіть ці атоми (вершини) в режимі редагування Edit Mode. Після перемикання в режим редагування Edit Mode з’являється кнопка Separate – «Відокремлення» на низу панелі Atomic Blender Utilities. Якщо вибірники в Change atom shape залишаються як Unchanged – «Беззмінно», то тип об’єкта (НОРБС, сіть, мета) та його властивості не будуть змінені під час відокремлення.
Після вибрання атомів використайте кнопку Separate Atoms для відокремлення вибраних атомів: ці атоми тепер одиничні нові об’єкти, якими можна маніпулювати стандартним способом. Вони показуються в структураторі Outliner та мають суфікс _sep.
Examples – Приклади
Різні презентації однієї й тієї ж молекули. |
Частина молекули ДНК. |
Функціоналізовані молекули [5]геліцену на поверхні кухонної солі NaCl(001) (Clemens Barth et al. – Link to publication). |
Структура сонячної панелі для підкреслення властивостей нанокристалів кремнію, осаджених імпульсною системою розприскування (Mickael Lozac’h et al. – Link to publication). |
This video було створено Sébastien Coget (відповідальний дослідник: Frank Palmino) в інституті Femto-ST institute у Besançon (France). Цей фільм демонструє, що за допомогою Blender можна робити професійні фільми для досліджень. Він був відрендерений за допомогою Cycles.