diff --git a/pyneuroml/analysis/NML2ChannelAnalysis.py b/pyneuroml/analysis/NML2ChannelAnalysis.py index 4a23ed8e..def14e0b 100644 --- a/pyneuroml/analysis/NML2ChannelAnalysis.py +++ b/pyneuroml/analysis/NML2ChannelAnalysis.py @@ -567,7 +567,7 @@ def plot_channel(channel, a, results, iv_data=None, grid=True): def plot_kinetics(channel, a, results, grid=True): fig = plt.figure() plt.get_current_fig_manager().set_window_title( - ("Time Course(s) of activation variables of " "%s from %s at %s degC") + ("Time course(s) of activation variables of " "%s from %s at %s degC") % (channel.id, channel.file, a.temperature) ) diff --git a/pyneuroml/neuron/analysis/HHanalyse.py b/pyneuroml/neuron/analysis/HHanalyse.py index cc70313c..2e5acbc2 100644 --- a/pyneuroml/neuron/analysis/HHanalyse.py +++ b/pyneuroml/neuron/analysis/HHanalyse.py @@ -4,20 +4,35 @@ Implementation of the pynml-modchananalysis command """ -# TODO: clean up and refactor to allow usage from Python API - +import typing import argparse +import logging import re import subprocess import sys from math import log -import neuron + import matplotlib.pyplot as pylab +import neuron from pylab import * -from pyneuroml.analysis.NML2ChannelAnalysis import get_state_color +from pyneuroml.utils import get_state_color +from pyneuroml.utils.cli import build_namespace + +logger = logging.getLogger(__name__) +logger.setLevel(logging.INFO) -print("\n\n") +DEFAULTS = { + "v": False, + "nogui": False, + "minV": -100, + "maxV": 100, + "temperature": 6.3, + "duration": 10000, + "caConc": 5e-5, + "dt": 0.01, + "stepV": 10, +} def process_args(): @@ -40,7 +55,7 @@ def process_args(): parser.add_argument( "-nogui", action="store_true", - default=False, + default=DEFAULTS["nogui"], help="Supress plotting of variables and only save to file", ) @@ -55,7 +70,7 @@ def process_args(): "-minV", type=int, metavar="", - default=-100, + default=DEFAULTS["minV"], help="Minimum voltage to test (integer, mV)", ) @@ -63,7 +78,7 @@ def process_args(): "-maxV", type=int, metavar="", - default=100, + default=DEFAULTS["maxV"], help="Maximum voltage to test (integer, mV)", ) @@ -71,7 +86,7 @@ def process_args(): "-stepV", type=int, metavar="", - default=10, + default=DEFAULTS["stepV"], help="Voltage step to use (integer, mV)", ) @@ -79,7 +94,7 @@ def process_args(): "-dt", type=float, metavar="