Example #1
0
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))
Example #2
0
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)
Example #3
0
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
Example #4
0
# -*- 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()
Example #5
0
                        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)
Example #6
0
# -*- 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') #
Example #7
0
# -*- 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
Example #8
0
# -*- 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()
Example #9
0
# -*- 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)
Example #10
0
@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
Example #11
0
# -*- 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')