Skip to main content

A LinkML data model for OpenCloning

Project description

OpenCloning_LinkML

A LinkML data model for OpenCloning, a standardized schema for describing molecular cloning strategies and DNA assembly protocols.

Website

You can access the model documentation at https://opencloning.github.io/OpenCloning_LinkML

Migration from previous versions of the schema

If you have json files in older formats, you can migrate them to the latest version using the migrate command:

python -m opencloning_linkml.migrations.migrate file.json

This will create a new file with the same name but with the suffix _backup.json with the original data, and overwrite the original file with the migrated data.

You can also specify a target version to migrate to:

python -m opencloning_linkml.migrations.migrate file.json --target-version 0.2.9

And you can skip the backup (simply edit in place):

python -m opencloning_linkml.migrations.migrate file.json --no-backup

Developer Documentation

The python package can be installed from PyPI:

pip install opencloning-linkml
Use the `make` command to generate project artefacts:
  • make all: make everything
  • make deploy: deploys site

Creating a migration

To add a migration from version X.Y.Z to a new version A.B.C, follow these steps:

  1. Archive the current model: Save a copy of the current Pydantic model to src/opencloning_linkml/migrations/model_archive/vA_B_C.py. This file should contain the complete model classes for version A.B.C (typically copied from src/opencloning_linkml/datamodel/_models.py after generating the new version).

  2. Create the transformation file: Create a new file src/opencloning_linkml/migrations/transformations/vX_Y_Z_to_vA_B_C.py with a migration function

  3. Register the migration: Add the migration to src/opencloning_linkml/migrations/__init__.py:

    • Import the migration function: from .transformations.vX_Y_Z_to_vA_B_C import migrate_X_Y_Z_to_A_B_C
    • Add it to the load_migrations() return dictionary: ("X.Y.Z", "A.B.C"): migrate_X_Y_Z_to_A_B_C
  4. Add a test: Add a test to tests/test_migration.py to ensure the migration works as expected.

Example: See v0_2_8_to_v0_2_9.py for a simple transformation example, or v0_2_9_to_v_0_4_0.py for a more complex migration with ID remapping and structural changes.

Credits

This project was made with linkml-project-cookiecutter.

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

opencloning_linkml-1.0.0.tar.gz (148.1 kB view details)

Uploaded Source

Built Distribution

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

opencloning_linkml-1.0.0-py3-none-any.whl (83.9 kB view details)

Uploaded Python 3

File details

Details for the file opencloning_linkml-1.0.0.tar.gz.

File metadata

  • Download URL: opencloning_linkml-1.0.0.tar.gz
  • Upload date:
  • Size: 148.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opencloning_linkml-1.0.0.tar.gz
Algorithm Hash digest
SHA256 318c2ebcb563ca266258cd699d8eac4b2bd61c1d8c8a647131bb7351815a84da
MD5 882ff2216827368d796848e882ac54e7
BLAKE2b-256 2abd11e86f45ba5eea10b211e9738304c687743218c96d6780a92c4243f6267e

See more details on using hashes here.

Provenance

The following attestation bundles were made for opencloning_linkml-1.0.0.tar.gz:

Publisher: pypi-publish.yaml on OpenCloning/OpenCloning_LinkML

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

File details

Details for the file opencloning_linkml-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for opencloning_linkml-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 59fbb9b77e1170a338c501399f912cd31b605515c525f9cb8b1e88d2e8b8377f
MD5 37f2853d28fe5d8a50c9855ce6486df4
BLAKE2b-256 5d5a707d420d95fbf3d9279a40864b1c7c27f9a1380039bb2ad817158a0181a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for opencloning_linkml-1.0.0-py3-none-any.whl:

Publisher: pypi-publish.yaml on OpenCloning/OpenCloning_LinkML

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