Ejemplo n.º 1
0
def run_single_block(input_list):
	baseName,model,out_dir,rst,window,keep_temp,threshold,penality,DB_file,input_file,chromosome,strand,fa_file,depth,start,end = input_list

	print("Generating blocks ...%s %d %s"%(baseName,start,end))
	####Generate sliding windlows
	gw_start_time = datetime.datetime.now()
	block = split_chr_bedGraph2(out_dir,input_file,chromosome,strand,window,fa_file,depth,start,end)
	#ww = open(baseName,'w')
	#for a,b,c in block:
	#	ww.write('%s\t%s\t%s\n'%(a,b,c))
	#ww.close()
	gw_end_time = datetime.datetime.now()
	print("Generate blocks used time: {}".format(gw_end_time - gw_start_time))

	print("Evaluating blocks ...%s %d %s"%(baseName,start,end))
	gw_start_time = datetime.datetime.now()
	Evaluate(baseName,block,model,out_dir,rst,window,keep_temp)
	gw_end_time = datetime.datetime.now()
	print("Evaluated blocks used time: {}".format(gw_end_time - gw_start_time))

	Scan_Forward(baseName,threshold,penality,out_dir)
	Scan_Backward(baseName,threshold,penality,out_dir)
	if(keep_temp != 'yes'):
		predict_file = out_dir+'/predict/'+baseName+'.txt'
		os.system('rm %s'%predict_file)
	Postprocess(DB_file,baseName,threshold,penality,out_dir)
	if(keep_temp != 'yes'):
		forward_file=out_dir+"/maxSum/%s.forward.%d.%d.txt"%(baseName,threshold,penality)
		backward_file=out_dir+"/maxSum/%s.backward.%d.%d.txt"%(baseName,threshold,penality)
		os.system('rm %s %s'%(forward_file,backward_file))
	print('Finished postprocessing...\n')
Ejemplo n.º 2
0
def run_single_block(input_list):
    data = input_list[0]
    model = input_list[1]
    out_dir = input_list[2]
    rst = input_list[3]
    window = input_list[4]
    keep_temp = input_list[5]
    threshold = input_list[6]
    penality = input_list[7]
    DB_file = input_list[8]
    if 'wig' not in data:
        baseName = data.split('/')[-1]
        Evaluate(model, out_dir, rst, window, baseName, keep_temp)
        Scan_Forward(baseName, threshold, penality, out_dir)
        Scan_Backward(baseName, threshold, penality, out_dir)
        if (keep_temp != 'yes'):
            predict_file = out_dir + '/predict/' + baseName + '.txt'
            os.system('rm %s' % predict_file)
        Postprocess(DB_file, baseName, threshold, penality, out_dir)
        if (keep_temp != 'yes'):
            forward_file = out_dir + "/maxSum/%s.forward.%d.%d.txt" % (
                baseName, threshold, penality)
            backward_file = out_dir + "/maxSum/%s.backward.%d.%d.txt" % (
                baseName, threshold, penality)
            os.system('rm %s %s' % (forward_file, backward_file))
        print('Finished postprocessing...\n')
