Exemplo n.º 1
0
    def test_Stage0_parameters(self):

        # Mouse spiny
        cell_id_spiny = self.mouse_spiny_id

        # Create the parameter bounds for the optimization
        model_params_handler_spiny = AllActive_Model_Parameters(cell_id_spiny)
        param_bounds_file = 'param_bounds_stage0.json'
        param_bounds_path = utility.locate_template_file(
            os.path.join('parameters', param_bounds_file))
        model_params_spiny, model_params_release = model_params_handler_spiny.get_opt_params(
            param_bounds_path)
        model_mechs_spiny, model_mechs_release = model_params_handler_spiny.get_opt_mechanism(
            model_params_spiny, model_params_release, param_bounds_path)
        model_params_dict_spiny = convert_model_params_to_dict(
            model_params_spiny)

        mouse_spiny_stage0_params = os.path.join(self.mouse_spiny_path,
                                                 'Stage0_parameters.json')
        mouse_spiny_stage0_mechs = os.path.join(self.mouse_spiny_path,
                                                'Stage0_mechanism.json')
        model_params_spiny_true = utility.load_json(mouse_spiny_stage0_params)
        model_mechs_spiny_true = utility.load_json(mouse_spiny_stage0_mechs)
        model_params_spiny_true_dict = convert_model_params_to_dict(
            model_params_spiny_true)

        self.assertEqual(model_params_spiny_true_dict, model_params_dict_spiny)
        self.assertEqual(model_mechs_spiny_true, model_mechs_spiny)

        # Mouse aspiny
        cell_id_aspiny = self.mouse_aspiny_id

        # Create the parameter bounds for the optimization
        model_params_handler_aspiny = AllActive_Model_Parameters(
            cell_id_aspiny, swc_search_pattern='reconstruction.swc')
        param_bounds_file = 'param_bounds_stage0.json'
        param_bounds_path = utility.locate_template_file(
            os.path.join('parameters', param_bounds_file))
        model_params_aspiny, model_params_release = model_params_handler_aspiny.\
            get_opt_params(param_bounds_path)
        model_mechs_aspiny, model_mechs_release = model_params_handler_aspiny.\
            get_opt_mechanism(model_params_aspiny,
                              model_params_release, param_bounds_path)
        model_params_dict_aspiny = convert_model_params_to_dict(
            model_params_aspiny)

        mouse_aspiny_stage0_params = os.path.join(self.mouse_aspiny_path,
                                                  'Stage0_parameters.json')
        mouse_aspiny_stage0_mechs = os.path.join(self.mouse_aspiny_path,
                                                 'Stage0_mechanism.json')
        model_params_aspiny_true = utility.load_json(
            mouse_aspiny_stage0_params)
        model_mechs_aspiny_true = utility.load_json(mouse_aspiny_stage0_mechs)
        model_params_aspiny_true_dict = convert_model_params_to_dict(
            model_params_aspiny_true)

        self.assertEqual(model_params_aspiny_true_dict,
                         model_params_dict_aspiny)
        self.assertEqual(model_mechs_aspiny_true, model_mechs_aspiny)
Exemplo n.º 2
0
    def __init__(self,
                 script_template,
                 job_config_path,
                 script_name='chain_job.sh'):

        super(ChainSubJob, self).__init__(script_name)
        self.script_template = utility.locate_template_file(script_template)
        self.job_config_path = job_config_path
Exemplo n.º 3
0
    def __init__(self,
                 script_template,
                 job_config_path,
                 script_name='batch_job.sh'):

        super(PBS_JobModule, self).__init__(script_name)
        self.job_config_path = job_config_path
        self.script_template = utility.locate_template_file(script_template)
        self.submit_cmd = 'qsub'
Exemplo n.º 4
0
    def test_Stage2_parameters(self):

        # Mouse spiny
        cell_id_spiny = self.mouse_spiny_id

        # Create the parameter bounds for the optimization
        prev_params_file = 'Stage1_fit_spiny.json'
        model_params_handler_spiny = AllActive_Model_Parameters(
            cell_id_spiny, prev_model_pattern=prev_params_file)
        param_bounds_file = 'param_bounds_stage2.json'

        param_bounds_path = utility.locate_template_file(
            os.path.join('parameters', param_bounds_file))
        param_rule_func = adjust_param_bounds
        model_params_spiny, model_params_release = model_params_handler_spiny.get_opt_params(
            param_bounds_path, param_rule_func)
        model_mechs_spiny, model_mechs_release = model_params_handler_spiny.get_opt_mechanism(
            model_params_spiny, model_params_release, param_bounds_path)
        model_params_dict_spiny = convert_model_params_to_dict(
            model_params_spiny)
        mouse_spiny_stage2_params = os.path.join(self.mouse_spiny_path,
                                                 'Stage2_parameters.json')
        mouse_spiny_stage2_mechs = os.path.join(self.mouse_spiny_path,
                                                'Stage2_mechanism.json')
        model_params_spiny_true = utility.load_json(mouse_spiny_stage2_params)
        model_mechs_spiny_true = utility.load_json(mouse_spiny_stage2_mechs)
        model_params_spiny_true_dict = convert_model_params_to_dict(
            model_params_spiny_true)

        self.assertEqual(model_params_spiny_true_dict, model_params_dict_spiny)

        for mech_key, mech_val in model_mechs_spiny.items():
            self.assertEqual(set(model_mechs_spiny_true[mech_key]),
                             set(mech_val))

        # Mouse aspiny
        cell_id_aspiny = self.mouse_aspiny_id

        # Create the parameter bounds for the optimization
        prev_params_file = 'Stage1_fit_aspiny.json'
        model_params_handler_aspiny = AllActive_Model_Parameters(
            cell_id_aspiny,
            swc_search_pattern='reconstruction.swc',
            prev_model_pattern=prev_params_file)
        param_bounds_file = 'param_bounds_stage2_mouse_aspiny.json'
        param_bounds_path = os.path.join(self.mouse_aspiny_path,
                                         param_bounds_file)
        param_rule_func = adjust_param_bounds
        model_params_aspiny, model_params_release = model_params_handler_aspiny.\
            get_opt_params(param_bounds_path, param_rule_func)
        model_mechs_aspiny, model_mechs_release = model_params_handler_aspiny.\
            get_opt_mechanism(model_params_aspiny,
                              model_params_release, param_bounds_path)
        model_params_dict_aspiny = convert_model_params_to_dict(
            model_params_aspiny)

        model_params_dict_aspiny = convert_model_params_to_dict(
            model_params_aspiny)
        mouse_aspiny_stage2_params = os.path.join(self.mouse_aspiny_path,
                                                  'Stage2_parameters.json')
        mouse_aspiny_stage2_mechs = os.path.join(self.mouse_aspiny_path,
                                                 'Stage2_mechanism.json')
        model_params_aspiny_true = utility.load_json(
            mouse_aspiny_stage2_params)
        model_mechs_aspiny_true = utility.load_json(mouse_aspiny_stage2_mechs)
        model_params_aspiny_true_dict = convert_model_params_to_dict(
            model_params_aspiny_true)

        self.assertEqual(model_params_aspiny_true_dict,
                         model_params_dict_aspiny)
        for mech_key, mech_val in model_mechs_aspiny.items():
            self.assertEqual(set(model_mechs_aspiny_true[mech_key]),
                             set(mech_val))
