Exemplo n.º 1
0
def trigger(db, roots):
    """Queue events for completed analyses."""
    mip_analyses = traverse(roots)
    for mip_analysis in mip_analyses:
        owner = mip_analysis.instance_tags[0]
        if owner == 'cust000':
            logger.debug("dismissing cust000 case: ", mip_analysis.family_id)
            continue
        case_id = "{}-{}".format(owner, mip_analysis.family_id)
        try:
            case_obj = db.case(case_id)
        except NoResultFound:
            logger.warn("case not found in database: %s", case_id)
            continue

        should_upload = (
            (case_obj.uploaded_at is None) or
            (mip_analysis.analyzed_at > case_obj.uploaded_analysis)
        )

        if should_upload:
            logger.info("queue analysis for upload: %s", case_id)
            visualize.dispatch(db, case_id, variant_type='clinical')
        else:
            logger.debug("case already uploaded")
Exemplo n.º 2
0
def trigger(db, scout_db):
    for category, scout_case in crawl(scout_db):
        case_id = "{}-{}".format(scout_case.owner, scout_case.display_name)
        if category == 'research':
            logger.info("queueing %s for research upload", case_id)
            visualize.dispatch(db, case_id, variant_type='research')
        elif category == 'rerun':
            logger.info("queueing %s for re-analysis", case_id)
            analyze.dispatch(db, case_id)
        elif category == 'archive':
            logger.info("queueing %s for archive", case_id)
            try:
                familydir.dispatch_archive(db, case_id)
            except NoResultFound as error:
                logger.warn("case not found in database: %s", case_id)
Exemplo n.º 3
0
def upload(case_id):
    """Upload research list for a case."""
    variant_type = request.form.get('variant_type', 'clinical')
    visualize.dispatch(db, case_id, variant_type)
    return redirect(request.referrer)