def prepare_and_run(subjects, classes, out_dir, options_path, user_feature_paths, user_feature_type, fs_subject_dir, train_perc, num_rep_cv, positive_class, sub_group_list, feature_selection_size, num_procs, grid_search_level, classifier, feat_select_method):
    'Organizes the inputs and prepares them for CV'
    (feature_dir, method_list) = make_method_list(fs_subject_dir, user_feature_paths, user_feature_type)
    (method_names, dataset_paths_file) = import_datasets(method_list, out_dir, subjects, classes, feature_dir, user_feature_type)
    for sub_group in sub_group_list:
        print('{}\nProcessing subgroup : {}\n{}'.format(('-' * 80), sub_group, ('-' * 80)))
        out_dir_sg = pjoin(out_dir, sub_group_identifier(sub_group))
        results_file_path = rhst.run(dataset_paths_file, method_names, out_dir_sg, train_perc=train_perc, num_repetitions=num_rep_cv, positive_class=positive_class, sub_group=sub_group, feat_sel_size=feature_selection_size, num_procs=num_procs, grid_search_level=grid_search_level, classifier_name=classifier, feat_select_method=feat_select_method, options_path=options_path)
        print('\n\nSaving the visualizations to \n{}'.format(out_dir))
        make_visualizations(results_file_path, out_dir_sg, options_path)
        print('\n')
    return
Organizes the inputs and prepares them for CV
def prepare_and_run(subjects, classes, out_dir, options_path, user_feature_paths, user_feature_type, fs_subject_dir, train_perc, num_rep_cv, positive_class, sub_group_list, feature_selection_size, num_procs, grid_search_level, classifier, feat_select_method):
    
    (feature_dir, method_list) = make_method_list(fs_subject_dir, user_feature_paths, user_feature_type)
    (method_names, dataset_paths_file) = import_datasets(method_list, out_dir, subjects, classes, feature_dir, user_feature_type)
    for sub_group in sub_group_list:
        print('{}\nProcessing subgroup : {}\n{}'.format(('-' * 80), sub_group, ('-' * 80)))
        out_dir_sg = pjoin(out_dir, sub_group_identifier(sub_group))
        results_file_path = rhst.run(dataset_paths_file, method_names, out_dir_sg, train_perc=train_perc, num_repetitions=num_rep_cv, positive_class=positive_class, sub_group=sub_group, feat_sel_size=feature_selection_size, num_procs=num_procs, grid_search_level=grid_search_level, classifier_name=classifier, feat_select_method=feat_select_method, options_path=options_path)
        print('\n\nSaving the visualizations to \n{}'.format(out_dir))
        make_visualizations(results_file_path, out_dir_sg, options_path)
        print('\n')
    return