Support H5 morphology container and individual H5 morphologies#57
Open
darshanmandge wants to merge 11 commits intomainfrom
Open
Support H5 morphology container and individual H5 morphologies#57darshanmandge wants to merge 11 commits intomainfrom
darshanmandge wants to merge 11 commits intomainfrom
Conversation
ilkilic
reviewed
Feb 10, 2026
…for Cell simualtion and SONATA circuit simulations
…ore adding build/
- Add test for _is_valid_morphology_path method covering regular files and H5 containers - Add tests for type2name and mksubset class methods - Improve test coverage for new H5 morphology features This addresses codecov coverage gaps in the H5 morphology implementation.
- Fix W293 linting errors in test files - Remove trailing whitespace from blank lines in docstrings - Ensure all linting checks pass
- Add test for corrupted H5 container exception handling - Add test for SectionName dataclass functionality - Improve coverage from 92.34% to 92.39% (above HEAD's 92.36%) - Cover exception paths in template.py and morphio_wrapper.py - All tests passing (25 H5-related tests) This brings the branch coverage above HEAD and ensures all new H5 morphology functionality is thoroughly tested.
- Add test to verify soma conversion functions work correctly - Improves test coverage for morphology wrapper - Tests morph_as_hoc() output for soma sections Note: Codecov shows 81.36% patch coverage because it measures coverage of only the NEW lines added in the PR (403 lines in morphio_wrapper.py). Overall project coverage is 92.39% which is above HEAD's 92.36%. Some uncovered lines are edge cases (specific soma types, exception paths) that require rare morphology scenarios to trigger.
- Add test for make_convex with non-monotonic data (covers line 97) - Add test for _to_sphere function (covers lines 150-158) - Add test for single_point_sphere_to_circular_contour (covers lines 164-167) - Improves morphio_wrapper.py coverage from 90.80% to 97.70% - Overall project coverage improved to 93% Remaining uncovered lines (234, 235, 245, 247) are exception paths for invalid soma types that require malformed morphologies to trigger.
- Remove trailing whitespace from blank lines - Add noqa comment for morphio import availability check - All linting checks now pass
- Add test for split_morphology_path error condition (empty path) - Add test for H5 container path with cell name parsing - Add tests for contourcenter, get_sides, contour2centroid functions - Add integration test for nested H5 path validation - Add integration test for split_morphology_path with nested directories
6be7729 to
a0b62d7
Compare
- add get_target_cell_ids tests for population and non-population node_set paths - add morph_filepath tests for h5v1, asc fallback, and wrapped error branches - add emodel_path fallback tests for hoc model_template and failure path
- make h5 integration path-validation tests self-contained with temp H5 files - remove conditional branches that skipped coverage in morphology wrapper tests - mark script-only __main__ block as no-cover - keep assertions deterministic for container/nested path parsing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds support for H5 morphology containers and individual H5 morphology files to BlueCelluLab, aligning the implementation with Neurodamus. It also fixes critical issues with node set resolution in multi-population circuits that were causing "Invalid range: 0-0" errors.
H5 Morphology Support
Core Implementation Changes
Bug Fixes
Examples and Tests
Dependencies
Added: morphio (required for H5 morphology support)