Ethanol Rotation — Multi-Frame XYZ Trajectory (.xyz)
Five concatenated XYZ frames of the same ethanol molecule rotated rigidly about z in 15-degree steps, which keeps every interatomic distance constant. Frames are separated only by the next atom-count line, so a reader that expects a blank-line delimiter stops after frame one.
9
frame 1 of 5, rigid rotation about z by 0 degrees
C -1.245600 0.243600 0.000000
C 0.000000 -0.587600 0.000000
O 1.163600 0.229600 0.000000
H -2.134500 -0.386100 0.000000
H -1.273400 0.879700 0.883700
H -1.273400 0.879700 -0.883700
H 0.038400 -1.227000 0.885000
H 0.038400 -1.227000 -0.885000
H 1.952400 -0.317500 0.000000
9
frame 2 of 5, rigid rotation about z by 15 degrees
C -1.266206 -0.087085 0.000000
C 0.152082 -0.567578 0.000000
O 1.064526 0.522938 0.000000
H -1.961839 -0.925393 0.000000
H -1.457693 0.520145 0.883700
H -1.457693 0.520145 -0.883700
H 0.354663 -1.175252 0.885000
H 0.354663 -1.175252 -0.885000
H 1.968049 0.198637 0.000000
9
frame 3 of 5, rigid rotation about z by 30 degrees
C -1.200521 -0.411836 0.000000
C 0.293800 -0.508877 0.000000
O 0.892907 0.780639 0.000000
H -1.655481 -1.401622 0.000000
H -1.542647 0.125143 0.883700
H -1.542647 0.125143 -0.883700
H 0.646755 -1.043413 0.885000
H 0.646755 -1.043413 -0.885000
H 1.849578 0.701237 0.000000
9
frame 4 of 5, rigid rotation about z by 45 degrees
C -1.053023 -0.708521 0.000000
C 0.415496 -0.415496 0.000000
O 0.660438 0.985141 0.000000
H -1.236305 -1.782333 0.000000
H -1.522472 -0.278388 0.883700
H -1.522472 -0.278388 -0.883700
H 0.894773 -0.840467 0.885000
H 0.894773 -0.840467 -0.885000
H 1.605062 1.156049 0.000000
9
frame 5 of 5, rigid rotation about z by 60 degrees
C -0.833764 -0.956921 0.000000
C 0.508877 -0.293800 0.000000
O 0.382961 1.122507 0.000000
H -0.732878 -2.041581 0.000000Specifications
- Frames
- 5
- Atoms Per Frame
- 9
- Total Coordinate Lines
- 45
- Motion
- rigid-body rotation about z in 15 degree steps
- Bond Lengths Invariant
- true
- Units
- angstrom
- Frame Delimiter
- an atom-count line, not a blank line
Testing contract
Expected to pass- Scenario
- Read every frame in the file and compare the C-O bond length across all of them.
- Expected result
- Five frames of nine atoms are found, the C-O distance is identical to four decimals in every frame because the motion is a rigid rotation, and no frame is separated by a blank line.
What is a .xyz file?
The XYZ format is the simplest way to write a molecular geometry: a first line giving the atom count, a free-form comment line, and then one line per atom with an element symbol and Cartesian x, y, and z coordinates in ångströms. It records no bonds, charges, or connectivity. Multi-frame files simply concatenate blocks, which is how trajectories are stored.
How to use this file
Use an example .xyz file to test molecular viewers, format converters, and trajectory readers, checking that the declared atom count matches the block, that the comment line is not mistaken for data, and that concatenated frames are split correctly.
How to use this file for testing
“Ethanol Rotation — Multi-Frame XYZ Trajectory (.xyz)” is a deterministic Novus Examples fixture for Scientific data, Editor testing. Citation catalogs (BibTeX, RIS), chemistry structures (MDL Molfile, PDB), and gridded binary data (NetCDF, FITS) — for testing reference managers, molecule viewers, and scientific-data loaders.
Documented properties for this file: XYZ · 2,154 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Scientific fixtures are small, valid, and fully synthetic — no real organism, patient, sample, or observation. Point your parser or loader at the file and check it reads the documented records, variables, or headers; binary formats ship a readable twin or metadata listing for comparison.
Related files
- molBenzene — Molfile V3000 Extended Connection Table (.mol)Benzene written in the V3000 extended format, where the legacy counts line reports zero atoms and the real counts live in an M V30 COUNTS record. A parser that trusts the old counts line reads an empty molecule and reports no error whatsoever.

- csvChemistry Fixture Molecule Index (.csv)One row per molecule used across the chemistry fixtures, with formula, molecular weight, SMILES and the atom and bond counts each file should yield. It is the oracle a cheminformatics toolkit can be scored against without needing a second toolkit to generate the answers.

- cifCIF Parser Edge Cases — Quotes, Text Fields and Wrapped Loops (.cif)A CIF built entirely out of the constructs that break naive parsers: quoted values containing apostrophes and hashes, a semicolon-delimited multi-line text field, the distinct '?' and '.' markers, a standard uncertainty written as 1.2345(7), and a loop whose rows wrap across lines. Every one of them is legal CIF.

- cifIdealised Rock-Salt Structure — Crystallographic CIF (.cif)A single-data-block CIF describing an idealised rock-salt lattice: cell parameters, space group, a symmetry-operation loop and an atom-site loop with fractional coordinates and occupancies. The '?' in the temperature field is CIF's marker for unknown, which is not the same as an empty value.

- molIntentionally Corrupt Molfile — Counts Line Disagrees With the Atom Block (.mol)An intentionally corrupt molfile whose counts line declares twelve atoms while the atom block contains nine, so a parser reading by count consumes three bond lines as atoms. Everything else about the file is well formed, which is what makes the failure quiet.

- smiSMILES Library — Ten Structures Including Aromatics and Salts (.smi)Ten tab-delimited SMILES covering the notation features that trip parsers: lowercase aromatic atoms, ring-closure digits, branch parentheses, explicit charges in brackets and a dot-disconnected salt. Every structure is small enough to verify by hand.

Generated by generation/scientific.py. Free for any use, no attribution required — license.