# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ---------------------------------------------------------------------- import os from morphforge.stdimports import ChannelLibrary, LocMgr from morphforgecontrib.stdimports import NeuroML_Via_NeuroUnits_Channel xsl_filename = os.path.join(LocMgr.get_test_srcs_path(), "neuroml/channelml/ChannelML_v1.8.1_NEURONmod.xsl") def apply_hh_chls_neuroml_neurounits_na(env): return env.Channel(NeuroML_Via_NeuroUnits_Channel, xml_filename = os.path.join(LocMgr.get_test_srcs_path(), "neuroml/channelml/NaChannel_HH.xml"), ) def apply_hh_chls_neuroml_neurounits_k(env): return env.Channel(NeuroML_Via_NeuroUnits_Channel, xml_filename = os.path.join(LocMgr.get_test_srcs_path(), "neuroml/channelml/KChannel_HH.xml"), ) ChannelLibrary.register_channel(modelsrc="_test_neuroml_via_neurounits_HH52", channeltype='Na', chl_functor=apply_hh_chls_neuroml_neurounits_na) ChannelLibrary.register_channel(modelsrc="_test_neuroml_via_neurounits_HH52", channeltype='K', chl_functor=apply_hh_chls_neuroml_neurounits_k)
@cached_functor def get_hh_na(env): return env.Channel( NeuroUnitEqnsetMechanism, name="_neurounits_hh_na", eqnset=eqnset_txt_na, default_parameters={"g":qty("120:mS/cm2")} ) @cached_functor def get_hh_k(env): return env.Channel( NeuroUnitEqnsetMechanism, name="_neurounits_hh_k", eqnset=eqnset_txt_k, ) @cached_functor def get_hh_lk(env): return env.Channel( NeuroUnitEqnsetMechanism, name="_neurounits_hh_lk", eqnset=eqnset_txt_lk, ) ChannelLibrary.register_channel(modelsrc="_test_neurounits_HH52", channeltype='Na', chl_functor=get_hh_na) ChannelLibrary.register_channel(modelsrc="_test_neurounits_HH52", channeltype='K', chl_functor=get_hh_k) ChannelLibrary.register_channel(modelsrc="_test_neurounits_HH52", channeltype='Lk', chl_functor=get_hh_lk)