Skip to main content

GA4GH Genomic Knowledge Standards meta-schema tools

Project description

gks-metaschema

Tools and scripts for parsing the GA4GH Genomic Knowledge Standards (GKS) metaschemas. The metaschema processor (MSP) converts JSON Schema Version 2020-12 in YAML to reStructuredText (RST) and JSON files.

Currently used in:

Installing for development

Prerequisites

  • Python 3.12: We recommend using pyenv.

Installation Steps

Fork the repo at https://github.com/ga4gh/gks-metaschema, and initialize a development environment.

git clone git@github.com:YOUR_GITHUB_ID/gks-metaschema.git
cd gks-metaschema
make devready
source venv/3.12/bin/activate

Set up pre-commit hooks:

pre-commit install

Testing

To run the tests:

make test

Usage

File Hierarchy

The metaschema processor expects the following hierarchy:

├── docs
│   ├── source
│   |   ├── ...
│   ├── Makefile
├── schema
│   ├──gks_schema
│   |   ├── gks-schema-source.yaml
│   |   ├── Makefile
│   |   ├── prune.mk
│   ├── Makefile
  • docs: Sphinx documentation directory. Must be named docs.
    • source: Directory containing documentation written in reStructuredText and Sphinx configuration. Must be named source.
    • Makefile: Commands to create the reStructuredText files. This file should not change across GKS projects.
  • schema: Schema directory. Can also contain submodules for other GKS product schemas.
    • gks_schema: Schema directory for GKS product. The directory name should reflect the product, e.g. vrs.
      • gks-schema-source.yaml: Source document for the JSON Schema 2020-12. The file name should reflect the standard, e.g. vrs-source.yaml. The file name must end with -source.yaml.
      • Makefile: Commands to create the reStructuredText and JSON files. This file should not change across GKS projects.
      • prune.mk: Cleanup of files in def and json directories based on source document. This file should not change across GKS projects.
    • Makefile: Commands to create the reStructuredText and JSON files.

Contributing to the schema

To create the corresponding def (reStructuredText) and json files after making changes to the source document, from the schema directory:

    make all

The file structure will now look like:

├── schema
│   ├──gks_schema
|   |   ├── def
│   |   |   ├── ...
|   |   ├── json
│   |   |   ├── ...
│   |   ├── gks-schema-source.yaml
│   |   ├── Makefile
│   |   ├── prune.mk
│   ├── Makefile

Contributing to the docs

GKS specification documentation is written in reStructuredText and located in docs/source.

To build documentation locally, you must install entr:

brew install entr

Then from the docs directory:

make clean watch &

Then, open docs/build/html/index.html. The above make command should build docs when the source changes.

NOTE: Some types of changes require recleaning and building.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ga4gh_gks_metaschema-0.3.2.tar.gz (68.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ga4gh_gks_metaschema-0.3.2-py3-none-any.whl (23.4 kB view details)

Uploaded Python 3

File details

Details for the file ga4gh_gks_metaschema-0.3.2.tar.gz.

File metadata

  • Download URL: ga4gh_gks_metaschema-0.3.2.tar.gz
  • Upload date:
  • Size: 68.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ga4gh_gks_metaschema-0.3.2.tar.gz
Algorithm Hash digest
SHA256 10b7b12ee8a833842faa7d0628eec1da5d4ee6456246264b5d768ca1e9e5c028
MD5 d9168fce91dfa3afaa8dc3085c5a67fa
BLAKE2b-256 37a40343f46cf54b806d3fa19865821c45ad93ce2e664ce67f2a4b869c0b8a4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ga4gh_gks_metaschema-0.3.2.tar.gz:

Publisher: release.yaml on ga4gh/gks-metaschema

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ga4gh_gks_metaschema-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ga4gh_gks_metaschema-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b0ea41bab5ac7785e5eaf79e2c738a0e3d82717a0ed1fe58815a30a038213afa
MD5 60aaee1971fb70e1058172f96ee984ff
BLAKE2b-256 34ff0ced89cdfb5399b116a77b146243c071b1a8fef3c673710cf36148794626

See more details on using hashes here.

Provenance

The following attestation bundles were made for ga4gh_gks_metaschema-0.3.2-py3-none-any.whl:

Publisher: release.yaml on ga4gh/gks-metaschema

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page