קובץ קואורדינטות כימי (.xyz)
תקן תקןקובץ קואורדינטות כימיות קרטזיאניות (XYZ) הוא תקן הכימיה החישובית והמידול המולקולרי, המתאר גאומטריות מולקולריות וסימולציות של תגובות כימיות באמצעות יסודות אטומיים וקואורדינטות מרחביות תלת-ממדיות.
בדיקה ומטא-נתונים
מערכות הפעלה ומנתחי קבצים מזהים קבצי XYZ על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי XYZ על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
31 2D 39 0Aייצוג ASCII: N\n
תקינה: תקן בפועל לכימיה חישובית
מפרט טכני
| מבנה המכולה | שורה 1: מספר האטומים N; שורה 2: הערה או כותרת; N השורות הבאות: סמל היסוד ואחריו קואורדינטות X, Y, Z באנגסטרם |
| דחיסה | טקסט פשוט לא דחוס |
| סדר בתים (Endianness) | זרם טקסט UTF-8 / ASCII |
| מרחבי צבע | מוסכמת הצבעים CPK (פחמן = שחור/אפור, מימן = לבן, חמצן = אדום, חנקן = כחול) |
| ערוצים ומבנה | מיקומי אטומים, סוגי יסודות ומסגרות אנימציה אופציונליות של דינמיקה מולקולרית |
| ממדים מרביים | מרחב קואורדינטות אטומיות ללא מגבלה קבועה (נמדד באנגסטרם: 10^-10 מטר) |
| שקיפות | אין |
| הזרמה ופרוגרסיביות | הזרמת מסלולים מרובי-מסגרות: כמה מסגרות רצופות לסרטוני דינמיקה מולקולרית |
מטריצת השוואה טכנית: XYZ מול מתחרים
| תכונה טכנית | XYZ (נוכחי) | PLY | OBJ | STL |
|---|---|---|---|---|
| דומיין | כימיה חישובית ופיזיקה | סריקות לייזר מדעיות / ענני נקודות | גרפיקת תלת-ממד כללית | הדפסה תלת-ממדית וייצור |
| ייצוג נתונים | יסודות כימיים וקואורדינטות באנגסטרום | קודקודים, פאות, מאפיינים מותאמים אישית | קודקודים, נורמלים, קואורדינטות מרקם UV | פאות משטח משולשות |
| קישוריות כימית | מחושב בזמן אמת לפי רדיוסי קשרים | לא-כימי | לא-כימי | לא-כימי |
| אנימציות מסלול | תמיכה מובנית במספר מסגרות משורשרות | ללא | ללא | ללא |
מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)
שגיאת מציג מולקולרי: 'סוף קובץ מוקדם מדי בעת קריאת אטומים'.
גורם שורש: מספר האטומים השלם בשורה 1 אינו תואם למספר האמיתי של שורות הקואורדינטות בקובץ.
שחזור: תקן את המספר השלם של ספירת האטומים בשורה 1 באמצעות הממיר הכימי של File2File.app.
ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)
מנתחי XYZ קוראים ספירות יסודות ASCII ואסימוני מחרוזות שחייבים להיות מוגנים מפני גלישות חוצץ במחסנית.
ווקטורי תקיפה ידועים
- גלישת חוצץ במחסנית בעת קריאת שורות אטומים למערכי תווים באורך קבוע.
- גלישת מספר שלם במהלך הקצאת זיכרון של atom_count * sizeof(Atom).
- מניעת שירות באמצעות הצהרות כוזבות על מיליארדי אטומים.
שיטות מומלצות להגנה: ודא שמספר האטומים תואם למספר השורות בקובץ הפיזי לפני הקצאת מאגרי זיכרון לקואורדינטות מולקולריות.
היסטוריה ואבני דרך
יתרונות מרכזיים
- פשטות ארכיטקטונית מוחלטת: השורה הראשונה היא מספר האטומים, השורה השנייה היא הערה, והשורות הנותרות הן קואורדינטות X Y Z של היסודות.
- קובצי קואורדינטות XYZ משמשים במידול מולקולרי ובכימיה חישובית; התמיכה משתנה בין תוכנות.
- תומך באנימציות מסלול מרובות-מסגרות: פשוט לשרשר אלפי מסגרות כדי ליצור סרטוני דינמיקה מולקולרית.
מגבלות טכניות וחסרונות
- אין מידע מובנה על קשרים כימיים: תוכנות להדמיה מולקולרית חייבות לנחש קשרים כימיים על סמך מרחקים בין-אטומיים.
- חסרים פרמטרים של תא יחידה גבישי (וקטורי סריג) ללא הרחבות שורת הערה מותאמות אישית.
- אין תמיכה סטנדרטית במטענים אטומיים חלקיים או בסוגי אטומים של שדות כוח.
עובדות טכניות מעניינות
- לפורמט XYZ אין מפרט רשמי אחיד, ויחידות הקואורדינטות עשויות להשתנות בין גרסאות; יש לבדוק את מקור הקובץ ואת תיעוד התוכנה. בקובצי XYZ מולקולריים נפוצים משתמשים באנגסטרום.
- מים (H2O) ניתנים לתיאור בקובץ XYZ ב-5 שורות טקסט בלבד.
- סימולציות דינמיקה מולקולרית של קיפול חלבונים מייצרות לעתים קרובות קבצי מסלול XYZ בגודל של גיגה-בייט רבים המשתרעים על פני מיליוני צעדי זמן.
שאלות טכניות נפוצות
מה זה קובץ XYZ?
קובץ XYZ הוא פורמט טקסט פשוט המשמש בכימיה ובפיזיקה לתיעוד מיקומי התלת-ממד של אטומים במולקולה או בגביש.
אילו תוכנות פותחות קובצי XYZ?
Avogadro, PyMOL, VMD, Jmol, Chemcraft ו-File2File.app יכולים להציג ולהמיר מודלים מולקולריים בפורמט XYZ.
האם אני יכול להמיר מולקולה בפורמט XYZ לקובץ STL שניתן להדפסה בתלת-ממד?
כן. File2File.app יכול לייצר ייצוגים מולקולריים של כדורים ומקלות מתוך קואורדינטות XYZ ולייצא אותם כמודלי STL או GLB הניתנים להדפסה בתלת-ממד.