Файл химических координат (.xyz)
De СтандартФайлът с декартови химични координати (XYZ) е стандарт за изчислителна химия и молекулярно моделиране, който описва молекулярни геометрии и симулации на химични реакции чрез атомни елементи и 3D пространствени координати.
Инспектиране и метаданни
Операционните системи и файловите анализатори идентифицират XYZ файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на хедъра (Magic Bytes)
Операционните системи и файловите анализатори идентифицират XYZ файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 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 координати | Триъгълни повърхностни фасети |
| Химична свързаност | Изчислява се динамично по радиуса на връзката | Нехимична | Нехимична | Нехимична |
| Анимации на траектории | Собствена поддръжка за конкатенирани многокадрови файлове | Няма | Няма | Няма |
Често срещани режими на повреда и ръководство за хекс възстановяване
Грешка в молекулярния визуализатор: 'Преждевременен край на файла при четене на атоми'.
Първопричина: Цялото число за броя на атомите на ред 1 не съвпада с действителния брой редове с координати във файла.
Възстановяване: Коригирайте цялото число за броя на атомите на ред 1 с помощта на химическия конвертор File2File.
Анализ на сигурността и вектори на атака към парсера
XYZ парсерите четат броя на ASCII елементите и низови маркери, които трябва да бъдат защитени срещу препълване на стековия буфер.
Известни вектори на атака
- Препълване на стековия буфер при четене на атомни редове в масиви от символи с фиксирана дължина.
- Цяло число препълване по време на разпределение на паметта atom_count * sizeof(Atom).
- Отказ от услуга чрез фалшифицирани декларации за милиарди атоми.
Защитни добри практики:
Исторически произход и етапи
Основни предимства и плюсове
- Абсолютна архитектурна опростеност: ред 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 молекула в подходящ за 3D принтиране STL файл?
Да. File2File.app може да генерира молекулярни изображения от топчета и пръчици (ball-and-stick) от XYZ координати и да ги експортира като подходящи за 3D принтиране STL или GLB модели.