Skip to content

ppaa23/filealigner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Review Assignment Due Date

GoGiAlign

Description

This is a Flask-based web application that provides tools for creating file alignments. The app supports pairwise alignments, maintains an alignment history, and allows users to manage their alignment results.

Installation

  1. Clone the repository:

    git clone https://github.com/ppaa23/filealigner.git
    cd filealigner
  2. Install dependencies:

    pip install -r requirements.txt
  3. Run the application:

    flask run

or open the link below:

https://flask-project-ppaa23-production.up.railway.app/

Requirements

  • Flask
  • Flask-SQLAlchemy
  • pytest
  • requests
  • flasgger
  • Docker

Features

  • User Registration & Authentication: Users can register, log in, and log out.
  • Pairwise File Alignment: Users can upload two Python files for comparison. Alignment is conducted using tokenization the given code and following application of Needleman-Wunsch algorithm (allowing to compare sequences with different coefficients for matches, mismatches and gaps). The result of the alignment is provided in the form of similarity (the part of matches), score (the maximum possible score for given coefficients) and normalized score (normalization for the maximum length of token sequence).
  • Alignment History: Users can view past alignment results with timestamps.

API Endpoints

  • / (GET) - Displays the landing page.
  • /register (GET, POST) - Handles user registration.
  • /login (GET, POST) - Handles user authentication.
  • /logout (GET) - Logs out the current user.
  • /home (GET) - Displays the home page for logged-in users.
  • /tools/pairwise (GET, POST) - Allows users to upload two Python files for alignment.
  • /results/p/<alignment_id> (GET) - Displays the results of a specific alignment.
  • /history (GET) - Displays the history of past alignments.

Git

Development is managed through the master branch.

Success Criteria

  • Program successfully aligns given files, saves the result to history, and visualizes alignments.
  • User authentication and session management work as expected.

Video

Here is the video capture showing basic functionality and features of GoGiAlign: https://youtu.be/c2bIPEo1qEw

About

A Flask-based web application that provides tools for creating file alignments. The app supports pairwise alignments, maintains an alignment history, and allows users to manage their alignment results.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors