OpenWormLLM / model.py
pgleeson's picture
Mainly formatting updates; to v0.2.5
de348fb
# Based on: https://github.com/allenai/s2-folks/tree/main/examples/python
#
#
from neuromllite.utils import load_simulation_json
from neuromllite.utils import load_network_json
from neuromllite.NetworkGenerator import generate_and_run
MODELS = {
"Muscle model": [
"models/Sim_IClamp_GenericMuscleCell.json",
"models/IClamp_GenericMuscleCell.json",
],
"Neuron model": [
"models/Sim_IClamp_GenericNeuronCell.json",
"models/IClamp_GenericNeuronCell.json",
],
}
def run_model(text, model, verbose=False):
info = """Running [%s] with parameter: [%s]...
""" % (
model,
text,
)
print(info)
sim_file = MODELS[model][0]
net_file = MODELS[model][1]
sim = load_simulation_json(sim_file)
net = load_network_json(net_file)
net.parameters["stim_amp"] = text.strip()
if verbose:
info += """```%s```
""" % sim.to_json()
info += """```%s```
""" % net.to_json()
traces, events = generate_and_run(
sim,
network=net,
simulator="jNeuroML",
base_dir="./models",
target_dir="./models",
return_results=True,
)
# info+="""Results returned: %s"""%(list(traces.keys()))
info += """Finished simulation!"""
print(info)
return info, traces, events