Exemplo n.º 5
0
    def test_Stage0_features(self):

        # Mouse spiny
        cell_id_spiny = self.mouse_spiny_id

        nwb_handler_spiny = NwbExtractor(cell_id_spiny,
                                         nwb_search_pattern=cell_id_spiny)
        acceptable_stimtypes = ['Long Square']
        ephys_dir = os.path.join(self.mouse_spiny_path, 'mouse_spiny_ephys')
        ephys_data_path, stimmap_filename = \
            nwb_handler_spiny.save_cell_data(acceptable_stimtypes,
                                             ephys_dir=ephys_dir)
        feature_path = utility.locate_template_file(
            os.path.join('parameters', 'feature_set_stage0.json'))
        train_features_spiny, _, _, train_protocols_spiny, _ = \
            nwb_handler_spiny.get_ephys_features(feature_path, ephys_data_path,
                                                 stimmap_filename, filter_feat_proto_passive)

        train_features_dict_spiny = convert_stim_feat_to_dict(
            train_features_spiny, 'soma')
        train_protocols_dict_spiny = convert_protocols_to_dict(
            train_protocols_spiny, 'stimuli')
        mouse_spiny_stage0_features = os.path.join(self.mouse_spiny_path,
                                                   'Stage0_features.json')
        mouse_spiny_stage0_protocols = os.path.join(self.mouse_spiny_path,
                                                    'Stage0_protocols.json')
        model_features_spiny_true = utility.load_json(
            mouse_spiny_stage0_features)
        model_protocols_spiny_true = utility.load_json(
            mouse_spiny_stage0_protocols)
        model_features_spiny_true_dict = convert_stim_feat_to_dict(
            model_features_spiny_true, 'soma')
        model_protocols_spiny_true_dict = convert_protocols_to_dict(
            model_protocols_spiny_true, 'stimuli')

        self.assertAlmostEqual(model_features_spiny_true_dict,
                               train_features_dict_spiny)
        self.assertAlmostEqual(model_protocols_spiny_true_dict,
                               train_protocols_dict_spiny)

        # Mouse aspiny
        cell_id_aspiny = self.mouse_aspiny_id

        nwb_handler_aspiny = NwbExtractor(cell_id_aspiny,
                                          nwb_search_pattern=cell_id_aspiny)
        acceptable_stimtypes = ['Long Square']
        ephys_dir = os.path.join(self.mouse_aspiny_path, 'mouse_aspiny_ephys')
        ephys_data_path, stimmap_filename = \
            nwb_handler_aspiny.save_cell_data(acceptable_stimtypes,
                                              ephys_dir=ephys_dir)
        feature_path = utility.locate_template_file(
            os.path.join('parameters', 'feature_set_stage0.json'))
        train_features_aspiny, _, _, train_protocols_aspiny, _ = \
            nwb_handler_aspiny.get_ephys_features(feature_path, ephys_data_path,
                                                  stimmap_filename, filter_feat_proto_passive)

        train_features_dict_aspiny = convert_stim_feat_to_dict(
            train_features_aspiny, 'soma')
        train_protocols_dict_aspiny = convert_protocols_to_dict(
            train_protocols_aspiny, 'stimuli')
        mouse_aspiny_stage0_features = os.path.join(self.mouse_aspiny_path,
                                                    'Stage0_features.json')
        mouse_aspiny_stage0_protocols = os.path.join(self.mouse_aspiny_path,
                                                     'Stage0_protocols.json')
        model_features_aspiny_true = utility.load_json(
            mouse_aspiny_stage0_features)
        model_protocols_aspiny_true = utility.load_json(
            mouse_aspiny_stage0_protocols)
        model_features_aspiny_true_dict = convert_stim_feat_to_dict(
            model_features_aspiny_true, 'soma')
        model_protocols_aspiny_true_dict = convert_protocols_to_dict(
            model_protocols_aspiny_true, 'stimuli')

        self.assertAlmostEqual(model_features_aspiny_true_dict,
                               train_features_dict_aspiny)
        self.assertAlmostEqual(model_protocols_aspiny_true_dict,
                               train_protocols_dict_aspiny)