-
Notifications
You must be signed in to change notification settings - Fork 49
Updates to opencloning_datamodels #490
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: cloning-history-bjorn
Are you sure you want to change the base?
Conversation
…serializer for non-native fields
…SequenceCutSource before)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR updates the pydna opencloning data models to support additional DNA source types and refactors the serialization approach for better maintainability. The changes expand the library's ability to track provenance for oligonucleotide hybridization and various DNA sequence repositories, while also fixing an edge case bug in CRISPR integration.
Key changes:
- Adds oligonucleotide hybridization functionality with corresponding source tracking
- Introduces multiple new repository source classes (Addgene, Benchling, SnapGene, EUROSCARF, etc.)
- Refactors source serialization from
_kwargsmethods to Pydanticfield_serializerdecorators - Fixes an off-by-one error in CRISPR integration repair end calculation
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/pydna/opencloning_models.py | Adds new source classes (DatabaseSource, repository sources, OligoHybridizationSource, etc.) and refactors serialization using field_serializer |
| src/pydna/oligonucleotide_hybridization.py | New module implementing oligonucleotide hybridization with overhang calculation |
| src/pydna/assembly2.py | Fixes CRISPR integration repair end calculation with +1 offset |
| tests/test_module_opencloning_models.py | Adds tests for oligonucleotide hybridization and updates history string expectations |
| tests/test_module_assembly2.py | Adds edge case test for CRISPR integration |
| pyproject.toml | Changes opencloning-linkml dependency from exact version to caret constraint |
| poetry.lock | Lock file updates reflecting dependency changes |
| docs/notebooks/history.ipynb | Updates expected source type names in history display |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
In this commit I have commented out the |
The auto-summary from copilot is pretty good.
@BjornFJohansson
This builds on top of the cloning history branch you started working on. Several tests still fails and are related to the future you added, so you can fix them after merging this.