示例#1
0
def lateral_branching(neuron_params):
    ds.reset_kernel()
    np.random.seed(kernel['seeds'])
    ds.set_kernel_status(kernel, simulation_id="uniform_branching")
    neuron_params['growth_cone_model'] = 'run_tumble'
    neuron_params[use_type] = False

    neuron_params["position"] = np.random.uniform(-500, 500,
                                                  (num_neurons, 2)) * um
    gid = ds.create_neurons(n=num_neurons,
                            params=neuron_params,
                            num_neurites=2)

    step(1 * hour, 1, False, False)
    neuron_params[use_type] = True
    ds.set_object_properties(gid, params=neuron_params)
    # ~ axon_params=neuron_params)
    step(2 * day, 1, False, False)
    # neuron_params['use_lateral_branching'] = True
    ds.SaveSwc(swc_resolution=5)
    ds.save_json_info()

    swc_file = ds.get_simulation_id()
    # print(swc_file)
    return swc_file
示例#2
0
def run_dense(kernel, neuron_params, ID, plot):
    """
    """
    resolution = 1.
    np.random.seed(kernel['seeds'])
    kernel["resolution"] = resolution
    kernel["angles_in_radians"] = True
    ds.set_kernel_status(kernel, simulation_id=ID)
    neuron_params['growth_cone_model'] = gc_model

    neuron_params["position"] = np.random.uniform(-1000, 1000,
                                                  (num_neurons, 2))
    gid = ds.create_neurons(n=num_neurons,
                            params=neuron_params,
                            axon_params=axon_params,
                            dendrites_params=dendrite_params,
                            num_neurites=6,
                            position=[])

    # ds.set_object_properties(gid, params=neuron_params,
    # axon_params=neuron_params)
    step(3. / resolution, 1, False, plot)
    step(300. / resolution, 1, False, plot)

    neuron_params['use_van_pelt'] = True
    dendrite_params['use_van_pelt'] = True
    axon_params['use_flpl_branching'] = False
    axon_params['flpl_branching_rate'] = 0.001
    ds.set_object_properties(gid,
                             params=neuron_params,
                             dendrites_params=dendrite_params,
                             axon_params=axon_params)
    step(6000. / resolution, 1, False, plot)
    axon_migated = {
        'use_van_pelt': True,
        # "flpl_branching_rate" : 0.004,
        "res_retraction_threshold": 0.4,
        "res_elongation_threshold": 0.15,
        "res_elongation_factor": 0.6,
        # 'use_van_pelt' : True,
        "res_neurite_generated": 4500.,
        "res_neurite_delivery_tau": 50.,
        "res_correlation": 0.15,
        "res_variance": 0.02,
        "res_use_ratio": 0.3,
    }
    axon_params.update(axon_migated)
    ds.set_object_properties(gid,
                             params=neuron_params,
                             dendrites_params=dendrite_params,
                             axon_params=axon_params)
    step(3000. / resolution, 1, False, plot)
    ds.SaveSwc(swc_resolution=25)
    ds.save_json_info()

    swc_file = ds.get_simulation_id()
    # print(swc_file)

    # ds.reset_kernel()
    return swc_file
示例#3
0
def resource_branching(neuron_params):
    ds.reset_kernel()
    np.random.seed(kernel['seeds'])
    ds.set_kernel_status(kernel, simulation_id="van_pelt_branching")
    neuron_params['growth_cone_model'] = 'run_tumble_critical'
    neuron_params['res_branching_threshold'] = np.inf

    neuron_params["position"] = np.random.uniform(-500, 500, (num_neurons, 2))
    gid = ds.create_neurons(n=num_neurons,
                            params=neuron_params,
                            axon_params=neuron_params,
                            num_neurites=1,
                            position=[])

    step(10, 1, False, False)
    neuron_params['res_branching_threshold'] = b_th
    ds.set_object_properties(gid,
                             params=neuron_params,
                             axon_params=neuron_params)
    step(5000, 1, False, False)
    # neuron_params['use_lateral_branching'] = True
    ds.SaveSwc(swc_resolution=5)
    ds.save_json_info()

    swc_file = ds.get_simulation_id()
    # print(swc_file)
    return swc_file
