Interactive Sequence Alignment Tool for DNA & RNA
Created by Bano Rani — for educational purposes
GeneAligner is a beginner-friendly bioinformatics web app built with Streamlit that helps users perform and visualize DNA/RNA sequence alignments using multiple classic alignment techniques:
| Method | Type | Description |
|---|---|---|
| 🔹 Dot Matrix | Visual | Graphical comparison of sequence similarity |
| 🔹 Needleman-Wunsch | Global Alignment | Aligns sequences end-to-end |
| 🔹 Smith-Waterman | Local Alignment | Finds best matching subsequences |
| 🔹 Word Method | Heuristic | Fast approximate alignment via k-mer matching |
- ✅ Upload or type DNA/RNA sequences
- ✅ Clean and validate sequences automatically
- ✅ Choose from multiple alignment algorithms
- ✅ Visualize alignment steps and scoring matrices
- ✅ Download or copy alignment results
- 🧬 Teaching bioinformatics alignment concepts
- 🧪 Practicing global vs. local alignment
- 👩🏫 Classroom demos for biology students
- 💻 Hands-on project for beginners in bioinformatics
1. Clone the repository
git clone https://github.com/Bano733-code/gene-aligner-app.git
cd gene-aligner-app2. Create a virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate3. Install dependencies
pip install -r requirements.txt4. Run the app
streamlit run app.pyThe app will open automatically in your browser at http://localhost:8501.
- Launch the app using the command above.
- Enter or upload your DNA/RNA sequences in the input panel.
- Select an alignment method — Dot Matrix, Needleman-Wunsch, Smith-Waterman, or Word Method.
- Click Align to view the result and scoring matrix.
- Download or copy the alignment output for your report or assignment.
gene-aligner-app/
├── figures/ # Images used in README and app
├── app.py # Main Streamlit application
├── alignment/ # Alignment algorithm modules
│ ├── dot_matrix.py
│ ├── needleman_wunsch.py
│ ├── smith_waterman.py
│ └── word_method.py
├── requirements.txt
├── LICENSE
└── README.md
- Python 3.9+
- Streamlit — web interface
- NumPy — matrix computations
- Matplotlib / Plotly — alignment visualization
Contributions are welcome! To contribute:
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -m "Add your feature") - Push to the branch (
git push origin feature/your-feature) - Open a Pull Request
This project is licensed under the MIT License — see the LICENSE file for details.
- Created with ❤️ using Streamlit
- Bioinformatics algorithms adapted for educational use
- Developed by Bano Rani
⭐ If you found this project helpful, consider giving it a star on GitHub!



