コード例 #1
0
ファイル: routes.py プロジェクト: jmsimons/VScope
def file_view(project_id, document, sample = None):
    projects = get_projects()
    project = projects[project_id]
    title = document
    if sample: document = list_file('{}/{}/{}'.format(project['path'], sample, document))
    else: document = list_file('{}/{}'.format(project['path'], document))
    return render_template('file_view.html', title = title, document = document, sample = sample)
コード例 #2
0
ファイル: routes.py プロジェクト: jmsimons/VScope
def sample(project_id, sample):
    print('Sample:', sample)
    projects = get_projects()
    project = projects[project_id]
    status = sample_status(project['path'], sample)
    logs = list_ext(project['path'], sample, 'log')
    return render_template('sample.html', title = 'Sample Dashboard', project = project, sample = status, logs = logs)
コード例 #3
0
ファイル: routes.py プロジェクト: jmsimons/VScope
def archive_remove(project_id):
    form = ArchiveRemove()
    if form.validate_on_submit():
        project = get_projects()[project_id]
        if form.archive.data:
            archive_project(project['path'])
            flash('{} has been added to archived projects.'.format(project_id), 'info')
        if form.remove.data:
            remove_project(project_id)
            flash('{} has been removed from active projects.'.format(project_id), 'info')
            return redirect(url_for('home'))
        return redirect(url_for('project', project_id = project_id))
    return render_template('archive_remove.html', project_id = project_id, form = form)
コード例 #4
0
ファイル: routes.py プロジェクト: jmsimons/VScope
def project(project_id):
    form = StartStopProject()
    project = get_projects()[project_id]
    if request.method == 'POST':
        if form.start.data:
            if run_project(project['path']):
                flash('Project Running', 'info')
                time.sleep(2)
        elif form.stop.data:
            if stop_project(project):
                flash('Project Stopped', 'info')
                time.sleep(2)
        return redirect(url_for('project', project_id = project_id))
    processing = status_list(project)
    return render_template('project.html', title = 'Project Dashboard', project = project, processing = processing, form = form)
コード例 #5
0
ファイル: routes.py プロジェクト: jmsimons/VScope
def annotate_report(project_id):
    form = AnnotateReport()
    if request.method == 'POST':
        project = get_projects()[project_id]
        # print(request.form)
        if 'annotate' in request.form:
            # print('Annotating Project VCFs')
            run_annotation(project['path'])
        elif 'analyse' in request.form:
            print('Analysing Quality Threshold Impact to Variant Spectrum')
            run_analysis(project['path'])
        elif 'filter' in request.form:
            print('Filtering Variants at a Threshold of:', request.form['quality'])
            print('Removing Common Variants')
            run_subtraction(project['path'], request.form['quality'])
    return render_template('annotate_report.html', project_id = project_id, form = form)
コード例 #6
0
ファイル: routes.py プロジェクト: jmsimons/VScope
def home():
    projects = get_projects()
    return render_template('home.html', projects = projects)
コード例 #7
0
ファイル: routes.py プロジェクト: jmsimons/VScope
def accession(project_id):
    projects = get_projects()
    project = projects[project_id]
    title = '{} Samples'.format(project_id)
    accession = list_file('{}/assets/{}'.format(project['path'], 'accession.txt'))
    return render_template('accession.html', title = title, project_id = project_id, accession = accession)