def run_rscript(request): user = request.user datapath = "media/server/%s/" % user if os.path.exists(datapath + "study.txt") == False: return render(request, 'server/error.html', {'message': "No study"}) f = open(datapath + "study.txt", 'r') study = f.read() f.close() datapath += study target = "" try: with open(datapath + "/target.csv", newline='') as csvfile: spamreader = csv.reader(csvfile, delimiter=';', quotechar='|') for row in spamreader: target = row break except: return render(request, 'server/error.html', {'message': "No target"}) message = "Results of user %s on " % user message += "Date: " + datetime.datetime.now().strftime("%y-%m-%d %H:%M") message += ", Target: " + target[0] message += ", Study: " + study message += '\n' if os.path.exists(datapath + "/data.csv") == False: return render(request, 'server/error.html', {'message': "No data file"}) r = R(use_numpy=True) r("datadir2<-\"" + datapath + "\"; source('server/r_files/globaltest-przyklad-kodnaserwer.r')") del (r) filename = "static/server/%s_message.txt" % user f = open(filename, "w") f.write(message) f.close() filename = "static/server/%s_testowy.pdf" % user if os.path.exists(filename) == True: os.remove(filename) while os.path.exists("static/server/testowy.pdf") == False: continue os.rename("static/server/testowy.pdf", filename) filename = "media/server/{0}/{1}/{0}_out.txt".format(user, study) if os.path.exists(filename) == True: os.remove(filename) while os.path.exists("static/server/out.txt") == False: continue os.rename("static/server/out.txt", filename) #os.system("Rscript server/r_files/globaltest-przyklad-kodnaserwer.r") return render(request, 'server/results.html', {'study': study})
def __init__(self, dataFileName, alpha=1.0, numtopics=5, eta=0.1, logistic=True, lamda=1.0, e_iter=10, m_iter=4, variance=0.25): model_filename = "%s/model_%s.RDS" % (os.getcwd(), dataFileName) topic_filename = "%s/topics_%s.RDS" % (os.getcwd(), dataFileName) vocab_filename = "%s/vocabulary_%s.RDS" % (os.getcwd(), dataFileName) self.params = { "numtopics": numtopics, "alpha": alpha, "eta": eta, "logistic": logistic, "lambda": lamda, "e_iter": e_iter, "m_iter": m_iter, "variance": variance "dataFiles": dataFileName, "model_filename": model_filename, "topic_filename": topic_filename, "vocab_filename": vocab_filename } self.r = R(use_pandas=True, use_numpy=True) self.assign_R_params()
def __init__(self, dataFileName, alpha=1.0, numtopics=5, eta=0.1, logistic=True, lamda=1.0, e_iter=10, m_iter=4, variance=0.25, cutoff=0.25): model_filename = 'model_%s.RDS' % dataFileName vocab_filename = 'vocabulary_%s.RDS' % dataFileName fullpath = os.path.realpath(__file__) (path, files) = os.path.split(fullpath) self.path = path self.params = { 'numtopics': numtopics, 'alpha': alpha, 'eta': eta, 'logistic': logistic, 'lambda': lamda, 'e_iter': e_iter, 'm_iter': m_iter, 'variance': variance, 'OutputName': dataFileName, 'model_filename': model_filename, 'vocab_filename': vocab_filename, 'test_cutoff': cutoff, } self.r = R(use_pandas=True, use_numpy=True) self.assign_R_params()
def read_comets_input(): try: input_file = request.files['inputFile'] original_filename = input_file.filename filename = save_input_file(input_file) filepath = os.path.join('tmp', filename) app.logger.info("Successfully Uploaded: %s", filename) r = R() r.filename = filepath r.cohort = request.form['cohortSelection'] r(''' source("./cometsWrapper.R") output_file = checkIntegrity(filename, cohort) ''') with open(r.output_file) as f: result = json.load(f) os.remove(r.output_file) os.remove(filepath) del r app.logger.info("Finished integrity check for: %s", filename) if ('error' in result): return buildFailure(result['error']) else: result = result['saveValue'] result['filename'] = filename result['originalFilename'] = original_filename return buildSuccess(result) except Exception as e: app.logger.error(traceback.format_exc()) return buildFailure({ "status": False, "integritymessage": "An unknown error occurred" })
def r_connection_initialized(initialization_string): r = R(RCMD=R_PATH) r(initialization_string) yield r r.prog.terminate()
def r_connection(): r = R(RCMD=R_PATH) yield r r.prog.terminate()
### R_test.py #!/usr/bin/env python import os, sys, string, inspect currentdir = os.path.dirname( os.path.abspath(inspect.getfile(inspect.currentframe()))) parentdir = os.path.dirname(currentdir) parentdir = os.path.dirname(parentdir) sys.path.insert(0, parentdir) from pyper import R import unique if 'darwin' in sys.platform: try: path = unique.filepath("AltDatabase/tools/R/Mac/R") r = R(RCMD=path, use_numpy=True) #print '1' except Exception: #print '2' r = R(use_numpy=True) elif os.name == 'nt': try: path = unique.filepath("AltDatabase/tools/R/PC/bin/x64/R.exe") r = R(RCMD=path, use_numpy=True) except Exception: r = R(use_numpy=True) else: #print '3' r = R(use_numpy=True) print_out = r('library("Biobase")')
from pyper import R from pysmac.optimize import fmin import sys args = sys.argv[1] r = R() r('r_args_list <- eval(parse(text="%s"))' % args.replace('[CRLF]', '\n')) r('eval(r_args_list$init_rcode)') r('r_objective <- r_args_list$objective') r('grid <- r_args_list$grid') # kwargs examples # {'x': array([ 5.22359753, 0.526101 ])} # {'x': array([ 0.5]), 'x_int': array([4])} def fill_objective_args(args_map): r('objective_args <- list()') pyr_type_map = {'x': 'continuous', 'x_int': 'discrete'} for key in args_map: assert key in pyr_type_map.keys() r.cur_r_type = pyr_type_map[key] r('cur_names <- names(Filter(function(x) x$type == cur_r_type, grid))') r.cur_values = args_map[key] r('cur_values <- as.list(cur_values)') r('names(cur_values) <- cur_names') r('objective_args <- append(objective_args, cur_values)') def py_wrap_objective(**kwargs): fill_objective_args(kwargs) return r['do.call(r_objective, args=objective_args)']
def correlate(): try: if not os.path.exists(app.tmp): os.makedirs(app.tmp) parameters = dict(request.form) print(parameters) for field in parameters: parameters[field] = parameters[field][0].decode() if ('outcome' in parameters): parameters['outcome'] = json.loads(parameters['outcome']) if (len(parameters['outcome']) == 0): parameters['outcome'] = None if ('exposure' in parameters): parameters['exposure'] = json.loads(parameters['exposure']) if (len(parameters['exposure']) == 0): parameters['exposure'] = None if ('covariates' in parameters): parameters['covariates'] = json.loads(parameters['covariates']) if (len(parameters['covariates']) == 0): parameters['covariates'] = None if ('strata' in parameters): if (len(parameters['strata']) == 0): parameters['strata'] = None else: parameters['strata'] = [parameters['strata']] if ('whereQuery' in parameters): parameters['whereQuery'] = json.loads(parameters['whereQuery']) if (len(parameters['whereQuery']) == 0): parameters['whereQuery'] = None if (parameters['methodSelection'] == "All"): filename = save_input_file(request.files['inputFile']) filepath = os.path.join('tmp', filename) parameters['filename'] = filename parameters['filepath'] = filepath queueFile(parameters) os.remove(filepath) app.logger.info("Queued file %s", filepath) return buildFailure({ 'status': 'info', 'statusMessage': "The results will be emailed to you." }) else: r = R() r('source("./cometsWrapper.R")') r.parameters = json.dumps(parameters) r('output_file = runModel(parameters)') with open(r.output_file) as f: result = json.load(f) os.remove(r.output_file) del r if ("error" in result): return buildFailure(result['error']) else: if ('warnings' in result): result['saveValue']['warnings'] = result['warnings'] return buildSuccess(result['saveValue']) app.logger.info("Finished running model") except Exception: app.logger.error(traceback.format_exc()) return buildFailure({ "status": False, "statusMessage": "An unknown error has occurred." })