Example #1
0
    def setUp(self):
        from core.network.default_params import Perturbation_list as pl
        from_disk=2
        
        import oscillation_perturbations4 as op
        
        rep=2
        
        sim_time=rep*1000.0
      
        local_num_threads=20
        
        l=op.get()
        
        p=pl({'simu':{'sim_time':sim_time,
                      'sim_stop':sim_time,
                      'local_num_threads':local_num_threads}},
                  '=')
        p+=l[7]
        self.setup=Setup(**{'local_num_threads':local_num_threads,
                        'repetition':rep})
        v=simulate(builder=Builder,
                            from_disk=from_disk,
                            perturbation_list=p,
                            script_name=(__file__.split('/')[-1][0:-3]
                                         +'/data'),
                            setup=self.setup)
        
        file_name, file_name_figs, from_disks, d, models= v
        

        self.file_name_figs=file_name_figs
        self.from_disks=from_disks
        self.d=d
        self.models=models
def perturbations(rep, res):

    threads = 4

    l = []

    #     l.append(op.get()[0])
    #     l.append(op3.get()[3])
    l = op.get()[4::3]
    ll = []

    p_sizes = [
        0.1989460102,
        #      0.1608005821,
        #      0.122655154,
        #              0.0845097259
    ]
    p_sizes = [p / p_sizes[0] for p in p_sizes]
    max_size = 4000
    for ss, p_size in zip(
        [
            6.25,
            #8.3 ,
            #12.5,
            #                            25
        ],
            p_sizes):

        for i, _l in enumerate(l):
            _l = deepcopy(_l)
            per = pl(
                {
                    'netw': {
                        'size': int(p_size * max_size),
                        'sub_sampling': {
                            'M1': ss,
                            'M2': ss
                        },
                    }
                }, '=', **{'name': 'ss-' + str(ss)})
            _l += per

            _l += pl({'simu': {'threads': threads}}, '=')
            ll.append(_l)

    for _l in ll:
        _l += pl(
            {
                'conn': {
                    'FS_M1_gaba': {
                        'rule': 'set-not_set'
                    },
                    'FS_M2_gaba': {
                        'rule': 'set-not_set'
                    }
                }
            }, '=')

    return ll, threads
Example #3
0
def perturbations(rep, res):

    threads = 20

    l = []

    #     l.append(op.get()[0])
    #     l.append(op.get()[4::3])
    l.append(op.get()[4 + 3])

    ll = []
    #     w=0.4
    p_sizes = [0.1989460102, 0.1608005821, 0.122655154, 0.0845097259]
    p_sizes = [p / p_sizes[0] for p in p_sizes]
    max_size = 4000
    for ss, p_size in zip([6.25, 8.3, 12.5, 25], p_sizes):

        for i, _l in enumerate(l):
            _l = deepcopy(_l)
            per = pl(
                {
                    'netw': {
                        'size': int(p_size * max_size),
                        'sub_sampling': {
                            'M1': ss,
                            'M2': ss
                        },
                    }
                }, '=', **{'name': 'ss-' + str(ss)})
            _l += per

            _l += pl({'simu': {'threads': threads}}, '=')
            ll.append(_l)


#     for _l in deepcopy([ll[0]]):
#         _lr=deepcopy(_l)
#         _lr.update_list(
#             pl({'nest':{'GA_M1_gaba':{'weight':5*2.*w},
# #                         'GA_FS_gaba':{'weight':0.1}
#                         }},'*', **{'name':'GA-XX-equal'}))
#         ll.append(_lr)
#
#         _lr=deepcopy(_l)
#         _lr.update_list(
#             pl({'nest':{'GA_M1_gaba':{'weight':5*4.*w},
# #                         'GA_FS_gaba':{'weight':0.1}
#                         }},'*', **{'name':'GA-XX-equal'}))
#         ll.append(_lr)
#
#         _lr=deepcopy(_l)
#         _lr.update_list(
#             pl({'nest':{'GA_M1_gaba':{'weight':5*0.5*w},
# #                         'GA_FS_gaba':{'weight':0.1}
#                         }},'*', **{'name':'GA-XX-equal'}))
#         ll.append(_lr)

    return ll, threads
