def get_parameter_keys_dict(yaml_dir, parameter_key_dict={}, methods_list=[]): """ get the list of yaml files in the yaml_dir, the list of methods in all those, and a dictionary of key types Args: yaml_dir: path the the yaml files parameter_key_dict: (optional) dictionary to add key types methods_list: (optional) list of methods to append Returns: yaml_files_list: the list of yaml files in the yaml_dir methods_list: the list of methods in the yaml files parameter_key_dict: key-name: key-type dictionary """ type_dict = {int: 'int', float: 'real', str: 'string', list: 'list'} yaml_files_list = [] for f in os.listdir(yaml_dir): ff = os.path.join(yaml_dir, f) some_nombre, nombre_ext = os.path.splitext(f) if os.path.isfile(ff) and nombre_ext == '.yml': yaml_files_list.append(f) for f_name in yaml_files_list: run_parameters = kn.get_run_parameters(yaml_dir, f_name) for k, v in run_parameters.items(): if k not in parameter_key_dict.keys(): parameter_key_dict[k] = type_dict[type(v)] if k == 'method' and k not in methods_list: methods_list.append(v) methods_list = list(set(methods_list)) return parameter_key_dict, methods_list, yaml_files_list
def main(): import sys from knpackage.toolbox import get_run_directory_and_file from knpackage.toolbox import get_run_parameters run_directory, run_file = get_run_directory_and_file(sys.argv) run_parameters = get_run_parameters(run_directory, run_file) SELECT[run_parameters['method']](run_parameters)
def main(): import sys from knpackage.toolbox import get_run_directory from knpackage.toolbox import get_run_parameters run_directory = get_run_directory(sys.argv) run_parameters = get_run_parameters(run_directory) SELECT[run_parameters["method"]](run_parameters)
def main(): import sys from knpackage.toolbox import get_run_directory_and_file from knpackage.toolbox import get_run_parameters run_directory, run_file, num_of_process, num_of_boostraps = get_run_directory_and_file(sys.argv) run_parameters = get_run_parameters(run_directory, run_file) SELECT[run_parameters["method"]](run_parameters, num_of_process, num_of_boostraps)
def data_cleanup(): try: logger.init() run_directory, run_file = get_run_directory_and_file(sys.argv) run_parameters = get_run_parameters(run_directory, run_file) run_pipelines(run_parameters, SELECT[run_parameters['pipeline_type']]) except Exception as err: logger.logging.append("ERROR: {}".format(str(err))) raise RuntimeError(str(err))
def main(): """ This is the main function to perform general clustering """ import sys from knpackage.toolbox import get_run_directory_and_file from knpackage.toolbox import get_run_parameters run_directory, run_file = get_run_directory_and_file(sys.argv) run_parameters = get_run_parameters(run_directory, run_file) SELECT[run_parameters["method"]](run_parameters)
def checker(): try: logger.init() run_directory, run_file = get_run_directory_and_file(sys.argv) run_parameters = get_run_parameters(run_directory, run_file) obj = Checker(run_parameters) obj.condition_check() except Exception as err: logger.logging.append("ERROR: {}".format(str(err))) raise RuntimeError(str(err))
def main(): """ This is the main function to perform clustering evaluation. """ import sys from knpackage.toolbox import get_run_directory_and_file from knpackage.toolbox import get_run_parameters run_directory, run_file = get_run_directory_and_file(sys.argv) run_parameters = get_run_parameters(run_directory, run_file) clustering_evaluation(run_parameters)
def display_all_yaml_files(yaml_dir, yaml_files): n_files = len(yaml_files) count = 0 for f in yaml_files: count += 1 print('\n\n%30s : %s' % (f, yaml_dir)) print('%30s : %s ' % (' "file[' + str(count - 1) + ']" :~) ' + str(count), 'of ' + str(n_files))) run_parameters = kn.get_run_parameters(yaml_dir, f) for k, v in run_parameters.items(): print('%30s : %s' % (k, v))
def main(): """ This is the main function to perform feature prioritization. """ import sys from knpackage.toolbox import get_run_directory_and_file from knpackage.toolbox import get_run_parameters run_directory, run_file = get_run_directory_and_file(sys.argv) run_parameters = get_run_parameters(run_directory, run_file) SELECT[run_parameters["method"]](run_parameters)
def main(): """ This the main function to characterize gene set from three methods: fisher, DRaWR, net path. """ import sys from knpackage.toolbox import get_run_directory_and_file from knpackage.toolbox import get_run_parameters run_directory, run_file = get_run_directory_and_file(sys.argv) run_parameters = get_run_parameters(run_directory, run_file) SELECT[run_parameters["method"]](run_parameters)
def network_prepper(): try: logger.init() run_directory, run_file = get_run_directory_and_file(sys.argv) run_parameters = get_run_parameters(run_directory, run_file) run_pipelines(run_parameters, "network_prepper_pipeline") except Exception as err: logger.logging.append("ERROR: {}".format(str(err))) # try to write the log logger.generate_logging( False, logger.logging, run_parameters["results_directory"] + "/log_" + "network_prepper_pipeline" + ".yml") raise RuntimeError(str(err))
def copy_yaml_with_path_edit(pipeline_directory_full_path, run_directory, results_directory): """ copy and convert the yaml file relative paths to work in users run_directory """ yaml_files_source_directory = os.path.join(pipeline_directory_full_path, 'data/run_files') if not os.path.isdir(yaml_files_source_directory): # do nothing if this pipeline has no yaml files return yaml_dir_list = os.listdir(yaml_files_source_directory) if len(yaml_dir_list) < 1: print('No files found in :\n\t', yaml_files_source_directory) return for maybe_yaml in yaml_dir_list: if len(maybe_yaml) > 4 and maybe_yaml[-4:] == '.yml': run_parameters = kn.get_run_parameters(yaml_files_source_directory, maybe_yaml) for k, v in run_parameters.items(): if k == 'results_directory': run_parameters['results_directory'] = results_directory elif k == 'tmp_directory': run_parameters['tmp_directory'] = os.path.join( results_directory, 'tmp') elif k == 'run_directory': run_parameters['run_directory'] = run_directory elif isinstance(v, str) and len(v) > 1 and v[0:2] == './': path_string = v[2:] run_parameters[k] = os.path.join( pipeline_directory_full_path, path_string) elif isinstance(v, str) and len(v) > 1 and v[0:3] == '../': path_string = v[3:] run_parameters[k] = os.path.join( pipeline_directory_full_path, path_string) full_file_name = os.path.join(run_directory, maybe_yaml) try: with open(full_file_name, 'w') as fh: yaml.dump(run_parameters, fh, default_flow_style=False) except Exception: print(full_file_name, '\n\t Exception Unknown') pass
def get_yaml_df(yaml_dir, UNUSED_FILL='not used'): """ read the yaml files in 'yaml_dir' and constuct a datafrme with rows of keys, columns of file names and filled with the each yaml file values. Args: yaml_dir: path the the yaml files UNUSED_FILL: string to use for fill where a yaml file has no entry for a key (row name) """ key_dict, methods_list, yaml_files_list = get_parameter_keys_dict(yaml_dir) if 'run_file' in key_dict.keys(): key_dict.pop('run_file') yaml_file_df = pd.DataFrame(data=None, index=key_dict.keys(), columns=None) for f_name in yaml_files_list: run_parameters = kn.get_run_parameters(yaml_dir, f_name) if 'run_file' in run_parameters.keys(): run_parameters.pop('run_file') yaml_file_df[f_name] = UNUSED_FILL for k, v in run_parameters.items(): yaml_file_df[f_name].loc[k] = v return yaml_file_df
def test_run_file(self): self.createFile(self.config_dir, self.run_file, self.f_context) run_parameters = knpkg.get_run_parameters(self.config_dir, self.run_file) self.assertDictEqual(run_parameters, self.golden_output)
def data_cleanup(): run_directory, run_file = get_run_directory_and_file(sys.argv) run_parameters = get_run_parameters(run_directory, run_file) SELECT[run_parameters['pipeline_type']](run_parameters)
def main(): run_directory, run_file = get_run_directory_and_file(sys.argv) run_parameters = get_run_parameters(run_directory, run_file) pasted_gene_cleanup(run_parameters)