#!/usr/bin/python
import os
kExecutablePath = '/usr/local/nrn/x86_64/bin/nrngui'
kModelFilesDirectory = 'ModelFiles'
kHocFilesDirectory = 'HocFiles'
kDirectoryFile = 'ModelDirectory.csv'
kRelativeHocScriptsPath = 'Scripts/Hoc'
kParameterSetsFile = 'Scripts/ParameterSets.csv'
class PathsClass:
def __init__(self):
self._simulationProjectDir = os.getenv('SIMULATION_PROJECT', os.getcwd())
def executablePath(self):
return kExecutablePath
def simulationProjectDir(self):
return self._simulationProjectDir
def directoryFile(self):
return (self._simulationProjectDir + '/' + kModelFilesDirectory + '/' +
kDirectoryFile)
def parameterSetsFile(self):
return self._simulationProjectDir + '/' + kParameterSetsFile
def hocScriptsPath(self):
"""Returns the path to the directory containing NEURON scripts.
By convention, Hoc scripts that serve solely to define a neuron are called
'hoc files', whereas those that compute something or run a simulation are
called 'hoc scripts'."""
return self._simulationProjectDir + '/' + kRelativeHocScriptsPath
def modelFilesPath(self):
return self._simulationProjectDir + '/' + kModelFilesDirectory
def hocFilesPath(self):
"""Returns the path to neuron-defining hoc files.
By convention, Hoc scripts that serve solely to define a neuron are called
'hoc files', whereas those that compute something or run a simulation are
called 'hoc scripts'."""
return self._simulationProjectDir + '/' + kHocFilesDirectory
def toString(self):
return """\
PathsClass:
executablePath: %s
simulationProjectDir: %s
directoryFile: %s
hocScriptsPath: %s
modelFilesPath: %s
""" % (self.executablePath(), self.simulationProjectDir(), self.directoryFile(),
self.hocFilePath(), self.modelFilesPath())
Paths = PathsClass()