当前位置: 首页>>代码示例>>Python>>正文


Python ProjectManager.loadProject方法代码示例

本文整理汇总了Python中ucl.physiol.neuroconstruct.project.ProjectManager.loadProject方法的典型用法代码示例。如果您正苦于以下问题:Python ProjectManager.loadProject方法的具体用法?Python ProjectManager.loadProject怎么用?Python ProjectManager.loadProject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ucl.physiol.neuroconstruct.project.ProjectManager的用法示例。


在下文中一共展示了ProjectManager.loadProject方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: testAll

# 需要导入模块: from ucl.physiol.neuroconstruct.project import ProjectManager [as 别名]
# 或者: from ucl.physiol.neuroconstruct.project.ProjectManager import loadProject [as 别名]
def testAll(argv=None):
    if argv is None:
        argv = sys.argv

    print "Loading project from "+ projFile.getCanonicalPath()
    
    projectManager = ProjectManager()
    project = projectManager.loadProject(projFile)

    assert(len(project.getProjectDescription())>0)

    assert(len(project.cellManager.getAllCells())>=6)

    #assert(project.proj3Dproperties.getDisplayOption() == Display3DProperties.DISPLAY_SOMA_SOLID_NEURITE_LINE)

    assert(abs(project.simulationParameters.getDt()-0.005)<=1e-9)
    
    assert(abs(project.simulationParameters.getTemperature() - 10) < 1e-6)

    assert(not project.neuronSettings.isVarTimeStep())

    assert(project.neuronSettings.getDataSaveFormat().equals(NeuronSettings.DataSaveFormat.TEXT_NC))

    #assert(project.genesisSettings.isSymmetricCompartments())

    assert(project.genesisSettings.isSIUnits())

    print "\n**************************************"
    print "    All tests passed!"
    print "**************************************\n"
开发者ID:OpenSourceBrain,项目名称:PyloricNetwork,代码行数:32,代码来源:CheckProject.py

示例2: load_project

# 需要导入模块: from ucl.physiol.neuroconstruct.project import ProjectManager [as 别名]
# 或者: from ucl.physiol.neuroconstruct.project.ProjectManager import loadProject [as 别名]
 def load_project(self, fname):
     file = File(fname)
     print 'Loading project file: ', file.getAbsolutePath()
     pm = ProjectManager()
     project = pm.loadProject(file)
     print pm.status()
     return project
开发者ID:OpenSourceBrain,项目名称:korngreen-pyramidal,代码行数:9,代码来源:create_nc_cell.py

示例3: testAll

# 需要导入模块: from ucl.physiol.neuroconstruct.project import ProjectManager [as 别名]
# 或者: from ucl.physiol.neuroconstruct.project.ProjectManager import loadProject [as 别名]
def testAll(argv=None):
    if argv is None:
        argv = sys.argv

    print "Loading project from "+ projFile.getCanonicalPath()
    
    projectManager = ProjectManager()
    project = projectManager.loadProject(projFile)

    assert(len(project.getProjectDescription())>0)

    assert(len(project.cellManager.getAllCells())>=7)

    assert(len(project.cellGroupsInfo.getAllCellGroupNames())>=4)

    assert(project.simulationParameters.getDt()-0.0125<=1e-6)

    assert(project.neuronSettings.isVarTimeStep())

    assert(project.neuronSettings.getDataSaveFormat().equals(NeuronSettings.DataSaveFormat.TEXT_NC))

    assert(project.simulationParameters.getTemperature()- 6.3<=1e-6)
    
    defSimConfig = project.simConfigInfo.getSimConfig("Default Simulation Configuration")
    assert(str(defSimConfig.getCellGroups())=='[CellGroup_1]')
    assert(project.cellGroupsInfo.getCellType("CellGroup_1")=='L5PC')


    print "\n**************************************"
    print "    All tests passed!"
    print "**************************************\n"
开发者ID:OpenSourceBrain,项目名称:L5bPyrCellHayEtAl2011,代码行数:33,代码来源:TestProject.py

示例4: testAll

# 需要导入模块: from ucl.physiol.neuroconstruct.project import ProjectManager [as 别名]
# 或者: from ucl.physiol.neuroconstruct.project.ProjectManager import loadProject [as 别名]
def testAll(argv=None):
    if argv is None:
        argv = sys.argv

    print "Loading project from " + projFile.getCanonicalPath()

    projectManager = ProjectManager()
    project = projectManager.loadProject(projFile)

    assert len(project.getProjectDescription()) > 0

    assert len(project.cellManager.getAllCells()) >= 22

    assert len(project.cellGroupsInfo.getAllCellGroupNames()) >= 6

    assert project.proj3Dproperties.getDisplayOption() == Display3DProperties.DISPLAY_SOMA_SOLID_NEURITE_LINE

    assert project.simulationParameters.getDt() - 0.025 <= 1e-6

    assert not project.neuronSettings.isVarTimeStep()

    assert project.neuronSettings.getDataSaveFormat().equals(NeuronSettings.DataSaveFormat.TEXT_NC)

    assert project.simulationParameters.getTemperature() == 34

    sci = project.simConfigInfo
    cgi = project.cellGroupsInfo

    assert cgi.getCellType("Channeltestgroup") == "Channeltest_Cell"
    assert cgi.getCellType("CMLtestGroup") == "CMLtest_Cell"
    assert cgi.getCellType("pyr_group") == "LarkumPyr"
    assert cgi.getCellType("pyrCML_group") == "LarkumPyr_NML"

    arrayListsIdentical(
        sci.getSimConfig("Default Simulation Configuration").getCellGroups(), ["Channeltestgroup", "CMLtestGroup"]
    )
    arrayListsIdentical(sci.getSimConfig("test_IClamp").getCellGroups(), ["pyr_group", "pyrCML_group"])
    arrayListsIdentical(sci.getSimConfig("background activity").getCellGroups(), ["pyr_group"])

    print "\n**************************************"
    print "    All tests passed!"
    print "**************************************\n"
