Współrzędne chemiczne (.xyz)
De StandardCartesian Chemical Coordinate File (XYZ) to standard chemii obliczeniowej i modelowania cząsteczek. Opisuje geometrię cząsteczek i symulacje reakcji chemicznych za pomocą symboli pierwiastków oraz trójwymiarowych współrzędnych przestrzennych.
Inspekcja i metadane
Systemy operacyjne i analizatory plików identyfikują pliki XYZ, sprawdzając początkową sekwencję bajtów binarnych:
Podpis nagłówka na poziomie bajtów (Magic Bytes)
Systemy operacyjne i analizatory plików identyfikują pliki XYZ, sprawdzając początkową sekwencję bajtów binarnych:
PODPIS HEX (OFFSET 0):
31 2D 39 0AREPREZENTACJA ASCII: N\n
Normalizacja: De facto computational chemistry standard
Specyfikacja techniczna
| Architektura kontenera | Wiersz 1: liczba atomów N; wiersz 2: komentarz lub tytuł; kolejne N wierszy: symbol pierwiastka oraz współrzędne X, Y, Z w angstromach |
| Kompresja | Nieskompresowany tekst |
| Kolejność bajtów (Endianness) | Strumień tekstu UTF-8 / ASCII |
| Przestrzenie kolorów | Konwencja kolorów CPK (węgiel: czarny/szary, wodór: biały, tlen: czerwony, azot: niebieski) |
| Kanały i struktura | Pozycje atomów, typy pierwiastków i opcjonalne klatki animacji dynamiki molekularnej |
| Maks. wymiary | Nieograniczona przestrzeń współrzędnych atomowych, mierzona w angstremach (10^-10 metra) |
| Przezroczystość | Brak |
| Streaming i progresywne ładowanie | Strumieniowanie trajektorii wieloklatkowej: kolejne klatki dynamiki molekularnej |
Techniczna macierz porównawcza: XYZ a konkurencja
| Atrybut techniczny | XYZ (Bieżący) | PLY | OBJ | STL |
|---|---|---|---|---|
| Domena | Chemia i fizyka obliczeniowa | Naukowe skany laserowe i chmury punktów | Ogólna grafika komputerowa 3D | Druk 3D i produkcja |
| Reprezentacja danych | Pierwiastki chemiczne i współrzędne w angstremach | Wierzchołki, ściany, właściwości niestandardowe | Wierzchołki, normalne, tekstury UV | Trójkątne fasety powierzchni |
| Łączność chemiczna | Obliczana dynamicznie na podstawie promieni wiązań | Niemolekularna | Niemolekularna | Niemolekularna |
| Animacje trajektorii | Natywna obsługa wielu połączonych klatek | Brak | Brak | Brak |
Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego
Błąd przeglądarki cząsteczkowej: „Przedwczesny koniec pliku podczas odczytu atomów”.
Główna przyczyna: Liczba atomów podana jako liczba całkowita w pierwszym wierszu nie zgadza się z rzeczywistą liczbą wierszy współrzędnych w pliku.
Odzyskiwanie: Popraw liczbę całkowitą atomów w linii 1 za pomocą konwertera chemicznego File2File.app.
Analiza bezpieczeństwa i wektory ataku na parser
Parsery XYZ odczytują zapisane w ASCII liczby atomów oraz tokeny tekstowe, które należy zabezpieczyć przed przepełnieniem bufora stosu.
Znane wektory ataku
- Przepełnienie bufora stosu podczas odczytu linii atomów do tablic znaków o stałej długości.
- Przepełnienie liczbowe podczas alokacji pamięci atom_count * sizeof(Atom).
- Atak typu odmowa usługi (DoS) poprzez sfabrykowane deklaracje miliardów atomów.
Najlepsze praktyki obronne: Przed alokacją buforów współrzędnych cząsteczki należy porównać liczbę atomów z liczbą wierszy w pliku.
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Bardzo prosta struktura: wiersz 1 zawiera liczbę atomów, wiersz 2 komentarz, a pozostałe wiersze współrzędne X, Y, Z atomów i ich symbole pierwiastków.
- Pliki współrzędnych XYZ są używane w modelowaniu molekularnym i chemii obliczeniowej; obsługa zależy od programu.
- Obsługuje animacje trajektorii wieloklatkowych: wystarczy połączyć tysiące klatek, aby utworzyć filmy z dynamiki molekularnej.
Ograniczenia techniczne i wady
- Brak wbudowanych informacji o wiązaniach chemicznych: programy do wizualizacji cząsteczek muszą określać wiązania na podstawie odległości między atomami.
- Brak parametrów krystalograficznej komórki elementarnej (wektorów sieci krystalicznej), jeśli nie zastosowano niestandardowych rozszerzeń linii komentarza.
- Brak standardowego wsparcia dla cząstkowych ładunków atomowych lub typów atomów pól siłowych.
Ciekawe informacje techniczne
- Format XYZ nie ma jednej oficjalnej specyfikacji, a jednostki współrzędnych mogą się różnić w zależności od wariantu; sprawdź źródło pliku i dokumentację programu. Typowe molekularne pliki XYZ używają angstremów.
- Wodę (H2O) można opisać w pliku XYZ w zaledwie 5 liniach tekstu.
- Symulacje dynamiki molekularnej zwijania się białek często generują wielogigabajtowe pliki trajektorii XYZ obejmujące miliony kroków czasowych.
Często zadawane pytania techniczne
Czym jest plik XYZ?
Plik XYZ to prosty format tekstowy używany w chemii i fizyce do zapisywania trójwymiarowego położenia atomów w cząsteczce lub krysztale.
Jakie oprogramowanie otwiera pliki XYZ?
Avogadro, PyMOL, VMD, Jmol, Chemcraft oraz File2File.app potrafią wyświetlać i konwertować modele cząsteczkowe XYZ.
Czy mogę przekonwertować cząsteczkę XYZ na plik STL nadający się do druku 3D?
Tak. File2File.app może generować modele cząsteczek w postaci kulkowo-pręcikowej na podstawie współrzędnych XYZ, a następnie eksportować je jako modele STL lub GLB gotowe do druku 3D.