Git Lab CI for docker build enabled! You can enable it using .gitlab-ci.yml in your project. Check file template at https://gitlab.bio.di.uminho.pt/snippets/5

changes to manager and workersManager

parent 220d12fd
......@@ -63,37 +63,11 @@ def submit():
logger.info('New submission')
files = request.files.getlist("file")
option = request.form["option"]
if(option == '2' or option == '3'):
choices = request.form["choices"]
else:
choices = ""
eValue = request.form["eValue"]
bitScore = request.form["bitScore"]
queryCoverage = request.form["queryCoverage"]
return run(files, option, choices, eValue, bitScore, queryCoverage, False)
@app.route("/submitMerlinPlugin/<option>/<choices>", methods=["POST"])
def submitMerlinPlugin(taxonomyId, option, choices):
logger.info('Merlin plugin submission')
files = request.files.getlist("file")
logger.info("files in submission " + str(files))
return run(files, option, choices, True)
return run(files, True)
def run(files, option, choices, eValue, bitScore, queryCoverage, isRest):
def run(files, isRest):
logger.info('New submission in progress...')
logger.info("Option: " + option)
logger.info("Choices: " + choices)
total = len(os.listdir(SUBMISSIONS_PATH))
......@@ -114,41 +88,24 @@ def run(files, option, choices, eValue, bitScore, queryCoverage, isRest):
os.makedirs(submission_path)
logger.debug("Submission " + str(last_submission_ID) + " folder created!")
inputCheck = []
for file in files:
formats = {".faa": "queryGenome.faa", ".fasta": "queryGenome.faa"}
# formats = {".faa": "queryGenome.faa", ".fasta": "queryGenome.faa", ".txt": "params.txt"}
fileName = file.filename
inFormats = False
for key in formats:
if fileName.endswith(key):
fileName = formats[key]
inFormats = True
inputCheck.append(formats[key])
# inFormats = False
# for key in formats:
# if fileName.endswith(key):
# fileName = formats[key]
# inFormats = True
destination = "/".join([submission_path, fileName])
logger.debug('Saving file ' + fileName + ' at ' + destination)
file.save(destination)
validInputs = [["queryGenome.faa"]]
logger.info("option -> " + option)
logger.info("inputCheck -> " + str(inputCheck))
if inputCheck in validInputs:
with open("/".join([submission_path, "params.txt"]), "w") as paramsFile:
paramsFile.write(option + "\n") # write option to file
paramsFile.write(choices + "\n") # write choices to file
paramsFile.write(eValue + "\n") # write eValue to file
paramsFile.write(bitScore + "\n") # write bitScore to file
paramsFile.write(queryCoverage + "\n") # write queryCoverage to file
else:
return jsonify({"Genome": "Input genome must be in .faa or .fasta format"}), 415
with open(submission_path + "/submissionComplete", "w") as f:
f.write("Submission of files complete: ")
......@@ -163,11 +120,13 @@ def run(files, option, choices, eValue, bitScore, queryCoverage, isRest):
"queue": total,
"submissionID": str(last_submission_ID)}), 201
return display_msg(str(last_submission_ID), isRest)
@app.route('/status/<submissionID>/<isRest>')
def display_msg(submissionID, isRest):
if isRest == 'False':
isRest = False
elif isRest == 'True':
......@@ -188,6 +147,7 @@ def display_msg(submissionID, isRest):
"message": "Waiting in queue with " + str(total + 1) + " submissions!",
"queue": str(inQueue)}), 201
folders = os.listdir(PROCESSING_PATH)
logger.info("processing " + str(folders))
......@@ -197,6 +157,7 @@ def display_msg(submissionID, isRest):
if isRest:
return jsonify({"result": "processing", "message": "accepted but process still running, please wait."}), 202
folders = os.listdir(RESULTS_PATH)
logger.info("results " + str(folders))
......
......@@ -76,8 +76,9 @@ def run():
shutil.move(SUBMISSIONS_PATH + submissionID, processingPath)
files = {
'queryGenome': open(processingPath + 'queryGenome.faa', 'rb'),
'params': open(processingPath + 'params.txt', 'rb')}
'queryGenome': open(processingPath + 'protein.faa', 'rb'),
'params': open(processingPath + 'params.txt', 'rb'),
'idGenes': open(processingPath + 'idGenes.txt', 'rb')}
logger.info("Sending request to start to " + str(workerID))
logger.info("Sending files: " + str(files))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment