화학 좌표 파일 (.xyz)
De 표준데카르트 화학 좌표 파일(XYZ)은 분자 형상과 화학 반응 시뮬레이션을 원자 원소와 3D 공간 좌표를 통해 설명하는 전산 화학 및 분자 모델링 표준입니다.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 XYZ 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 XYZ 파일을 식별합니다:
16진수 시그니처 (오프셋 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 |
| 바이트 엔디안 | 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행의 원자 수 정수가 파일 내 실제 좌표 행 수와 일치하지 않음.
복구: File2File 화학 변환기를 사용하여 1행의 원자 수 정수를 수정하세요.
보안 분석 및 파서 공격 벡터
XYZ 파서는 ASCII 원소 수와 문자열 토큰을 읽으므로 스택 버퍼 오버플로로부터 보호되어야 합니다.
알려진 공격 벡터
- 원자 행을 고정 길이 문자 배열로 읽을 때 발생하는 스택 버퍼 오버플로.
- atom_count * sizeof(Atom) 메모리 할당 중 정수 오버플로.
- 조작된 10억 개의 원자 선언을 통한 서비스 거부(DoS) 공격.
방어적 모범 사례:
역사적 배경 및 주요 이력
주요 장점
- 절대적인 아키텍처 단순성: 1행은 원자 수, 2행은 주석이며, 남은 행들은 원소 X Y Z 좌표임.
- 분자 모델링 및 양자 화학 패키지(PyMOL, VMD, Avogadro, Jmol) 전반의 범용 지원.
- 다중 프레임 궤적 애니메이션 지원: 수천 개의 프레임을 단순 연결하여 분자 역학 동영상 생성 가능.
기술적 제한 사항 및 단점
- 기본적인 화학 결합 정보 없음: 분자 시각화 도구가 원자 간 거리를 기반으로 화학 결합을 추정해야 함.
- 사용자 정의 주석 줄 확장 없이는 결정학적 단위 세포 파라미터(격자 벡터)가 부족함.
- 부분 원자 전하 또는 힘장 원자 유형에 대한 표준 지원 없음.
흥미로운 기술적 상식
- XYZ 파일에서 원자 좌표는 항상 옹스트롬(1 옹스트롬 = 0.1 나노미터 = 10^-10 미터, 대략 단일 수소 원자의 너비)으로 표현됩니다.
- 물(H2O)은 단 5줄의 텍스트로 XYZ 파일에 기술될 수 있습니다.
- 단백질 폴딩의 분자 역학 시뮬레이션은 종종 수백만 개의 타임스텝에 걸치는 수기가바이트 규모의 XYZ 궤적 파일을 생성합니다.
자주 묻는 기술 질문
XYZ 파일이란 무엇인가요?
XYZ 파일은 화학 및 물리학에서 분자나 결정 내 원자의 3D 위치를 기록하는 데 사용되는 간단한 일반 텍스트 형식입니다.
어떤 소프트웨어가 XYZ 파일을 여나요?
Avogadro, PyMOL, VMD, Jmol, Chemcraft 및 File2File.app에서 XYZ 분자 모델을 보고 변환할 수 있습니다.
XYZ 분자를 3D 프린트 가능한 STL 파일로 변환할 수 있나요?
네. File2File.app은 XYZ 좌표에서 분자 볼-앤-스틱(ball-and-stick) 표현을 생성하고 3D 프린트 가능한 STL 또는 GLB 모델로 내보낼 수 있습니다.