SBOLInventory
SBOLInventory is a Python package for SBOL 2 inventory modeling that separates:
- external storage hierarchy (
Collection): fridges and shelves - physical containers/items (
Implementation): boxes, plates, and contained materials
Object graph
Fridge4C (Collection)
└── Shelf (Collection)
└── SolidMediaPlate (Implementation from MD)
└── PlatedStrain (Implementation from MD)
FridgeMinus80C (Collection)
└── Shelf (Collection)
└── Box (Implementation from MD)
└── BacterialStock (Implementation from MD)
└── ProcuredMaterial (Implementation from MD)
FridgeMinus20C (Collection)
└── Shelf (Collection)
└── Box (Implementation from MD)
└── DilutedPlasmid (Implementation from MD)
└── ProcuredMaterial (Implementation from MD)
Key concepts
ModuleDefinitionis a design.- Physical items are always
InventoryImplementationwithbuiltpointing to the design. SolidMediaPlateandBoxare container implementations with explicit allowed row/column layout.- Placed items record:
contained_in_containercontainer_rowcontainer_column
- Every implementation has
is_activeand can be discarded (set inactive).
Example
from sbol_inventory import (
make_document,
add_all,
make_fridge_4c,
make_shelf,
make_solid_media_plate,
make_plated_strain,
add_child,
place_in_container,
)
# Storage hierarchy (Collections)
doc = make_document()
fridge4 = make_fridge_4c("https://example.org/storage/4C")
shelf = make_shelf("https://example.org/storage/4C/shelf1")
# Physical containers/items (Implementations)
plate = make_solid_media_plate(
uri="https://example.org/implementation/plate1",
plate_md_uri="https://example.org/designs/plate_md",
rows=["A", "B", "C"],
columns=range(1, 5),
)
plated_strain = make_plated_strain(
uri="https://example.org/implementation/plated1",
strain_md_uri="https://example.org/designs/strain_md",
)
add_all(doc, [fridge4, shelf, plate, plated_strain])
add_child(fridge4, shelf)
add_child(shelf, plate)
# Place by row/column, validated against allowed and occupancy
place_in_container(plate, plated_strain, row="A", column=1)
Main API additions
make_box(...)make_diluted_plasmid(...)make_procured_material(...)make_plated_strain(...)place_in_container(...)move_item(...)remove_from_container(...)discard_implementation(...)
Metadata
Release files for SBOLInventory 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sbolinventory-0.1.0.tar.gz | 8.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sbolinventory-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.1 kB
Release files / sbolinventory-0.1.0.tar.gz
| Download URL | sbolinventory-0.1.0.tar.gz |
|---|---|
| Size | 8.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa677f099a5069e4ced42acc837d7b5ffa9af7f5e8a78f8f195e7ab68680343f
|
|
BLAKE2b-256 checksum How to use checksums |
8044043fc7520ec262b14540a0667f07d5efc0e1b9094d595f9c9a4c09ec1fc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.16
|
Release files / sbolinventory-0.1.0-py3-none-any.whl
| Download URL | sbolinventory-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5613e276754697356c2a239bac32111bd6200683a2eb09b130ccc9db64fc7e60
|
|
BLAKE2b-256 checksum How to use checksums |
36d845b3fef06e0b14b7ebfd3688f72f00663f66e9d1ce30a28bca18402df58c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.16
|