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
def import_swc(swcs): db = Database(db_name="postgresql://hal08.g-node.pri/lehmann", exec_role="morphjokey_admin", exec_path="morphjokey") swc_parser = SwcParser() for swc in swcs: print(swc) m_swc = swc_parser.parse(swc) db.store(m_swc) print("start to commit data according to '%s'." % (swc)) tic = time.time() db.session.commit() toc = time.time() print("Done. It took %s seconds." % (toc - tic))
# -*- 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()
return mrj.model.sinusresult.SinusResult(voltage_trace, compartment, frequency, amplitude) if __name__ == '__main__': import mrj.io.swc from mrj.io.database import Database db = Database( db_name='postgresql://hal08.g-node.pri/morphjongleur', exec_role='morphjokey_admin', exec_path='mitsubachi' ) # must be mapped before Object is created import mrj.orm.sinusresult import mrj.model.morphology mapping = mrj.orm.sinusresult.Mapper( db ) mapping.orm_map() for swc in ['../../../data/H060602DB_10_2_zentai_.swc','../../../data/H060602VB_10_2_zentai_.swc','../../../data/H060607DB_10_2(zentai).swc','../../../data/H060607VB_10_2(zentai).swc']:#['../../../data/test.swc']: print swc morphology = mrj.model.morphology.swc_parse(swc) cs = []#morphology.biggest cs.extend( morphology.terminal_tips ) for f in range(10,1001,15): print "%i Hz" % (f) i = 0 for c in cs: i = i + 1 print "%i/%i\t\r" % (cs.index(c)+1, len(cs)), sinusresult = experiment(morphology=morphology, compartment=c, frequency=f, amplitude=-1e-9) #sinusresult.save() db.store(sinusresult)
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 ) experiment = Experiment_MSO(mso_neuron, f=f, r=r, n=n, group_name=gn, duration=duration, description=description) #print experiment db.store( experiment ) experiment.neuron_create() end_time = time.time() print "%f" %(end_time-start_time) , start_time = end_time experiment.run_simulation() end_time = time.time() experiment.calc_time = end_time-start_time print "+ %f" %(experiment.calc_time) , start_time = end_time result = experiment.get_result() #print result