Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def create_edatas(self, model=None, simulation_conditions=None):
"""
Create list of amici.ExpData objects.
"""
# create model
if model is None:
model = self.create_model()
condition_df = self.petab_problem.condition_df.reset_index()
measurement_df = self.petab_problem.measurement_df
# number of amici simulations will be number of unique
# (preequilibrationConditionId, simulationConditionId) pairs.
# Can be improved by checking for identical condition vectors.
if simulation_conditions is None:
simulation_conditions = petab.core.get_simulation_conditions(
measurement_df)
observable_ids = model.getObservableIds()
fixed_parameter_ids = model.getFixedParameterIds()
edatas = []
for _, condition in simulation_conditions.iterrows():
# amici.ExpData for each simulation
# extract rows for condition
df_for_condition = petab.core.get_rows_for_condition(
measurement_df, condition)
# make list of all timepoints for which measurements exist
timepoints = sorted(
A dataframe built from the rdatas in the format as in
self.petab_problem.measurement_df.
"""
# create model
if model is None:
model = self.create_model()
measurement_df = self.petab_problem.measurement_df
# initialize dataframe
df = pd.DataFrame(
columns=list(
self.petab_problem.measurement_df.columns))
# get simulation conditions
simulation_conditions = petab.core.get_simulation_conditions(
measurement_df)
# get observable ids
observable_ids = model.getObservableIds()
# iterate over conditions
for data_idx, condition in simulation_conditions.iterrows():
# current rdata
rdata = rdatas[data_idx]
# current simulation matrix
y = rdata['y']
# time array used in rdata
t = list(rdata['t'])
# extract rows for condition
cur_measurement_df = petab.core.get_rows_for_condition(
def create_objective(self,
model=None,
solver=None,
edatas=None,
hierarchical_problem=None,
force_compile: bool = False):
"""
Create a pypesto.PetabAmiciObjective.
"""
# get simulation conditions
simulation_conditions = petab.core.get_simulation_conditions(
self.petab_problem.measurement_df)
# create model
if model is None:
model = self.create_model(force_compile=force_compile)
# create solver
if solver is None:
solver = self.create_solver(model)
# create conditions and edatas from measurement data
if edatas is None:
edatas = self.create_edatas(
model=model,
simulation_conditions=simulation_conditions)
# hierarchical problem
if hierarchical_problem is None: