예제 #1
0
파일: xlsx.py 프로젝트: jsnel/pyglotaran
    def load_parameters(self, file_name: str) -> ParameterGroup:
        """Load parameters from XLSX file.

        Parameters
        ----------
        file_name : str
            Name of file to be loaded.

        Returns
        -------
            :class:`ParameterGroup
        """
        df = pd.read_excel(file_name, na_values=["None", "none"])
        safe_dataframe_fillna(df, "minimum", -np.inf)
        safe_dataframe_fillna(df, "maximum", np.inf)
        return ParameterGroup.from_dataframe(df, source=file_name)
예제 #2
0
def test_parameter_group_to_from_df():
    parameter_group = load_parameters(
        """
    b:
        - ["1", 0.25, {vary: false, min: 0, max: 8}]
        - ["2", 0.75, {expr: '1 - $b.1', non-negative: true}]
    rates:
        - ["total", 2]
        - ["branch1", {expr: '$rates.total * $b.1'}]
        - ["branch2", {expr: '$rates.total * $b.2'}]
    """,
        format_name="yml_str",
    )

    for _, p in parameter_group.all():
        p.standard_error = 42

    parameter_df = parameter_group.to_dataframe()

    for column in [
        "label",
        "value",
        "standard-error",
        "expression",
        "minimum",
        "maximum",
        "non-negative",
        "vary",
    ]:
        assert column in parameter_df

    assert all(parameter_df["standard-error"] == 42)

    parameter_group_from_df = ParameterGroup.from_dataframe(parameter_df)

    for label, wanted in parameter_group.all():
        got = parameter_group_from_df.get(label)

        assert got.label == wanted.label
        assert got.full_label == wanted.full_label
        assert got.expression == wanted.expression
        assert got.maximum == wanted.maximum
        assert got.minimum == wanted.minimum
        assert got.non_negative == wanted.non_negative
        assert got.value == wanted.value
        assert got.vary == wanted.vary
예제 #3
0
파일: csv.py 프로젝트: jsnel/pyglotaran
    def load_parameters(self, file_name: str, sep: str = ",") -> ParameterGroup:
        """Load parameters from CSV file.

        Parameters
        ----------
        file_name : str
            Name of file to be loaded.
        sep: str
            Other separators can be used optionally., by default ','

        Returns
        -------
            :class:`ParameterGroup
        """
        df = pd.read_csv(file_name, skipinitialspace=True, na_values=["None", "none"], sep=sep)
        safe_dataframe_fillna(df, "minimum", -np.inf)
        safe_dataframe_fillna(df, "maximum", np.inf)
        return ParameterGroup.from_dataframe(df, source=file_name)
예제 #4
0
파일: csv.py 프로젝트: s-weigand/pyglotaran
 def load_parameters(self, file_name: str) -> ParameterGroup:
     df = pd.read_csv(file_name,
                      skipinitialspace=True,
                      na_values=["None", "none"])
     return ParameterGroup.from_dataframe(df, source=file_name)