Source code for glotaran.builtin.models.kinetic_image.kinetic_image_megacomplex

"""This package contains the kinetic megacomplex item."""

from typing import List

from glotaran.model import model_attribute
from glotaran.parameter import Parameter


[docs]@model_attribute( properties={ "k_matrix": {"type": List[str], "default": []}, "scale": {"type": Parameter, "allow_none": True}, } ) class KineticImageMegacomplex: """A Megacomplex with one or more K-Matrices."""
[docs] def full_k_matrix(self, model=None): full_k_matrix = None for k_matrix in self.k_matrix: if model: k_matrix = model.k_matrix[k_matrix] if full_k_matrix is None: full_k_matrix = k_matrix # If multiple k matrices are present, we combine them else: full_k_matrix = full_k_matrix.combine(k_matrix) return full_k_matrix
@property def involved_compartments(self): return self.full_k_matrix().involved_compartments() if self.full_k_matrix() else []