Файл химических координат (.xyz)
Неофициално СтандартФайлът с декартови химични координати (XYZ) е стандарт за изчислителна химия и молекулярно моделиране, който описва молекулярни геометрии и симулации на химични реакции чрез атомни елементи и 3D пространствени координати.
Проверка и метаданни
Операционните системи и файловите анализатори идентифицират XYZ файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на заглавката (сигнатурни байтове)
Операционните системи и файловите анализатори идентифицират XYZ файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
31 2D 39 0AASCII ПРЕДСТАВЯНЕ: 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).
- Отказ от услуга чрез подправени декларации за милиарди атоми.
Най-добри практики за защита: Валидирайте броя на атомите спрямо броя на редовете във физическия файл, преди да заделите буфери за молекулярни координати.
Исторически произход и етапи
Основни предимства
- Абсолютна архитектурна простота: на ред 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 координати и да ги експортира като подходящи за 3D принтиране STL или GLB модели.