Ethanol — MDL Molfile V2000 (.mol)
Ethanol as a V2000 molfile with fixed-column 3D coordinates, a nine-atom counts line and an eight-bond block. The column widths are part of the format rather than a convention, so it is a genuine test of fixed-width parsing rather than of whitespace splitting.
ethanol
NovusEx 3D synthetic idealised geometry
Idealised geometry for parser testing. Not an experimental structure.
9 8 0 0 0 0 0 0 0 0999 V2000
-1.2456 0.2436 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
0.0000 -0.5876 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
1.1636 0.2296 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
-2.1345 -0.3861 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
-1.2734 0.8797 0.8837 H 0 0 0 0 0 0 0 0 0 0 0 0
-1.2734 0.8797 -0.8837 H 0 0 0 0 0 0 0 0 0 0 0 0
0.0384 -1.2270 0.8850 H 0 0 0 0 0 0 0 0 0 0 0 0
0.0384 -1.2270 -0.8850 H 0 0 0 0 0 0 0 0 0 0 0 0
1.9524 -0.3175 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
1 2 1 0
2 3 1 0
1 4 1 0
1 5 1 0
1 6 1 0
2 7 1 0
2 8 1 0
3 9 1 0
M END
Specifications
- Format
- MDL Molfile V2000
- Atoms
- 9
- Bonds
- 8
- Formula
- C2H6O
- Coordinates
- 3D, angstrom
- Column Widths
- 10.4f coordinates, 3-char counts
- Idealised Geometry
- true
Testing contract
Expected to pass- Scenario
- Parse the counts line and both blocks by column position and reconstruct the connection table.
- Expected result
- You read nine atoms and eight bonds with two carbons, one oxygen and six hydrogens, and the C-O bond between atoms 2 and 3 measures 1.42 angstrom to two decimals.
What is a .mol file?
An MDL Molfile (.mol) is a plain-text chemical structure format describing a single molecule: a counts line, an atom block with element symbols and 2D or 3D coordinates, and a bond block listing connections and orders. It is a core part of the SDF format and is read by nearly every cheminformatics tool.
How to use this file
Use an example .mol file to test molecule parsers and viewers (RDKit, Open Babel, Jmol), structure-format converters (MOL to SMILES, SDF, or PDB), and cheminformatics pipelines.
How to use this file for testing
“Ethanol — MDL Molfile V2000 (.mol)” is a deterministic Novus Examples fixture for Scientific data, Editor testing, Conversion 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: MDL Molfile V2000. 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
- 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.

- csvDICOM-Shaped Dataset — Element Table Reference (.csv)Every element of the synthetic phantom dataset as tag, value representation, meaning and encoded length, in the ascending tag order the standard mandates. Diff a parser's element list against it to check both the ordering rule and the two different length encodings.

- fastaFASTA Contigs — One Line Per Record (.fasta)The same four contigs written one sequence per line rather than wrapped, which is how many pipelines emit FASTA and how many line-oriented parsers assume it always looks. Comparing against the wrapped twin proves a parser joins continuation lines instead of taking the first one.

- csvFASTQ Quality Score Reference — Both Encodings Decoded (.csv)Every twelfth base of the six reads with its Phred score, the ASCII character it takes under both offsets, and the error probability that score implies. It converts a quality-encoding argument into a lookup you can diff.

- fastqFASTQ Reads — Phred+64 Legacy Encoding (.fastq)The identical reads and identical quality scores written with the legacy Phred+64 offset used by older Illumina pipelines. Decode it with the modern offset and every base looks 31 points better than it is, which is a silent quality inflation rather than a parse failure.

- csvFITS WCS Header Cards — CSV Reference (.csv)Every header card of the tangent-plane WCS file transcribed to keyword, value and comment columns. Diff a header parser's output against it to prove the parser split each 80-column card at the right places instead of guessing on whitespace.

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