Repository navigation
COD polyDB 20261021 (Inorg / Full)
PolyXRD external phase database (polyDB v1). The two databases are mutually exclusive, install just one — after extraction you get a .polyDB directory of the same name; point the external database path in PolyXRD at it (local disk / external drive / NAS all work, opened read-only, no write-back).
| Database | Asset | Phase count | Peak count | Site count | Uncompressed | zip size |
|---|---|---|---|---|---|---|
| COD-Inorg | COD-Inorg-20261021.polyDB.zip |
77,500 | 5,962,013 | 1,005,846 | 89,926,214 B (85.8 MiB) | 48.1 MB |
| COD-Full | COD-Full-20261021.polyDB.zip |
521,361 | 50,328,800 | 36,315,927 | 1,107,655,264 B (1056.3 MiB) | 710.3 MB |
COD-Inorg= COD entries judged inorganic (no C, or containing C but no H);COD-Full= the full COD.- The
20261021in the name is the build date; the source data manifest was built at2026-10-20 01:52:04(see each database'smeta.json.source.manifest_built_at).
Usage
unzip COD-Inorg-20261021.polyDB.zip # → COD-Inorg-20261021.polyDB/ directory
python tools/verify_polydb.py COD-Inorg-20261021.polyDB # optional: 32-item self-checkMust be extracted before use; direct mmap inside the zip is not supported.
Validation
sha256sum -c SHA256SUMS.txt # checksums for the two zipsThe sha256 of each uncompressed data segment is recorded in each database's meta.json.sections, and tools/verify_polydb.py compares them segment by segment. Measured results for the two databases: 32/32 PASS, 0 WARN (all segments present / byte counts / sha256 / shapes of each segment self-consistent / sites_off monotonic with last value equal to sites.bin length / PRAGMA integrity_check / entries row count = N / row_idx is a complete unique permutation of 0..N-1 / sampled rows sorted by intensity descending with empty slots at the tail). Before distribution, a file-by-file CRC32 + byte-count comparison of zip ↔ source directory was also done; all matched.
Peak convention
λ = 1.5406 Å (Cu Kα1)|2θ 5–100.76° (equivalent to d ≥ 1.0 Å)|equivalent reflections merged by 2θ (including multiplicity)|intensity normalized to 1000|take the top K = 100 by intensity descending|no Debye-Waller temperature factor
Therefore peak positions/intensities are computed values and have systematic deviations from experimental cards (ICDD PDF) (high-angle lines too strong). Sufficient for phase identification; for quantitative analysis you must calibrate yourself.
Build information
| Database | Build date | Time | workers | Manifest rows | Ingested | skip |
|---|---|---|---|---|---|---|
| Inorg | 2026-10-21 | 531.7 s | 8 | 79,198 | 77,500 | 1,698 (2.14%) |
| Full | 2026-10-21 | 18,176 s ≈ 5.05 h | 8 | 535,166 | 521,361 | 13,805 (2.58%) |
All skips are classifiable: no_sites (no atomic sites), no_pattern (expansion/calculation error), volume_too_large (cell > 30,000 ų), no_volume (no cell volume); details in meta.build.skip_reasons.
Known gaps
entries.densityis 100% NULL in both databases: thebuild_dbs.formula_mass()called bybuild_polydb.pydoes not actually exist; the exception is swallowed bytry/exceptand writes None. It affects the density column in PolyXRD's candidate list, but does not affect peak positions, search, or refinement. Once the atomic-weight table is added, onlyindex.sqliteneeds rebuilding; no need to recompute peaks.entries.tier/dup_groupare all 0: no "experimentally measured / theoretically predicted" tiering, and no merging of duplicate phases, so multiple duplicates of the same phase appear together in search results.- Array-segment row numbers must come from
entries.row_idx, must not useeid-1(COD numbers start at 1,000,000; the two are unequal across the entire database).
The data source is Crystallography Open Database. CIF content copyright belongs to COD and the authors of the original literature; when using it please comply with COD's terms and cite COD and the corresponding literature. This repository distributes only derived indexes (peak positions/intensities/sites); it does not rewrite or replace the original CIFs. For the build code and field-level specification see the repository README and polyDB v1 format specification (Chinese).