def generate(morphologies=[16,17,18,19]): for m in morphologies: # try: db = Database( db_name='postgresql://hal08.g-node.pri/morphjongleur', exec_role='morphjokey_admin', exec_path='mitsubachi') # must be mapped before Object is created #mapping = mrj.orm.experiment.Mapper( db.engine ) mapping = mrj.orm.morphology.Mapper( db.engine ) mapping.orm_map() morphology = db.load_morphology( m ) print morphology iclamp = mrj.model.clamp.IClamp(morphology.biggest) r = mrj.model.experiment.RecordingPoint(morphology.compartments[len(morphology.compartments)-1]) experiment = mrj.model.experiment.Experiment( morphology, clamps=[iclamp], recording_points=r, neuron_passive_parameter=Neuron_passive_parameter(Ra=35.4,g=0.001) ) db.store( experiment ) print experiment experiment.run_simulation() voltage_trace = experiment.get_voltage_trace() db.store( voltage_trace ) print voltage_trace
# -*- coding: utf-8 -*- from mrj.io.swc import SwcParser from mrj.io.database import Database db = Database( db_name='postgresql://hal08.g-node.pri/lehmann', exec_role='morphjokey_admin', exec_path='morphjokey') swc_parser = SwcParser(db) m = swc_parser.parse('../../../Data/example_morph.swc') #print( m ) #print( m._compartments[0]) db.store( m ) #db.create_subtree( m ) # morphology_key mapped via sqlalchemy: print m.morphology_key m = db.load_morphology( m.morphology_key ) print( m ) # contains ALL auto calculated data from database #print( m._compartments[0]) #print "\n\n\ncompartments as dicts:" #for c in m._compartments: # print c.info.__dict__ #a = db.session.execute("SELECT compartment_id,compartment_parent_id,children FROM morphjokey.mrj_v_compartments_children WHERE morphology_key = 150;") #b = a.fetchall()
rs = [1,0.93,0.64,0.32,0] # [1,0] fs = [500] # 500 Hz [1/s] duration = 10e-3 # 50-100 ms iterations = 10 # 10 gns = ['both', 'medial', 'lateral'] description = 'exitatory' resumepoint = None # (0,424,1,10,500,'both') # start_time = time.time() #from neuron import gui #print "morphology type r -> sigma synapsen minU[mV] at[ms] calc_time[s]" print "resumepoint(iteration, morphology_key, r, #synapses, frequency, group_name)\tinit time + exp time + store time = run time [s]\tResult" for m in ms: for i in range(iterations): if resumepoint == None: morphology = db.load_morphology( m ) for r in rs: for n in synapses: for f in fs: for gn in gns: run_start = start_time print "(%i,%i,%f,%i,%f,%s)\t" % (i,m,r,n,f,gn) , if resumepoint != None: if resumepoint == (i,m,r,n,f,gn): morphology = db.load_morphology( m ) resumepoint = None else: print "skipped" continue mso_neuron = Neuron_MSO( morphology )
# -*- coding: utf-8 -*- from mrj.io.database import Database from mrj.model.neuromorph import Morph db = Database( db_name='postgresql://hal08.g-node.pri/lehmann', exec_role='morphjokey_admin', exec_path='morphjokey') # must be mapped before Object is created import mrj.orm.morphology mapping = mrj.orm.morphology.Mapper( db.engine ) mapping.orm_map() m_db = db.load_morphology( 460 ) m = Morph(m_db) print(m.get_surface_volume_ratio()) print(m.db_model.analysis['surface_volume_ratio']) print(m.db_model.analysis) print m m.show_tree()
# -*- coding: utf-8 -*- from mrj.io.database import Database from mrj.model.morphology import * import os db = Database( db_name='postgresql://hal08.g-node.pri/lehmann', exec_role='morphjokey_admin', exec_path='morphjokey') m = db.load_morphology( 291 ) print( m ) print( m.compartments[2] ) mg = Morphology_groups() mg.name = 'groupname' mg.age = '23' mg.description = 'cool' m._groups.append( mg ) m.description += ' owner:'+str( os.environ['USER'] ) # use your name! cg = Compartment_groups() cg.name = 'primes' cg.description = 'cool' cg.type = 'axon' print( m ) # key not available print( m.compartments[2] ) #append OR store sufficient to get key m.compartments[2]._groups.append(cg)
from mrj.model.clamp import * from mrj.model.experiment import * from mrj.model.experiment import plot import mrj.orm.experiment from neuron import gui; # For an overview (gui menu bar): Tools -> Model View -> 1 real cell -> root... db = Database( db_name='postgresql://hal08.g-node.pri/lehmann', exec_role='morphjokey_admin', exec_path='morphjokey') # must be mapped before Object is created mapping = mrj.orm.experiment.Mapper( db.engine ) mapping.orm_map() morphology = db.load_morphology( 256 ) print morphology #morphology.create_tree() clamp = IClamp(morphology.root.children[0]) neuron_passive_parameter = Neuron_passive_parameter(Ra=80) experiment = Experiment(morphology, clamp, neuron_passive_parameter) print experiment db.store( experiment ) #TODO: change compartments needs group group mapping #c = m.getCompartment( 5 ) #c = m.getCompartment( 7 ) experiment.neuron_create()
import time db = Database( db_name='postgresql://hal08.g-node.pri/lehmann', exec_role='morphjokey_admin', exec_path='morphjokey' ) # must be mapped before Object is created import mrj.orm.experiment_mso mapping = mrj.orm.experiment_mso.Mapper( db.engine ) mapping.orm_map() # mapping.create_tables() m = db.load_morphology( 424 ) #from mrj.io.swc import SwcParser #swc_parser = SwcParser() #m = swc_parser.parse('../../../Data/test.swc') n = Neuron_MSO(m)#, exitatoric_medial_dendrits=[4], exitatoric_lateral_dendrits=[8] s = Experiment_MSO(n, f=200, r=1.00, n=None, duration=10e-3, delay=1e-3, group_name=None, description='test')#, group_name='medial' s.neuron_create() #db.store( s ) #print s start_time = time.time() s.run_simulation() end_time = time.time() result = s.get_result()#Result(t=[0.001,0.002,0.003,0.004],v=[-60.0,-60.0,-60.0,-66.0],t_min=0.03,v_min=-66,experiment=experiment)#