def from_sirna_result(task_id): """Gets sh-miR result created from siRNA via task_id Args: task_id: Id of task which was given by RESTful API Returns: None """ data = get_json("from_sirna_result", task_id)["data"] path = "./results/sirna/{}/".format(task_id) if data["result"]: print("Results in: {}/".format(path)) if not os.path.exists(path): os.makedirs(path) columns = [ "scaffold name", "first sequence", "second sequence", "sh-miR", "overall score", "structure score", "homogenity score", "same ends score", "pdf", ] # parsing results into csv with open(path + "result.csv", "w") as fp: writer = csv.writer(fp) writer.writerow(columns) for no, result in enumerate(data["result"]): mfold_result(result["pdf_reference"], path=path, verbose=False) new_path = "{}{}/{}".format(path, result["scaffold_name"], no + 1) if not os.path.exists(new_path): os.makedirs(new_path) os.rename(path + result["pdf_reference"], new_path) parsed = [ result["scaffold_name"], result["sequences"][0], result["sequences"][1], result["shmir"], result["score"]["all"], result["score"]["structure"], result["score"]["homogeneity"], result["score"]["same_ends"], new_path, ] writer.writerow(parsed) print_parsed_result(no, columns, parsed) else: print("No sh-miR found")
def from_transcript_result(task_id): """Gets sh-miR result created from transcript via task_id * creates task * wait until it's done * gets result(s) Args: task_id: Id of task which was given by RESTful API Returns: None """ data = get_json("from_transcript_result", task_id)["data"] path = "./results/transcript/{}/".format(task_id) if data["result"]: print("Results in: {}/".format(path)) if not os.path.exists(path): os.makedirs(path) columns = [ "scaffold name", "sequence", "sh-miR", "overall score", "structure score", "offtarget score", "regexp score", "pdf", ] # parsing results into csv with open(path + "result.csv", "w") as fp: writer = csv.writer(fp) writer.writerow(columns) for no, result in enumerate(data["result"]): mfold_result(result["pdf_reference"], path=path, verbose=False) new_path = "{}{}/{}".format(path, result["scaffold_name"], no + 1) if not os.path.exists(new_path): os.makedirs(new_path) subtask_id = result["pdf_reference"].split("/")[-1] os.rename(path + subtask_id + "/", new_path) parsed = [ result["scaffold_name"], result["sequence"], result["shmir"], result["score"]["all"], result["score"]["structure"], result["score"]["offtarget"], result["score"]["regexp"], new_path, ] writer.writerow(parsed) print_parsed_result(no, columns, parsed) else: print("No sh-miR found")