def run_single_block(input_list):
    #global ref
    #print(ref.keys())
    baseName, model, out_dir, rst, window, keep_temp, threshold, penality, DB_file, input_file, fa_file, chromosome, strand, depth, start, end = input_list

    #log_dir = out_dir+'/log'
    #if not os.path.exists(log_dir):
    #    os.makedirs(log_dir)
    #log.basicConfig(filename='%s/%s.log'%(log_dir,baseName), level=log.INFO)
    print("Generating blocks ...%s %d %s" % (baseName, start, end))
    ####Generate sliding windlows
    gw_start_time = datetime.datetime.now()
    block = split_chr_bedGraph2(out_dir, input_file, chromosome, strand,
                                window, fa_file, depth, start, end)
    #ww = open(baseName,'w')
    #for a,b,c in block:
    #    ww.write('%s\t%s\t%s\n'%(a,b,c))
    #ww.close()
    gw_end_time = datetime.datetime.now()
    print("Generate blocks used time: {}\n".format(gw_end_time -
                                                   gw_start_time))

    print("Evaluating blocks ...%s %d %s" % (baseName, start, end))
    ev_start_time = datetime.datetime.now()
    Evaluate(baseName, block, model, out_dir, rst, window, keep_temp)

    del block  #destroyed the block reference
    gc.collect()  #manually run garbage collection process

    ev_end_time = datetime.datetime.now()
    print("Evaluated blocks used time: {}\n".format(ev_end_time -
                                                    ev_start_time))

    print("Postprocessing blocks ...%s %d %s" % (baseName, start, end))
    ps_start_time = datetime.datetime.now()
    Scan_Forward(baseName, threshold, penality, out_dir)
    Scan_Backward(baseName, threshold, penality, out_dir)
    if (keep_temp != 'yes'):
        predict_file = out_dir + '/predict/' + baseName + '.txt'
        os.system('rm %s' % predict_file)
    Postprocess(DB_file, baseName, threshold, penality, out_dir)
    ps_end_time = datetime.datetime.now()
    print("Postprocessed blocks used time: {}\n".format(ps_end_time -
                                                        ps_start_time))

    if (keep_temp != 'yes'):
        forward_file = out_dir + "/maxSum/%s.forward.%d.%d.txt" % (
            baseName, threshold, penality)
        backward_file = out_dir + "/maxSum/%s.backward.%d.%d.txt" % (
            baseName, threshold, penality)
        os.system('rm %s %s' % (forward_file, backward_file))
    #print('Finished postprocessing...%s\n'%baseName)
    return [
        gw_end_time - gw_start_time, ev_end_time - ev_start_time,
        ps_end_time - ps_start_time
    ]
Ejemplo n.º 4
0
def run_single_block(input_list):
    baseName, model, out_dir, rst, window, keep_temp, threshold, penality, DB_file, input_file, strand, depth, block_pos = input_list
    chromosome = block_pos[3]
    start = block_pos[4]
    end = block_pos[5]
    print("Generating blocks ...%s %d %s" %
          (baseName, block_pos[4], block_pos[5]))
    ####Generate sliding windlows
    gw_start_time = datetime.datetime.now()
    blocks = Bedgraph_to_blocks(input_file, fa_file, window, depth, block_pos)
    #ww = open(baseName,'w')
    #for a,b,c in blocks:
    #    ww.write('%s\t%s\t%s\n'%(a,b,c))
    #ww.close()
    gw_end_time = datetime.datetime.now()
    print("Generate blocks used time: {}\n".format(gw_end_time -
                                                   gw_start_time))

    print("Evaluating blocks ...%s %d %s" % (baseName, start, end))
    ev_start_time = datetime.datetime.now()
    Evaluate(baseName, blocks, model, out_dir, rst, window, keep_temp)

    del blocks  #destroyed the block reference
    gc.collect()  #manually run garbage collection process

    ev_end_time = datetime.datetime.now()
    print("Evaluated blocks used time: {}\n".format(ev_end_time -
                                                    ev_start_time))

    print("Postprocessing blocks ...%s %d %s" % (baseName, start, end))
    ps_start_time = datetime.datetime.now()
    Scan_Forward(baseName, threshold, penality, out_dir)
    Scan_Backward(baseName, threshold, penality, out_dir)
    if (keep_temp != 'yes'):
        predict_file = out_dir + '/predict/' + baseName + '.txt'
        os.system('rm %s' % predict_file)
    Postprocess(DB_file, baseName, threshold, penality, out_dir)
    ps_end_time = datetime.datetime.now()
    print("Postprocessed blocks used time: {}\n".format(ps_end_time -
                                                        ps_start_time))

    if (keep_temp != 'yes'):
        forward_file = out_dir + "/maxSum/%s.forward.%d.%d.txt" % (
            baseName, threshold, penality)
        backward_file = out_dir + "/maxSum/%s.backward.%d.%d.txt" % (
            baseName, threshold, penality)
        os.system('rm %s %s' % (forward_file, backward_file))
    #print('Finished postprocessing...%s\n'%baseName)
    return [
        gw_end_time - gw_start_time, ev_end_time - ev_start_time,
        ps_end_time - ps_start_time
    ]