示例#4
0
def run_dense(neuron_params):
    """
    """
    resolution = 1.
    np.random.seed(kernel['seeds'])
    kernel["resolution"] = resolution * minute
    ds.set_kernel_status(kernel, simulation_id="van_pelt_branching")
    neuron_params['growth_cone_model'] = gc_model

    neuron_params["position"] = np.random.uniform(
        -500, 500, (num_neurons, 2)) * um
    gid = ds.create_neurons(n=num_neurons,
                                  params=neuron_params,
                                  axon_params=axon_params,
                                  num_neurites=3,
                                  position=[]
                                  )

    neuron_params['use_van_pelt'] = False
    neuron_params['use_flpl_branching'] = False

    ds.set_object_properties(gid, params=neuron_params,
                             axon_params=axon_params)
    step(200./resolution * minute, 1, False, True)
    neuron_params['use_van_pelt'] = True
    # neuron_params['use_flpl_branching'] = True
    # neuron_params["flpl_branching_rate"] = 0.001
    ds.set_object_properties(gid, params=neuron_params,
                             axon_params=neuron_params)
    step(1000./resolution * minute, 1, False, True)
    step(1000./resolution * minute, 1, False, True)
    step(1000./resolution * minute, 1, False, True)
    step(1000./resolution * minute, 1, False, True)
    # step(180, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(4080, 1, False, True)
    # neuron_params['use_van_pelt'] = True
    # ds.set_object_properties(gid,params = neuron_params,
    # axon_params=neuron_params)
    # step(10, 1, False, True)
    # step(10, 1, False, False)
    # neuron_params['use_lateral_branching'] = True
    ds.SaveSwc(swc_resolution=5)
    ds.save_json_info()

    swc_file = ds.get_simulation_id()
    # print(swc_file)

    # ds.reset_kernel()
    return swc_file
示例#5
0
ds.simulate(5 * day)
ds.plot.plot_recording(rec, show=False)
ds.plot.plot_neurons(show=True)

lb = {
    # 'res_branching_threshold': np.inf,
    "use_flpl_branching": True,
    "flpl_branching_rate": 0.003 * cph,
    "lateral_branching_angle_mean": 50. * deg
}

lb_axon = lb.copy()
lb_axon["flpl_branching_rate"] = 0.012 * cph

ds.set_object_properties(n, axon_params=lb_axon, dendrites_params=lb)

ds.simulate(15 * day)
ds.plot.plot_neurons(show=True)

end_branching = {
    "res_branching_threshold": 0.2 * uM,
    'res_branching_proba': 0.05
}
ds.set_object_properties(n,
                         axon_params=end_branching,
                         dendrites_params=end_branching)

ds.simulate(10 * day)

