Source code for bmtk.utils.compile_mechanisms.compile_mechanisms

import os
import logging
from subprocess import call
from distutils.dir_util import copy_tree


logger = logging.getLogger(__name__)


[docs]def compile_mechanisms(mechanisms_dir): logger.info('Attempting to compile NEURON mechanims under "{}"'.format(mechanisms_dir)) cwd = os.getcwd() try: os.chdir(os.path.join(mechanisms_dir)) call(['nrnivmodl', 'modfiles']) logger.info(' Success.') except Exception as e: logger.error(' Was unable to compile mechanism in {}'.format(mechanisms_dir)) os.chdir(cwd)
[docs]def copy_modfiles(mechanisms_dir, cached_dir=None): if not os.path.exists(mechanisms_dir): logger.info('Creating mechanisms directory {}'.format(mechanisms_dir)) if cached_dir is None: local_path = os.path.dirname(os.path.realpath(__file__)) cached_dir = os.path.join(local_path, '..', 'scripts/bionet/mechanisms') logger.info('Copying mod files from {} to {}'.format(cached_dir, mechanisms_dir)) copy_tree(cached_dir, mechanisms_dir)