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')
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 ]
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 ]
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!")
####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):