ds.plot.plot_recording(rec2, show=False)
示例#6
0
    vp_dend = {
        # branching choice and parameters
        "use_van_pelt": True,
        "gc_split_angle_mean": 30. * deg,
        "gc_split_angle_std": 5. * deg,
        "B": 5. * cpm,
        "E": 0.1,
        "S": 1.5,  # large S leads to core dump
        "T": 7 * day,
    }

    neurite_params = {"axon": vp_axon, "dendrites": vp_dend}

    # update the parameters lists of the neurons 'gids'
    ds.set_object_properties(gids, neurite_params=neurite_params)

    ds.simulate(7 * day + 2 * day)

    print("Simulation time : {}".format(dense.get_kernel_status('time')))
    ds.plot.plot_neurons(mode="mixed", show=True)
    '''
    Change the parameters to include lateral branching
    '''

    print("\nLateral branching ON\n")

    lat_params = {
        "speed_growth_cone": 0.05 * um / minute,
        "use_van_pelt": False,
        "use_uniform_branching": True,
示例#7
0
n = ds.create_neurons(n=num_neurons,
                      params=neuron_params,
                      dendrites_params=dend_params,
                      num_neurites=8)

ds.simulate(1. * day)

ds.plot.plot_neurons()

dend_params = {
    # "use_uniform_branching": True,
    # "uniform_branching_rate": 0.02*cph,
    # "lateral_branching_angle_mean": 70.*deg,
}

ds.set_object_properties(n, dendrites_params=dend_params)

ds.simulate(1. * day)

ds.plot.plot_neurons()

dend_params = {
    "speed_growth_cone": 0.005 * um / minute,
    "somatropic_scale": 30. * um,
    "somatropic_factor": 0.1,
    # branching
    "uniform_branching_rate": 0.02 * cph,
    "uniform_split_rate": 0.05 * cph,
    "gc_split_angle_mean": 90. * deg,
    "gc_split_angle_std": 3. * deg,
}
示例#8
0
def run_dense(neuron_params):
    """
    """
    resolution = 1.
    np.random.seed(kernel['seeds'])
    kernel["resolution"] = resolution
    kernel["angles_in_radians"] = True
    ds.set_kernel_status(kernel, simulation_id="case_neuron")
    neuron_params['growth_cone_model'] = gc_model

    neuron_params["position"] = np.random.uniform(-1000, 1000,
                                                  (num_neurons, 2))
    gid = ds.create_neurons(n=num_neurons,
                            params=neuron_params,
                            axon_params=axon_params,
                            dendrites_params=dendrite_params,
                            num_neurites=4,
                            position=[])
    step(100. / resolution, 1, False, True)
    arborization = {
        "use_van_pelt": True,
        "gc_split_angle_mean": 0.50,
        "B": 11.,
        "T": 200.
    }
    arborization_axon = {
        "use_van_pelt": True,
        "gc_split_angle_mean": 1.0,
        "B": 19.,
        "T": 5000.
    }

    dendrite_params.update(arborization)
    axon_params.update(arborization_axon)
    ds.set_object_properties(gid,
                             params=neuron_params,
                             dendrites_params=dendrite_params,
                             axon_params=axon_params)
    step(1000. / resolution, 1, False, True)
    elongation = {
        "use_van_pelt": False,
        "persistence_length": 30.,
        "res_retraction_factor": 0.01,
        "res_elongation_factor": 0.1,
        # "res_leakage": 0.05,
        "res_retraction_threshold": 0.1,
        "res_elongation_threshold": 0.2,
        "res_leakage": 30.0,
        "res_neurite_generated": 4500.,
        "res_correlation": 0.05,
        "res_variance": 0.002,
        "res_use_ratio": 0.1,
    }
    elongation_axon = {"res_elongation_factor": 0.5}

    dendrite_params.update(elongation)
    axon_params.update(elongation_axon)

    print("elongation")

    ds.set_object_properties(gid,
                             params=neuron_params,
                             dendrites_params=dendrite_params,
                             axon_params=axon_params)
    step(2002. / resolution, 1, False, True)

    # stop the dendrites
    stortignation = {
        "use_van_pelt": False,
        "persistence_length": 10.,
        "res_retraction_factor": 0.0,
        "res_elongation_factor": 0.0,
        "res_retraction_threshold": 0.000,
        "res_elongation_threshold": 10.,
    }

    stortignation_axon = {
        "use_van_pelt": False,
        "sensing_angle": 0.20,
        "persistence_length": 91.,
        "flpl_branching_rate": 0.002,
        "use_flpl_branching": True,
        "res_retraction_factor": 0.02,
        "res_elongation_factor": 0.2910,
        # "res_leakage": 0.05,
        "res_retraction_threshold": 0.0001,
        "res_elongation_threshold": 0.10,
        "res_leakage": 10.0,
        "res_neurite_generated": 45000.,
        "res_correlation": 0.05,
        "res_weight_diameter": 0.,
        "res_variance": 0.001,
        "res_use_ratio": 0.1,
    }

    print("stortignation")

    dendrite_params.update(stortignation)
    axon_params.update(stortignation_axon)
    ds.set_object_properties(gid,
                             params=neuron_params,
                             dendrites_params=dendrite_params,
                             axon_params=axon_params)
    step(2000. / resolution, 1, False, True)

    ds.SaveSwc(swc_resolution=5)
    ds.save_json_info()

    swc_file = ds.get_simulation_id()
    # print(swc_file)

    # ds.reset_kernel()
    return swc_file
n = ds.create_neurons(n=num_neurons,
                      params=neuron_params,
                      neurite_params=dend_params,
                      num_neurites=8)

ds.simulate(1. * day)

ds.plot.plot_neurons()

dend_params = {
    # "use_uniform_branching": True,
    # "uniform_branching_rate": 0.02*cph,
    # "lateral_branching_angle_mean": 70.*deg,
}

ds.set_object_properties(n, neurite_params=dend_params)

ds.simulate(1. * day)

ds.plot.plot_neurons()

dend_params = {
    "speed_growth_cone": 0.005 * um / minute,
    "somatropic_scale": 30. * um,
    "somatropic_factor": 0.1,
    # branching
    "uniform_branching_rate": 0.02 * cph,
    "uniform_split_rate": 0.05 * cph,
    "gc_split_angle_mean": 90. * deg,
    "gc_split_angle_std": 3. * deg,
}
示例#10
0
        step(1 * day, 0, True)

    dendrite_params.update({
        "speed_growth_cone": 0.04 * um / minute,
        "use_van_pelt": False
    })

    axon_params.update({
        "speed_growth_cone": 0.1 * um / minute,
        "use_van_pelt": False,
        "use_uniform_branching": True,
        "uniform_branching_rate": 0.1 * cph,
    })

    ds.set_object_properties(gids,
                             params=neuron_params,
                             dendrites_params=dendrite_params,
                             axon_params=axon_params)

    # ~ for i in range(2):
    # ~ step(4.*day, 0, True)
    # ~ step(16.25*hour, 0, True)
    step(simtime, 0, True)
    # ~ step(5.*hour, 0, True)
    duration = time.time() - start
    print(ds.get_kernel_status("time"))

    # prepare the plot
    plt.show(block=True)
    print("SIMULATION ENDED")

    # save
示例#11
0
# Turn branching on

#~ vp_branching = {'use_van_pelt': True}
resource_branching = {
    'res_branching_threshold': 80.,
    'res_branching_proba': 0.0005
}
d_rsrc_branching = {
    'res_branching_threshold': 60.,
    'res_branching_proba': 0.0003
}

#~ ds.set_object_properties(n, params=vp_branching)
#~ ds.set_object_properties(n, params=resource_branching)
ds.set_object_properties(n,
                         axon_params=resource_branching,
                         dendrites_params=d_rsrc_branching)

ds.simulate(20000)

ds.plot.plot_neurons(show=True)

lb = {
    "use_van_pelt": False,
    'res_branching_threshold': np.inf,
    "use_flpl_branching": True,
    "flpl_branching_rate": 0.001,
    "lateral_branching_angle_mean": 45.
}

no_b = {"use_van_pelt": False}
示例#12
0
def run_dense(neuron_params):
    """
    """
    kernel["resolution"] = resolution * minute
    ds.set_kernel_status(kernel, simulation_id="case_neuron")
    neuron_params['growth_cone_model'] = gc_model
    print(neuron_params['growth_cone_model'])

    neuron_params["position"] = np.random.uniform(-1000, 1000,
                                                  (num_neurons, 2)) * um
    print(neuron_params['growth_cone_model'])
    gid = ds.create_neurons(n=num_neurons,
                            params=neuron_params,
                            axon_params=axon_params,
                            dendrites_params=dendrite_params,
                            num_neurites=1)
    print(neuron_params['growth_cone_model'])
    # ~ rec = ds.create_recorders(gid, ["speed", "resource"], levels="growth_cone")
    rec = ds.create_recorders(gid, ["resource"], levels="growth_cone")
    print(neuron_params['growth_cone_model'])
    # ds.set_object_properties(gid, params=neuron_params,
    # axon_params=neuron_params)
    step(3. / resolution * minute, 1, False, False)
    step(500. / resolution * minute, 1, False, False)
    print(neuron_params['growth_cone_model'])
    neuron_params['use_van_pelt'] = True
    dendrite_params['use_van_pelt'] = True
    axon_params['use_flpl_branching'] = True
    axon_params['flpl_branching_rate'] = 0.001 * cpm
    neuron_params.pop('growth_cone_model')
    print(dendrite_params)
    ds.set_object_properties(gid,
                             params=neuron_params,
                             dendrites_params=dendrite_params,
                             axon_params=axon_params)
    step(2000. / resolution * minute, 1, False, True)
    axon_migated = {
        # 'use_flpl_branching' : True,
        # "flpl_branching_rate" : 0.004 * cpm,
        "res_retraction_threshold": 0.4 * uM,
        "res_elongation_threshold": 0.15 * uM,
        "res_elongation_factor": 0.4 * um / minute,
        # 'use_van_pelt' : True,
        "res_neurite_generated": 4500. * uM,
        "res_neurite_delivery_tau": 50. * minute,
        "res_correlation": 0.15,
        "res_variance": 0.02 * uM / minute**0.5,
        "res_use_ratio": 0.3,
    }
    axon_params.update(axon_migated)
    ds.set_object_properties(gid,
                             params=neuron_params,
                             dendrites_params=dendrite_params,
                             axon_params=axon_params)
    step(3000. / resolution * minute, 1, False, True)
    # neuron_params['use_flpl_branching'] = True
    # neuron_params["flpl_branching_rate"] = 0.001 * cpm
    # ds.set_object_properties(gid,params = neuron_params,
    # axon_params= neuron_params)
    # step(1000./resolution, 1, False, True)
    # step(1000./resolution, 1, False, True)
    # step(1000./resolution, 1, False, True)
    # step(1000./resolution, 1, False, True)
    # step(180, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(4080, 1, False, True)
    # neuron_params['use_van_pelt'] = True
    # ds.set_object_properties(gid,params = neuron_params,
    # axon_params=neuron_params)
    # step(10, 1, False, True)
    # step(10, 1, False, False)
    # neuron_params['use_lateral_branching'] = True
    #~ ds.SaveSwc(swc_resolution=5)
    #~ ds.save_json_info()
    ds.plot.plot_recording(rec, show=False)

    swc_file = ds.get_simulation_id()
    # print(swc_file)

    # ds.reset_kernel()
    return swc_file
示例#13
0
    "T": 3*day,
}

