GeneStudio is a desktop application built in Python that brings powerful DNA sequence analysis tools and classical string-matching algorithms into a clean, intuitive GUI.
It is designed for students, researchers, and developers who need to explore DNA sequences using both basic biological operations and advanced computational algorithms — without requiring deep bioinformatics knowledge.
- Load and parse FASTA files
- GC% calculation
- Reverse, Complement, Reverse-Complement
- DNA → Amino Acid Translation using a codon table
- Scrollable sequence viewer with colored highlighting
- Boyer–Moore (Bad Character Rule)
- Boyer–Moore (Good Suffix Rule)
- Suffix Array construction
- Inverse Suffix Array
- Exact search via suffix array
- Visual highlighting of match positions
- Hamming Distance search
- Edit Distance (Dynamic Programming)
- Threshold-based approximate matching
- Overlap Graph construction from multiple FASTA sequences
- Adjustable minimum overlap length
- Adjacency list view + optional graphical visualization
(Add your screenshots here later)
📂 File 🔍 Pattern Matching
🧬 Sequence 🎯 Approximate Matching
🧪 Operations 🕸️ Overlap Graph
| Category | Algorithms |
|---|---|
| Sequence Ops | GC%, Reverse, Complement, Reverse-Complement |
| Translation | DNA → Amino Acids |
| Exact Matching | Boyer–Moore (Bad Char), Boyer–Moore (Good Suffix), Suffix Array, Inverse SA |
| Approx Matching | Hamming Distance, Edit Distance (DP) |
| Graphs | Overlap Graph |
All algorithms are implemented from scratch — no external bioinformatics libraries.
GeneStudio/
│
├── gui/ # GUI components
├── algorithms/ # Core algorithms
├── assets/ # Icons & images
├── main.py # Application entry point
└── README.md
git clone https://github.com/<your-username>/GeneStudio.git
cd GeneStudiopip install -r requirements.txtpython main.py- Python 3.10+
- PyQt5 / PySide6 (GUI)
- NetworkX (optional graph visualization)
- Standard Python algorithms (no heavy external libraries)
A full Software Requirements Specification (SRS) is included, covering:
- System statement
- Functional requirements
- Non-functional requirements
- Formal algorithmic properties
GeneStudio is an educational yet powerful tool that demonstrates how classical data-structure and string-matching algorithms can be applied to real biological sequences.
Contributions, issues, and feature requests are welcome!
This project is licensed under the MIT License.