Esempio n. 1
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
Esempio n. 2
0
def experiment(morphology, compartment, frequency, amplitude):
        vclamp  = mrj.model.clamp.VClamp(compartment=morphology.biggest)
       
        iclamp  = mrj.util.pattern_generator.SinusClamp(compartment=compartment,
                    amplitude=amplitude,
                    frequency=frequency, duration=3./frequency
                )
        neuron_passive_parameter    = mrj.model.neuron_passive.Neuron_passive_parameter(Ra=35.4,g=0.001)
        experiment  = mrj.model.experiment.Experiment(
                        morphology, 
                        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)