def build_query_as_reference(id_res): """ Build fasta of query with contigs order like reference :param id_res: job id :type id_res: str """ paf_file = os.path.join(APP_DATA, id_res, "map.paf") idx1 = os.path.join(APP_DATA, id_res, "query.idx") idx2 = os.path.join(APP_DATA, id_res, "target.idx") paf = Paf(paf_file, idx1, idx2, False, mailer=mailer, id_job=id_res) paf.parse_paf(False, True) if MODE == "webserver": thread = threading.Timer(0, paf.build_query_chr_as_reference) thread.start() return True return paf.build_query_chr_as_reference()
def free_noise(id_res): """ Remove noise from the dot plot :param id_res: job id :type id_res: str """ paf_file = os.path.join(APP_DATA, id_res, "map.paf") idx1 = os.path.join(APP_DATA, id_res, "query.idx") idx2 = os.path.join(APP_DATA, id_res, "target.idx") paf = Paf(paf_file, idx1, idx2, False) paf.parse_paf(noise=request.form["noise"] == "1") if paf.parsed: res = paf.get_d3js_data() res["success"] = True return jsonify(res) return jsonify({"success": False, "message": paf.error})
def qt_assoc(id_res): """ Query - Target association TSV file :param id_res: :return: """ res_dir = os.path.join(APP_DATA, id_res) if os.path.exists(res_dir) and os.path.isdir(res_dir): paf_file = os.path.join(APP_DATA, id_res, "map.paf") idx1 = os.path.join(APP_DATA, id_res, "query.idx") idx2 = os.path.join(APP_DATA, id_res, "target.idx") try: paf = Paf(paf_file, idx1, idx2, False) paf.parse_paf(False) except FileNotFoundError: print("Unable to load data!") abort(404) return False csv_content = paf.build_query_on_target_association_file() return Response(csv_content, mimetype="text/plain") abort(404)