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)
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)
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)
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)
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)
def home(): projects = get_projects() return render_template('home.html', projects = projects)
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)