axon_vp = {
    "use_van_pelt": True,
    # Best model
    "gc_split_angle_mean": 30.*deg,
    "B": 5.*cpm,
    "E": 0.,
    "S": 1.,
    "T": 3*day,
}

neurite_params = {"axon": axon_vp, "dendrites": dend_vp}

ds.set_object_properties(n, neurite_params=neurite_params)

ds.simulate(12*day)

# ds.save_to_swc("chandelier-cell.swc", gid=n, resolution=50)

ds.plot.plot_neurons()


lb_a = {
    "use_van_pelt": False,
    #~ 'res_branching_threshold': np.inf,
    "use_flpl_branching": True,
    "flpl_branching_rate": 0.1*cph, 
    "lateral_branching_angle_mean": 45.*deg
}
示例#14
0
# ~ ds.plot.plot_neurons(show=True)


lb = {
    # 'res_branching_threshold': np.inf,
    "use_flpl_branching": True,
    "flpl_branching_rate": 0.003*cph, 
    "lateral_branching_angle_mean": 50.*deg
}

lb_axon = lb.copy()
lb_axon["flpl_branching_rate"] = 0.012*cph

neurite_params = {"axon": lb_axon, "dendrites": lb}

ds.set_object_properties(n, neurite_params=neurite_params)

ds.simulate(15*day)
# ~ ds.plot.plot_recording(rec, show=False)
# ~ ds.plot.plot_neurons(show=True)


