Skip to content

Repository files navigation

Computational Biology with Python: From Algorithms to Bioinformatics Applications

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.

Purpose

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.

Background

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.

Learning path

  1. Python for Bioinformatics
  2. Algorithmic Foundations: Arrays, Sorting, and Searching
  3. Algorithmic Foundations: Graph Algorithms
  4. Biological Sequence Basics
  5. Sequence Statistics, Motifs, and k-mers
  6. Genetics and Probability
  7. Dynamic Programming and Sequence Alignment
  8. String Matching and Genome Indexing
  9. Graphs and Genome Assembly
  10. RNA Structure and Combinatorial Biology
  11. Proteomics and Mass Spectrometry
  12. Phylogenetics and Evolution
  13. Practical Bioinformatics with Biopython
  14. ML-ready Bioinformatics Bridge

Repository structure

  • original_rosalind_tracks/ — original solved Rosalind problems organized by track
  • modules/ — teaching modules connecting algorithmic foundations to bioinformatics applications
  • notebooks/ — tutorial notebooks
  • teaching/ — workshop-style teaching material
  • mini_projects/ — extensions connecting bioinformatics to machine learning
  • curriculum_map.md — module-by-module curriculum map
  • problem_dependency_map.md — prerequisite and concept dependency map
  • solved_problem_index.md — index of solved Rosalind problems by module and teaching role

Module Index

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

Setup

Clone the repository:

git clone https://github.com/aakibinesar/computational-biology-python.git
cd computational-biology-python

Create a virtual environment:

python -m venv .venv

Activate the virtual environment.

On Windows:

.venv\Scripts\activate

On macOS/Linux:

source .venv/bin/activate

Install the required dependencies:

pip install -r requirements.txt

Launch Jupyter Notebook:

jupyter notebook

Alternatively, launch JupyterLab:

jupyter lab

Current Development

This 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.

Acknowledgement

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.

About

A Rosalind-based computational biology portfolio connecting Python, algorithms, bioinformatics, Biopython, teaching materials, and ML-ready sequence features.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages