示例#1
0
                           IonChannelModel)
import data.iha.data_iha as data
import numpy as np

modelfile = 'models/Korhonen2009_iha.mmt'

iha = IonChannelModel('iha',
                      modelfile,
                      vvar='membrane.V',
                      logvars=['environment.time', 'iha.i_ha', 'iha.G_ha'])

### Exp 1 - IV curve.
iv_vsteps, iv_curr, iv_errs, iv_N = data.IV_Sartiani()
iv_data = ExperimentData(x=iv_vsteps,
                         y=iv_curr,
                         N=iv_N,
                         errs=iv_errs,
                         err_type='SEM')
stim_times = [500, 1500, 500]
stim_levels = [-40, -120, iv_vsteps]


def max_curr(data):
    return max(data[0]['iha.i_ha'], key=abs)


iv_prot = ExperimentStimProtocol(stim_times,
                                 stim_levels,
                                 measure_index=2,
                                 measure_fn=max_curr)
sartiani_conditions = dict(T=293, Ko=25000, Ki=120000, Nao=140000, Nai=10800)
import data.ical.data_ical as data
import numpy as np


modelfile = 'models/Generic_iCaL.mmt'

ical = IonChannelModel('ical',
                       modelfile,
                       vvar='membrane.V',
                       logvars=['ical.i_CaL',
                                'ical.G_CaL',
                                'environment.time'])

### Exp 1 - IV curve
iv_vsteps, iv_curr, iv_errs, iv_N = data.IV_Rao()
iv_data = ExperimentData(x=iv_vsteps, y=iv_curr, N=iv_N,
                         errs=iv_errs, err_type='SEM')
stim_times = [1000, 100, 500]
stim_levels = [-80, iv_vsteps, -80]
def peak_curr(data):
    return max(data[0]['ical.i_CaL'], key=abs)
iv_prot = ExperimentStimProtocol(stim_times, stim_levels,
                                 measure_index=1,
                                 measure_fn=peak_curr)
rao_conditions = dict(T=298,
                      Ca_o=5000,
                      Ca_subSL=0.2)
iv_exp = Experiment(iv_prot, iv_data, rao_conditions)

### Exp 2 - activation
act_vsteps, act_cond, act_errs, act_N = data.Act_Rao()
act_data = ExperimentData(x=act_vsteps, y=act_cond, N=act_N,
示例#3
0
                           IonChannelModel)
import data.ik1.data_ik1 as data
import numpy as np

modelfile = 'models/Generic_iK1.mmt'

ik1 = IonChannelModel('ik1',
                      modelfile,
                      vvar='membrane.V',
                      logvars=['ik1.i_K1'])

### Exp 1 - IV Curve
iv_vsteps, iv_curr, iv_errs, iv_N = data.IV_Goldoni()
iv_data = ExperimentData(x=iv_vsteps,
                         y=iv_curr,
                         N=iv_N,
                         errs=iv_errs,
                         err_type='STD')
stim_times = [500, 100, 500]
stim_levels = [-50, iv_vsteps, -50]


def ss_curr(data):
    return data[0]['ik1.i_K1']


iv_prot = ExperimentStimProtocol(stim_times,
                                 stim_levels,
                                 measure_index=1,
                                 measure_fn=ss_curr,
                                 time_independent=True)
示例#4
0
from ionchannelABC import (Experiment, ExperimentData, ExperimentStimProtocol,
                           IonChannelModel)
import data.ikur.data_ikur as data
import numpy as np

modelfile = 'models/Generic_iKur.mmt'

ikur = IonChannelModel(
    'ikur',
    modelfile,
    vvar='membrane.V',
    logvars=['environment.time', 'ikur.i_Kur', 'ikur.G_Kur'])

### Exp 1 - IV curve
iv_vsteps, iv_curr, iv_errs, _ = data.IV_Maharani()
iv_data = ExperimentData(x=iv_vsteps, y=iv_curr, errs=iv_errs, err_type='STD')
stim_times = [5000, 300]
stim_levels = [-60, iv_vsteps]


def max_ikur(data):
    return max(data[0]['ikur.i_Kur'])


iv_prot = ExperimentStimProtocol(stim_times,
                                 stim_levels,
                                 measure_index=1,
                                 measure_fn=max_ikur)
