What's Changed
[0.8.0] - 2026-04-16
Added
- Add colors subcommand to list named colors (cli)
- Add style subcommand and list styles (cli)
- Add implicit stdin/stdout piping support (cli)
- Add tidy subcommand with granular layout operations (cli)
- Add subcommand for inspecting stylable properties (cli)
- Set model and layout ids from SBML model id (celldesigner io)
- Add BooleanLogicGateInput model element (celldesigner)
- Set map, model and layout ids from sbgnml map id (sbgn io)
- Add visualize subcommand for interactive map viewing (cli)
- Added stdout output and -o option for export and info (cli)
- Add info subcommand for map file inspection (cli)
- Add get_info utility function (celldesigner)
- Add get_info utility function (sbgn)
- Add list subcommand for readers, writers, and renderers (cli)
Changed
- Align tidy default separations across formats (utils)
- Replace ids with id_to_element, source_id_to_model/layout_element (io)
- Rename annotations/notes to element_to_annotations/element_to_notes (io)
- Require metaid for modifier elements (celldesigner io)
- Use distinct ids for model and layout elements (sbgn io)
Documentation
- Note space replacement in structural state ID documentation
- Make ID assignment docstrings consistent between SBGN and CellDesigner readers
- Update CellDesigner ID assignment documentation
- Add BooleanGateInput to CellDesigner ID table and docstring
- Update CellDesigner ID assignment documentation
- Add ID assignment documentation to reader module docstrings
- Update boolean gate, logic arc and modulator in CellDesigner ID table
- Update boolean gate and logic arc in CellDesigner ID table
- Update modification and structural state in CellDesigner ID table
- Mark modulator as registered in CellDesigner ID table
- Update ID assignment patterns for CellDesigner
- Add ID assignment patterns to CLAUDE.md
Fixed
- Handle missing notes on complex subunit species (celldesigner io)
- Catch all exceptions in pickle check_file methods (io)
- Resolve correct alias for boolean gate inputs in writer (celldesigner io)
- Fix roundtrip bugs in writer for model and MINERVA validation (celldesigner io)
- Fix roundtrip bugs in writer for model and MINERVA validation (celldesigner io)
- Fix roundtrip ordering bugs in writer (celldesigner io)
- Update active layout when resizing nodes and complexes (celldesigner tidy)
- Apply styling before tidying (cli)
- Fit complexes using subunit model mappings (celldesigner tidy)
- Increase default compartment padding to 25 (celldesigner tidy)
- Include child compartments when fitting compartment size (celldesigner)
- Detect prefixed presentation attributes by suffix matching (styling)
- Add modification and structural state to layout_model_mapping (celldesigner io)
- Use deterministic ids for reactant and product layout elements (celldesigner io)
- Use deterministic ids for boolean gate and logic arc elements (celldesigner io)
- Use deterministic ids for species modification and structural state elements (celldesigner io)
- Register modifier model and layout elements in xml_id lookup dicts (celldesigner io)
- Use distinct ids for reaction, modulation and modifier layout elements (celldesigner io)
- Register frozen child elements in xml_id lookup dicts (sbgn io)
- Use anchor elements only when building layout-to-model id mapping for visualize subcommand (cli)
- Set missing id_ on arc layout elements (sbgn io)
- Close temp file before writing to fix Windows PermissionError (cli)
- Render hypothetical species with dashed stroke (celldesigner)
- Fix modification residue angle computation (celldesigner)
- Fix species and modification residue writing (celldesigner)
- Add AF map classes to writer classification (sbgn io)
- Replace deprecated pyparsing.delimited_list with DelimitedList (styling)
- Harmonize intersection boundary checks to parametric t with PARAMETER_TOLERANCE (geometry)
Testing
- Added roundtrip tests (celldesigner io)
Installation
pip install momapy==0.8.0
Links