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-0.4.8.tar.gz (136.8 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-0.4.8-py3-none-any.whl (72.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for opencloning_linkml-0.4.8.tar.gz
Algorithm Hash digest
SHA256 63969677a2a8c850a2261196a3a47793c9bdcc7d37931cf6eb4aed22845484dc
MD5 ce4432fc797c124bdb9555f0de88576d
BLAKE2b-256 068a59b3a8895142ea3511c4fb25c15326040c356bf24689646a0c0df3f2e13c

See more details on using hashes here.

Provenance

The following attestation bundles were made for opencloning_linkml-0.4.8.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-0.4.8-py3-none-any.whl.

File metadata

File hashes

Hashes for opencloning_linkml-0.4.8-py3-none-any.whl
Algorithm Hash digest
SHA256 31e186ede9879a5d647f6b2ade0b46e443fe30450b9af1cd46152360b7fe3ba3
MD5 a26cc9c280a529d238864b71daebf2a9
BLAKE2b-256 74e90d1f2baa6b68526e840bf3a522076a091db910c7c44e704b169f02d4f5a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for opencloning_linkml-0.4.8-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