Пример #1
0
def test_parameter_mapping_for_condition_default_args():
    """Check we can initialize the mapping with default arguments."""

    par_map_for_condition = ParameterMappingForCondition()
    for attr in [
            'map_sim_var', 'scale_map_sim_var', 'map_preeq_fix',
            'scale_map_preeq_fix', 'map_sim_fix', 'scale_map_sim_fix'
    ]:
        assert not getattr(par_map_for_condition, attr)

    map_sim_var = {'sim_par0': 8, 'sim_par1': 'opt_par0'}
    map_preeq_fix = {'sim_par2': 'opt_par1'}
    map_sim_fix = {'sim_par2': 'opt_par2'}
    par_map_for_condition = ParameterMappingForCondition(
        map_sim_var=map_sim_var,
        map_preeq_fix=map_preeq_fix,
        map_sim_fix=map_sim_fix)

    expected_scale_map_sim_var = {'sim_par0': 'lin', 'sim_par1': 'lin'}
    expected_scale_map_preeq_fix = {'sim_par2': 'lin'}
    expected_scale_map_sim_fix = {'sim_par2': 'lin'}

    assert par_map_for_condition.scale_map_sim_var == \
        expected_scale_map_sim_var
    assert par_map_for_condition.scale_map_preeq_fix == \
        expected_scale_map_preeq_fix
    assert par_map_for_condition.scale_map_sim_fix == \
        expected_scale_map_sim_fix
Пример #2
0
def create_identity_parameter_mapping(amici_model: AmiciModel,
                                      n_conditions: int) -> 'ParameterMapping':
    """Create a dummy identity parameter mapping table.

    This fills in only the dynamic parameters. Values for fixed parameters,
    both in preequilibration and simulation, are assumed to be provided
    correctly in model or edatas already.
    """
    x_ids = list(amici_model.getParameterIds())
    x_scales = list(amici_model.getParameterScale())
    parameter_mapping = ParameterMapping()
    for _ in range(n_conditions):
        condition_map_sim_var = {x_id: x_id for x_id in x_ids}
        condition_scale_map_sim_var = {
            x_id: amici.parameter_mapping.amici_to_petab_scale(x_scale)
            for x_id, x_scale in zip(x_ids, x_scales)
        }
        # assumes fixed parameters are filled in already
        mapping_for_condition = ParameterMappingForCondition(
            map_sim_var=condition_map_sim_var,
            scale_map_sim_var=condition_scale_map_sim_var,
        )

        parameter_mapping.append(mapping_for_condition)
    return parameter_mapping
Пример #3
0
def test_parameter_mapping():
    """Test :class:``amici.parameter_mapping.ParameterMapping``."""

    parameter_mapping = ParameterMapping()
    assert len(parameter_mapping) == 0

    map_sim_var = {'sim_par0': 8, 'sim_par1': 'opt_par0'}
    map_preeq_fix = {'sim_par2': 'opt_par1'}
    map_sim_fix = {'sim_par2': 'opt_par2'}
    par_map_for_condition = ParameterMappingForCondition(
        map_sim_var=map_sim_var,
        map_preeq_fix=map_preeq_fix,
        map_sim_fix=map_sim_fix)

    parameter_mapping.append(par_map_for_condition)

    assert len(parameter_mapping) == 1