end_branching = {
    "res_branching_threshold": 0.2*uM,
    'res_branching_proba': 0.05
}

ds.set_object_properties(n, neurite_params=end_branching)

ds.simulate(10*day)
示例#15
0
def run_dense(neuron_params):
    """
    """
    resolution = 30. * minute
    np.random.seed(kernel['seeds'])  #Seeds the random number generator
    kernel["resolution"] = resolution
    #    kernel["angles_in_radians"] = True
    ds.set_kernel_status(kernel, simulation_id="multipolar")

    neuron_params["position"] = np.random.uniform(-1000, 1000,
                                                  (num_neurons, 2)) * um

    gid = ds.create_neurons(n=num_neurons,
                            params=neuron_params,
                            axon_params=axon_params,
                            dendrites_params=dendrite_params,
                            num_neurites=4)

    # ds.set_object_properties(gid, params=neuron_params,
    # axon_params=neuron_params)
    step(3 * day, 1, False, True)

    axon_params['use_van_pelt'] = True
    axon_params["B"] = 90. * cpm
    axon_params["E"] = 0.2
    axon_params["S"] = 1.
    axon_params["T"] = 10000. * minute

    dendrite_params['use_van_pelt'] = True
    dendrite_params["B"] = 90. * cpm
    dendrite_params["E"] = 0.2
    dendrite_params["S"] = 1.
    dendrite_params["T"] = 10000. * minute

    axon_params['use_flpl_branching'] = False
    axon_params['flpl_branching_rate'] = 0.001 * cpm

    ds.set_object_properties(gid,
                             params=neuron_params,
                             dendrites_params=dendrite_params,
                             axon_params=axon_params)

    step(6 * day, 1, False, True)

    axon_migated = {
        'use_van_pelt': True,
        # "flpl_branching_rate" : 0.004,
        "res_retraction_threshold": 0.4 * uM,
        "res_elongation_threshold": 0.15 * uM,
        "res_elongation_factor": 0.6 * um / minute,
        # 'use_van_pelt' : True,
        "res_neurite_generated": 4500. * uM,
        "res_neurite_delivery_tau": 50. * minute,
        "res_correlation": 0.15,
        "res_variance": 0.02 * uM / minute**0.5,
        "res_use_ratio": 0.3 * cpm,
    }
    axon_params.update(axon_migated)
    ds.set_object_properties(gid,
                             params=neuron_params,
                             dendrites_params=dendrite_params,
                             axon_params=axon_params)
    step(3 * day, 1, False, True)
    # neuron_params['use_flpl_branching'] = True
    # neuron_params["flpl_branching_rate"] = 0.001
    # ds.set_object_properties(gid,params = neuron_params,
    # axon_params= neuron_params)
    # step(1000./resolution, 1, False, True)
    # step(1000./resolution, 1, False, True)
    # step(1000./resolution, 1, False, True)
    # step(1000./resolution, 1, False, True)
    # step(180, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(4080, 1, False, True)
    # neuron_params['use_van_pelt'] = True
    # ds.set_object_properties(gid,params = neuron_params,
    # axon_params=neuron_params)
    # step(10, 1, False, True)
    # step(10, 1, False, False)
    # neuron_params['use_lateral_branching'] = True
    ds.io.save_to_swc(resolution=25)
    ds.save_json_info()

    swc_file = ds.get_simulation_id()
    # print(swc_file)

    # ds.reset_kernel()
    return swc_file