开发者ID:pgleeson,项目名称:TestArea,代码行数:44,代码来源:TestProject.py

示例5: testAll

# 需要导入模块: from ucl.physiol.neuroconstruct.project import ProjectManager [as 别名]
# 或者: from ucl.physiol.neuroconstruct.project.ProjectManager import loadProject [as 别名]
def testAll(argv=None):
    if argv is None:
        argv = sys.argv

    print "Loading project from "+ projFile.getCanonicalPath()
    
    projectManager = ProjectManager()
    project = projectManager.loadProject(projFile)

    assert(len(project.getProjectDescription())>0)

    assert(len(project.cellManager.getAllCells())>=6)

    #assert(project.proj3Dproperties.getDisplayOption() == Display3DProperties.DISPLAY_SOMA_SOLID_NEURITE_LINE)

    assert(abs(project.simulationParameters.getDt()-0.01)<=1e-9)
    
    assert(abs(project.simulationParameters.getTemperature() - 6.3) < 1e-6)

    assert(not project.neuronSettings.isVarTimeStep())

    assert(project.neuronSettings.getDataSaveFormat().equals(NeuronSettings.DataSaveFormat.TEXT_NC))

    assert(project.genesisSettings.isSymmetricCompartments())

    assert(project.genesisSettings.isSIUnits())
    
    defSimConfig = project.simConfigInfo.getSimConfig("Default Simulation Configuration")
    assert(str(defSimConfig.getCellGroups())=='[baskets, pyramidals]')
    
    smallNetSimConfig = project.simConfigInfo.getSimConfig("SmallNetwork")
    
    assert(smallNetSimConfig.getCellGroups().size()==2)
    assert(smallNetSimConfig.getNetConns().size()==4)
    assert(smallNetSimConfig.getInputs().size()==1)
    assert(project.cellGroupsInfo.getCellPackingAdapter("pyramidals_48").getMaxNumberCells()==48)
    assert(project.cellGroupsInfo.getCellPackingAdapter("baskets_12").getMaxNumberCells()==12)

    print "\n**************************************"
    print "    All tests passed!"
    print "**************************************\n"
开发者ID:JustasB,项目名称:ACnet2,代码行数:43,代码来源:CheckProject.py

示例6: testAll

# 需要导入模块: from ucl.physiol.neuroconstruct.project import ProjectManager [as 别名]
# 或者: from ucl.physiol.neuroconstruct.project.ProjectManager import loadProject [as 别名]
def testAll(argv=None):
    if argv is None:
        argv = sys.argv

    print "Loading project from "+ projFile.getCanonicalPath()
    
    projectManager = ProjectManager()
    project = projectManager.loadProject(projFile)

    assert(len(project.getProjectDescription())>0)

    assert(len(project.cellManager.getAllCells())>=7)

    assert(len(project.cellGroupsInfo.getAllCellGroupNames())>=4)

    assert(project.simulationParameters.getDt()-0.0125<=1e-6)

    assert(project.neuronSettings.isVarTimeStep())

    assert(project.neuronSettings.getDataSaveFormat().equals(NeuronSettings.DataSaveFormat.TEXT_NC))

    assert(project.simulationParameters.getTemperature() == 34)

    '''
    sci = project.simConfigInfo
    cgi = project.cellGroupsInfo

    assert(cgi.getCellType("Channeltestgroup") == "Channeltest_Cell")
    assert(cgi.getCellType("CMLtestGroup") == "CMLtest_Cell")
    assert(cgi.getCellType("pyr_group") == "LarkumPyr")
    assert(cgi.getCellType("pyrCML_group") == "LarkumPyr_NML")

    arrayListsIdentical(sci.getSimConfig("Default Simulation Configuration").getCellGroups(), ["Channeltestgroup", "CMLtestGroup"])
    arrayListsIdentical(sci.getSimConfig("test_IClamp").getCellGroups(), ["pyr_group", "pyrCML_group"])
    arrayListsIdentical(sci.getSimConfig("background activity").getCellGroups(), ["pyr_group"])
    '''

    print "\n**************************************"
    print "    All tests passed!"
    print "**************************************\n"
开发者ID:OpenSourceBrain,项目名称:korngreen-pyramidal,代码行数:42,代码来源:TestProject.py

示例7: testAll

# 需要导入模块: from ucl.physiol.neuroconstruct.project import ProjectManager [as 别名]
# 或者: from ucl.physiol.neuroconstruct.project.ProjectManager import loadProject [as 别名]
def testAll(argv=None):
    if argv is None:
        argv = sys.argv

    print "Loading project from "+ projFile.getCanonicalPath()
    
    projectManager = ProjectManager()
    project = projectManager.loadProject(projFile)

    assert(len(project.getProjectDescription())>0)

    assert(len(project.cellManager.getAllCells())>=1)

    #assert(project.proj3Dproperties.getDisplayOption() == Display3DProperties.DISPLAY_SOMA_SOLID_NEURITE_LINE)

    assert(abs(project.simulationParameters.getDt()-0.02)<=1e-9)
    
    assert(abs(project.simulationParameters.getTemperature() - 6.3) < 1e-6)

    assert(not project.neuronSettings.isVarTimeStep())

    assert(project.neuronSettings.getDataSaveFormat().equals(NeuronSettings.DataSaveFormat.TEXT_NC))

    assert(project.genesisSettings.isSIUnits())
    
    defSimConfig = project.simConfigInfo.getSimConfig("Default Simulation Configuration")
    assert(str(defSimConfig.getCellGroups())=='[SampleCellGroup]')
    
    assert(defSimConfig.getCellGroups().size()==1)
    
    assert(defSimConfig.getInputs().size()==1)
    

    print "\n**************************************"
    print "    All tests passed!"
    print "**************************************\n"
