Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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])
Ejemplo n.º 4
0
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])        
Ejemplo n.º 5
0
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)')
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
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)