Файл хімічних координат (.xyz)
De СтандартДекартовий хімічний координаційний файл (XYZ) є стандартом обчислювальної хімії та молекулярного моделювання, що описує геометрію молекул і симуляції хімічних реакцій через атомні елементи та 3D-просторові координати.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли XYZ, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли XYZ, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
31 2D 39 0AASCII-УЯВЛЕННЯ: N\n
Стандартизація: De facto computational chemistry standard
Технічні характеристики
| Архітектура контейнера | Line 1: Atom count N; Line 2: Comment/title; Following N lines: Element symbol followed by X, Y, Z coordinates in Angstroms |
| Стиснення | Uncompressed plain text |
| Порядок байтів (Endianness) | UTF-8 / ASCII text stream |
| Колірні простори | CPK coloring convention (Carbon=Black/Grey, Hydrogen=White, Oxygen=Red, Nitrogen=Blue) |
| Канали та структура | Atomic positions, element types, and optional molecular dynamics animation frames |
| Максимальні розміри | Unbounded atomic coordinate space (measured in Ångströms: 10^-10 meters) |
| Прозорість | None |
| Потокове та прогресивне завантаження | Multi-frame trajectory streaming: multiple consecutive frames for molecular dynamics movies |
Технічна матриця порівняння: XYZ проти конкурентів
| Технічний атрибут | XYZ (Поточний) | PLY | OBJ | STL |
|---|---|---|---|---|
| Галузь | Обчислювальна хімія та фізика | Наукове лазерне сканування / Хмари точок | Загальна 3D-комп'ютерна графіка | 3D-друк та виробництво |
| Представлення даних | Хімічні елементи та координати в ангстремах | Вершини, грані, власні властивості | Вершини, нормалі, UV-текстури | Трикутні поверхневі грані |
| Хімічне з'єднання | Обчислюється динамічно за радіусом зв'язку | Нехімічне | Нехімічне | Нехімічне |
| Траєкторійні анімації | Нативна підтримка об'єднаних багатокадрових файлів | Відсутня | Відсутня | Відсутня |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Помилка молекулярного візуалізатора: «Premature end of file while reading atoms» (Передчасний кінець файлу під час читання атомів).
Першопричина: Ціле число кількості атомів у рядку 1 не відповідає фактичній кількості рядків координат у файлі.
Відновлення: Виправте ціле число кількості атомів у рядку 1 за допомогою хімічного конвертера File2File.
Аналіз безпеки та векторів атак на парсери
Аналізатори XYZ читають кількість елементів ASCII та рядкові лексеми, які повинні бути захищені від переповнення стекового буфера.
Відомі вектори атак
- Переповнення буфера стека під час читання рядків атомів у масиви символів фіксованої довжини.
- Переповнення цілого числа під час виділення пам'яті atom_count * sizeof(Atom).
- Відмова в обслуговуванні (DoS) через створені штучно декларації з мільярдами атомів.
Захисні найкращі практики:
Історичне походження та віхи
Головні переваги та плюси
- Абсолютна архітектурна простота: рядок 1 - кількість атомів, рядок 2 - коментар, а решта рядків - координати елементів X Y Z.
- Універсальна підтримка в пакетах молекулярного моделювання та квантової хімії (PyMOL, VMD, Avogadro, Jmol).
- Підтримує багатокадрові траєкторійні анімації: просто об'єднайте тисячі кадрів, щоб створити фільми з молекулярної динаміки.
Технічні обмеження та мінуси
- Відсутність нативної інформації про хімічні зв'язки: візуалізатори молекул повинні вгадувати хімічні зв'язки на основі між'ядерних відстаней.
- Відсутність кристалографічних параметрів елементарної комірки (граткових векторів) без додаткових розширень рядків коментарів.
- Відсутність стандартної підтримки часткових атомних зарядів або типів атомів силових полів.
Цікаві технічні факти
- У файлі XYZ атомні координати завжди виражаються в ангстремах (1 ангстрем = 0,1 нанометра = 10^-10 метра), що приблизно дорівнює ширині одного атома водню.
- Воду (H2O) можна описати у файлі XYZ лише у 5 рядках тексту.
- Симуляції молекулярної динаміки згортання білків часто генерують багатогігабайтні траєкторійні файли XYZ, що охоплюють мільйони часових кроків.
Поширені технічні запитання
Що таке файл XYZ?
Файл XYZ — це простий формат звичайного тексту, який використовується в хімії та фізиці для запису 3D-положень атомів у молекулі чи кристалі.
Яке програмне забезпечення відкриває файли XYZ?
Avogadro, PyMOL, VMD, Jmol, Chemcraft та File2File.app можуть переглядати та конвертувати молекулярні моделі XYZ.
Чи можна конвертувати молекулу XYZ у файл STL для 3D-друку?
Так. File2File.app може генерувати молекулярні кульково-стрижневі представлення з координат XYZ та експортувати їх як моделі STL або GLB, придатні для 3D-друку.