开发者ID:OpenSourceBrain,项目名称:osb-model-validation,代码行数:38,代码来源:CheckProject.py

示例8: runColumnSimulation

# 需要导入模块: from ucl.physiol.neuroconstruct.project import ProjectManager [as 别名]
# 或者: from ucl.physiol.neuroconstruct.project.ProjectManager import loadProject [as 别名]
def runColumnSimulation(simConfig=    			"TempSimConfig",
		        simDuration = 			100,
			simDt = 			0.025, 
			neuroConstructSeed = 		1234,
			simulatorSeed = 		1234,
			simulators = 			["NEURON"],
			simRefPrefix =          	"Net_",
			suggestedRemoteRunTime = 	120,
			defaultSynapticDelay =  	0.05,
			mpiConf = 			MpiSettings.LOCAL_SERIAL,
			scaleCortex = 			0.1,
			scaleThalamus = 		0,
			gabaScaling = 			1,
			l4ssAmpaScaling = 		1,
			l5PyrGapScaling = 		1,
			inNrtTcrNmdaScaling = 		1,
			pyrSsNmdaScaling = 		1,
			deepBiasCurrent = 		-1,
			maxElecLenFRB = 		0.01,
			maxElecLenRS =          	0.01,
			maxElecLenIN =         		0.01,
			maxElecLenSS =         		0.01,
			somaNseg =              	-1,
			varTimestepNeuron =     	False,
			verbose =               	True,
			runInBackground = 		False):
			  
    print "Running new column simulation..."

    ############################################

    # Full column populations

    numFRB =                50       #   full model: 50
    numRS =                 1000     #   full model: 1000
    numSupBask =            90       #   full model: 90
    numSupAxAx =            90       #   full model: 90
    numSupLTS =             90       #   full model: 90
    numL4SpinStell =        240      #   full model: 240
    numL5TuftIB =           800      #   full model: 800
    numL5TuftRS =           200      #   full model: 200
    numDeepBask =           100      #   full model: 100
    numDeepAxAx =           100      #   full model: 100
    numDeepLTS =            100      #   full model: 100
    numL6NonTuftRS =        500      #   full model: 500


    numTCR =                100      #   full model: 100
    numnRT =                100      #   full model: 100


    #######################################


    ### Load neuroConstruct project


    import datetime

    start = datetime.datetime.now()

    print "Loading project %s from at %s " % (projFile.getCanonicalPath(),start.strftime("%Y-%m-%d %H:%M"))

    pm = ProjectManager()
    project = pm.loadProject(projFile)


    ### Set duration & timestep & simulation configuration

    project.simulationParameters.setDt(simDt)
    simConfig = project.simConfigInfo.getSimConfig(simConfig)
    simConfig.setSimDuration(simDuration)


    ### Set simulation reference

    index = 0
    simRef = "%s%i"%(simRefPrefix,index)


    while File( "%s/simulations/%s_N"%(project.getProjectMainDirectory().getCanonicalPath(), simRef)).exists():
	simRef = "%s%i"%(simRefPrefix,index)
	index = index+1

    project.simulationParameters.setReference(simRef)


    ### Change num in each cell group

    numFRB = int(scaleCortex * numFRB)
    numRS = int(scaleCortex * numRS)
    numSupBask = int(scaleCortex * numSupBask)
    numSupAxAx = int(scaleCortex * numSupAxAx)
    numSupLTS = int(scaleCortex * numSupLTS)
    numL4SpinStell = int(scaleCortex * numL4SpinStell)
    numL5TuftIB = int(scaleCortex * numL5TuftIB)
    numL5TuftRS = int(scaleCortex * numL5TuftRS)
    numDeepBask = int(scaleCortex * numDeepBask)
    numDeepAxAx = int(scaleCortex * numDeepAxAx)
    numDeepLTS = int(scaleCortex * numDeepLTS)
#.........这里部分代码省略.........
开发者ID:OpenSourceBrain,项目名称:Thalamocortical,代码行数:103,代码来源:RunColumn.py

示例9: make_fF_Curve

