Skip to content

Commit ffdd17a

Browse files
committed
v2: Remove parameter scale
parameterScale no longer exists in PEtab v2.
1 parent bf4055c commit ffdd17a

File tree

2 files changed

+3
-125
lines changed

2 files changed

+3
-125
lines changed

petab/v2/C.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,6 @@
6969
PARAMETER_ID = "parameterId"
7070
#: Parameter name column in the parameter table
7171
PARAMETER_NAME = "parameterName"
72-
#: Parameter scale column in the parameter table
73-
PARAMETER_SCALE = "parameterScale"
7472
#: Lower bound column in the parameter table
7573
LOWER_BOUND = "lowerBound"
7674
#: Upper bound column in the parameter table
@@ -87,7 +85,6 @@
8785
#: Mandatory columns of parameter table
8886
PARAMETER_DF_REQUIRED_COLS = [
8987
PARAMETER_ID,
90-
PARAMETER_SCALE,
9188
LOWER_BOUND,
9289
UPPER_BOUND,
9390
ESTIMATE,

petab/v2/problem.py

Lines changed: 3 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -522,15 +522,6 @@ def get_optimization_parameters(self) -> list[str]:
522522
"""
523523
return [p.id for p in self.parameters if p.estimate]
524524

525-
def get_optimization_parameter_scales(self) -> dict[str, str]:
526-
"""
527-
Return list of optimization parameter scaling strings.
528-
529-
See :py:func:`petab.parameters.get_optimization_parameters`.
530-
"""
531-
# TODO: to be removed in v2?
532-
return parameters.get_optimization_parameter_scaling(self.parameter_df)
533-
534525
def get_observable_ids(self) -> list[str]:
535526
"""
536527
Returns dictionary of observable ids.
@@ -595,9 +586,7 @@ def x_fixed_ids(self) -> list[str]:
595586
"""Parameter table parameter IDs, for fixed parameters."""
596587
return self.get_x_ids(free=False)
597588

598-
def get_x_nominal(
599-
self, free: bool = True, fixed: bool = True, scaled: bool = False
600-
) -> list:
589+
def get_x_nominal(self, free: bool = True, fixed: bool = True) -> list:
601590
"""Generic function to get parameter nominal values.
602591
603592
Parameters
@@ -607,9 +596,6 @@ def get_x_nominal(
607596
fixed:
608597
Whether to return fixed parameters, i.e. parameters not to
609598
estimate.
610-
scaled:
611-
Whether to scale the values according to the parameter scale,
612-
or return them on linear scale.
613599
614600
Returns
615601
-------
@@ -620,10 +606,6 @@ def get_x_nominal(
620606
for p in self.parameters
621607
]
622608

623-
if scaled:
624-
v = list(
625-
parameters.map_scale(v, self.parameter_df[PARAMETER_SCALE])
626-
)
627609
return self._apply_mask(v, free=free, fixed=fixed)
628610

629611
@property
@@ -641,28 +623,7 @@ def x_nominal_fixed(self) -> list:
641623
"""Parameter table nominal values, for fixed parameters."""
642624
return self.get_x_nominal(free=False)
643625

644-
@property
645-
def x_nominal_scaled(self) -> list:
646-
"""Parameter table nominal values with applied parameter scaling"""
647-
return self.get_x_nominal(scaled=True)
648-
649-
@property
650-
def x_nominal_free_scaled(self) -> list:
651-
"""Parameter table nominal values with applied parameter scaling,
652-
for free parameters.
653-
"""
654-
return self.get_x_nominal(fixed=False, scaled=True)
655-
656-
@property
657-
def x_nominal_fixed_scaled(self) -> list:
658-
"""Parameter table nominal values with applied parameter scaling,
659-
for fixed parameters.
660-
"""
661-
return self.get_x_nominal(free=False, scaled=True)
662-
663-
def get_lb(
664-
self, free: bool = True, fixed: bool = True, scaled: bool = False
665-
):
626+
def get_lb(self, free: bool = True, fixed: bool = True):
666627
"""Generic function to get lower parameter bounds.
667628
668629
Parameters
@@ -672,34 +633,20 @@ def get_lb(
672633
fixed:
673634
Whether to return fixed parameters, i.e. parameters not to
674635
estimate.
675-
scaled:
676-
Whether to scale the values according to the parameter scale,
677-
or return them on linear scale.
678636
679637
Returns
680638
-------
681639
The lower parameter bounds.
682640
"""
683641
v = [p.lb if p.lb is not None else nan for p in self.parameters]
684-
if scaled:
685-
v = list(
686-
parameters.map_scale(v, self.parameter_df[PARAMETER_SCALE])
687-
)
688642
return self._apply_mask(v, free=free, fixed=fixed)
689643

690644
@property
691645
def lb(self) -> list:
692646
"""Parameter table lower bounds."""
693647
return self.get_lb()
694648

695-
@property
696-
def lb_scaled(self) -> list:
697-
"""Parameter table lower bounds with applied parameter scaling"""
698-
return self.get_lb(scaled=True)
699-
700-
def get_ub(
701-
self, free: bool = True, fixed: bool = True, scaled: bool = False
702-
):
649+
def get_ub(self, free: bool = True, fixed: bool = True):
703650
"""Generic function to get upper parameter bounds.
704651
705652
Parameters
@@ -709,31 +656,19 @@ def get_ub(
709656
fixed:
710657
Whether to return fixed parameters, i.e. parameters not to
711658
estimate.
712-
scaled:
713-
Whether to scale the values according to the parameter scale,
714-
or return them on linear scale.
715659
716660
Returns
717661
-------
718662
The upper parameter bounds.
719663
"""
720664
v = [p.ub if p.ub is not None else nan for p in self.parameters]
721-
if scaled:
722-
v = list(
723-
parameters.map_scale(v, self.parameter_df[PARAMETER_SCALE])
724-
)
725665
return self._apply_mask(v, free=free, fixed=fixed)
726666

727667
@property
728668
def ub(self) -> list:
729669
"""Parameter table upper bounds"""
730670
return self.get_ub()
731671

732-
@property
733-
def ub_scaled(self) -> list:
734-
"""Parameter table upper bounds with applied parameter scaling"""
735-
return self.get_ub(scaled=True)
736-
737672
@property
738673
def x_free_indices(self) -> list[int]:
739674
"""Parameter table estimated parameter indices."""
@@ -790,56 +725,6 @@ def sample_parameter_startpoints_dict(
790725
)
791726
]
792727

793-
# TODO: remove in v2?
794-
def unscale_parameters(
795-
self,
796-
x_dict: dict[str, float],
797-
) -> dict[str, float]:
798-
"""Unscale parameter values.
799-
800-
Parameters
801-
----------
802-
x_dict:
803-
Keys are parameter IDs in the PEtab problem, values are scaled
804-
parameter values.
805-
806-
Returns
807-
-------
808-
The unscaled parameter values.
809-
"""
810-
return {
811-
parameter_id: parameters.unscale(
812-
parameter_value,
813-
self.parameter_df[PARAMETER_SCALE][parameter_id],
814-
)
815-
for parameter_id, parameter_value in x_dict.items()
816-
}
817-
818-
# TODO: remove in v2?
819-
def scale_parameters(
820-
self,
821-
x_dict: dict[str, float],
822-
) -> dict[str, float]:
823-
"""Scale parameter values.
824-
825-
Parameters
826-
----------
827-
x_dict:
828-
Keys are parameter IDs in the PEtab problem, values are unscaled
829-
parameter values.
830-
831-
Returns
832-
-------
833-
The scaled parameter values.
834-
"""
835-
return {
836-
parameter_id: parameters.scale(
837-
parameter_value,
838-
self.parameter_df[PARAMETER_SCALE][parameter_id],
839-
)
840-
for parameter_id, parameter_value in x_dict.items()
841-
}
842-
843728
@property
844729
def n_estimated(self) -> int:
845730
"""The number of estimated parameters."""
@@ -986,7 +871,6 @@ def add_parameter(
986871
id_: str,
987872
estimate: bool | str = True,
988873
nominal_value: Number | None = None,
989-
scale: str = None,
990874
lb: Number = None,
991875
ub: Number = None,
992876
prior_dist: str = None,
@@ -1002,7 +886,6 @@ def add_parameter(
1002886
id_: The parameter id
1003887
estimate: Whether the parameter is estimated
1004888
nominal_value: The nominal value of the parameter
1005-
scale: The parameter scale
1006889
lb: The lower bound of the parameter
1007890
ub: The upper bound of the parameter
1008891
prior_dist: The type of the prior distribution
@@ -1016,8 +899,6 @@ def add_parameter(
1016899
record[ESTIMATE] = estimate
1017900
if nominal_value is not None:
1018901
record[NOMINAL_VALUE] = nominal_value
1019-
if scale is not None:
1020-
record[PARAMETER_SCALE] = scale
1021902
if lb is not None:
1022903
record[LOWER_BOUND] = lb
1023904
if ub is not None:

0 commit comments

Comments
 (0)