Skip to content

simulation_analysis.py

SimulationAnalysis

Interface to make plots of multiple hdf5 files generated with Simulation.

All plot methods of the Analysis class are available in the SimulationAnalysis class.

Important

When calling an Analysis method from a SimulationAnalysis object every instance of "$id" in a str parameter will be replaced with the identifier of that hdf5, this can be useful to use with parameters like filename or title.

Example:

from comorbuss import SimulationAnalysis

analysis = SimulationAnalysis.from_folder("/data/folder")
analysis.plot_SEIR(filename="$id.pdf")
analysis.close()

empty_from_files(filenames) classmethod

Instances an empty SimulationAnalysis object from a list/array/tuples of hdf5 filenames

Parameters:

Name Type Description Default
filenames

A list/numpy.array/tuple array of filenames

required

Returns:

Type Description
SimulationAnalysis

SimulationAnalysis object.

Source code in comorbuss/lab/simulation_analysis.py
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
@classmethod
def empty_from_files(cls, filenames):
    """Instances an empty SimulationAnalysis object from a list/array/tuples of hdf5 filenames

    Args:
        filenames: A list/numpy.array/tuple array of filenames

    Returns:
        SimulationAnalysis: SimulationAnalysis object.
    """
    As = {}
    for simid, hdf5 in enumerate(filenames):
        As[simid] = Analysis({}, {}, False)
        As[simid].filename = hdf5
    return cls(As)

from_exp_parameters(*args, **kwargs) classmethod

Instance an SimulationAnalysis object from experiment parameters. Accepts same parameters as the Simulation class.

Returns:

Type Description
SimulationAnalysis

SimulationAnalysis object.

Source code in comorbuss/lab/simulation_analysis.py
104
105
106
107
108
109
110
111
112
113
@classmethod
def from_exp_parameters(cls, *args, **kwargs):
    """Instance an SimulationAnalysis object from experiment parameters. Accepts same
        parameters as the [Simulation class](#comorbuss.lab.Simulation.__init__).

    Returns:
        SimulationAnalysis: SimulationAnalysis object.
    """
    sim = Simulation(*args, **kwargs)
    return SimulationAnalysis.from_sim(sim)

from_files(filenames) classmethod

Instances a SimulationAnalysis object from a list/array/tuples of hdf5 filenames

Parameters:

Name Type Description Default
filenames

A list/numpy.array/tuple array of filenames

required

Returns:

Type Description
SimulationAnalysis

SimulationAnalysis object.

Source code in comorbuss/lab/simulation_analysis.py
74
75
76
77
78
79
80
81
82
83
84
85
86
87
@classmethod
def from_files(cls, filenames):
    """Instances a SimulationAnalysis object from a list/array/tuples of hdf5 filenames

    Args:
        filenames: A list/numpy.array/tuple array of filenames

    Returns:
        SimulationAnalysis: SimulationAnalysis object.
    """
    As = {}
    for simid, hdf5 in enumerate(filenames):
        As[simid] = Analysis.from_hdf5(hdf5)
    return cls(As)

from_folder(folder, strings_to_ignore=[]) classmethod

Instance an SimulationAnalysis object from all hdf5 files in a folder.

Parameters:

Name Type Description Default
folder str

Path to the folder where the hdf5 files are stored.

required

Returns:

Type Description
SimulationAnalysis

SimulationAnalysis object.

Source code in comorbuss/lab/simulation_analysis.py
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
@classmethod
def from_folder(cls, folder, strings_to_ignore=[]):
    """Instance an SimulationAnalysis object from all hdf5 files in a folder.

    Args:
        folder (str): Path to the folder where the hdf5 files are stored.

    Returns:
        SimulationAnalysis: SimulationAnalysis object.
    """
    files = os.listdir(path=folder)
    files.sort(key=lambda f: os.path.getctime(os.path.join(folder, f)))
    As = {}
    for f in files:
        ignore = any([s in f for s in strings_to_ignore])
        if f.lower()[-5:] == ".hdf5" and not ignore:
            hdf5 = os.path.join(folder, f)
            simid = os.path.split(f)[-1][:-5]
            As[simid] = Analysis.from_hdf5(hdf5)
    return cls(As)

from_sim(sim) classmethod

Instance an SimulationAnalysis object from a Simulation object.

Parameters:

Name Type Description Default
sim Simulation

Simulation object to load data.

required

Returns:

Type Description
SimulationAnalysis

SimulationAnalysis object.

Source code in comorbuss/lab/simulation_analysis.py
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
@classmethod
def from_sim(cls, sim):
    """Instance an SimulationAnalysis object from a Simulation object.

    Args:
        sim (Simulation): Simulation object to load data.

    Returns:
        SimulationAnalysis: SimulationAnalysis object.
    """
    As = {}
    for simid, hdf5 in sim.get_hdf5_files().items():
        As[simid] = Analysis.from_hdf5(hdf5)
    return cls(As)

caller

Stores a function to further calls.