Bioinformatics — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Bioinformatics (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A modular, five-tier curriculum that takes you from computational basics to applied bioinformatics research skills. Built on materials from the Kodomo Bioinformatics Program at Moscow State University and the IAB open-source textbook, every concept is taught through hands-on Jupyter notebooks with real biological data. Whether you are a biology student learning to code, a programmer entering the life sciences, or a researcher looking to sharpen your computational toolkit, this course meets you where you are.
233 notebooks | 6 tiers | 108 glossary terms | 12 sample data files | 30 interactive visualizations
┌──────────────────────────────────────────────────────────────────────────────┐
│ │
│ TIER 0: COMPUTATIONAL FOUNDATIONS 12 notebooks │
│ ────────────────────────────────────────────────────────────────────────── │
│ Skills Check │ Linux │ Git │ Bash │ Encodings │ R Basics │ Biostatistics │
│ Probability & Statistics (Python) │ Advanced R Statistics │
│ │
│ Entry: No programming experience. Learn the tools every │
│ bioinformatician needs before writing Python. │
│ │
└──────────────────────────────────┬───────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────────────┐
│ │
│ TIER 1: PYTHON FOR BIOINFORMATICS 38 notebooks │
│ ────────────────────────────────────────────────────────────────────────── │
│ Skills Check │ Intro │ Variables │ Operators │ Strings │ Control Flow │
│ Functions │ File I/O │ Lists │ Dicts │ Comprehensions │ Iterators │
│ Regex │ OOP │ Decorators │ Error Handling │ NumPy/Pandas │ Wrangling │
│ Visualization │ SQL │
│ │
│ Entry: Comfortable with the command line but new to Python. │
│ Every example uses biological data. │
│ │
└──────────────────────────────────┬───────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────────────┐
│ │
│ TIER 2: CORE BIOINFORMATICS 21 notebooks │
│ ────────────────────────────────────────────────────────────────────────── │
│ Skills Check │ Glossary │ Databases │ BioPython │ Pairwise Alignment │
│ BLAST │ Multiple Alignment │ Phylogenetics │ Protein Structure │
│ Nucleic Acid Structure │ Chromatograms │ Motifs & Domains │
│ GO & Pathways │ Comparative Genomics │ Computational Genetics │
│ Hi-C Analysis │ Motif Discovery │
│ │
│ Entry: Know Python, new to bioinformatics. The algorithmic │
│ and biological core of the field. │
│ │
└──────────────────────────────────┬───────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────────────┐
│ │
│ TIER 3: APPLIED BIOINFORMATICS 83 notebooks │
│ ────────────────────────────────────────────────────────────────────────── │
│ Skills Check │ NGS │ Variant Calling │ RNA-seq │ Microbial Diversity │
│ Promoters │ Statistics │ Machine Learning │ Capstone Project │
│ Molecular Modeling │ Deep Learning │ Clinical Genomics │ Modern Workflows │
│ Biochemistry & Enzyme Kinetics │ Genetic Engineering In Silico │
│ Population Genetics │ Numerical Methods │ Genome Assembly │
│ Proteomics & Structural Methods │ GWAS │ Spatial Transcriptomics │
│ Copy Number Analysis │ Bayesian Statistics │ TF Footprinting │
│ Cancer Transcriptomics │ ChIP-seq & Epigenomics │ Long-Read Sequencing │
│ Shotgun Metagenomics │ Multi-Omics Integration │ Network Biology │
│ Cheminformatics & Drug Discovery │
│ │
│ Entry: Have bioinformatics fundamentals, want real-world │
│ pipeline experience and advanced methods. │
│ │
│ ┌──────────────┐ │
│ │ CAPSTONE │ │
│ │ PROJECT │ │
│ │ (end-to-end │ │
│ │ analysis) │ │
│ └──────────────┘ │
│ │
└──────────────────────────────────┬───────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────────────┐
│ │
│ TIER 4: ALGORITHMS & DATA STRUCTURES 30 notebooks + 30 interactive │
│ ────────────────────────────────────────────────────────────────────────── │
│ Skills Check │ Complexity │ Sorting │ Searching │ Linked Lists │
│ Stacks/Queues │ BST │ AVL │ Red-Black Trees │ Hash Tables │
│ Bloom Filters │ KMP │ Rabin-Karp │ Tries │ Suffix Trees │ Graphs │ DP │
│ │
│ The CS theory behind bioinformatics tools. Study alongside │
│ Tiers 2--3: DP = alignment, string matching = BLAST, graphs = pathways. │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────────────────┐
│ │
│ TIER 5: MODERN AI FOR SCIENCE 13 notebooks │
│ ────────────────────────────────────────────────────────────────────────── │
│ LLM Fine-tuning │ Vision RAG │ Diffusion & Generative Models │
│ AlphaFold & Protein Design │
│ │
│ Entry: Tiers 1–3 complete. GPU-optional; runs on free-tier Colab. │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
ENTRY POINTS ──────────────────────────────────────────────────────────────
Take the Skills Check at the start of any tier.
Score above 80% ──> skip that tier and move to the next.
Score below 80% ──> work through the tier's notebooks.
Tier 4 runs in parallel with Tiers 2--3 (not sequential).| Audience | Where to Start | Tiers to Take | Estimated Time |
|---|---|---|---|
| Complete beginner -- no programming experience, new to biology or coming from a wet-lab background | Tier 0, Module 01 (Linux Fundamentals) | All six tiers (0 through 5) | 160--215 hours |
| Biology student -- comfortable with a terminal and basic scripting, wants to learn Python for research | Tier 1 Skills Check, then Tier 1 Module 01 | Tiers 1, 2, 3 | 90--120 hours |
| Experienced programmer -- knows Python well, new to bioinformatics and biological data | Tier 2 Skills Check, then Tier 2 Module 01 | Tiers 2, 3 | 50--70 hours |
| Bioinformatics researcher -- has bioinformatics experience, wants applied pipelines and advanced methods | Tier 3 Skills Check, then individual Tier 3 modules | Tier 3 selectively | 25--35 hours |
These modules cover the computing skills that every bioinformatician needs before writing Python. If you can navigate a Linux file system, use Git confidently, and write basic Bash scripts, take the Skills Check and skip ahead.
#### 0.00 Skills Check: Computational Foundations
00_skills_check.ipynb -- 52 cells
Self-assessment covering Linux commands, Git workflows, and Bash scripting. Fifteen graded questions with a detailed answer key. Score above 80% (12+ out of 15) to skip Tier 0. Includes section-specific remediation advice pointing to the exact notebook for each weak area.
self-assessment linux git bash skip-ahead
#### 0.01 Linux Fundamentals
01_linux_fundamentals.ipynb -- 69 cells
File system navigation, creating/moving/copying files and directories, pipes and redirections for data-processing pipelines. Covers grep, find, awk, sed, compressed file handling (gzip, tar), process management, and SSH connections to remote servers. Every example uses bioinformatics scenarios -- FASTA files, BAM processing, FASTQ quality checks.
file system pipes grep awk sed ssh permissions gzip
#### 0.02 Git Version Control
01_git_version_control.ipynb -- 59 cells
Why version control matters for reproducible research. Initializing repositories, staging and committing changes, viewing history with log/diff/show. Branching and merging for feature development. Collaborating with GitHub: push, pull, pull requests. Writing .gitignore files for bioinformatics projects (large data files, caches, OS artifacts). Undoing mistakes safely with reset and revert.
git init branches merging github .gitignore reproducibility
#### 0.03 Bash Scripting
01_bash_scripting.ipynb -- 72 cells
Writing and executing Bash scripts to automate repetitive bioinformatics tasks. Variables, conditionals, for/while loops, and functions. Batch processing of FASTQ, BAM, and VCF files. Robust scripts with set -euo pipefail, input validation, and error handling. Text processing with awk, sed, and cut inside scripts. Building reusable analysis pipeline scripts.
bash scripts loops functions awk sed batch processing pipelines
#### 0.04 Character Encodings
01_character_encodings.ipynb -- 44 cells
From bits to bytes: binary, decimal, and hexadecimal representations. ASCII as the universal foundation. UTF-8 encoding and why it matters when collaborators share files across operating systems. Binary vs. text file modes in Python. Understanding encoding issues in bioinformatics data formats -- FASTA, GenBank, GFF, PDB. Practical debugging of garbled text and encoding errors.
ASCII UTF-8 binary text modes encoding errors cross-platform
#### 0.05 R Fundamentals
01_r_fundamentals.ipynb -- 51 cells
Why R matters in bioinformatics: Bioconductor, DESeq2, edgeR, Seurat, ggplot2. R basics -- assignment, types, vectors, indexing differences from Python (1-based, negative indexing means exclusion). Vectorized operations as R's superpower. Data frames, factors, basic plotting. Enough R literacy to read R-based methods papers and run Bioconductor packages when needed.
R syntax vectors data frames Bioconductor ggplot2 vectorized operations
#### 0.06 Biostatistics Fundamentals
01_biostatistics_fundamentals.ipynb -- 52 cells
Populations vs. samples, parameter estimation, types of data (nominal, ordinal, discrete, continuous). Probability distributions relevant to biology: normal, Poisson, negative binomial, binomial. Hypothesis testing framework: null and alternative hypotheses, test statistics, p-values, significance levels. Multiple testing correction (Bonferroni, Benjamini-Hochberg FDR). Practical examples from differential expression, variant calling, and enrichment analysis.
distributions hypothesis testing p-values multiple testing FDR Bonferroni
#### 0.07 Probability and Statistics with Python
01_probability_and_statistics_python.ipynb -- 68 cells
Python-native statistical analysis using scipy.stats and statsmodels. Probability distributions (normal, binomial, Poisson, negative binomial) with biological examples. Hypothesis testing: t-tests, Mann-Whitney U, chi-squared, Fisher's exact. Multiple group comparisons with ANOVA and Kruskal-Wallis. Correlation and linear regression with full diagnostics. Bootstrap confidence intervals and permutation tests. Power analysis for experimental design.
scipy.stats statsmodels distributions regression bootstrap power analysis ANOVA
#### 0.08 Advanced R Statistics
01_r_hypothesis_testing_and_nonparametrics.ipynb -- 57 cells 02_r_regression_correlation_and_diagnostics.ipynb -- 76 cells
Hands-on R statistical computing with real biological datasets. Notebook 1 covers nonparametric methods: exact binomial tests, sign test, Wilcoxon signed-rank and rank-sum, Mann-Whitney U, Kruskal-Wallis with Dunn post-hoc, Hodges-Lehman estimation, and power analysis. Notebook 2 covers parametric methods and diagnostics: confidence intervals (Student-t, chi-squared, asymptotic), normality testing (Shapiro-Wilk, QQ plots), Pearson/Spearman/Kendall correlation with Fisher z-transform, chi-squared tests for independence and homogeneity, linear and polynomial regression with residual diagnostics, ANOVA vs Kruskal-Wallis, and Central Limit Theorem simulation. Adapted from ФББ Semester 7 biostatistics seminars by Pervushin/Muromskaya.
R nonparametric tests Wilcoxon Hodges-Lehman regression diagnostics chi-squared CLT power analysis
Core Python programming taught entirely through biological examples. From your first program to publication-quality figures, every exercise works with sequences, gene data, or biological datasets.
#### 1.00 Skills Check: Python Fundamentals
00_skills_check.ipynb -- 48 cells
Self-assessment covering Python basics: variables, data types, control flow, functions, file operations, and data structures. Score above 80% to skip Tier 1 and proceed directly to Tier 2 (Core Bioinformatics).
self-assessment python basics skip-ahead
#### 1.01 Python Introduction
01_python_introduction.ipynb -- 52 cells
Why Python dominates bioinformatics. Navigating Jupyter notebooks: editing cells, running code, interpreting output. Writing your first bioinformatics program. The Python ecosystem for biology -- BioPython, pandas, NumPy, matplotlib. Installation and environment setup. REPL basics and interactive exploration.
jupyter python setup ecosystem first program REPL
#### 1.02 Variables and Data Types
01_variables_and_data_types.ipynb -- 64 cells
Creating variables with Python naming conventions. All basic data types: int, float, str, bool, None. Type conversion and type checking. Using strings to represent biological sequences. F-strings for formatted output. Real bioinformatics calculations: molecular weights, GC content, sequence length statistics.
variables int float str bool type conversion f-strings
#### 1.03 Operators and Expressions
01_operators_and_expressions.ipynb -- 63 cells
Arithmetic, comparison, logical, and bitwise operators. Operator precedence and associativity. Boolean expressions for filtering biological data. Chaining comparisons. Membership testing with in. Identity vs. equality (is vs. ==). Applied exercises with sequence analysis calculations.
arithmetic comparison logical operators precedence boolean expressions
#### 1.04 Strings and Sequences
01_strings_and_sequences.ipynb -- 64 cells
String methods for biological sequences: indexing, slicing, and immutability. DNA/RNA/protein alphabets as strings. Reverse complement, transcription (DNA to RNA), and codon extraction. Motif finding and pattern searching. FASTA header parsing. GC content calculation. F-string formatting for scientific output.
string methods slicing reverse complement transcription codons motifs GC content
#### 1.05 Control Flow
01_control_flow.ipynb -- 65 cells
Conditional statements (if/elif/else) for classifying biological data -- purines vs. pyrimidines, amino acid properties. for and while loops for iterating over sequences and datasets. Loop control with break, continue, and the for...else construct. Using enumerate(), zip(), and range() effectively. Codon-to-amino-acid translation using a dictionary lookup inside a loop.
if/elif/else for loops while break continue enumerate zip codon translation
#### 1.06 Functions
01_functions.ipynb -- 57 cells
Defining and calling functions with various parameter types. Default arguments, *args, and **kwargs. Lambda functions and map/filter/reduce. Variable scope and the LEGB rule. Recursive algorithms. Docstrings and function documentation. Biological applications: GC content functions, sequence validators, ORF finders.
def arguments lambda map filter scope recursion *args **kwargs
#### 1.07 File Operations
01_file_operations.ipynb -- 66 cells
Reading and writing text files with context managers (with statement). File modes: read, write, append, binary. Reading methods compared (read(), readline(), readlines(), iteration). Parsing FASTA files from scratch -- building both a reader and a writer. Working with CSV, JSON, and Pickle formats. Understanding GenBank format. Path handling and directory operations.
file I/O context managers FASTA parsing CSV JSON GenBank binary files
#### 1.08 Lists and Tuples
01_lists_and_tuples.ipynb -- 50 cells
List creation, indexing, slicing, and all core methods (append, extend, insert, remove, sort). Tuple immutability, packing/unpacking, and named tuples. Sorting and filtering biological sequences by length and composition. Gene coordinate storage with tuples. Nested data structures for representing biological hierarchies.
lists tuples named tuples sorting slicing gene coordinates
#### 1.09 Dictionaries and Sets
01_dictionaries_and_sets.ipynb -- 48 cells
Dictionary creation, access, methods, and iteration. Nested dictionaries for complex biological data. Specialized collections: defaultdict and Counter. Set operations: union, intersection, difference, symmetric difference, and frozenset. Biological applications: codon tables, gene annotation lookup, k-mer counting, comparing gene sets across experiments.
dicts sets defaultdict Counter codon tables k-mers gene sets
#### 1.10 Comprehensions
01_comprehensions.ipynb -- 50 cells
List comprehensions with and without conditions. Dictionary and set comprehensions. Nested comprehensions for matrix operations. Generator expressions for memory-efficient processing. Applied to biological data: GC content filtering, codon extraction, reverse complement of sequence lists, k-mer frequency tables.
list comprehensions dict comprehensions set comprehensions generator expressions k-mers
#### 1.11 Iterators and Generators
01_iterators_and_generators.ipynb -- 84 cells
The iteration protocol: __iter__ and __next__. How for loops really work under the hood. Using iter() and next() manually. Creating generators with yield and generator expressions. The itertools module: chain, combinations, permutations, product, groupby, islice. Lazy evaluation for memory-efficient processing of large biological datasets (genome-scale FASTA files, streaming FASTQ).
iterators generators yield itertools lazy evaluation memory efficiency
#### 1.12 Regular Expressions
01_regular_expressions.ipynb -- 82 cells
The re module: search, match, findall, finditer, sub, compile. Metacharacters, character classes, quantifiers, groups, and backreferences. Lookahead and lookbehind assertions. Flags: IGNORECASE, MULTILINE, DOTALL, VERBOSE. Bioinformatics applications: restriction enzyme site patterns, NCBI gene ID extraction, PROSITE-to-regex conversion, protein motif searching, parsing structured biological text.
re module metacharacters groups lookahead restriction sites PROSITE motif search
#### 1.13 Classes and OOP
01_classes_and_oop.ipynb -- 45 cells
Why OOP matters for bioinformatics: modeling genes, sequences, and biological entities as objects. Classes, __init__ constructor, instance attributes and methods. Dunder methods: __str__, __repr__, __eq__, __lt__. Inheritance and polymorphism. Abstract base classes. Properties, class methods, and static methods. Dataclasses for concise data modeling.
classes __init__ inheritance polymorphism dunder methods dataclasses properties
#### 1.14 Decorators and Context Managers
01_decorators_and_context_managers.ipynb -- 42 cells
First-class functions and closures as the foundation for decorators. Writing decorators from scratch, with and without arguments. functools.wraps for preserving function metadata. Context managers with __enter__/__exit__ and the contextlib module. Applied to bioinformatics workflows: timing sequence analysis functions, caching BLAST results, managing database connections.
decorators closures functools.wraps context managers contextlib with statement
#### 1.15 Error Handling
01_error_handling.ipynb -- 46 cells
Structured error handling with try/except/else/finally. Raising exceptions and creating custom exception classes. The Python exception hierarchy. Debugging techniques: print debugging, assert statements, pdb/breakpoint(). The logging module for production bioinformatics code. Handling messy bioinformatics data: missing FASTA headers, ambiguous nucleotides, network timeouts when querying NCBI.
try/except custom exceptions debugging pdb logging assert
#### 1.16 NumPy and Pandas
01_numpy_and_pandas.ipynb -- 94 cells
NumPy fundamentals: creating arrays, vectorized operations vs. Python loops, broadcasting, fancy indexing, statistical functions. Pandas Series and DataFrames for tabular biological data. Reading and writing CSV, TSV, and Excel files. Indexing, selection, filtering, grouping, and aggregation. Merging and joining datasets. Applied to gene expression matrices, annotation tables, and experimental metadata.
NumPy arrays vectorized operations broadcasting DataFrames CSV groupby merge
#### 1.17 Data Wrangling
01_data_wrangling.ipynb -- 80 cells
Handling missing values: when to drop vs. fill, biological context for each strategy. Removing duplicates. Data type conversion and cleaning messy annotation tables. Reshaping between wide and long formats with melt, pivot, stack/unstack. String operations for extracting information from annotation columns. Custom transformations with apply and applymap. Method chaining for clean, readable pipelines.
missing values duplicates melt pivot string operations apply method chaining
#### 1.18 Data Visualization
01_data_visualization.ipynb -- 72 cells
Matplotlib fundamentals: figures, axes, the object-oriented interface. All major plot types: line, scatter, bar, histogram, box, violin, heatmap. Customization: colors, labels, legends, annotations, styles. Seaborn for statistical plots, pair plots, and clustered heatmaps. Biological plot types: volcano plots, MA plots, sequence logos, genome coverage plots. Multi-panel figures and saving publication-quality output.
matplotlib seaborn heatmaps volcano plots publication figures multi-panel
#### 1.19 SQL for Bioinformatics
01_sql_for_bioinformatics.ipynb -- 20 cells
Querying biological databases using SQL with Python's built-in sqlite3 module -- no server installation required. SELECT, WHERE, ORDER BY, GROUP BY, and aggregate functions (COUNT, AVG, MAX, MIN, SUM). JOIN operations: INNER, LEFT, and self-joins for connecting gene annotation tables. Subqueries and set operations with UNION. CREATE TABLE, INSERT, UPDATE, DELETE for building local biological databases. Integrating sqlite3 with pandas: reading query results directly into DataFrames, writing DataFrames to SQL tables.
sqlite3 SELECT JOIN GROUP BY subqueries pandas biological databases
The heart of bioinformatics: databases, algorithms, structural biology, and analysis methods. You will learn how to search databases, align sequences, build phylogenetic trees, analyze protein structures, and interpret functional annotations.
#### 2.00 Skills Check: Core Bioinformatics
00_skills_check.ipynb -- 50 cells
Self-assessment covering BLAST, sequence alignment, phylogenetics, protein structure, and functional annotation. Fifteen questions test whether you can skip Tier 2 and proceed to applied bioinformatics. Includes questions on E-value interpretation, substitution matrices, tree topology, PDB format, and GO enrichment.
self-assessment BLAST alignment phylogenetics skip-ahead
#### 2.00b Bioinformatics Glossary
01_glossary.ipynb -- 46 cells
A comprehensive A-Z reference of 108 bioinformatics terms used across all five tiers. Each entry includes a definition and a cross-reference to the notebook where the term is covered in depth. Use Ctrl+F/Cmd+F to search, or browse alphabetically. Covers everything from ACMG variant classification to zero-mode waveguides.
glossary reference 108 terms cross-references
#### 2.01 Biological Databases
01_biological_databases.ipynb -- 52 cells
Navigating the NCBI ecosystem: GenBank, RefSeq, Gene, SRA, GEO, and the Entrez API. Understanding UniProt (Swiss-Prot vs. TrEMBL) and protein annotation. The Protein Data Bank (PDB) for structural data. Programmatic access to databases with BioPython's Entrez module. Cross-references between databases. Accession numbers, identifiers, and how records connect.
NCBI GenBank UniProt PDB Entrez API RefSeq accession numbers
#### 2.02 BioPython Essentials
01_biopython_essentials.ipynb -- 52 cells
The Seq object: complement, reverse complement, transcription, translation. SeqRecord for annotated sequences. SeqIO for reading and writing biological file formats (FASTA, GenBank, EMBL). Fetching sequences from NCBI programmatically. A complete gene-to-protein analysis workflow: fetch a gene, transcribe, find ORFs, translate, search for the protein.
Seq SeqRecord SeqIO complement translate Entrez gene-to-protein
#### 2.03 Pairwise Sequence Alignment
01_pairwise_sequence_alignment.ipynb -- 64 cells
The biological motivation for aligning sequences: detecting evolutionary relationships through substitutions, insertions, and deletions. Dot plots as a visual alignment tool. Substitution matrices: PAM and BLOSUM families, how they are derived, when to use each. Gap penalty schemes: linear vs. affine. Implementing Needleman-Wunsch (global) and Smith-Waterman (local) algorithms step by step with dynamic programming. E-values and statistical significance. BioPython's pairwise2 and Align modules.
dot plots BLOSUM PAM Needleman-Wunsch Smith-Waterman gap penalties E-values
#### 2.04 BLAST Searching
01_blast_searching.ipynb -- 54 cells
Why BLAST is needed: the computational cost of optimal alignment at database scale. The seed-and-extend heuristic: word matching, neighborhood generation, ungapped extension, gapped extension. Choosing the right BLAST variant: blastn, blastp, blastx, tblastn, tblastx. Parameter tuning: word size, E-value threshold, scoring matrices. Running BLAST via NCBI web interface and programmatically with BioPython's NCBIWWW and NCBIXML. Parsing and interpreting results. Taxonomy-filtered searches.
BLAST variants seed-and-extend E-value NCBIWWW NCBIXML parameter tuning
#### 2.05 Multiple Sequence Alignment
01_multiple_sequence_alignment.ipynb -- 56 cells
Why MSA reveals what pairwise alignment cannot: conserved regions, functional domains, evolutionary relationships across entire families. The computational challenge: NP-hardness and the need for heuristics. Progressive alignment (guide tree approach). Running ClustalW and MUSCLE from Python. Conservation scoring and consensus sequences. MSA visualization and interpretation. Identifying conserved functional residues from alignments.
MSA ClustalW MUSCLE conservation consensus guide tree NP-hard
#### 2.06 Phylogenetics
01_phylogenetics.ipynb -- 61 cells
Phylogenetic tree terminology: nodes, branches, clades, rooted vs. unrooted trees. Distance-based methods: UPGMA and Neighbor-Joining. Character-based methods: maximum parsimony, maximum likelihood. Distance matrices from MSA. Building trees with BioPython's Phylo module. Tree visualization and annotation. Bootstrap analysis for branch support. Practical applications: gene family evolution, viral tracking, species classification.
phylogenetic trees UPGMA Neighbor-Joining bootstrap Phylo distance matrix clades
#### 2.07 Protein Structure
01_protein_structure.ipynb -- 50 cells
The four levels of protein structure: primary through quaternary. The PDB file format and ATOM record fields. BioPython's Bio.PDB module: navigating the Structure/Model/Chain/Residue/Atom hierarchy. Calculating interatomic distances, bond angles, and dihedral angles. Ramachandran plots. RMSD calculation for structural comparison. Secondary structure assignment (DSSP). 3D visualization with py3Dmol in Jupyter notebooks.
PDB format Bio.PDB Ramachandran RMSD DSSP py3Dmol secondary structure
#### 2.08 Nucleic Acid Structure
01_nucleic_acid_structure.ipynb -- 43 cells
Chemical components of nucleotides: base, sugar, phosphate. Watson-Crick base pairing and hydrogen bonds. DNA helical forms: A-DNA, B-DNA, Z-DNA and their biological significance. Major and minor groove geometry and protein-DNA recognition. RNA secondary structure elements: stems, loops, bulges, pseudoknots. Introduction to 3DNA for nucleic acid structural analysis.
nucleotides base pairing A/B/Z-DNA major/minor groove RNA secondary structure 3DNA
#### 2.09 Chromatogram Analysis
01_chromatogram_analysis.ipynb -- 46 cells
How Sanger (dideoxy chain termination) sequencing works. Reading .ab1 chromatogram trace files with BioPython. Plotting and interpreting trace data with matplotlib -- the four fluorescence channels. Phred quality scores and base calling confidence. Identifying mixed bases, heterozygous positions, and low-quality regions. Quality trimming strategies. Building a consensus from forward and reverse reads.
Sanger sequencing .ab1 files Phred scores base calling trace data consensus
#### 2.10 Sequence Motifs and Domains
01_sequence_motifs_and_domains.ipynb -- 53 cells
What sequence motifs are and why they matter biologically: transcription factor binding sites, splice signals, post-translational modification sites. Constructing Position Weight Matrices (PWMs) from aligned binding sites: PFM, PPM, PWM with pseudocounts. Information content and sequence logos. PROSITE patterns and regex conversion. Protein domains and the major databases: Pfam, InterPro, CDD. Scanning sequences for known domains.
PWM sequence logos PROSITE Pfam InterPro TATA box binding sites
#### 2.11 Gene Ontology and Pathways
01_gene_ontology_and_pathways.ipynb -- 53 cells
The Gene Ontology system: three ontologies (Molecular Function, Biological Process, Cellular Component), DAG structure, GO terms, evidence codes. GO enrichment analysis using the hypergeometric test and Fisher's exact test. The KEGG database: pathway maps, enzymes, metabolic networks. Functional annotation workflows. Interpreting enrichment results in biological context: overrepresentation, gene set enrichment.
Gene Ontology GO enrichment KEGG DAG hypergeometric test functional annotation
#### 2.12 Comparative Genomics
01_comparative_genomics.ipynb -- 45 cells
Goals and rationale of comparative genomics: identifying conserved elements, detecting rearrangements, understanding genome evolution. Implementing dot plots from scratch and interpreting visual patterns -- diagonal lines (collinearity), breaks (rearrangements), parallel diagonals (repeats). Synteny analysis and conserved gene order. Distinguishing orthologs from paralogs. Proteome-level comparisons.
dot plots synteny orthologs paralogs genome rearrangements comparative analysis
#### 2.13 Computational Genetics
01_computational_genetics.ipynb -- 64 cells
Programming the genetic code: building codon tables, translation, degeneracy analysis. Codon usage bias: RSCU, Codon Adaptation Index (CAI), GC content at codon positions. Restriction enzyme analysis: recognition sites, virtual digests, gel simulation, compatible ends. Open reading frame finding across all six frames. Genetic mapping: two-point and three-point crosses, map distance, interference. Mutation analysis: transition/transversion ratios, mutation spectra, CpG deamination. Hardy-Weinberg equilibrium testing.
genetic code codon usage CAI restriction enzymes ORF finding genetic mapping Ts/Tv Hardy-Weinberg
#### 2.14 Hi-C Analysis
3D genome organization from Hi-C experiments using the cooler and cooltools Python stack. cooler file format: loading, inspecting metadata, and slicing contact matrices. Contact decay (expected) curves to normalize distance effects. Eigenvector decomposition for A/B compartment identification. Insulation score calculation and TAD boundary detection. Saddle plots for compartment strength visualization. Pileup (aggregate) analysis around genomic features such as CTCF sites and loop anchors. Uses public Hi-C data from the 4DN Data Portal or ENCODE.
cooler cooltools contact matrices A/B compartments TADs insulation score saddle plots pileup
#### 2.15 Motif Discovery
Quantitative motif analysis from position frequency matrices to enrichment testing. PPM/PWM construction, normalization, and pseudocount handling. Information content per position and total IC calculation. KDIC score (mean IC normalized to [0,1]). IUPAC consensus sequence generation. Score distributions: exact enumeration for short motifs (length ≤ 10), Monte Carlo with confidence intervals for longer. Motif enrichment using Fisher's exact test with Benjamini-Hochberg correction. TomTom matching concept against JASPAR 2024 and HOCOMOCO public databases. Pipeline design patterns using abstract interfaces and dataclasses; BED/FASTA I/O patterns.
PWM PPM information content KDIC IUPAC Fisher enrichment Benjamini-Hochberg TomTom JASPAR
Advanced topics and real-world analysis pipelines. Each notebook covers a complete workflow from raw data to biological conclusions. Includes a capstone project integrating skills from every tier, plus specialized modules on molecular modeling, deep learning, clinical genomics, modern bioinformatics workflows, GWAS, spatial transcriptomics, copy number analysis, Bayesian statistics, and TF footprinting.
#### 3.00 Skills Check: Applied Bioinformatics
00_skills_check.ipynb -- 35 cells
Self-assessment covering NGS concepts, file formats (FASTQ, SAM/BAM, VCF), RNA-seq workflows, and statistical testing. Tests knowledge of sequencing platforms (Illumina, PacBio, Nanopore), quality control strategies, and variant interpretation. Score above 80% to selectively skip Tier 3 modules you already know.
self-assessment NGS RNA-seq variant calling skip-ahead
#### 3.01 NGS Fundamentals
01_ngs_fundamentals.ipynb -- 47 cells
The complete NGS pipeline from sequencing to alignment. How Illumina, PacBio SMRT, and Oxford Nanopore sequencing work -- principles, strengths, and error profiles. FASTQ format: structure, quality encoding, parsing. Quality control with FastQC: per-base quality, adapter content, duplication levels. Read trimming with Trimmomatic and fastp. SAM/BAM format: header, alignment records, FLAG fields, CIGAR strings. Alignment with BWA and HISAT2.
FASTQ FastQC trimming SAM/BAM CIGAR Illumina PacBio Nanopore BWA
#### 3.01b Bioinformatics Data Formats
02_bio_data_formats.ipynb -- 35 cells
A comprehensive guide to every major bioinformatics file format with hands-on Python parsing examples. FASTA: structure, .fai indexing, random-access fetch. FASTQ: Phred encoding, quality histograms. SAM/BAM/CRAM: FLAG decoding, CIGAR string parsing. VCF/BCF: variant records, genotype fields, INFO/FORMAT parsing. BED: 0-based intervals, overlap detection. GFF3/GTF: gene annotations, attribute parsing. WIG/BedGraph/BigWig: coverage tracks. PDB: fixed-width ATOM/HETATM records, backbone extraction, distance calculation. mmCIF/PDBx: modern structure format, AlphaFold pLDDT scores. FAST5/POD5: Oxford Nanopore raw signal. Newick/Nexus/NHX: phylogenetic tree serialization and recursive parsing.
FASTA FASTQ SAM/BAM/CRAM VCF/BCF BED GFF3 GTF WIG BedGraph BigWig PDB mmCIF FAST5 POD5 Newick Nexus NHX
#### 3.02 Variant Calling and SNP Analysis
01_variant_calling_and_snp_analysis.ipynb -- 41 cells
Classifying variant types: SNPs, indels, structural variants, CNVs. The variant calling pipeline: marking duplicates, base quality recalibration, calling with GATK HaplotypeCaller / bcftools / FreeBayes. VCF format in detail: header, INFO fields, FORMAT/genotype columns, FILTER. Hard filtering vs. VQSR. Variant annotation with SnpEff and VEP. Population genetics: allele frequencies, Hardy-Weinberg equilibrium, linkage disequilibrium. GWAS concepts and ClinVar.
VCF GATK SNPs indels SnpEff VEP allele frequency GWAS ClinVar
#### 3.03 RNA-seq Analysis
01_rna_seq_analysis.ipynb -- 59 cells
Complete RNA-seq workflow from experimental design to differential expression. Advantages over microarrays. Experimental design: biological replicates, sequencing depth, batch effects. The analysis pipeline: alignment (STAR, HISAT2), quantification (featureCounts, HTSeq, salmon), count normalization (RPKM, FPKM, TPM, DESeq2 size factors). Differential expression with DESeq2 and edgeR (conceptual and R integration). Visualization: volcano plots, MA plots, heatmaps, PCA.
RNA-seq DESeq2 differential expression TPM FPKM volcano plots PCA
#### 3.04 Microbial Diversity
01_microbial_diversity.ipynb -- 59 cells
16S rRNA gene as a universal marker for bacteria and archaea. Amplicon sequencing workflow from environmental sample to OTU/ASV tables. Denoising with DADA2 vs. OTU clustering. Taxonomic classification against reference databases (SILVA, Greengenes, UNITE). Alpha diversity metrics: observed species, Shannon, Simpson, Chao1. Beta diversity: Bray-Curtis, UniFrac distances. Ordination and visualization: PCoA, NMDS. Statistical testing: PERMANOVA, ANOSIM. Rarefaction curves.
16S rRNA OTU ASV DADA2 alpha diversity beta diversity UniFrac PCoA
#### 3.05 Promoter and Regulatory Analysis
01_promoter_and_regulatory_analysis.ipynb -- 44 cells
Gene regulation and regulatory elements: promoters, enhancers, silencers. TATA box identification and consensus sequences. CpG islands: definition, detection algorithms, role in gene regulation. Transcription factor binding site (TFBS) prediction using PWMs. Scanning genomic sequences for motif hits. DNA methylation patterns and their biological significance. Integrating regulatory predictions with expression data.
promoters TATA box CpG islands TFBS PWM scanning methylation gene regulation
#### 3.06 Statistics for Bioinformatics
01_statistics_for_bioinformatics.ipynb -- 50 cells
Distributions in biology: normal, Poisson, negative binomial, and when each applies. Hypothesis testing review: t-tests, chi-squared, Mann-Whitney, Kruskal-Wallis. Multiple testing correction in depth: family-wise error rate, Bonferroni, Benjamini-Hochberg FDR, q-values. Survival analysis (Kaplan-Meier, log-rank test). Power analysis and sample size calculations. Resampling methods: permutation tests and bootstrapping. Practical advice for choosing the right test.
distributions multiple testing FDR survival analysis power analysis bootstrap permutation
#### 3.07 Machine Learning for Biology
01_machine_learning_for_biology.ipynb -- 58 cells
ML use cases in bioinformatics: variant pathogenicity, gene expression prediction, protein function classification. Classification vs. regression. The scikit-learn workflow: data splitting, feature engineering, model training, cross-validation, hyperparameter tuning. Algorithms: logistic regression, decision trees, random forests, SVM, k-nearest neighbors. Evaluation metrics: accuracy, precision, recall, F1, ROC-AUC. Feature selection for biological interpretability. Unsupervised learning: PCA, k-means, hierarchical clustering.
scikit-learn random forests SVM cross-validation ROC-AUC PCA clustering
#### 3.08 Capstone Project: From Sequence to Discovery
01_capstone_project.ipynb -- 68 cells
An end-to-end integrative bioinformatics project analyzing unknown DNA sequences. You will identify sequences via BLAST, perform multiple sequence alignment, construct phylogenetic trees, analyze protein structure, and draw biological conclusions. Integrates skills from every tier: file handling (Tier 1), BioPython and alignment (Tier 2), and statistical evaluation (Tier 3). Designed to be completed in 8--12 hours across multiple sessions. The best way to verify readiness for independent bioinformatics work.
capstone integrative analysis BLAST MSA phylogenetics protein structure end-to-end
#### 3.09 Molecular Modeling and Docking
01_molecular_modeling_and_docking.ipynb -- 71 cells
Bridging static structural data and dynamic biological reality. Levels of molecular modeling theory: quantum mechanics, molecular mechanics, coarse-grained models. Force fields for biomolecules: AMBER, CHARMM, OPLS -- bonded and non-bonded terms. Energy minimization algorithms: steepest descent, conjugate gradient. Molecular dynamics simulation concepts: integration, thermostats, periodic boundaries. Molecular docking: rigid and flexible docking, scoring functions. Hands-on docking with AutoDock Vina. Virtual screening workflows. Adapted from Kodomo Semester 8 material.
force fields energy minimization molecular dynamics docking AutoDock Vina virtual screening
#### 3.10 Deep Learning for Biology
01_deep_learning_for_biology.ipynb -- 61 cells
When deep learning outperforms classical ML: image data, raw sequences, large-scale datasets. Neural network fundamentals: perceptrons, activation functions, backpropagation, gradient descent. Convolutional Neural Networks (CNNs) for genomic sequences and protein structure. Recurrent Neural Networks (RNNs) and LSTMs for sequential biological data. Transformer architectures and attention mechanisms. Protein language models (ESM, ProtTrans). AlphaFold and the protein structure prediction revolution. Variational autoencoders for single-cell data. Practical deep learning with PyTorch.
neural networks CNNs transformers AlphaFold protein language models PyTorch autoencoders
#### 3.11 Clinical Genomics
01_clinical_genomics.ipynb -- 41 cells
Precision medicine and the journey from the Human Genome Project to routine clinical sequencing. Types of genetic testing: diagnostic, predictive, carrier, pharmacogenomic. ACMG/AMP variant classification: pathogenic, likely pathogenic, VUS, likely benign, benign. ClinVar and variant databases. Clinical sequencing approaches: gene panels, whole-exome sequencing (WES), whole-genome sequencing (WGS). Pharmacogenomics: drug-gene interactions, CYP enzymes. Ethical considerations in clinical genomics. Adapted from Kodomo Semester 9 material by V.E. Ramensky and A.A. Zharikova.
ACMG ClinVar pharmacogenomics WES WGS variant classification precision medicine
#### 3.12 Modern Bioinformatics Workflows
01_single_cell_scanpy.ipynb -- 45 cells 02_workflow_engines.ipynb -- 23 cells 03_testing_cicd.ipynb -- 40 cells
Contemporary tools for professional bioinformatics. Single-cell RNA-seq analysis with Scanpy: AnnData structure, quality control, normalization, dimensionality reduction (PCA/UMAP), Leiden clustering, marker gene detection. Workflow engines: Snakemake rules/wildcards/config/conda/containers, SLURM/cloud cluster execution; Nextflow DSL2 processes/channels; nf-core community pipelines (rnaseq, sarek, scrnaseq), samplesheet format, institutional configs, module installation. Testing and CI/CD: pytest fixtures and parametrized tests, GitHub Actions, code coverage, linting with ruff/black.
single-cell scanpy Snakemake Nextflow nf-core DSL2 SLURM cluster pytest GitHub Actions CI/CD
#### 3.13 Biochemistry and Enzyme Kinetics
01_biochemistry_and_enzyme_kinetics.ipynb -- 54 cells
Enzyme kinetics from first principles to curve fitting. Beer-Lambert law and spectrophotometric assays. Michaelis-Menten equation: fitting Km and Vmax with scipy.optimize. Linearization methods (Lineweaver-Burk, Eadie-Hofstee, Hanes-Woolf) and their limitations. Enzyme inhibition: competitive, non-competitive, uncompetitive, and mixed — model fitting and type determination via AIC. Allosteric enzymes and the Hill equation. EC classification system. Metabolic pathway computation: stoichiometric matrices and flux balance concepts.
Michaelis-Menten enzyme inhibition Hill equation EC numbers curve fitting stoichiometric matrix Beer-Lambert
#### 3.14 Genetic Engineering In Silico
01_genetic_engineering_in_silico.ipynb -- 56 cells
Computational tools for molecular cloning and genome editing. In silico restriction digestion: multi-enzyme digests, fragment prediction, gel electrophoresis simulation. PCR primer design: nearest-neighbor Tm calculation, GC constraints, dimer and hairpin checking, adding restriction tails. Cloning workflows: insert/vector compatibility, reading frame verification, Gateway cloning. CRISPR guide RNA design: PAM identification for SpCas9/SaCas9/Cas12a, on-target scoring, off-target assessment. Codon optimization for E. coli, yeast, and mammalian expression. Gibson Assembly overlap design.
restriction digests primer design Tm calculation CRISPR guide RNA codon optimization Gibson Assembly cloning
#### 3.15 Population Genetics and Molecular Evolution
01_population_genetics_and_molecular_evolution.ipynb -- 61 cells
Population-level processes and molecular evolution. Hardy-Weinberg equilibrium: allele frequency estimation, chi-squared testing, multi-allelic extension. Genetic drift: Wright-Fisher simulation, fixation probability, effective population size, bottleneck effects. Natural selection: directional, balancing, and purifying selection; frequency dependence; selection-drift interplay. Molecular clock: Jukes-Cantor correction, divergence time estimation. dN/dS ratio: Nei-Gojobori method, sliding window analysis, interpreting selection signals. Neutrality tests: Tajima's D, McDonald-Kreitman test. Population structure: Fst computation, linkage disequilibrium decay.
genetic drift Wright-Fisher natural selection dN/dS molecular clock Tajima's D Fst linkage disequilibrium
#### 3.16 Numerical Methods for Bioinformatics
01_numerical_methods_for_bioinformatics.ipynb -- 45 cells
Numerical algorithms essential for bioinformatics data analysis. Polynomial interpolation (Lagrange, Newton) for missing data points. Cubic splines for smooth curve fitting. Numerical differentiation and integration (trapezoidal, Simpson's rules) for dose-response AUC. Nonlinear least squares curve fitting with scipy.optimize.curve_fit for Michaelis-Menten and Hill equations. Gradient descent and optimization methods. Fourier transform and FFT for circadian rhythm detection and spectral analysis. Every technique demonstrated with biological applications. Adapted from ФББ Semester 7 numerical methods lectures.
interpolation splines curve fitting least squares gradient descent FFT optimization AUC
#### 3.17 Genome Assembly and Advanced NGS
01_genome_assembly_and_advanced_ngs.ipynb -- 30 cells
De novo genome assembly from short and long reads. Overlap-Layout-Consensus (OLC) approach for long reads -- implementing a greedy assembler in Python. De Bruijn graph approach for short reads -- k-mer decomposition and Eulerian path finding. Assembly quality metrics: N50, L50, NG50 calculated from scratch, BUSCO completeness, QUAST statistics. Scaffolding with paired-end, mate-pair, and Hi-C data. Read mapping algorithms in depth: Burrows-Wheeler Transform (BWT) construction and FM-index backward search implemented in Python. Advanced QC: k-mer spectra with GenomeScope, contamination screening. Long-read technologies deep dive: ONT vs PacBio HiFi, hybrid assembly strategies. Adapted from ФББ Semester 9 NGS lectures by Logacheva et al.
de novo assembly de Bruijn graph OLC N50 BUSCO BWT FM-index scaffolding long reads
#### 3.18 Proteomics and Structural Methods
01_proteomics_and_structural_methods.ipynb -- 48 cells
Mass spectrometry-based proteomics and structural biology methods. Ionization (MALDI, ESI), mass analyzers (TOF, Orbitrap), and MS/MS fragmentation with b/y ion series -- implementing peptide mass and fragment calculators in Python. Bottom-up proteomics: in silico trypsin digestion, peptide mass fingerprinting, database searching concepts (Mascot, MaxQuant), target-decoy FDR. Quantitative proteomics: label-free (LFQ, iBAQ), isotope labeling (SILAC, TMT), DDA vs DIA. Protein engineering computational design: rational design, directed evolution library design, conservation-based mutability scoring from MSA, stability predictions (ΔΔG). Structural determination methods: X-ray crystallography (Bragg's law, R-factor, electron density maps, crystal lattices and the 7 crystal systems, space groups and asymmetric units), cryo-EM (single-particle analysis), NMR (chemical shifts, NOEs). Includes CRYST1 record parser, symmetry operation application, and Uppsala EDS density download. Adapted from ФББ Semester 9 physical-chemical methods and protein engineering lectures by Suplatov; crystallography sections ported from Kodomo archive (Lunin/IMPB RAS).
mass spectrometry proteomics MS/MS peptide identification FDR TMT protein engineering X-ray crystallography electron density crystal lattice space group cryo-EM
#### 3.19 Genome-Wide Association Studies (GWAS)
GWAS study design from first principles. Case/control phenotype definition and confounder identification. Quality control: SNP and sample filtering, Hardy-Weinberg equilibrium testing, MAF thresholds. Population stratification detection via PCA on genotype data. Association testing using logistic and linear regression per SNP. Multiple testing correction with the genome-wide significance threshold (5×10⁻⁸). Manhattan and QQ plot generation from scratch. Linkage disequilibrium and clumping concepts. Downstream: fine-mapping principles and GWAS catalog lookup. Uses 1000 Genomes public data or simulated genotype matrices.
GWAS population stratification PCA Manhattan plot QQ plot LD clumping fine-mapping 5e-8
#### 3.20 Spatial Transcriptomics
20_spatial_transcriptomics.ipynb
Spatial gene expression analysis with Squidpy and Scanpy. AnnData structure with spatial coordinates; Visium and Xenium layout conventions. Quality control for spatial data: mitochondrial fraction and spot-level filtering. Normalization and dimensionality reduction in spatial context. Spatial neighborhood graph construction. Spatially variable gene detection. Cell-type deconvolution concepts (RCTD, cell2location patterns). Visualization: spatial scatter plots and expression overlays on tissue sections. Uses the public 10x Visium mouse brain dataset available through Squidpy.
spatial transcriptomics Squidpy AnnData Visium spatially variable genes deconvolution neighborhood graph scanpy
#### 3.21 DNA Copy Number Analysis
Copy number variation analysis from sequencing data. CNV concepts: gains, losses, and loss of heterozygosity. Read depth normalization approaches across genomic windows. Segmentation using the Circular Binary Segmentation (CBS) algorithm concept. Copy number state calling from segments. Genome-wide CN profile visualization. Gene-level annotation of CN events. Extends the variant calling pipeline concepts from Module 3.02.
copy number CNV CBS segmentation read depth normalization LOH genome-wide profile somatic variants
#### 3.22 Bayesian Statistics in Python
22_bayesian_statistics_python.ipynb
Bayesian statistical modeling in Python across seven sub-sections. Frequentist vs. Bayesian framing: posterior = likelihood × prior, credible intervals. Prior specification: informative vs. weakly informative priors, prior predictive checks. Multiple regression: collinearity diagnostics and variance inflation factor. Model comparison with WAIC and LOO-CV using ArviZ. Linear mixed-effects models with random intercepts and slopes using Bambi. GLMs in a Bayesian framework: Bernoulli, Binomial, Poisson, Negative Binomial with PyMC. Advanced: GLMM, zero-inflated models, GAM concepts, and Bayesian meta-analysis. Converted from Fränzi Korner-Nievergelt's applied statistics R course; uses the public palmerpenguins dataset.
pymc bambi arviz LOO-CV WAIC credible intervals GLM mixed-effects prior predictive zero-inflated
#### 3.23 TF Footprinting & Chromatin Accessibility
Tra
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.