示例#16
0
    "use_van_pelt": False,
    "use_flpl_branching": True,
    "flpl_branching_rate": 0.00025 * cpm,
    "lateral_branching_angle_mean": 45. * deg,
}

dend_params = {
    "use_van_pelt": False,
    "use_uniform_branching": True,
    "uniform_branching_rate": 0.0002 * cpm,
    "persistence_length": 100. * um,
    "speed_growth_cone": 0.01 * um / minute,
    "lateral_branching_angle_mean": 40. * deg,
}

ds.set_object_properties(n, dendrites_params=dend_params, axon_params=lb_axon)

ds.simulate(30000 * minute)
ds.plot.plot_neurons()

# then further branching

vp_axon = {
    "use_flpl_branching": False,
    #~ "use_van_pelt": True,
    #~ "B": 5.,
    #~ "T": 40000.,
    #~ "gc_split_angle_mean": 30.,
}

dend_params = {
示例#17
0
                      dendrites_params=dend_params,
                      num_neurites=6)

ds.simulate(2 * day)

ds.plot.plot_neurons(show=True, subsample=50)

lb_axon = {
    "use_van_pelt": False,
    "use_flpl_branching": True,
    "flpl_branching_rate": 0.1 * cph,
    "speed_growth_cone": 0.02 * um / minute,
    "lateral_branching_angle_mean": 45. * deg,
}

ds.set_object_properties(n, axon_params=lb_axon)

ds.simulate(5 * day)

ds.io.save_to_swc("granule-cell.swc", gid=n)
ds.plot.plot_neurons(show=True, subsample=50)

import neurom as nm
from neurom import viewer
nrn = nm.load_neuron("granule-cell.swc")

fig, _ = viewer.draw(nrn)

for ax in fig.axes:
    ax.set_title("")
