화학 좌표 파일 (.xyz)
계산화학 표준데카르트 화학 좌표 파일(XYZ)은 분자 형상과 화학 반응 시뮬레이션을 원자 원소와 3D 공간 좌표를 통해 설명하는 전산 화학 및 분자 모델링 표준입니다.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 XYZ 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 XYZ 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
31 2D 39 0AASCII 표현: N\n
표준화: 계산화학 분야의 사실상 표준
기술 사양
| 컨테이너 아키텍처 | 1행: 원자 수 N; 2행: 주석/제목; 이후 N행: 원소 기호와 X, Y, Z 좌표(옹스트롬 단위) |
| 압축 | 압축하지 않은 일반 텍스트 |
| 바이트 엔디안 | UTF-8/ASCII 텍스트 스트림 |
| 색 공간 | CPK 색상 규칙(탄소=검정/회색, 수소=흰색, 산소=빨강, 질소=파랑) |
| 채널 및 구조 | 원자 위치, 원소 유형 및 선택적 분자동역학 애니메이션 프레임 |
| 최대 크기 | 옹스트롬(10^-10미터) 단위의 3D 원자 좌표 공간 제한 없음 |
| 투명도 | 없음 |
| 스트리밍 및 프로그레시브 | 분자 동역학 영상용 다중 프레임 궤적을 스트리밍으로 순차 처리 |
기술 비교 매트릭스: XYZ 대 경쟁사
| 기술적 속성 | XYZ (현재) | PLY | OBJ | STL |
|---|---|---|---|---|
| 도메인 | 전산 화학 및 물리학 | 과학적 레이저 스캔 / 포인트 클라우드 | 일반 3D 컴퓨터 그래픽 | 3D 프린팅 및 제조 |
| 데이터 표현 | 화학 원소 및 옹스트롬 좌표 | 정점, 면 및 사용자 지정 속성 | 정점, 법선 및 텍스처 UV 좌표 | 삼각형 표면 면 |
| 화학적 연결성 | 결합 반경에 따라 동적으로 계산 | 비화학적 | 비화학적 | 비화학적 |
| 궤적 애니메이션 | 여러 프레임을 연결하는 방식으로 기본 지원 | 없음 | 없음 | 없음 |
일반적인 손상 모드 및 헥스 복구 가이드
분자 뷰어에서 “원자를 읽는 중 파일이 예기치 않게 끝났습니다”라는 오류가 표시됩니다.
근본 원인: 1행에 선언된 원자 수와 파일의 실제 좌표 행 수가 일치하지 않습니다.
복구: File2File.app Chemical Converter로 1행의 원자 수를 수정하십시오.
보안 분석 및 파서 공격 벡터
XYZ 파서는 ASCII 원자 수와 문자열 토큰을 읽으므로 스택 버퍼 오버플로가 발생하지 않도록 보호해야 합니다.
알려진 공격 벡터
- 원자 행을 고정 길이 문자 배열로 읽을 때 발생하는 스택 버퍼 오버플로
- atom_count * sizeof(Atom) 메모리 할당 중 발생하는 정수 오버플로
- 10억 개의 원자가 있다고 조작해 과도한 메모리를 할당하게 하는 서비스 거부(DoS)
방어적 모범 사례: 분자 좌표 버퍼를 할당하기 전에 물리적 파일 줄 수에 대해 원자 수를 검증하십시오.
역사적 배경 및 주요 이력
2000XYZ 좌표 파일은 분자 모델링과 계산화학에서 사용되지만 지원 여부는 소프트웨어에 따라 다릅니다.
1995분자 동역학 시뮬레이션을 위한 다중 프레임 궤적 확장이 표준화되었습니다.
1989XMol 분자 시각화 패키지를 위해 Minnesota Supercomputer Institute에서 개발되었습니다.
주요 장점
- 구조가 매우 단순합니다. 1행에는 원자 수, 2행에는 주석, 이후 행에는 원소 기호와 X/Y/Z 좌표가 옵니다.
- XYZ 좌표 파일은 분자 모델링과 계산화학에서 사용되지만 지원 여부는 소프트웨어에 따라 다릅니다.
- 다중 프레임 궤적 애니메이션을 지원해 수천 프레임을 이어 붙여 분자 동역학 영상을 만들 수 있습니다.
기술적 제한 사항 및 단점
- 화학 결합 정보를 기본 제공하지 않아 분자 시각화 도구가 원자 간 거리를 기준으로 결합을 추정해야 합니다.
- 사용자 정의 주석 줄 확장 없이는 결정학적 단위 격자 파라미터(격자 벡터)가 부족함.
- 부분 원자 전하 또는 힘장 원자 유형에 대한 표준 지원 없음.
흥미로운 기술적 상식
- XYZ 형식에는 단일 공식 사양이 없으며 좌표 단위는 변형에 따라 다를 수 있습니다. 파일 출처와 소프트웨어 설명서를 확인하세요. 일반적인 분자 XYZ 파일은 옹스트롬을 사용합니다.
- 물(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 모델로 내보낼 수 있습니다.