예제 #1
0
파일: views.py 프로젝트: 196000/r_server
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})
예제 #2
0
파일: PySLDA.py 프로젝트: LeJit/PythonSLDA
 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()
예제 #3
0
파일: PySLDA.py 프로젝트: wulfboy-95/tweedr
 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()
예제 #4
0
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"
        })
예제 #5
0
def r_connection_initialized(initialization_string):
    r = R(RCMD=R_PATH)
    r(initialization_string)
    yield r
    r.prog.terminate()
예제 #6
0
def r_connection():
    r = R(RCMD=R_PATH)
    yield r
    r.prog.terminate()
예제 #7
0
### 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")')
예제 #8
0
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)']
예제 #9
0
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."
        })