# 需要导入模块: from ucl.physiol.neuroconstruct.project import ProjectManager [as 别名]
# 或者: from ucl.physiol.neuroconstruct.project.ProjectManager import loadProject [as 别名]
	def make_fF_Curve(self,
                          projFile,
                          simulator,
                          simConfig,
                          nTrains,
                          simDuration,
                          analyseStartTime, analyseStopTime,
                          analyseThreshold,
                          maxNumSimultaneousSims = 4):

			# Load neuroConstruct project

			print "Loading project from file: " + projFile.getAbsolutePath()+", exists: "+ str(projFile.exists())

			pm = ProjectManager()
			self.myProject = pm.loadProject(projFile)
			self.simulator = simulator

			simConfig = self.myProject.simConfigInfo.getSimConfig(simConfig)

			simConfig.setSimDuration(simDuration)

			pm.doGenerate(simConfig.getName(), self.neuroConstructSeed)

			while pm.isGenerating():
					print "Waiting for the project to be generated with Simulation Configuration: "+str(simConfig)
					time.sleep(2)

			numGenerated = self.myProject.generatedCellPositions.getNumberInAllCellGroups()

			print "Number of cells generated: " + str(numGenerated)

			simReferences = {}


			if numGenerated > 0:

					print "Generating scripts for simulator: %s..."%simulator

					if simulator == 'NEURON':
						self.myProject.neuronFileManager.setQuitAfterRun(1) # Remove this line to leave the NEURON sim windows open after finishing
						self.myProject.neuronSettings.setCopySimFiles(1) # 1 copies hoc/mod files to PySim_0 etc. and will allow multiple sims to run at once
						self.myProject.neuronSettings.setGraphicsMode(0) # 0 hides graphs during execution
                        
					if simulator == 'GENESIS':
						self.myProject.genesisFileManager.setQuitAfterRun(1) # Remove this line to leave the NEURON sim windows open after finishing
						self.myProject.genesisSettings.setCopySimFiles(1) # 1 copies hoc/mod files to PySim_0 etc. and will allow multiple sims to run at once
						self.myProject.genesisSettings.setGraphicsMode(0) # 0 hides graphs during execution


					currentTrain = 0

					ADD_TO_START_FINITIALIZE = self.myProject.neuronSettings.getNativeBlock(NativeCodeLocation.START_FINITIALIZE)
					ADD_TO_RECORD_I = self.myProject.neuronSettings.getNativeBlock(NativeCodeLocation.AFTER_SIMULATION)

					while currentTrain <= nTrains:

							while (len(self.simsRunning)>=maxNumSimultaneousSims):
									print "Sims currently running: "+str(self.simsRunning)
									print "Waiting..."
									time.sleep(3) # wait a while...
									self.updateSimsRunning()


							simRef = "PySim_"+str(currentTrain)

							print "Going to run simulation: "+simRef

							########  Adjusting the amplitude of the Voltage clamp ###############

                                                        TEXT_BEFORE_CREATION = """objref vector, gTrainFile\n""" + "objectvar clamp\n"

                                                        ### TEXT_BEFORE_INIT = "GranuleCell_mod_tonic[0].Soma {\n" + "clampobj = new VClamp(0.5)\n" + "clampobj.dur[0] = " + str(stimDur) + "\n" + "clampobj.amp[0] = " + str(stimAmp) + "\n" +  "}\n" # This should do the trick

                                                        TEXT_START_FINITIALIZE = "\n" + "gTrainFile = new File() \n" + "vector = new Vector(100000) \n" + "access GranuleCell_mod_tonic[0].Soma \n" + "clamp = new SEClamp(0.5) \n" + "clamp.amp1 = 0 \n" + "clamp.dur1 = 1e9 \n" + """gTrainFile.ropen("E:/neuroConstruct/models/Dan_GranCell/gTrains_nS/gAMPA_""" + str(currentTrain) + """.txt") \n""" + "vector.scanf(gTrainFile) \n" + "gTrainFile.close \n" + "for i = 0, vector.size() -1 { \n" + "     if (vector.x[i] <= 0) { \n" + "          vector.x[i] = 1e-20 \n" + "              } \n" + "        } \n" + "for i = 0, vector.size() -1 { \n" + "    vector.x[i] = ( 1 / vector.x[i] ) * 1000 \n" + "    } \n" + "vector.play(&clamp.rs, 0.03) \n" # This

                                                        TEXT_START_FINITIALIZE = TEXT_START_FINITIALIZE + ADD_TO_START_FINITIALIZE

                                                        TEXT_TO_RECORD_I = """// currently not used \n"""

                                                        TEXT_TO_RECORD_I = TEXT_TO_RECORD_I + ADD_TO_RECORD_I

                                                        self.myProject.neuronSettings.setNativeBlock(NativeCodeLocation.BEFORE_CELL_CREATION, TEXT_BEFORE_CREATION)
                                                        self.myProject.neuronSettings.setNativeBlock(NativeCodeLocation.START_FINITIALIZE, TEXT_START_FINITIALIZE)
                                                        self.myProject.neuronSettings.setNativeBlock(NativeCodeLocation.AFTER_SIMULATION, TEXT_TO_RECORD_I)

					
							print "Next Train: "+ str(currentTrain)

							self.myProject.simulationParameters.setReference(simRef)

							if simulator == "NEURON":
									self.myProject.neuronFileManager.generateTheNeuronFiles(simConfig,
																							None,
																							NeuronFileManager.RUN_HOC,
																							self.simulatorSeed)

									print "Generated NEURON files for: "+simRef

									compileProcess = ProcessManager(self.myProject.neuronFileManager.getMainHocFile())
#.........这里部分代码省略.........
开发者ID:pgleeson,项目名称:TestArea,代码行数:103,代码来源:Generate_fF_Curve.py

示例10: quit

# 需要导入模块: from ucl.physiol.neuroconstruct.project import ProjectManager [as 别名]
# 或者: from ucl.physiol.neuroconstruct.project.ProjectManager import loadProject [as 别名]
    print "Note: this file should be run using ..\\nC.bat -python XXX.py' or './nC.sh -python XXX.py'"
    print "See http://www.neuroconstruct.org/docs/python.html for more details"
    quit()

from ucl.physiol.neuroconstruct.project import ProjectManager
from ucl.physiol.neuroconstruct.project import SimConfig

from math import *
from random import *

# Load an existing neuroConstruct project
projFile = File("../../CElegans.ncx")
print "Loading project from file: " + projFile.getAbsolutePath()+", exists: "+ str(projFile.exists())