示例#18
0
def run_dense(kernel, neuron_params, ID, plot=True):
    """
    """
    np.random.seed(kernel['seeds'])
    resolution = kernel["resolution"]
    kernel["angles_in_radians"] = True
    ds.set_kernel_status(kernel, simulation_id=ID)
    neuron_params['growth_cone_model'] = gc_model

    neuron_params["position"] = np.random.uniform(-1000, 1000,
                                                  (num_neurons, 2))
    gid = ds.create_neurons(n=num_neurons,
                            params=neuron_params,
                            axon_params=axon_params,
                            dendrites_params=dendrite_params,
                            num_neurites=4,
                            position=[])
    step(100. / resolution, 1, False, plot)
    arborization = {
        "use_van_pelt": True,
        "gc_split_angle_mean": 0.50,
        "B": 11.,
        "T": 200.
    }
    arborization_axon = {
        "use_van_pelt": True,
        "gc_split_angle_mean": 1.0,
        "B": 19.,
        "T": 2000.
    }

    dendrite_params.update(arborization)
    axon_params.update(arborization_axon)
    ds.set_object_properties(gid,
                             params=neuron_params,
                             dendrites_params=dendrite_params,
                             axon_params=axon_params)
    step(1000. / resolution, 1, False, plot)
    elongation = {
        "use_van_pelt": False,
        "persistence_length": 30.,
    }
    dendrite_params.update(elongation)
    ds.set_object_properties(gid,
                             params=neuron_params,
                             dendrites_params=dendrite_params,
                             axon_params=axon_params)
    step(2002. / resolution, 1, False, plot)
    stortignation = {
        "use_van_pelt": False,
        "persistence_length": 10.,
    }
    stortignation_axon = {
        "use_van_pelt": False,
        # "sensing_angle": 0.20,
        "use_flpl_branching": True,
        "persistence_length": 91.,
        "flpl_branching_rate": 0.0066,
    }

    # dendrite_params.update(stortignation)
    # axon_params.update(stortignation_axon)
    # ds.set_object_properties(gid,
    # params=neuron_params,
    # dendrites_params=dendrite_params,
    # axon_params=axon_params)
    step(2000. / resolution, 1, False, plot)

    # stortignation = {"use_van_pelt": False,
    # "persistence_length":10.,
    # }

    # stortignation_axon={
    # "use_van_pelt": False,
    # "use_flpl_branching": True,
    # "flpl_branching_rate" : 0.003,
    # "sensing_angle": 0.63,
    # "persistence_length": 40.,
    # }

    # dendrite_params.update(stortignation)
    # axon_params.update(stortignation_axon)
    # ds.set_object_properties(gid,
    # params=neuron_params,
    # dendrites_params=dendrite_params,
    # axon_params=axon_params)
    # step(2000./resolution, 1, False, True)
    # step(2000./resolution, 1, False, True)
    ds.SaveSwc(swc_resolution=5)
    ds.save_json_info()

    swc_file = ds.get_simulation_id()
    # print(swc_file)

    # ds.reset_kernel()
    return swc_file
示例#19
0
ds.set_kernel_status(kernel)

pyr_neuron = ds.create_neurons(1,
                               params=pyr_nrn,
                               axon_params=pyr_axon_i,
                               dendrites_params=pyr_dend_i,
                               num_neurites=3)

# initial extension (5 days)
ds.simulate(sim_time)
ds.plot.plot_neurons(mode="mixed")
print(ds.get_object_properties(pyr_neuron))
# Extension and branching period (5 days)
ds.set_object_properties(pyr_neuron,
                         axon_params=pyr_axon_lb,
                         dendrites_params=pyr_dend_lb)
ds.simulate(sim_time)
ds.plot.plot_neurons(mode="mixed")

# Extension and branching period (5 more days)
ds.simulate(sim_time)
ds.plot.plot_neurons(mode="mixed")

# Termination period (10 days)
ds.set_object_properties(pyr_neuron,
                         axon_params=axon_t,
                         dendrites_params=dend_t)
