Файл хімічних координат (.xyz)
Де-факто СтандартДекартів файл хімічних координат (XYZ): стандарт обчислювальної хімії та молекулярного моделювання, що описує геометрію молекул і моделювання хімічних реакцій за допомогою атомних елементів і просторових координат у 3D.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли XYZ, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли XYZ, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
31 2D 39 0AПОДАННЯ В ASCII: N\n
Стандартизація: Де-факто стандарт обчислювальної хімії
Технічні характеристики
| Архітектура контейнера | Рядок 1: кількість атомів N; рядок 2: коментар або назва; наступні N рядків: символ елемента, потім координати X, Y, Z в ангстремах |
| Стиснення | Нестиснений звичайний текст |
| Порядок байтів (Endianness) | Текстовий потік UTF-8 / ASCII |
| Колірні простори | Умовність забарвлення CPK (вуглець: чорний/сірий, водень: білий, кисень: червоний, азот: синій) |
| Канали та структура | Положення атомів, типи елементів і необов’язкові кадри анімації молекулярної динаміки |
| Максимальні розміри | Необмежений простір атомних координат (вимірюється в ангстремах: 10^-10 метра) |
| Прозорість | Немає |
| Потокове та прогресивне завантаження | Потокова передача багатокадрових траєкторій: кілька послідовних кадрів для анімації молекулярної динаміки |
Технічна матриця порівняння: XYZ проти конкурентів
| Технічний атрибут | XYZ (Поточний) | PLY | OBJ | STL |
|---|---|---|---|---|
| Галузь | Обчислювальна хімія та фізика | Наукове лазерне сканування / Хмари точок | Комп’ютерна графіка 3D загального призначення | 3D-друк та виробництво |
| Представлення даних | Хімічні елементи та координати в ангстремах | Вершини, грані, власні властивості | Вершини, нормалі, UV-текстури | Трикутні поверхневі грані |
| Хімічні зв’язки | Обчислюється динамічно за радіусами зв’язків | Нехімічне | Нехімічне | Нехімічне |
| Анімації траєкторій | Вбудована підтримка багатокадрових траєкторій, утворених об’єднанням кадрів | Відсутня | Відсутня | Відсутня |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Помилка молекулярного візуалізатора: «Передчасний кінець файлу під час читання атомів».
Першопричина: Ціле число кількості атомів у рядку 1 не відповідає фактичній кількості рядків координат у файлі.
Відновлення: Виправте ціле число кількості атомів у рядку 1 за допомогою хімічного конвертера File2File.app.
Аналіз безпеки та векторів атак на парсери
Засоби розбору XYZ зчитують кількість елементів і текстові токени ASCII, які слід захищати від переповнення буфера стека.
Відомі вектори атак
- Переповнення буфера стека під час читання рядків атомів у масиви символів фіксованої довжини.
- Переповнення цілого числа під час виділення пам'яті atom_count * sizeof(Atom).
- Відмова в обслуговуванні (DoS) через створені штучно декларації з мільярдами атомів.
Рекомендації щодо захисту: Перевіряйте кількість атомів за фізичною кількістю рядків файлу перед виділенням буферів молекулярних координат.
Історичне походження та віхи
Основні переваги
- Абсолютна структурна простота: у рядку 1 зазначено кількість атомів, у рядку 2: коментар, а в решті рядків: позначення елементів і координати X Y Z.
- Файли координат XYZ використовують у молекулярному моделюванні та обчислювальній хімії; підтримка залежить від програми.
- Підтримує багатокадрові анімації траєкторій: просто об'єднайте тисячі кадрів, щоб створити фільми з молекулярної динаміки.
Технічні обмеження та недоліки
- Немає вбудованої інформації про хімічні зв’язки: візуалізатори молекул мають визначати їх за відстанями між атомами.
- Відсутність кристалографічних параметрів елементарної комірки (ґраткових векторів) без спеціальних розширень рядка коментаря.
- Відсутність стандартної підтримки часткових атомних зарядів або типів атомів силових полів.
Цікаві технічні факти
- Формат XYZ не має єдиної офіційної специфікації, а одиниці координат можуть відрізнятися залежно від варіанта; перевірте джерело файла й документацію програми. У поширених молекулярних файлах XYZ використовують ангстреми.
- Воду (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-друку.