pm = ProjectManager()
project = pm.loadProject(projFile)
print "Loaded project: " + project.getProjectName()


##########################

newSimConfig = "MDL08Connections"
newSimConfigDesc = "Generates a subset of the CElegans neural system consisting of the MDL08 muscle and motor neurons which connect to it. See https://github.com/openworm/OpenWorm/issues/53"
cells = ["AS1", "AS2", "DA1", "DA2", "DB1", "DD1", "SMDDL", "SMDDR", "MDL08"]


##########################

simConfig = SimConfig(newSimConfig, newSimConfigDesc)

for cell in cells:
开发者ID:Jueast,项目名称:CElegansNeuroML,代码行数:33,代码来源:CreateSimConfigSubset.py

示例11: MultiSim

# 需要导入模块: from ucl.physiol.neuroconstruct.project import ProjectManager [as 别名]
# 或者: from ucl.physiol.neuroconstruct.project.ProjectManager import loadProject [as 别名]
class MultiSim(object):
    pconf = None
    logger = None
    proj_path = None
    pm = None
    myProject = None
    simConfig = None
    stimulation = None
    cellName = None
    simulatorSeed = None
    numGenerated = 0
    maxNumSimultaneousSims = 1
    simsRunning = []

    # A value of 0 or lower deactivates timeout.
    sim_timeout = 0
    
    def __init__(self, pconf):
        configDict = pconf.parse_project_data()
        self.pconf = pconf
        self.logger = pconf.get_logger("neurosim")
        self.proj_path = self.pconf.local_path(configDict["proj_path"])
        self.pm = ProjectManager()
        
        projFile = File(self.proj_path)
        self.sim_timeout = self.pconf.get_float("sim_timeout", "Simulation")
        self.myProject = self.pm.loadProject(projFile)
        self.simConfig = self.myProject.simConfigInfo.getSimConfig(self.pconf.get("sim_config", "Simulation"))
    #-----------------------------------------------------------
    def generate(self):

        neuroConstructSeed = int(self.pconf.get("neuroConstructSeed", "NeuroConstruct"))
        self.stimulation = self.pconf.get("stimulation", "Simulation")
        self.cellName = self.pconf.get("cell", "Simulation")
        self.simulatorSeed = int(self.pconf.get("simulatorSeed", "NeuroConstruct"))
        self.pm.doGenerate(self.simConfig.getName(), neuroConstructSeed)
        self.logger.debug("Waiting for the project to be generated...")
        t = 0.0
        startTime = time.time()
        while self.pm.isGenerating():
            self.logger.debug("Waiting...")
            time.sleep(0.050)
            t += 0.050
            if t > 5.0:
                self.logger.debug("Waiting...")
                t = 0.0
            if self.sim_timeout > 0 and (time.time() - startTime) > self.sim_timeout:
                self.logger.error("Project data could not be created due to timeout.")
                raise SimTimeoutError(self.sim_timeout, "Simulation timeout occured during project generation.")
        self.numGenerated = self.myProject.generatedCellPositions.getNumberInAllCellGroups()
        self.logger.debug("Number of cells generated: " + str(self.numGenerated))

        if self.numGenerated > 0:
            self.logger.info("Generating NEURON scripts...")
            self.myProject.neuronSettings.setCopySimFiles(1) # 1 copies hoc/mod files to PySim_0 etc. and will allow multiple sims to run at once
            # hier kann man entscheiden, ob Bilder angezeigt werden sollen oder nicht: 
                # ist ersteres auskommentiert, werden Bilder angezeigt und bei Einkommentierung des Zweiten auch automatisch wieder geschlossen
            self.myProject.neuronSettings.setNoConsole()

            max_sim_threads = self.pconf.get("maxSimThreads")
            if max_sim_threads == "auto":
                self.maxNumSimultaneousSims = available_cpu_count()
            else:
                self.maxNumSimultaneousSims = max(1, int(max_sim_threads))
    #-----------------------------------------------------------
    def run(self, prefix, dataList):
        """Runs all simulations defined by dataList for the loaded project.

        Each sim will be named (prefix + i) and dataList contains a
        dict with at least "densities", "channels" and "locations" keys.
        """
        try:
            for i in range(len(dataList)):
                self.waitForSimsRunning(self.maxNumSimultaneousSims - 1)
                if not self.runSim(i, prefix, dataList[i]):
                    sys.exit(0)
            self.waitForSimsRunning(0)
            self.logger.info("Finished running " + str(len(dataList)) + " simulations for project " + self.proj_path)
            return
        except (KeyboardInterrupt, SystemExit):
            raise
        except SimTimeoutError, e:
            self.logger.warning("Timeout occured: " + e.msg)
            sys.exit(10)
开发者ID:ChristophMetzner,项目名称:ROB-SS14-BachProj,代码行数:86,代码来源:neurosim.py

示例12: generateF_ICurve

