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))
def plot_patch_clamp(experiment_key, picture_file='/tmp/voltage_trace_f-265_iclamp', picture_formats=['png']): 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.orm_map() e = db.load_experiment( experiment_key ) print e print e.voltage_trace e.voltage_trace.plot(picture_file=picture_file+str(e.morphology), picture_formats=picture_formats)
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()
vclamps=[vclamp], iclamps=[iclamp], neuron_passive_parameter=neuron_passive_parameter, duration=3./frequency, dt=1e-4, description = "SinusExperiment %s %i %f" % (morphology.name, compartment.compartment_id, frequency), ) experiment.run_simulation() voltage_trace = experiment.get_voltage_trace(delay=2./frequency)# nach Einschwinphase 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)
# -*- coding: utf-8 -*- ''' @author: stransky ''' from mrj.io.database import Database from mp.model.experiment_mso import Experiment_MSO from mp.model.neuron_mso import Neuron_MSO import time #from sqlalchemy.dialects.postgresql import ARRAY 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 mp.orm.experiment_mso mapping = mp.orm.experiment_mso.Mapper( db.engine ) mapping.orm_map() ms = [500, 501, 505, 506, 507, 512, 513, 514, 515, 516, 517, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 534, 535, 536, 537, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551] # range(500, 551+1) # range(392, 443+1) # [244] # synapses = [10] # range(10, 51, 5) 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') #
# -*- coding: utf-8 -*- """ @author: stransky """ if __name__ == "__main__": ###DOES NOT WORK IN SAME CLASS # test: 248 , smallest: 392, smallest w/ : 394 , biggest: 433, oldest: 434 from mrj.io.database import Database 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 mp.orm.experiment_mso mapping = mp.orm.experiment_mso.Mapper(db.engine) mapping.orm_map() result = db.load_result_mso(13) # result.experiment_mso.e=-70 # result.experiment_mso.e=0 result.plot() # picture_file='../../../doc/voltage_trace_r-0' print result.experiment_mso # takes most of the time
# -*- 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)
@author: stransky ''' import neuron #import scipy #from mrj.model.pydesignlib import MSO_Neuron, Simulation from mrj.io.database import Database from mrj.model.neuron_passive import * from mrj.model.morphology import * 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
# -*- coding: utf-8 -*- ''' @author: stransky ''' from mrj.model.neuron_mso import Neuron_MSO from mrj.model.experiment_mso import Experiment_MSO if __name__ == "__main__": ###DOES NOT WORK IN SAME CLASS #test: 248 , smallest: 392, smallest w/ : 394 , biggest: 433, oldest: 434, fastest: 424, slowest: 393 from mrj.io.database import Database 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')