Kemisk koordinatfil (.xyz)
De StandardCartesian Chemical Coordinate File (XYZ) är standardformatet för beräkningskemi och molekylmodellering. Det beskriver molekylgeometrier och kemiska reaktionssimuleringar med atomslag och 3D-koordinater.
Granska och metadata
Operativsystem och filanalysverktyg identifierar XYZ-filer genom att granska den inledande sekvensen av binära byte:
Signatur i filhuvudet på bytenivå (magiska byte)
Operativsystem och filanalysverktyg identifierar XYZ-filer genom att granska den inledande sekvensen av binära byte:
HEX-SIGNATUR (OFFSET 0):
31 2D 39 0AASCII-REPRESENTATION: N\n
Standardisering: De facto-standard inom beräkningskemi
Tekniska specifikationer
| Containerarkitektur | Rad 1: antal atomer N; rad 2: kommentar/titel; följande N rader: grundämnessymbol följd av X-, Y- och Z-koordinater i ångström |
| Komprimering | Okomprimerad ren text |
| Byteordning | UTF-8-/ASCII-textström |
| Färgrymder | CPK-färgkonvention (kol = svart/grått, väte = vitt, syre = rött, kväve = blått) |
| Kanaler och struktur | Atompositioner, grundämnestyper och valfria bildrutor för molekyldynamik |
| Maximala dimensioner | Obegränsat koordinatutrymme för atomer (mäts i ångström: 10^-10 meter) |
| Transparens | Ingen |
| Strömning och progressiv visning | Strömning av trajektorier med flera bildrutor: flera på varandra följande bildrutor för molekyldynamikfilmer |
Teknisk jämförelsematris: XYZ jämfört med konkurrenter
| Tekniskt attribut | XYZ (Aktuell) | PLY | OBJ | STL |
|---|---|---|---|---|
| Domän | Beräkningskemi och -fysik | Vetenskaplig laserskanning / Punktmoln | Allmän 3D-datorgrafik | 3D-utskrift och tillverkning |
| Datarepresentation | Kemiska grundämnen & Ångström-koordinater | Hörn, ytor, anpassade egenskaper | Hörn, normaler, textur-UV | Triangulära ytfasetter |
| Kemisk konnektivitet | Beräknas dynamiskt efter bindningsradie | Icke-kemisk | Icke-kemisk | Icke-kemisk |
| Animation med trajektorier | Inbyggt stöd för sammanfogade banor med flera bildrutor | Inget | Inget | Inget |
Vanliga skadeorsaker och hex-återställningsguide
Fel i molekylvisaren: 'Oväntat filslut vid inläsning av atomer'.
Grundorsak: Heltalet för atomantal på rad 1 stämmer inte överens med det faktiska antalet koordinatrader i filen.
Återställning: Korrigera heltalet för antalet atomer på rad 1 med File2File.app Chemical Converter.
Säkerhetsanalys och attackvektorer för tolkar
XYZ-tolkar läser ASCII-antal och textvärden för grundämnen, som måste skyddas mot stackbuffertspill.
Kända attackvektorer
- Stackbufferöversvämning vid inläsning av atomrader till teckenfält med fast längd.
- Heltalsspill under minnesallokering för atom_count * sizeof(Atom).
- Tjänsteavbrott (DoS) genom påhittade deklarationer av miljarder atomer.
Rekommenderade skyddsåtgärder: Validera antal atomer mot den fysiska filens radantal innan buffertar för molekylära koordinater allokeras.
Historiskt ursprung och milstolpar
Viktiga fördelar
- Absolut arkitektonisk enkelhet: rad 1 är antalet atomer, rad 2 är en kommentar och de resterande raderna är X Y Z-koordinater för grundämnen.
- XYZ-koordinatfiler används inom molekylmodellering och beräkningskemi; stödet varierar mellan program.
- Stöder animationer med trajektorier i flera bildrutor: sammanfoga helt enkelt tusentals bildrutor för att skapa filmer av molekyldynamik.
Tekniska begränsningar
- Ingen inbyggd information om kemiska bindningar: molekylära visualiserare måste gissa kemiska bindningar baserat på avstånd mellan atomer.
- Saknar kristallografiska enhetscellsparametrar (gittervektorer) utan anpassade tillägg för kommentarsrader.
- Inget standardstöd för partiella atomladdningar eller kraftfältsatomtyper.
Intressant teknisk kuriosa
- XYZ-formatet saknar en enhetlig officiell specifikation och koordinatenheter kan variera mellan varianter; kontrollera filens källa och programmets dokumentation. Vanliga molekylära XYZ-filer använder ångström.
- Vatten (H2O) kan beskrivas i en XYZ-fil på bara 5 rader text.
- Simuleringar av molekyldynamik vid proteinvikning genererar ofta XYZ-banefiler på flera gigabyte som spänner över miljoner tidssteg.
Vanliga tekniska frågor
Vad är en XYZ-fil?
En XYZ-fil är ett enkelt klartextformat som används inom kemi och fysik för att registrera atomernas 3D-positioner i en molekyl eller kristall.
Vilken programvara öppnar XYZ-filer?
Avogadro, PyMOL, VMD, Jmol, Chemcraft och File2File.app kan visa och konvertera XYZ-molekylmodeller.
Kan jag konvertera en XYZ-molekyl till en 3D-utskrivbar STL-fil?
Ja. File2File.app kan skapa kulstavsmodeller av molekyler utifrån XYZ-koordinater och exportera dem som STL- eller GLB-modeller för 3D-utskrift.