This repository is a Rosalind-based open educational and research portfolio connecting Python programming, core algorithms, bioinformatics, Biopython workflows, and ML-ready biological sequence analysis.
The goal is to show how foundational computer science concepts such as strings, sorting, dynamic programming, graph algorithms, probability, and file parsing support real computational biology tasks including sequence analysis, motif finding, genome assembly, phylogenetics, proteomics, and biological data processing.
This portfolio builds on 202 solved Rosalind problems across:
- Python Village
- Algorithmic Heights
- Bioinformatics Stronghold
- Bioinformatics Armory
- Bioinformatics Textbook Track
The project restructures those solved problems into a prerequisite-aware curriculum rather than presenting them only as isolated solutions.
- Python for Bioinformatics
- Algorithmic Foundations: Arrays, Sorting, and Searching
- Algorithmic Foundations: Graph Algorithms
- Biological Sequence Basics
- Sequence Statistics, Motifs, and k-mers
- Genetics and Probability
- Dynamic Programming and Sequence Alignment
- String Matching and Genome Indexing
- Graphs and Genome Assembly
- RNA Structure and Combinatorial Biology
- Proteomics and Mass Spectrometry
- Phylogenetics and Evolution
- Practical Bioinformatics with Biopython
- ML-ready Bioinformatics Bridge
original_rosalind_tracks/— original solved Rosalind problems organized by trackmodules/— teaching modules connecting algorithmic foundations to bioinformatics applicationsnotebooks/— tutorial notebooksteaching/— workshop-style teaching materialmini_projects/— extensions connecting bioinformatics to machine learningcurriculum_map.md— module-by-module curriculum mapproblem_dependency_map.md— prerequisite and concept dependency mapsolved_problem_index.md— index of solved Rosalind problems by module and teaching role
The repository is organized into thirteen teaching-oriented modules. Each module connects original Rosalind problems to broader computational biology concepts.
| Module | Topic | Focus |
|---|---|---|
| Module 00 | Python for Bioinformatics | Python syntax, strings, files, dictionaries, and basic text processing |
| Module 01 | Algorithmic Foundations: Arrays, Sorting, Searching | Recurrence, binary search, sorting, heaps, inversions, and selection |
| Module 02 | Algorithmic Foundations: Graphs | BFS, connectivity, DAGs, shortest paths, SCCs, and graph representation |
| Module 03 | Biological Sequence Basics | DNA, RNA, reverse complements, translation, ORFs, splicing, and protein basics |
| Module 04 | Sequence Statistics, Motifs, and k-mers | GC content, motifs, consensus sequences, profile matrices, and k-mer features |
| Module 05 | Genetics and Probability | Mendelian inheritance, allele frequencies, genetic drift, combinatorics, and probability |
| Module 06 | Dynamic Programming and Sequence Alignment | Recurrence, LCS, edit distance, global/local alignment, and affine gaps |
| Module 07 | String Matching and Genome Indexing | KMP, tries, suffix structures, BWT, Boyer-Moore, and Z-algorithm |
| Module 08 | Graphs and Genome Assembly | Overlap graphs, de Bruijn graphs, Eulerian paths, and genome reconstruction |
| Module 09 | RNA Structure and Combinatorial Biology | RNA matchings, Catalan/Motzkin recurrences, wobble pairs, and structure counting |
| Module 10 | Proteomics and Mass Spectrometry | Protein mass, peptide spectra, spectral convolution, and peptide reconstruction |
| Module 11 | Phylogenetics and Evolution | Distance matrices, Newick trees, character tables, quartets, and split distance |
| Module 12 | Practical Bioinformatics with Biopython | FASTA/FASTQ handling, GenBank retrieval, quality filtering, and ORF workflows |
| Module 13 | ML-ready Bioinformatics Bridge | GC features, k-mer vectors, motif features, similarity scores, and feature matrices |
Clone the repository:
git clone https://github.com/aakibinesar/computational-biology-python.git
cd computational-biology-pythonCreate a virtual environment:
python -m venv .venvActivate the virtual environment.
On Windows:
.venv\Scripts\activateOn macOS/Linux:
source .venv/bin/activateInstall the required dependencies:
pip install -r requirements.txtLaunch Jupyter Notebook:
jupyter notebookAlternatively, launch JupyterLab:
jupyter labThis repository is being developed in stages.
- Repository structure: complete
- Original Rosalind solution archive: added
- Curriculum map: complete first version
- Problem dependency map: complete first version
- Solved problem index: complete grouped first version
- Module README files: complete first version
- Tutorial notebooks: complete first version
- ML-ready sequence feature mini-project: complete first version
- Teaching materials: complete first version
For a detailed completion summary, see project_status.md.
For planned future improvements, see roadmap.md.
This repository is an independent educational portfolio based on my completed Rosalind problem-solving work.
Rosalind problem names and IDs are used for reference and curriculum mapping. The original problems belong to the Rosalind platform. This repository contains my own solution archive, explanations, teaching materials, notebooks, and extensions, and is not affiliated with or endorsed by Rosalind.