Example #4
0
def perturbations():
    sim_time = 10000.0
    size = 20000.0
    threads = 1

    freqs = [1., 2.0]

    path = ('/home/mikael/results/papers/inhibition' +
            '/network/simulate_inhibition_ZZZ4/')
    l = op.get()[-3:]

    for i in range(len(l)):
        l[i] += pl(
            {
                'simu': {
                    'sim_time': sim_time,
                    'sim_stop': sim_time,
                    'threads': threads
                },
                'netw': {
                    'size': size
                }
            }, '=')

    damp = process(path, freqs)
    for key in sorted(damp.keys()):
        val = damp[key]
        print numpy.round(val, 2), key

    ll = []
    for i, _l in enumerate(l):
        for j, _ in enumerate(freqs):

            amp = [numpy.round(damp[_l.name][j], 2), 1]
            d = {
                'type': 'oscillation2',
                'params': {
                    'p_amplitude_mod': amp[0],
                    'p_amplitude0': amp[1],
                    'freq': 20.
                }
            }
            _ll = deepcopy(_l)
            dd = {}
            for key in ['C1', 'C2', 'CF', 'CS']:
                dd = misc.dict_update(dd, {'netw': {'input': {key: d}}})

            _ll += pl(dd, '=', **{'name': 'amp_{0}-{1}'.format(*amp)})

            ll.append(_ll)

    return ll, threads
Example #5
0
def perturbations():

    threads = 8

    l = []

    #     l.append(op.get()[0])
    l.append(op.get()[7])

    ll = []

    l[-1] += pl({'simu': {'threads': threads}}, '=')

    return l, threads
Example #6
0
def perturbations(rep, res):

    threads = 16

    l = []

    #     l.append(op.get()[0])
    #     l.append(op.get()[4::3])
    l.append(op.get()[4 + 3])

    ll = []

    p_sizes = [
        #             0.1989460102,
        0.1608005821,
        #             0.122655154,
        #             0.0845097259
    ]
    p_sizes = [p / p_sizes[0] for p in p_sizes]
    max_size = 4000
    for ss, p_size in zip(
        [
            #                             6.25,
            8.3,
            #                             12.5,
            #                            25
        ],
            p_sizes):

        for i, _l in enumerate(l):
            _l = deepcopy(_l)
            per = pl(
                {
                    'netw': {
                        'size': int(p_size * max_size),
                        'sub_sampling': {
                            'M1': ss,
                            'M2': ss
                        },
                    }
                }, '=', **{'name': 'ss-' + str(ss)})
            _l += per

            _l += pl({'simu': {'threads': threads}}, '=')
            ll.append(_l)

    return ll, threads
Example #7
0
def perturbations(rep, res):
    sim_time = rep * res * 1000.0
    size = 3000.0
    threads = 8

    l = op.get()

    for i in range(len(l)):
        l[i] += pl(
            {
                'simu': {
                    'sim_time': sim_time,
                    'sim_stop': sim_time,
                    'threads': threads
                },
                'netw': {
                    'size': size
                }
            }, '=')

    return l, threads
def perturbations(rep,res, sizes):

    threads=40

    l=[]
    
#     l.append(op.get()[0])
#     l.append(op.get()[4::3])
    l.append(op.get()[4+3])
    
    ll=[]
    
    

    for size in sizes:
        for i, _l in enumerate(l):
            _lt=deepcopy(_l)
            per=pl({'netw':{'size':size, 
                            'sub_sampling':{'M1':1,
                                            'M2':1},}},
                      '=', 
                      **{'name':''})
            _lt+=per
    
            _lt+=pl({'simu':{'threads':threads}},'=')
            ll.append(_lt)

    
    for l in ll[:]:
        for beta in [0, 0.9375, 0.3125]:
            _lb=deepcopy(l) 
            per=pl({'nest':{'M1_low':{'beta_I_GABAA_2':beta },
                            'M2_low':{'beta_I_GABAA_2':beta }, 
                            }},
                      '=', 
                    **{'name':'beta-'+str(beta)})
            _lb+=per
            ll.append(_lb)
    return ll, threads
def get():

    ll = [op.get()[7]]

    for l in ll[:]:
        for beta in [0., -0.9375, -0.3125]:
            _lb = deepcopy(l)
            per = pl(
                {
                    'nest': {
                        'M1_low': {
                            'beta_I_GABAA_2': beta
                        },
                        'M2_low': {
                            'beta_I_GABAA_2': beta
                        },
                    }
                }, '=', **{'name': 'beta-' + str(beta)})
            _lb += per
            ll.append(_lb)

    return ll
Example #10
0
    'do_runs': range(NUM_NETS / 2),  #A run for each perturbation
    'do_obj': False,
    'i0': FROM_DISK_0,
    'job_name': 'inh_YYY',
    'l_hours': ['00', '00', '00'],
    'l_minutes': ['15', '10', '5'],
    'l_seconds': ['00', '00', '00'],
    'lower': 1,
    'local_threads_milner': 20,
    'local_threads_superm': 5,
    'module': module,
    'nets': ['Net_{}'.format(i) for i in range(NUM_RUNS)],
    'repetitions': 5,
    'path_code': default_params.HOME_CODE,
    'path_results': get_path_logs(LOAD_MILNER_ON_SUPERMICRO, FILE_NAME),
    'perturbation_list': [op.get()[7]],
    'size': 3000,
    'upper': 1.5
}