Ejemplo n.º 5
0
def main(out_dir, input_file, input_plus, input_minus, fa_file, keep_temp,
         window, name, model, rst, threshold, penality, DB_file):

    if not os.path.exists(out_dir):
        os.makedirs(out_dir)

    out_dir = out_dir + '/' + name
    ####Generate sliding windlows
    Generate_windows(out_dir, input_file, input_plus, input_minus, fa_file,
                     keep_temp, window, name)

    data_dir = out_dir + '/data'
    data_files = glob.glob(data_dir + "/*")
    for data in data_files:
        if 'wig' in data:
            continue
        baseName = data.split('/')[-1]
        Evaluate(model, out_dir, rst, window, baseName, keep_temp)
        Scan_Forward(baseName, threshold, penality, out_dir)
        Scan_Backward(baseName, threshold, penality, out_dir)
        if (keep_temp != 'yes'):
            predict_file = out_dir + '/predict/' + baseName + '.txt'
            os.system('rm %s' % predict_file)
        Postprocess(DB_file, baseName, threshold, penality, out_dir)
        if (keep_temp != 'yes'):
            forward_file = out_dir + "/maxSum/%s.forward.%d.%d.txt" % (
                baseName, threshold, penality)
            backward_file = out_dir + "/maxSum/%s.backward.%d.%d.txt" % (
                baseName, threshold, penality)
            os.system('rm %s %s' % (forward_file, backward_file))

    out_file = '%s/%s.predicted.txt' % (out_dir, name)
    ww = open(out_file, 'w')
    ww.write('predicted_pasid\tdb_diff\tdb_pasid\tscore\n')
    ww.close()
    os.system('cat %s/maxSum/*bidirection* >>%s' % (out_dir, out_file))
    if (keep_temp != 'yes'):
        os.system('rm -rf %s/data %s/predict %s/maxSum' %
                  (out_dir, out_dir, out_dir))

    print("Job Done!")
Ejemplo n.º 6
0
	####Generate sliding windlows
<<<<<<< HEAD
	Generate_windows(out_dir,input_file,input_plus,input_minus,fa_file,keep_temp,window,name)
=======
	Generate_windows(out_dir,input_file,input_plus,input_minus,fa_file,keep_temp,window,name,depth)
>>>>>>> e6e9d5b305368adbd0eec6e055e70e82e740a154
	
	data_dir = out_dir+'/data'
	data_files = glob.glob(data_dir+"/*")
	for data in data_files:
		if 'wig' in data:
			continue
		baseName = data.split('/')[-1]
		Evaluate(model,out_dir,rst,window,baseName,keep_temp)
		Scan_Forward(baseName,threshold,penality,out_dir)
		Scan_Backward(baseName,threshold,penality,out_dir)
		if(keep_temp != 'yes'):
			predict_file = out_dir+'/predict/'+baseName+'.txt'
			os.system('rm %s'%predict_file)
		Postprocess(DB_file,baseName,threshold,penality,out_dir)
		if(keep_temp != 'yes'):
			forward_file=out_dir+"/maxSum/%s.forward.%d.%d.txt"%(baseName,threshold,penality)
			backward_file=out_dir+"/maxSum/%s.backward.%d.%d.txt"%(baseName,threshold,penality)
			os.system('rm %s %s'%(forward_file,backward_file))

	out_file = '%s/%s.predicted.txt' %(out_dir,name)
	ww = open(out_file,'w')
<<<<<<< HEAD
	ww.write('predicted_pasid\tdb_diff\tdb_pasid\tscore\n')
=======
	if(DB_file is not None):