# 需要导入模块: from ucl.physiol.neuroconstruct.project import ProjectManager [as 别名]
# 或者: from ucl.physiol.neuroconstruct.project.ProjectManager import loadProject [as 别名]
	def generateF_ICurve(self,
                         projFile,
                         simulator,
                         simConfig,
                         preStimAmp, preStimDel, preStimDur,
                         stimAmpLow, stimAmpInc, stimAmpHigh,
                         stimDel, stimDur,
                         simDuration,
                         analyseStartTime, analyseStopTime,
                         analyseThreshold,
                         maxNumSimultaneousSims = 4):

			# Load neuroConstruct project

			print "Loading project from file: " + projFile.getAbsolutePath()+", exists: "+ str(projFile.exists())

			pm = ProjectManager()
			self.myProject = pm.loadProject(projFile)
			self.simulator = simulator

			simConfig = self.myProject.simConfigInfo.getSimConfig(simConfig)

			simConfig.setSimDuration(simDuration)

			pm.doGenerate(simConfig.getName(), self.neuroConstructSeed)

			while pm.isGenerating():
					print "Waiting for the project to be generated with Simulation Configuration: "+str(simConfig)
					time.sleep(2)

			numGenerated = self.myProject.generatedCellPositions.getNumberInAllCellGroups()

			print "Number of cells generated: " + str(numGenerated)

			simReferences = {}


			if numGenerated > 0:

					print "Generating scripts for simulator: %s..."%simulator

					if simulator == 'NEURON':
						self.myProject.neuronFileManager.setQuitAfterRun(1) # Remove this line to leave the NEURON sim windows open after finishing
						self.myProject.neuronSettings.setCopySimFiles(1) # 1 copies hoc/mod files to PySim_0 etc. and will allow multiple sims to run at once
						self.myProject.neuronSettings.setGraphicsMode(0) # 0 hides graphs during execution
                        
					if simulator == 'GENESIS':
						self.myProject.genesisFileManager.setQuitAfterRun(1) # Remove this line to leave the NEURON sim windows open after finishing
						self.myProject.genesisSettings.setCopySimFiles(1) # 1 copies hoc/mod files to PySim_0 etc. and will allow multiple sims to run at once
						self.myProject.genesisSettings.setGraphicsMode(0) # 0 hides graphs during execution


					stimAmp = stimAmpLow

					while stimAmp <= stimAmpHigh:

							while (len(self.simsRunning)>=maxNumSimultaneousSims):
									print "Sims currently running: "+str(self.simsRunning)
									print "Waiting..."
									time.sleep(3) # wait a while...
									self.updateSimsRunning()


							simRef = "PySim_"+str(float(stimAmp))

							print "Going to run simulation: "+simRef

							########  Adjusting the amplitude of the current clamp ###############

                                                        # preStim = self.myProject.elecInputInfo.getStim(simConfig.getInputs().get(0))
							preStim = self.myProject.elecInputInfo.getStim("Input_3")

							preStim.setAmp(NumberGenerator(preStimAmp))
							preStim.setDel(NumberGenerator(preStimDel))
							preStim.setDur(NumberGenerator(preStimDur))
							self.myProject.elecInputInfo.updateStim(preStim)


							# stim = self.myProject.elecInputInfo.getStim(simConfig.getInputs().get(1))
							stim = self.myProject.elecInputInfo.getStim("Input_4")
							

							stim.setAmp(NumberGenerator(stimAmp))
							stim.setDel(NumberGenerator(stimDel))
							stim.setDur(NumberGenerator(stimDur))
							self.myProject.elecInputInfo.updateStim(stim)

							print "Next stim: "+ str(stim)

							self.myProject.simulationParameters.setReference(simRef)

							if simulator == "NEURON":
									self.myProject.neuronFileManager.generateTheNeuronFiles(simConfig,
																							None,
																							NeuronFileManager.RUN_HOC,
																							self.simulatorSeed)

									print "Generated NEURON files for: "+simRef

									compileProcess = ProcessManager(self.myProject.neuronFileManager.getMainHocFile())
#.........这里部分代码省略.........
开发者ID:pgleeson,项目名称:TestArea,代码行数:103,代码来源:GenerateF_ICurve.py

示例13: SingleCellNML2generator

# 需要导入模块: from ucl.physiol.neuroconstruct.project import ProjectManager [as 别名]
# 或者: from ucl.physiol.neuroconstruct.project.ProjectManager import loadProject [as 别名]
def SingleCellNML2generator(projString=" ",ConfigDict={},ElecLenList=[],somaNseg=None,savingDir=None,shell=None):
    
    projFile=File(os.getcwd(),projString)
    
    pm=ProjectManager()
    
    for config in ConfigDict.keys():
    
        project=pm.loadProject(projFile)
        
        nmlfm = NeuroMLFileManager(project)
        
        compSummary={}
       
        compSummary[config]={}
        
        if " " in config:
           configPath=config.replace(" ","_")
        else:
           configPath=config
           
        if savingDir !=None:
        
           full_path_to_config=r'../%s/%s'%(savingDir,configPath)
           
        else:
        
           full_path_to_config=r'../%s'%(configPath)
        
        for maxElecLen in ElecLenList:
            compSummary[config][str(maxElecLen)]={}
            cell=project.cellManager.getCell(ConfigDict[config])
            
            if maxElecLen > 0:

	       info = CellTopologyHelper.recompartmentaliseCell(cell, maxElecLen, project)
	       print "Recompartmentalising cell %s"%ConfigDict[config]
	       if somaNseg != None:
	          cell.getSegmentWithId(0).getSection().setNumberInternalDivisions(somaNseg)
	       if savingDir !=None: 
	          cellpath = r'../%s/%s/%s_%f'%(savingDir,configPath,configPath,maxElecLen)
	       else:
	          cellpath = r'../%s/%s_%f'%(configPath,configPath,maxElecLen)
	       
	    else:
	       if savingDir !=None:
	          cellpath = r'../%s/%s/%s_default'%(savingDir,configPath,configPath)
	       else:
	          cellpath = r'../%s/%s_default'%(configPath,configPath)
	       
	    summary=str(cell.getMorphSummary()) 
	    summary_string=summary.split("_")
	    for feature in summary_string:
	        feature_split=feature.split(":")
	        compSummary[config][str(maxElecLen)][feature_split[0]]=feature_split[1]
	    # the format of summary :  Segs:122_Secs:61_IntDivs:1458
	    print("Will be printing a cell morphology summary")
	    print compSummary[config][str(maxElecLen)]
	    ######### it turns out that this does not save recompartmentalized cells - all saved cells have identical spatial discretization; 
	    ##### generateNeuroML2 receives the parent projFile but not the loaded project which is  modified by the CellTopologyHelper.recompartmentaliseCell()
	    
	    ##################### neuroConstruct block #############################################################################
	    
	    neuroConstructSeed=1234
	    verbose=True
	    pm.doGenerate(config, neuroConstructSeed)

            while pm.isGenerating():
                  if verbose: 
                     print("Waiting for the project to be generated with Simulation Configuration: "+config)
                     time.sleep(5)
                     
	    simConfig = project.simConfigInfo.getSimConfig(config)
	    
	    seed=1234
	    genDir = File(projFile.getParentFile(), "generatedNeuroML2")
            nmlfm.generateNeuroMLFiles(simConfig,
                                       NeuroMLConstants.NeuroMLVersion.getLatestVersion(),
                                       LemsConstants.LemsOption.LEMS_WITHOUT_EXECUTE_MODEL,
                                       OriginalCompartmentalisation(),
                                       seed,
                                       False,
                                       True,
                                       genDir,
                                       "GENESIS Physiological Units",
                                       False)
            
            ########################################################################################################################
            
            if not os.path.exists(cellpath):
               print("Creating a new directory %s"%cellpath)
               os.makedirs(cellpath)
            else:
               print("A directory %s already exists"%cellpath)
              
               
            src_files = os.listdir("../../neuroConstruct/generatedNeuroML2/")
            for file_name in src_files:
                full_file_name = os.path.join("../../neuroConstruct/generatedNeuroML2/", file_name)
                if (os.path.isfile(full_file_name)):
