From a0640e02b1d9b87868cb468cd97dd5fc7cca4312 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Wed, 6 Apr 2022 12:26:18 -0400 Subject: [PATCH] Added support for species names in initial conditions. --- spatialpy/core/initialcondition.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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()):