From 26bb0725b2865628c95a1e929544259fd02115d8 Mon Sep 17 00:00:00 2001 From: Shruthii7 Date: Thu, 15 Jan 2026 23:49:48 +0530 Subject: [PATCH 1/3] Add initial ChemicalJSON documentation migrated from archived wiki --- README.md | 8 ++++++++ docs/overview.md | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 docs/overview.md diff --git a/README.md b/README.md index e9124e4..0d32498 100644 --- a/README.md +++ b/README.md @@ -21,3 +21,11 @@ represntations for chemistry, and to document those representations more formally than has been done in the past. [Chemical_JSON]: http://wiki.openchemistry.org/Chemical_JSON + + +## Documentation + +Project documentation is available in the `docs/` directory. +This content is migrated from the archived Open Chemistry wiki and will +serve as a centralized reference until a dedicated documentation site +is available. diff --git a/docs/overview.md b/docs/overview.md new file mode 100644 index 0000000..8eb64d2 --- /dev/null +++ b/docs/overview.md @@ -0,0 +1,33 @@ +# ChemicalJSON + +ChemicalJSON is a JSON-based data format designed to represent chemical +information in a flexible, machine-readable way. It is used across +Open Chemistry projects such as Avogadro to describe molecules, +materials, and related chemical data. + +This documentation is migrated from the archived Open Chemistry wiki +and serves as a temporary centralized reference until a dedicated +documentation site is established. + +## Purpose + +The goal of ChemicalJSON is to provide an expressive and extensible +format where most properties are optional and encoded in a structured, +discoverable manner. This makes it suitable for storage, exchange, +and processing of chemical data across different tools and languages. + +## Basic Structure + +A ChemicalJSON document typically contains: + +- Metadata such as name and formula +- Atomic information (elements, coordinates) +- Optional properties such as unit cells, energies, or orbitals + +The format is designed to be extensible, allowing new properties to be +added without breaking existing tools. + +## Example + +See the `examples/` directory in this repository for concrete examples +of ChemicalJSON files, including small molecules and periodic systems. From 01ee4cf3efcc55c8ba47f5cbad292f56073bf7e9 Mon Sep 17 00:00:00 2001 From: Shruthii7 Date: Fri, 16 Jan 2026 00:30:05 +0530 Subject: [PATCH 2/3] Add initial ChemicalJSON documentation migrated from archived wiki --- README.md | 9 ++++----- docs/overview.md | 31 +++++++++++-------------------- 2 files changed, 15 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 0d32498..2dda34a 100644 --- a/README.md +++ b/README.md @@ -22,10 +22,9 @@ formally than has been done in the past. [Chemical_JSON]: http://wiki.openchemistry.org/Chemical_JSON - ## Documentation -Project documentation is available in the `docs/` directory. -This content is migrated from the archived Open Chemistry wiki and will -serve as a centralized reference until a dedicated documentation site -is available. +Project documentation is available in the [docs directory](./docs). +This content is migrated from the archived Open Chemistry wiki and +serves as a centralized reference until a dedicated documentation +site is available. diff --git a/docs/overview.md b/docs/overview.md index 8eb64d2..47d2c8c 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -1,33 +1,24 @@ # ChemicalJSON -ChemicalJSON is a JSON-based data format designed to represent chemical -information in a flexible, machine-readable way. It is used across -Open Chemistry projects such as Avogadro to describe molecules, -materials, and related chemical data. - -This documentation is migrated from the archived Open Chemistry wiki -and serves as a temporary centralized reference until a dedicated -documentation site is established. - ## Purpose -The goal of ChemicalJSON is to provide an expressive and extensible -format where most properties are optional and encoded in a structured, -discoverable manner. This makes it suitable for storage, exchange, -and processing of chemical data across different tools and languages. +ChemicalJSON is a JSON-based format for representing chemical data +in a structured and machine-readable way. It is designed to support +storage, exchange, and processing of chemical information across +different tools and programming languages. ## Basic Structure -A ChemicalJSON document typically contains: +A ChemicalJSON document typically includes: -- Metadata such as name and formula +- Metadata such as molecule name and formula - Atomic information (elements, coordinates) - Optional properties such as unit cells, energies, or orbitals -The format is designed to be extensible, allowing new properties to be -added without breaking existing tools. +The format is designed to be extensible, allowing new properties +to be added without breaking existing tools. -## Example +## Examples -See the `examples/` directory in this repository for concrete examples -of ChemicalJSON files, including small molecules and periodic systems. +See the [examples directory](../examples) for concrete examples of +ChemicalJSON files, including small molecules and periodic systems. From 1dc196c7c0817ee9c71ada4fc607ede643602e85 Mon Sep 17 00:00:00 2001 From: Shruthii7 Date: Sun, 1 Feb 2026 11:17:20 +0530 Subject: [PATCH 3/3] Add example and documentation for multiple coordinate sets (3dSets) --- ...ks clickable in documentation\357\200\242" | 25 +++++++++++++++++++ docs/coordinate-sets.md | 18 +++++++++++++ examples/multiple-coordinate-sets.json | 21 ++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 "and examples links clickable in documentation\357\200\242" create mode 100644 docs/coordinate-sets.md create mode 100644 examples/multiple-coordinate-sets.json diff --git "a/and examples links clickable in documentation\357\200\242" "b/and examples links clickable in documentation\357\200\242" new file mode 100644 index 0000000..fd40b87 --- /dev/null +++ "b/and examples links clickable in documentation\357\200\242" @@ -0,0 +1,25 @@ +diff --git a/README.md b/README.md +index 0d32498..2f670cd 100644 +--- a/README.md ++++ b/README.md +@@ -25,7 +25,7 @@ formally than has been done in the past. +  + ## Documentation +  +-Project documentation is available in the `docs/` directory.  ++Project documentation is available in the [docs/](docs/) directory.  + This content is migrated from the archived Open Chemistry wiki and will + serve as a centralized reference until a dedicated documentation site + is available. +diff --git a/docs/overview.md b/docs/overview.md +index 8eb64d2..dbac41e 100644 +--- a/docs/overview.md ++++ b/docs/overview.md +@@ -28,6 +28,5 @@ The format is designed to be extensible, allowing new properties to be + added without breaking existing tools. +  + ## Example +- +-See the `examples/` directory in this repository for concrete examples ++See the [examples/](../examples/) directory in this repository for concrete examples + of ChemicalJSON files, including small molecules and periodic systems. diff --git a/docs/coordinate-sets.md b/docs/coordinate-sets.md new file mode 100644 index 0000000..ba39f9b --- /dev/null +++ b/docs/coordinate-sets.md @@ -0,0 +1,18 @@ +## Multiple Coordinate Sets (3dSets) + +ChemicalJSON supports multiple coordinate sets using `coords.3dSets`, represented as an array of coordinate arrays. + +Each entry in `3dSets` contains a complete set of Cartesian coordinates for all atoms in the system. This can be used to represent conformers, geometry optimization steps, or simple animations. + +### Example + +See `examples/multiple-coordinate-sets.json` for a minimal example demonstrating two coordinate frames. + +### Current Limitations + +The current format does not standardize: +- time steps for coordinate series (e.g., molecular dynamics) +- per-frame energies or forces +- an explicit default coordinate set index + +Consumers typically interpret the first entry in `3dSets` as the initial frame, but this behavior is not formally defined. diff --git a/examples/multiple-coordinate-sets.json b/examples/multiple-coordinate-sets.json new file mode 100644 index 0000000..0b114a8 --- /dev/null +++ b/examples/multiple-coordinate-sets.json @@ -0,0 +1,21 @@ +{ + "chemicalJson": 1, + "atoms": { + "elements": { "number": [8, 1, 1] } + }, + "coords": { + "3dSets": [ + [ + [0.000, 0.000, 0.000], + [0.957, 0.000, 0.000], + [-0.239, 0.927, 0.000] + ], + [ + [0.000, 0.000, 0.010], + [0.957, 0.000, 0.010], + [-0.239, 0.927, 0.010] + ] + ] + } + } + \ No newline at end of file