#.........这里部分代码省略.........
开发者ID:OpenSourceBrain,项目名称:Thalamocortical,代码行数:103,代码来源:RunNeuroConstruct.py

示例14: generateV_ICurve

# 需要导入模块: from ucl.physiol.neuroconstruct.project import ProjectManager [as 别名]
# 或者: from ucl.physiol.neuroconstruct.project.ProjectManager import loadProject [as 别名]
	def generateV_ICurve(self,
                         projFile,
                         simulator,
                         simConfig,
                         stimAmpLow, stimAmpInc, stimAmpHigh,
                         stimDur,
                         simDuration,
                         maxNumSimultaneousSims = 4):

			# Load neuroConstruct project

			print "Loading project from file: " + projFile.getAbsolutePath()+", exists: "+ str(projFile.exists())

			pm = ProjectManager()
			self.myProject = pm.loadProject(projFile)
			self.simulator = simulator

			simConfig = self.myProject.simConfigInfo.getSimConfig(simConfig)

			simConfig.setSimDuration(simDuration)

			pm.doGenerate(simConfig.getName(), self.neuroConstructSeed)

			while pm.isGenerating():
					print "Waiting for the project to be generated with Simulation Configuration: "+str(simConfig)
					time.sleep(2)

			numGenerated = self.myProject.generatedCellPositions.getNumberInAllCellGroups()

			print "Number of cells generated: " + str(numGenerated)

			simReferences = {}


			if numGenerated > 0:

					print "Generating scripts for simulator: %s..."%simulator

					if simulator == 'NEURON':
						self.myProject.neuronFileManager.setQuitAfterRun(1) # Remove this line to leave the NEURON sim windows open after finishing
						self.myProject.neuronSettings.setCopySimFiles(1) # 1 copies hoc/mod files to PySim_0 etc. and will allow multiple sims to run at once
						self.myProject.neuronSettings.setGraphicsMode(0) # 0 hides graphs during execution
                        
					if simulator == 'GENESIS':
						self.myProject.genesisFileManager.setQuitAfterRun(1) # Remove this line to leave the NEURON sim windows open after finishing
						self.myProject.genesisSettings.setCopySimFiles(1) # 1 copies hoc/mod files to PySim_0 etc. and will allow multiple sims to run at once
						self.myProject.genesisSettings.setGraphicsMode(0) # 0 hides graphs during execution


					stimAmp = stimAmpLow

					ADD_TO_BEFORE_INIT = self.myProject.neuronSettings.getNativeBlock(NativeCodeLocation.BEFORE_INITIAL)
					ADD_TO_RECORD_I = self.myProject.neuronSettings.getNativeBlock(NativeCodeLocation.AFTER_SIMULATION)
					ADD_TO_START_FINITIALIZE = self.myProject.neuronSettings.getNativeBlock(NativeCodeLocation.START_FINITIALIZE)

					while stimAmp <= stimAmpHigh:

							while (len(self.simsRunning)>=maxNumSimultaneousSims):
									print "Sims currently running: "+str(self.simsRunning)
									print "Waiting..."
									time.sleep(3) # wait a while...
									self.updateSimsRunning()


							simRef = "PySim_"+str(float(stimAmp))

							print "Going to run simulation: "+simRef

							########  Adjusting the amplitude of the Voltage clamp ###############

                                                        TEXT_BEFORE_CREATION = "objref clampobj" + "\n" + "objref record_current" + "\n" + "objref data_save" + "\n"

                                                        # TEXT_BEFORE_INIT = "GranuleCell_mod_tonic[0].Soma {\n" + "clampobj = new SEClamp(0.5)\n" + "clampobj.dur1 = 150.0" + "\n" + "clampobj.amp1 = -100.0" + "\n" + "clampobj.dur2 = " + str(stimDur) + "\n" + "clampobj.amp2 = " + str(stimAmp) + "\n" + "clampobj.dur3 = 150.0" + "\n" + "clampobj.amp3 = -100.0" + "\n" + "clampobj.rs = 0.00001\n " + "}\n" # This should do the trick

                                                        # TEXT_BEFORE_INIT = TEXT_BEFORE_INIT + ADD_TO_BEFORE_INIT

                                                        TEXT_START_FINITIALIZE = "GranuleCell_mod_tonic[0].Soma {\n" + "clampobj = new SEClamp(0.5)\n" + "clampobj.dur1 = 150.0" + "\n" + "clampobj.amp1 = -100.0" + "\n" + "clampobj.dur2 = " + str(stimDur) + "\n" + "clampobj.amp2 = " + str(stimAmp) + "\n" + "clampobj.dur3 = 150.0" + "\n" + "clampobj.amp3 = -40.0" + "\n" + "clampobj.rs = 0.00001\n" + "record_current = new Vector()" + "\n" + "record_current.record(&clampobj.i)" + "\n" + "}\n" #This should do the trick

                                                        TEXT_START_FINITIALIZE = TEXT_START_FINITIALIZE + ADD_TO_START_FINITIALIZE

                                                        TEXT_TO_RECORD_I = """data_save = new File() \n""" + """strdef filename \n""" + """sprint(filename, """" + self.myProject.getProjectMainDirectory().getAbsolutePath() + """/simulations/current%.3f.txt", clampobj.amp2) \n""" + """data_save.wopen(filename) \n""" + """record_current.printf(data_save) \n""" + """data_save.close() \n"""

                                                        TEXT_TO_RECORD_I = TEXT_TO_RECORD_I + ADD_TO_RECORD_I

                                                        self.myProject.neuronSettings.setNativeBlock(NativeCodeLocation.BEFORE_CELL_CREATION, TEXT_BEFORE_CREATION)
                                                        # self.myProject.neuronSettings.setNativeBlock(NativeCodeLocation.BEFORE_INITIAL, TEXT_BEFORE_INIT)
                                                        self.myProject.neuronSettings.setNativeBlock(NativeCodeLocation.START_FINITIALIZE, TEXT_START_FINITIALIZE)
                                                        self.myProject.neuronSettings.setNativeBlock(NativeCodeLocation.AFTER_SIMULATION, TEXT_TO_RECORD_I)

					
							print "Next stim: "+ str(stimAmp)

							self.myProject.simulationParameters.setReference(simRef)

							if simulator == "NEURON":
									self.myProject.neuronFileManager.generateTheNeuronFiles(simConfig,
																							None,
																							NeuronFileManager.RUN_HOC,
																							self.simulatorSeed)

