def db_ss_printJSON(ssea_dir, matrix_dir, ss_id): sample_sets_json_file = os.path.join(ssea_dir, 'sample_set.json') bm = BigCountMatrix.open(matrix_dir) samples = bm.colnames ss = SampleSet.parse_json(sample_sets_json_file)[0] membership = ss.get_array(samples) d = ss.to_dict(membership) d['_id'] = int(ss_id) print json.dumps(d)
def db_ss_printJSON(ssea_dir, matrix_dir, ss_id): sample_sets_json_file = os.path.join(ssea_dir, 'sample_set.json') bm = BigCountMatrix.open(matrix_dir) samples = bm.colnames ss = SampleSet.parse_json(sample_sets_json_file)[0] membership = ss.get_array(samples) d = ss.to_dict(membership) d['_id'] = int(ss_id) print json.dumps(d)
def info(args): input_dirs = args.input_dirs if input_dirs is None: logging.error('Please specify SSEA directories using "-d" or "--dir"') return 1 for path in find_paths(input_dirs): sample_set_json_file = os.path.join(path, Config.SAMPLE_SET_JSON_FILE) sample_set = SampleSet.parse_json(sample_set_json_file)[0] compname = computerize_name(sample_set.name) print '\t'.join([compname, path])
def info(args): input_dirs = args.input_dirs if input_dirs is None: logging.error('Please specify SSEA directories using "-d" or "--dir"') return 1 for path in find_paths(input_dirs): sample_set_json_file = os.path.join(path, Config.SAMPLE_SET_JSON_FILE) sample_set = SampleSet.parse_json(sample_set_json_file)[0] compname = computerize_name(sample_set.name) print '\t'.join([compname, path])
def _parse_sample_sets(filename, sep): if not os.path.exists(filename): logging.error("Sample set file '%s' not found" % (filename)) sys.exit(1) ext = os.path.splitext(filename)[-1] if ext == '.smx': for ss in SampleSet.parse_smx(filename, sep): yield ss elif ext == '.smt': for ss in SampleSet.parse_smt(filename, sep): yield ss elif ext == '.json': for ss in SampleSet.parse_json(filename): yield ss else: logging.error('suffix not recognized (.smx, .smt, or .json)')
def merge(args): # get args input_paths_file = args.input_paths_file input_dirs = args.input_dirs output_dir = args.output_dir # check args input_paths = set() if input_paths_file is not None: if not os.path.exists(input_paths_file): logging.error('Input paths file "%s" not found' % (input_paths_file)) else: with open(input_paths_file) as fileh: for line in fileh: path = line.strip() if check_path(path): input_paths.add(path) if input_dirs is not None: input_paths.update(find_paths(input_dirs)) if len(input_paths) == 0: logging.error('No valid SSEA results directories found.. Exiting.') return 1 if not os.path.exists(output_dir): logging.debug('Creating output directory "%s"' % (output_dir)) os.makedirs(output_dir) # read paths already in output directory existing_paths = set() for path in glob.iglob(os.path.join(output_dir, "*")): if os.path.exists(path) and os.path.isdir(path): existing_paths.add(path) # merge input paths for src in input_paths: sample_set_json_file = os.path.join(src, Config.SAMPLE_SET_JSON_FILE) sample_set = SampleSet.parse_json(sample_set_json_file)[0] dirname = computerize_name(sample_set.name) dst = os.path.join(output_dir, dirname) if os.path.exists(dst): logging.error( 'Conflict when merging sample set name "%s" from path "%s"' % (sample_set.name, src)) else: logging.debug('Moving sample set "%s" from "%s" to "%s"' % (sample_set.name, src, dst)) shutil.move(src, dst)
def merge(args): # get args input_paths_file = args.input_paths_file input_dirs = args.input_dirs output_dir = args.output_dir # check args input_paths = set() if input_paths_file is not None: if not os.path.exists(input_paths_file): logging.error('Input paths file "%s" not found' % (input_paths_file)) else: with open(input_paths_file) as fileh: for line in fileh: path = line.strip() if check_path(path): input_paths.add(path) if input_dirs is not None: input_paths.update(find_paths(input_dirs)) if len(input_paths) == 0: logging.error('No valid SSEA results directories found.. Exiting.') return 1 if not os.path.exists(output_dir): logging.debug('Creating output directory "%s"' % (output_dir)) os.makedirs(output_dir) # read paths already in output directory existing_paths = set() for path in glob.iglob(os.path.join(output_dir, "*")): if os.path.exists(path) and os.path.isdir(path): existing_paths.add(path) # merge input paths for src in input_paths: sample_set_json_file = os.path.join(src, Config.SAMPLE_SET_JSON_FILE) sample_set = SampleSet.parse_json(sample_set_json_file)[0] dirname = computerize_name(sample_set.name) dst = os.path.join(output_dir, dirname) if os.path.exists(dst): logging.error('Conflict when merging sample set name "%s" from path "%s"' % (sample_set.name, src)) else: logging.debug('Moving sample set "%s" from "%s" to "%s"' % (sample_set.name, src, dst)) shutil.move(src, dst)