mkt.databases.app.utils
Helper functions for wiring structure visualization in the Streamlit app.
Includes create_structure_visualizer(), UniProt-index validation, and
color-to-hex conversion helpers used by the app.
Functions
|
Convert named color to hex. |
|
Create a StructureVisualizer from a SequenceAlignment and config class. |
|
Validate that 1-indexed UniProt positions fall within the kinase sequence. |
- mkt.databases.app.utils.convert_color_to_hex(color: str) str[source]
Convert named color to hex.
- Parameters:
color (str) – Color name or hex string.
- Returns:
Hex color string.
- Return type:
str
- mkt.databases.app.utils.create_structure_visualizer(seq_align: SequenceAlignment, config_class: type[StructureConfig], config_kwargs: dict | None = None) StructureVisualizer[source]
Create a StructureVisualizer from a SequenceAlignment and config class.
This is the recommended way to create a StructureVisualizer with the new architecture. The flow is: 1. Create SequenceAlignment 2. Pass it to this function with a config class 3. Get back a StructureVisualizer ready for visualization
- Parameters:
seq_align (SequenceAlignment) – SequenceAlignment object with aligned sequences.
config_class (Type[StructureConfig]) – The config class to instantiate (e.g., PhosphositesConfig, KLIFSConservedConfig).
config_kwargs (dict | None, optional) – Additional keyword arguments to pass to the config class, by default None.
- Returns:
StructureVisualizer object ready for visualization.
- Return type:
Examples
>>> from mkt.databases.app.sequences import SequenceAlignment >>> from mkt.databases.app.schema import PhosphositesConfig >>> >>> # Create sequence alignment >>> seq_align = SequenceAlignment(str_kinase="EGFR", dict_color={"A": "blue", ...}) >>> >>> # Create structure visualizer >>> viz = create_structure_visualizer(seq_align, PhosphositesConfig) >>> >>> # Get highlight data >>> list_idx, dict_color, dict_style = viz.get_highlight_data()
- mkt.databases.app.utils.validate_uniprot_indices(seq_align: SequenceAlignment, list_uniprot_idx: list[int]) None[source]
Validate that 1-indexed UniProt positions fall within the kinase sequence.
- Parameters:
seq_align (SequenceAlignment) – SequenceAlignment object providing the kinase and its canonical sequence.
list_uniprot_idx (list[int]) – List of 1-indexed full-length UniProt positions to validate.
- Return type:
None
- Raises:
ValueError – If any position falls outside the valid range [1, len(canonical_seq)].