diff --git a/spatialpy/core/initialcondition.py b/spatialpy/core/initialcondition.py index f3cb505d..15cd0e9f 100644 --- a/spatialpy/core/initialcondition.py +++ b/spatialpy/core/initialcondition.py @@ -63,6 +63,10 @@ def apply(self, model): :param model: Model contianing the target species. :type model: spatialpy.core.model.Model """ + if isinstance(self.species, str): + if self.species not in model.listOfSpecies: + raise InitialConditionError(f"Species {self.species} does not exist in the model.") + self.species = model.listOfSpecies[self.species] spec_name = self.species.name spec_ndx = None for index, spec_name in enumerate(model.listOfSpecies.keys()): @@ -106,6 +110,10 @@ def apply(self, model): :param model: Model contianing the target species. :type model: spatialpy.core.model.Model """ + if isinstance(self.species, str): + if self.species not in model.listOfSpecies: + raise InitialConditionError(f"Species {self.species} does not exist in the model.") + self.species = model.listOfSpecies[self.species] spec_name = self.species.name spec_ndx = None for index, spec_name in enumerate(model.listOfSpecies.keys()): @@ -158,6 +166,10 @@ def apply(self, model): :param model: Model contianing the target species. :type model: spatialpy.core.model.Model """ + if isinstance(self.species, str): + if self.species not in model.listOfSpecies: + raise InitialConditionError(f"Species {self.species} does not exist in the model.") + self.species = model.listOfSpecies[self.species] spec_name = self.species.name spec_ndx = None for index, spec_name in enumerate(model.listOfSpecies.keys()):