maharani_conditions = dict(T=310, Ko=4000, Ki=120000)
iv_exp = Experiment(iv_prot, iv_data, maharani_conditions)
示例#5
0
#                       'p6': (0, 0.001),
#                       'p7': (0, 100),
#                       'p8': (0, 1.0),
#                       'q1': (0, 100),
#                       'q2': (0, 100)}

ikr = IonChannelModel('ikr',
                      modelfile,
                      vvar='membrane.V',
                      logvars=['environment.time',
                               'ikr.i_Kr',
                               'ikr.G_Kr'])

### Exp 1 - IV curve.
iv_vsteps, iv_curr, iv_errs, iv_N = data.IV_Toyoda()
iv_data = ExperimentData(x=iv_vsteps, y=iv_curr,
                         errs=iv_errs)
stim_times = [1000, 1000, 100]
stim_levels = [-50, iv_vsteps, -50]
def tail_curr(data):
    return data[0]['ikr.i_Kr'][-1]
iv_prot = ExperimentStimProtocol(stim_times, stim_levels,
                                 measure_index=1,
                                 measure_fn=tail_curr)
toyoda_conditions1 = dict(K_o=5400,
                          K_i=130000,
                          Na_o=140330,
                          Na_i=6000,
                          T=308)
iv_exp = Experiment(iv_prot, iv_data, toyoda_conditions1)

### Exp 2 - Activation curve.
示例#6
0
#                  r10=(0, 1),
#                  r11=(0, 10),
#                  r12=(-0.1, 0),
#                  r13=(0, 1),
#                  r14=(-1, 0),
#                  r15=(-1, 0),
#                  r16=(0, 100))

ina = IonChannelModel('ina',
                      modelfile,
                      vvar='membrane.V',
                      logvars=['environment.time', 'ina.i_Na', 'ina.G_Na'])

### Exp 1 - IV curve
iv_vsteps, iv_curr, _, _ = data.IV_Lee()
iv_data = ExperimentData(x=iv_vsteps, y=iv_curr)
stim_times = [5000, 20]
stim_levels = [-80, iv_vsteps]


def peak_curr(data):
    return max(data[0]['ina.i_Na'], key=abs)


#def normalise_by_peak(sim_results):
#    peak = 445.1308 # peak current determined from unmodified sim
#    sim_results = [r / peak for r in sim_results]
#    return sim_results
def normalise(sim_results):
    m = abs(max(sim_results, key=abs))
    sim_results = [r / m for r in sim_results]
示例#7
0
import data.icat.data_icat as data
import numpy as np

modelfile = 'models/Generic_iCaT.mmt'

icat = IonChannelModel(
    'icat',
    modelfile,
    vvar='membrane.V',
    logvars=['environment.time', 'icat.i_CaT', 'icat.G_CaT'])

### Exp 1 - IV curve
iv_vsteps, iv_curr, iv_errs, iv_N = data.IV_Nguyen()
iv_data = ExperimentData(x=iv_vsteps,
                         y=iv_curr,
                         N=iv_N,
                         errs=iv_errs,
                         err_type='SEM')
stim_times = [5000, 300, 500]
stim_levels = [-75, iv_vsteps, -75]


def max_icat(data):
    return max(data[0]['icat.i_CaT'], key=lambda x: abs(x))


iv_prot = ExperimentStimProtocol(stim_times,
                                 stim_levels,
                                 measure_index=1,
                                 measure_fn=max_icat)
nguyen_conditions = dict(Ca_o=5000, Ca_subSL=0.2, T=295)
示例#8
0
    post_fn=unwrap)

pulse_train_data = ExperimentData(
    x=[
        'vrp',  #'ca_i', #'k_i', 'na_i', 
        'apa',
        'apd90',
        #'ca_amp',
        't_ca_rise',
        't_ca50',
        't_ca90'
    ],
    y=[
        -67.0,  #0.1, #1.5e5, 2.0e4, 
        105,
        42,
        #0.7,
        52,
        157,
        397
    ],
    errs=[
        -69,  #0.05, #0.75e5, 1.0e4, 
        103,
        33,
        #0.35,
        50,
        151,
        383
    ])
pulse_train_exp = Experiment(pulse_train_prot, pulse_train_data,
                             dias_conditions)