def submit(): files = glob.glob(path_snplist+'/*.txt') #OBS: folder also contains "not_mapped.log" #files = ['/home/unix/ptimshel/git/snpsnap/samples/sample_10randSNPs_fewmatches.list'] files.sort() processes = [] for (counter, filename) in enumerate(files, start=1): pheno = os.path.splitext(os.path.basename(filename))[0] logger.info( "processing file #%d/#%d: %s" % (counter, len(files), pheno) ) user_snps_file = filename # full path output_dir = path_output_sub+"/"+pheno HelperUtils.mkdirs(output_dir) #TODO: consider the potential problems with 'use' environment #TODO: reuse Python-2.7 && bsub [...] # Put this inside LaunchBsub!! command_shell = "python {program:s} --user_snps_file {snplist:s} --output_dir {outputdir:s} --distance_type ld --distance_cutoff 0.5 match --N_sample_sets {N} --max_freq_deviation {freq} --max_distance_deviation {dist} --max_genes_count_deviation {gene_count}".format(program=script2call, snplist=filename, outputdir=output_dir, N=10000, freq=1, dist=5, gene_count=5) processes.append( LaunchBsub(cmd=command_shell, queue_name=queue_name, walltime=walltime, mem=mem, jobname=pheno, projectname='snpsnp', path_stdout=path_stdout, file_output=pheno+'.txt', no_output=False, email=email, logger=logger) ) # for p in processes: p.run() time.sleep(args.pause) return processes
def submit(): files = glob.glob(path_snplist+'/*.txt') #[0:2], OBS: folder also contains "not_mapped.log" #files = ['/home/unix/ptimshel/git/snpsnap/samples/sample_10randSNPs_fewmatches.list'] files.sort() processes = [] for (counter, filename) in enumerate(files, start=1): filename = re.sub(r'[()]', '', filename) #### OBS: changing file names! pheno = os.path.splitext(os.path.basename(filename))[0] logger.info( "processing file #%d/#%d: %s" % (counter, len(files), pheno) ) user_snps_file = filename # full path output_dir = path_output_sub+"/"+pheno HelperUtils.mkdirs(output_dir) command_shell = "python {program:s} --user_snps_file {snplist:s} --output_dir {outputdir:s} --distance_type ld --distance_cutoff 0.5 match --N_sample_sets {N} --max_freq_deviation {freq} --max_distance_deviation {dist} --max_genes_count_deviation {gene_count}".format(program=script2call, snplist=filename, outputdir=output_dir, N=N_sample_sets, freq=freq, dist=dist, gene_count=gene_count) #command_seq = "--user_snps_file {snplist:s} --output_dir {outputdir:s} --distance_type ld --distance_cutoff 0.5 match --N_sample_sets {N} --max_freq_deviation {freq} --max_distance_deviation {dist} --max_genes_count_deviation {gene_count}".format(snplist=filename, outputdir=output_dir, N=1000, freq=5, dist=20, gene_count=20) #print command_shell processes.append( LaunchSubprocess(cmd=command_shell, path_stdout=path_stdout, logger=logger, jobname=pheno) ) # #time.sleep(1) #p.run_Log(file_output=pheno+'.txt') # writes stdout and stdout to "file_output" file in PATH path_stdout. NO WAITING since output goes to file for p in processes: p.run_Pipe() return processes
###################################### Global params ###################################### queue_name = "hour" # [bhour, bweek] priority #queue_name = "priority" # [bhour, bweek] priority walltime="59" # hh:mmm, e.g. [24:00=1day | 10:00=10hrs | 120=2hrs | 1:0=1hrs mem="1" # gb #email='*****@*****.**' email=False script2call = "/home/unix/ptimshel/git/snpsnap/snpsnap_query.py" # Updated path current_script_name = os.path.basename(__file__).replace('.py','') path_snplist = "/cvar/jhlab/snpsnap/data/input_lists/gwascatalog_140201_listsBIGbim" path_output_main = "/cvar/jhlab/snpsnap/data/query/gwascatalog" path_output_sub = path_output_main + "/output" HelperUtils.mkdirs(path_output_sub) path_stdout = path_output_main + "/stdout" HelperUtils.mkdirs(path_stdout) ###################################### ARGUMENTS ###################################### args = ParseArguments() ###################################### LOGGER ###################################### ## Setup-logger #logger = Logger(__name__, path_stdout).get() # gives __name__ == main logger = Logger(current_script_name, path_stdout).get() #loglevel = getattr(logging, args.logger_lvl.upper(), logging.INFO) # returns some numeric value loglevel = getattr(logging, args.logger_lvl.upper()) # returns some numeric value logger.setLevel(loglevel) #logger.setLevel(logging.INFO) #logger.setLevel(logging.WARNING)