ds.simulate(2 * sim_time)
ds.plot.plot_neurons(mode="mixed")
示例#20
0
def run_dense(neuron_params):
    """
    """
    resolution = 1.
    np.random.seed(kernel['seeds'])
    kernel["resolution"] = resolution
    kernel["angles_in_radians"] = True
    ds.set_kernel_status(kernel, simulation_id="case_neuron")
    neuron_params['growth_cone_model'] = gc_model

    neuron_params["position"] = np.random.uniform(-1000, 1000,
                                                  (num_neurons, 2))
    gid = ds.create_neurons(n=num_neurons,
                            params=neuron_params,
                            axon_params=axon_params,
                            dendrites_params=dendrite_params,
                            num_neurites=4,
                            position=[])

    step(2000. / resolution, 1, False, True)

    splitting_dendrites = {
        'use_van_pelt': True,
        "persistence_length": 60.0,
        "gc_split_angle_mean": 1.,
        'use_flpl_branching': True,
        "flpl_branching_rate": 0.0036,
        "B": 30.,
        "E": 0.9,
        "S": 1.0,
        "T": 10000.,
    }
    dendrite_params.update(splitting_dendrites)
    ds.set_object_properties(gid,
                             params=neuron_params,
                             dendrites_params=dendrite_params)
    step(2000. / resolution, 1, False, True)
    arborization = {
        'use_van_pelt': False,
        'use_flpl_branching': False,
        "persistence_length": 30.0,
        "res_weight_diameter": 0.1,
        "res_retraction_threshold": 0.01,
        "res_elongation_threshold": 0.12,
        "res_elongation_factor": 0.0612,
        "res_retraction_factor": 10.,
        # 'use_van_pelt' : True,
        "res_neurite_generated": 9500.,
        "res_neurite_delivery_tau": 50.,
        "res_correlation": 0.15,
        "res_variance": 0.02,
        "res_use_ratio": 0.3,
    }
    dendrite_params.update(arborization)
    ds.set_object_properties(gid,
                             params=neuron_params,
                             dendrites_params=dendrite_params,
                             axon_params=axon_params)
    step(2000. / resolution, 1, False, True)

    arborization = {
        'use_van_pelt': True,
        # 'use_flpl_branching' : True,
        "flpl_branching_rate": 0.00036,
        "persistence_length": 5.0,
        "res_retraction_threshold": 0.1,
        "res_weight_diameter": 0.001,
        "res_elongation_threshold": 0.14,
        "res_elongation_factor": 0.12,
        # 'use_van_pelt' : True,
        "res_neurite_generated": 9500.,
        "res_neurite_delivery_tau": 50.,
        "res_correlation": 0.5,
        "res_variance": 0.2,
        "res_use_ratio": 0.4,
    }
    dendrite_params.update(arborization)
    ds.set_object_properties(gid,
                             params=neuron_params,
                             dendrites_params=dendrite_params,
                             axon_params=axon_params)
    step(2000. / resolution, 1, False, True)
    step(2000. / resolution, 1, False, True)
    # neuron_params['use_flpl_branching'] = True
    # neuron_params["flpl_branching_rate"] = 0.001
    # ds.set_object_properties(gid,params = neuron_params,
    # axon_params= neuron_params)
    # step(1000./resolution, 1, False, True)
    # step(1000./resolution, 1, False, True)
    # step(1000./resolution, 1, False, True)
    # step(1000./resolution, 1, False, True)
    # step(180, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(1080, 1, False, True)
    # step(4080, 1, False, True)
    # neuron_params['use_van_pelt'] = True
    # ds.set_object_properties(gid,params = neuron_params,
    # axon_params=neuron_params)
    # step(10, 1, False, True)
    # step(10, 1, False, False)
    # neuron_params['use_lateral_branching'] = True
    ds.SaveSwc(swc_resolution=15)
    ds.save_json_info()

    swc_file = ds.get_simulation_id()
    # print(swc_file)

    # ds.reset_kernel()
    return swc_file
示例#21
0
    }

    vp_dend = {
        # branching choice and parameters
        "use_van_pelt": True,
        "gc_split_angle_mean": 30. * deg,
        "gc_split_angle_std": 5. * deg,
        "B": 900. * cpm,
        "E": 0.1,
        "S": 1.5,  # large S leads to core dump
        "T": 8.6e2 * minute,
    }

    # update the parameters lists of the neurons 'gids'
    ds.set_object_properties(gids,
                             axon_params=vp_axon,
                             dendrites_params=vp_dend)
    # pprint(ds.get_object_properties(gids))

    ds.simulate(7 * day + 2 * day)

    print("Simulation time : {}".format(dense.get_kernel_status('time')))
    ds.plot.plot_neurons(mode="mixed", show=True)
    '''
    Change the parameters to include lateral branching
    '''

    print("\nLateral branching ON\n")

    lat_params = {
        "speed_growth_cone": 0.005 * um / minute,