Exemplo n.º 1
0
def main():
    global DEBUG_MODE
    input_ = sys.argv[1]
    if len(sys.argv) > 2:
       DEBUG_MODE=True
    (intervalq,idq,rangeq,sampleq) = snaptron.process_params(input_)
    #only care about sampleq
    if len(intervalq) > 0 or len(rangeq['rfilter']) > 0 or snapconf.SNAPTRON_ID_PATT.search(input_):
        sys.stderr.write("bad input asking for intervals and/or ranges, only take sample queries and/or sample ids, exiting\n")
        sys.exit(-1) 
    sample_map = load_sample_metadata(snapconf.SAMPLE_MD_FILE)
    if DEBUG_MODE:
        sys.stderr.write("loaded %d samples metadata\n" % (len(sample_map)))
    snaptron_ids = set()
    #we're just streaming back sample metadata
    query_samples(sampleq,sample_map,snaptron_ids,stream_sample_metadata=True)
Exemplo n.º 2
0
def main():
    global DEBUG_MODE
    input_ = sys.argv[1]
    if len(sys.argv) > 2:
       DEBUG_MODE=True
    (intervalq,rangeq,sampleq,idq) = (None,None,None,None)
    ra = snaptron.default_region_args
    sys.stderr.write("INPUT_ %s\n" % input_)
    if input_[0] == '[' or input_[1] == '[' or input_[2] == '[':
        (or_intervals,or_ranges,or_samples,or_ids,ra) = snaptron.process_post_params(input_)
        (intervalq,rangeq,sampleq,idq) = (or_intervals[0],or_ranges[0],or_samples[0],or_ids[0])
    else:
        #just stream back the whole sample metadata file
        if 'all=1' in input_:
            #sample_map = load_sample_metadata(snapconf.SAMPLE_MD_FILE)
            cmd = 'cat'
            if '.gz' in snapconf.SAMPLE_MD_FILE:
                cmd = 'zcat'
            subp = subprocess.Popen('%s %s' % (cmd,snapconf.SAMPLE_MD_FILE),shell=True,stdin=None,stdout=sys.stdout,stderr=sys.stderr)
            subp.wait()
            return 
        #update support simple '&' CGI format
        (intervalq,idq,rangeq,sampleq,ra) = snaptron.process_params(input_)
    #only care about sampleq
    if len(intervalq) > 0 or len(rangeq['rfilter']) > 0 or snapconf.SNAPTRON_ID_PATT.search(input_):
        sys.stderr.write("bad input asking for intervals and/or ranges, only take sample queries and/or sample ids, exiting\n")
        sys.exit(-1) 
    sample_map = load_sample_metadata(snapconf.SAMPLE_MD_FILE)
    if DEBUG_MODE:
        sys.stderr.write("loaded %d samples metadata\n" % (len(sample_map)))
    #main decision cases
    if len(idq) > 0:
        query_by_sample_ids(idq,sample_map,ra)
    elif len(sampleq) > 0:
        snaptron_ids = set()
        #we're just streaming back sample metadata
        query_samples(sampleq,sample_map,snaptron_ids,ra,stream_sample_metadata=True)
Exemplo n.º 3
0
def main():
    global DEBUG_MODE
    input_ = sys.argv[1]
    if len(sys.argv) > 2:
       DEBUG_MODE=True
    (intervalq,rangeq,sampleq,idq) = (None,None,None,None)
    ra = snaptron.default_region_args
    sys.stderr.write("INPUT_ %s\n" % input_)
    if input_[0] == '[' or input_[1] == '[' or input_[2] == '[':
        (or_intervals,or_ranges,or_samples,or_ids,ra) = snaptron.process_post_params(input_)
        (intervalq,rangeq,sampleq,idq) = (or_intervals[0],or_ranges[0],or_samples[0],or_ids[0])
    else:
        #just stream back the whole sample metadata file
        if 'all=1' in input_:
            #sample_map = load_sample_metadata(snapconf.SAMPLE_MD_FILE)
            cmd = 'cat'
            if '.gz' in snapconf.SAMPLE_MD_FILE:
                cmd = 'zcat'
            subp = subprocess.Popen('%s %s' % (cmd,snapconf.SAMPLE_MD_FILE),shell=True,stdin=None,stdout=sys.stdout,stderr=sys.stderr)
            subp.wait()
            return 
        #update support simple '&' CGI format
        (intervalq,idq,rangeq,sampleq,ra) = snaptron.process_params(input_)
    #only care about sampleq
    if len(intervalq) > 0 or len(rangeq['rfilter']) > 0 or snapconf.SNAPTRON_ID_PATT.search(input_):
        sys.stderr.write("bad input asking for intervals and/or ranges, only take sample queries and/or sample ids, exiting\n")
        sys.exit(-1) 
    sample_map = load_sample_metadata(snapconf.SAMPLE_MD_FILE)
    if DEBUG_MODE:
        sys.stderr.write("loaded %d samples metadata\n" % (len(sample_map)))
    #main decision cases
    if len(idq) > 0:
        query_by_sample_ids(idq,sample_map,ra)
    elif len(sampleq) > 0:
        snaptron_ids = set()
        #we're just streaming back sample metadata
        query_samples(sampleq,sample_map,snaptron_ids,ra,stream_sample_metadata=True)