Cartesian Chemical Coordinate File (.xyz)
De StandaardHet Cartesian Chemical Coordinate File (XYZ) is de standaard voor computationele chemie en moleculaire modellering en beschrijft moleculaire geometrieën en simulaties van chemische reacties aan de hand van atomaire elementen en ruimtelijke 3D-coördinaten.
Inspecteren en metadata
Besturingssystemen en bestandsanalysators herkennen XYZ-bestanden aan de hand van de eerste binaire bytesequentie:
Bestandshandtekening op byteniveau (magic bytes)
Besturingssystemen en bestandsanalysators herkennen XYZ-bestanden aan de hand van de eerste binaire bytesequentie:
HEX-HANDTEKENING (OFFSET 0):
31 2D 39 0AASCII-WEERGAVE: N\n
Standaardisatie: De facto standaard voor computationele chemie
Technische specificaties
| Containerarchitectuur | Regel 1: aantal atomen N; regel 2: opmerking/titel; de volgende N regels: elementsymbool gevolgd door X-, Y- en Z-coördinaten in ångström |
| Compressie | Niet-gecomprimeerde platte tekst |
| Bytevolgorde (endianness) | UTF-8 / ASCII-tekststroom |
| Kleurruimten | CPK-kleurconventie (koolstof = zwart/grijs, waterstof = wit, zuurstof = rood, stikstof = blauw) |
| Kanalen en structuur | Atomaire posities, elementtypes en optionele animatierames voor moleculaire dynamica |
| Maximale afmetingen | Onbegrensde atomaire coördinatenruimte (gemeten in ångström: 10^-10 meter) |
| Transparantie | Geen |
| Streaming en progressief | Streaming van trajecten met meerdere frames: meerdere opeenvolgende frames voor films over moleculaire dynamica |
Technische vergelijkingsmatrix: XYZ versus concurrenten
| Technisch kenmerk | XYZ (Huidig) | PLY | OBJ | STL |
|---|---|---|---|---|
| Domein | Computationele chemie en fysica | Wetenschappelijke laserscan / puntenwolken | Algemene 3D-computergraphics | 3D-printen en productie |
| Gegevensweergave | Chemische elementen en ångströmcoördinaten | Hoekpunten, vlakken, aangepaste eigenschappen | Hoekpunten, normalen, textuur-UV's | Driehoekige oppervlaktefacetten |
| Chemische connectiviteit | Dynamisch berekend op basis van bindingsstraal | Niet-chemisch | Niet-chemisch | Niet-chemisch |
| Trajectanimaties | Ingebouwde ondersteuning voor samengevoegde meerdere frames | Geen | Geen | Geen |
Veelvoorkomende beschadigingen en gids voor hex-herstel
Fout in moleculaire viewer: 'Premature end of file while reading atoms'.
Oorzaak: Het gehele getal voor het aantal atomen op regel 1 komt niet overeen met het daadwerkelijke aantal coördinatenregels in het bestand.
Herstel: Corrigeer het gehele getal voor het aantal atomen op regel 1 met behulp van de chemische converter van File2File.app.
Beveiligingsanalyse en aanvalsvectoren voor parsers
XYZ-parsers lezen aantallen elementen in ASCII en tokens in tekenreeksen die moeten worden beschermd tegen stackbufferoverflows.
Bekende aanvalsvectoren
- Stackbufferoverflow bij het lezen van atoomregels in tekenreeksen met een vaste lengte.
- Integer-overflow bij het toewijzen van geheugen voor atom_count * sizeof(Atom).
- Denial of service via vervalste declaraties van een miljard atomen.
Aanbevolen beveiligingspraktijken: Valideer atoomtellingen aan de hand van het fysieke aantal regels in het bestand voordat u buffers voor moleculaire coördinaten toewijst.
Historische oorsprong en mijlpalen
Belangrijkste voordelen
- Absolute structurele eenvoud: regel 1 bevat het aantal atomen, regel 2 een opmerking en de overige regels de X-, Y- en Z-coördinaten van de elementen.
- XYZ-coördinatenbestanden worden gebruikt door software voor moleculaire modellering en kwantumchemie; ondersteuning verschilt per pakket.
- Ondersteunt animaties van trajecten met meerdere frames: voeg eenvoudig duizenden frames samen om films over moleculaire dynamica te maken.
Technische beperkingen
- Geen ingebouwde informatie over chemische bindingen: programma's voor moleculaire visualisatie moeten chemische bindingen raden op basis van interatomaire afstanden.
- Bevat geen kristallografische eenheidscelparameters (roostervectoren), tenzij aangepaste extensies aan de commentaarregel worden toegevoegd.
- Geen standaardondersteuning voor gedeeltelijke atoomladingen of atoomtypen van krachtvelden.
Interessante technische weetjes
- Het XYZ-formaat heeft geen enkele formele specificatie en de coördinaateenheden kunnen per variant verschillen; controleer de bron van het bestand en de softwaredocumentatie. Veelvoorkomende moleculaire XYZ-bestanden gebruiken ångström.
- Water (H2O) kan in een XYZ-bestand worden beschreven in slechts 5 regels tekst.
- Simulaties van moleculaire dynamica van vouwende eiwitten genereren vaak XYZ-trajectbestanden van meerdere gigabytes met miljoenen tijdstappen.
Veelgestelde technische vragen
Wat is een XYZ-bestand?
Een XYZ-bestand is een eenvoudig plattetekstformaat dat in de chemie en natuurkunde wordt gebruikt om de 3D-posities van atomen in een molecuul of kristal vast te leggen.
Welke software opent XYZ-bestanden?
Avogadro, PyMOL, VMD, Jmol, Chemcraft en File2File.app kunnen XYZ-molecuulmodellen bekijken en converteren.
Kan ik een XYZ-molecuul converteren naar een 3D-printbaar STL-bestand?
Ja. File2File.app kan moleculaire bol-en-staafweergaven genereren op basis van XYZ-coördinaten en deze exporteren als 3D-printbare STL- of GLB-modellen.