#.........这里部分代码省略.........
开发者ID:pgleeson,项目名称:TestArea,代码行数:103,代码来源:GenerateV_ICurve.py

示例15: testAll

# 需要导入模块: from ucl.physiol.neuroconstruct.project import ProjectManager [as 别名]
# 或者: from ucl.physiol.neuroconstruct.project.ProjectManager import loadProject [as 别名]
def testAll(argv=None):
    if argv is None:
        argv = sys.argv

    print "Loading project from "+ projFile.getCanonicalPath()
    
    projectManager = ProjectManager()
    project = projectManager.loadProject(projFile)

    assert(len(project.getProjectDescription())>0)

    assert(len(project.cellManager.getAllCells())>=22)

    assert(len(project.cellGroupsInfo.getAllCellGroupNames())>=36)


    synSetupFile = open("netbuild/makeSyns.sh", 'r')

    for line in synSetupFile:
        line = line.strip()

        if len(line)>0 and not line.startswith("#"):
            words = line.split()
            if len(words)>=6 and words[2].startswith("Syn_"):
                synName = words[2]
                cm = project.cellMechanismInfo.getCellMechanism(synName)
                print "Checked syn %s"%cm.getInstanceName()


    netConnList = open("netbuild/netConnList", 'r')



    for line in netConnList:
        line = line.strip()

        if len(line)>0 and not line.startswith("#"):

            #print "\n\n---- Deciphering line: "+ line
            words = line.split()
            source = words[0]
            target = words[1]
            syns = words[2].strip("[]").split(",")
            netConnName = "NC3D_"+source[5:]+"_"+target[5:]
            assert(source == project.morphNetworkConnectionsInfo.getSourceCellGroup(netConnName))
            assert(target == project.morphNetworkConnectionsInfo.getTargetCellGroup(netConnName))
            print "Checked %s"%netConnName


    assert(project.proj3Dproperties.getDisplayOption() == Display3DProperties.DISPLAY_SOMA_SOLID_NEURITE_LINE)

    assert(abs(project.simulationParameters.getDt()-0.025)<=1e-9)

    assert(not project.neuronSettings.isVarTimeStep())

    assert(project.neuronSettings.isForceCorrectInit())

    assert(project.neuronSettings.getDataSaveFormat().equals(NeuronSettings.DataSaveFormat.TEXT_NC))

    assert(not project.genesisSettings.isSymmetricCompartments())

    assert(project.genesisSettings.isPhysiologicalUnits())

    print "\n**************************************"
    print "    All tests passed!"
    print "**************************************\n"
开发者ID:RokasSt,项目名称:Thalamocortical,代码行数:68,代码来源:TestTraub.py


注:本文中的ucl.physiol.neuroconstruct.project.ProjectManager.loadProject方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。