d_process_and_thread = par_process_and_thread(**kwargs)
pp(d_process_and_thread)
kwargs.update(d_process_and_thread)

p_list = pert_add_MSN_cluster_compete(**kwargs)
p_list = pert_set_data_path_to_milner_on_supermicro(p_list,
                                                    LOAD_MILNER_ON_SUPERMICRO)

for i, p in enumerate(p_list):
    print i, p
Example #11
0
 'laptime':
 1000.0,
 'local_threads_milner':
 20,
 'local_threads_superm':
 4,
 'max_size':
 5000,
 'module':
 module,
 'nets': ['Net_0', 'Net_1', 'Net_2', 'Net_3', 'Net_4'],
 'path_code':
 default_params.HOME_CODE,
 'path_results':
 get_path_logs(LOAD_MILNER_ON_SUPERMICRO, FILE_NAME),
 'perturbation_list': [op.get()[4 + 3]],
 'p_sizes': [
     1,
     0.523,
     0.4278185787,
 ],
 'p_subsamp': [
     1.,
     2.5,
     5.,
 ],
 'res':
 10,
 'rep':
 10,
 'time_bin':
    'freqs': [1.5],
    'freq_oscillation': 20.,
    'from_disk_0': FROM_DISK_0,
    'i0': FROM_DISK_0,
    'job_name': 'beta_final',
    'l_hours': ['00', '00', '00'],
    'l_minutes': ['15', '10', '5'],
    'l_seconds': ['00', '00', '00'],
    'local_threads_milner': 20,
    'local_threads_superm': 5,
    'module': module,
    'nets': ['Net_0', 'Net_1'],  #The nets for each run
    'path_code': default_params.HOME_CODE,
    'path_rate_runs': get_path_rate_runs('simulate_inhibition_ZZZ4/'),
    'path_results': get_path_logs(LOAD_MILNER_ON_SUPERMICRO, FILE_NAME),
    'perturbation_list': op.get(),
    'sim_time': 10000.0,
    'size': 20000.0,
}

d_process_and_thread = par_process_and_thread(**kwargs)
pp(d_process_and_thread)
kwargs.update(d_process_and_thread)

p_list = pert_add_oscillations(**kwargs)
p_list = pert_set_data_path_to_milner_on_supermicro(p_list,
                                                    LOAD_MILNER_ON_SUPERMICRO)

for i, p in enumerate(p_list):
    print i, p
                   'GPe TA lesioned (D1,D2)'], 
        'laptime':1000.0,
        'local_threads_milner':40,
        'local_threads_superm':4,
                 
        'max_size':20000.,
        'module':module,
        
        'nets':['Net_0', 'Net_1', 'Net_2', 'Net_3', 'Net_4'],
        
        'other_scenario':True,
        
        'path_code':default_params.HOME_CODE,
        'path_results':get_path_logs(LOAD_MILNER_ON_SUPERMICRO, 
                                     FILE_NAME),
        'perturbation_list':[op.get()[4+3]],
        'proportion_connected':[0.2]*1, #related to toal number fo runs
        'p_sizes':[
                   1.
                  ],
        'p_subsamp':[
                     1.
                     ],
        'res':10,
        'rep':80,
        
        'time_bin':100,
        }

d_process_and_thread=par_process_and_thread(**kwargs)
kwargs.update(d_process_and_thread)
from scripts_inhibition.base_simulate import (
    get_path_logs, get_args_list_inhibition, get_kwargs_list_indv_nets,
    par_process_and_thread, pert_set_data_path_to_milner_on_supermicro,
    pert_add_inhibition)

import scripts_inhibition.base_inhibition_striatum as module
import oscillation_perturbations4 as op
import pprint
pp = pprint.pprint

FILE_NAME = __file__.split('/')[-1][0:-3]
FROM_DISK_0 = 0
LOAD_MILNER_ON_SUPERMICRO = False
NUM_NETS = 1
NUM_RUNS = len(op.get())  #A run for each perturbation
num_sim = NUM_NETS * NUM_RUNS

kwargs = {
    'Builder': Builder,
    'cores_milner': 40 * 1,
    'cores_superm': 20,
    'file_name': FILE_NAME,
    'from_disk': 0,
    'debug': False,
    'do_runs': [0],  #range(NUM_RUNS), #A run for each perturbation
    'do_obj': False,
    'i0': FROM_DISK_0,
    'job_name': 'inh_YYY',
    'l_hours': ['00', '00', '00'],
    'l_minutes': ['15', '10', '5'],