コード例 #1
0
ファイル: patch_clamp.py プロジェクト: G-Node/Morphjongleur
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
コード例 #2
0
ファイル: import.py プロジェクト: G-Node/Morphjongleur
# -*- 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()
コード例 #3
0
ファイル: simulation_mp.py プロジェクト: G-Node/Morphjongleur
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 )
コード例 #4
0
ファイル: analysis.py プロジェクト: G-Node/Morphjongleur
# -*- 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()
コード例 #5
0
ファイル: change.py プロジェクト: G-Node/Morphjongleur
# -*- 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)
コード例 #6
0
ファイル: simulation.py プロジェクト: G-Node/Morphjongleur
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()
コード例 #7
0
    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)#