Curriculum 2020/22
Semester 1
  • Data Analysis in R
  • Statistics* / Advanced Statistics**
  • Discrete Mathematics*
  • Algorithms and Data Structures**
  • Programming in Python*
  • Molecular Biology**
  • Applied Bioinformatics / Journal Club
  • Higher Mathematics (elective)
  • Introduction to Linux (elective)
  • Soft Skills Course***
  • Creative Technologies / High Tech Business Creation / Thinking
  • Foreign Language in Professional Activity
  • Research Work
Semester 2
  • Systems Biology
  • Population and Medical Genetics
  • Scientific Python
  • Data Analysis in R
  • High Performance Computing
  • Applied Artificial Intelligence (online)
  • Foreign Language in Professional Activity
  • Course Project
    Semester 3
    • Structural Bioinformatics
    • Systems Biology
    • Metagenomics*
    • Molecular Phylogenetics*
    • Biotechnology*
    • Bioinformatics Algorithms**
    • Optimization Methods**
    • Advanced Machine Learning**
    • Research Work

    Semester 4 is for Research Internship and Master's Thesis
    * Track 1 - Data Analysis in Biology and Medicine
    ** Track 2 - Algorithmic Bioinformatics

    *** Negotiations, Influence and Conflict Management / Emotional Intelligence / Internationalization of Research
    Teacher: Alexey Zabelkin
        Advanced Statistics
        Teacher: Nikita Alexeev
            Data Analysis in R
            Teacher: Valeria Bogdanova

            R and Data Analysis basics
            1. Data types and structures
            2. Program flow, functions, etc.
            3. Scoping rules, Functional approach
            4. Shiny Basics
            5. Data import and cleaning
            6. Data manipulation (tidyr, dplyr)
            7. Data visualization (ggplot2)

            Data Analysis
            1. Exploratory and Descriptive analysis
            2. Basics of Statistical Inference
            3. Linear Regression (Simple, Multiple, Logistic)
            4. Methods of Classification
            5. Resampling
            6. Regularization
            7. PCA and Clustering
            8. Additional
            Programming in Python
            Teacher: Vladimir Sukhov

            1. Python Basics. Numbers. Strings. Boolean Type. Variables and rules for naming variables. Arithmetic Operators. Comparison operators. Logical operators.
            2. Control Flow. Indentation.
            3. Data structures. List. Set. Dictionary. Tuple.
            4. Functions.
            5. Functional programming.
            6. Call stack. Namespace.
            7. Modules, Files.
            8. Python Classes. Attributes, methods. Instantiation. self parameter. Underscores.
            9. Inheritance. Parent class and Child class. Subclass attributes. Multiple inheritance. Method Resolution Order (MRO).
            10. Iterators. Generators. Errors. Exceptions.
            Molecular Biology
            Teacher: Pavel Dobrynin

            1. Cell structure and cell processes. Cell division. Mitosis and meiosis. Cell cycle.
            2. Molecular basis of genetics and inheritance. DNA. Chromosomes and chromatin. DNA recombination and crossover. Linkage groups.
            3. DNA replication. Replication processes in prokaryotes and eukaryotes. Reparation mechanisms.
            4. Central dogma of molecular biology. DNA and RNA functions. DNA transcription and RNA translation. Ribosomes.
            5. Definitions of gene. Gene in prokaryotes and eukaryotes. Splicing and alternative splicing. Operons. Gene regulation.
            6. Genome structure and organization. Chromosome organization. Genome rearrangements.
            7. Genetic diversity. Sources of genetics diversity. Inbreeding and mutational load.
            Discrete Mathematics
            Teacher: Artem Ivanov

            1. Introduction to set theory: definitions, set operations and properties
            2. Boolean functions, boolean logic and proof methods
            3. Combinatorics: combinations, permutations, pigeonhole principle
            4. Combinatorial generation
            5. Asymptotic analysis of algorithms
            6. Sorting algorithms
            7. Dynamic programming: definitions, subtask optimization, basic problems
            8. Dynamic programming in bioinformatics: local and global alignments
            9. Dynamic programming: RNA's secondary structure prediction
            10. Graph theory: definitions, DFS, BFS
            11. Graph theory: algorithms, de Bruijn graph

            Algorithms and Data Structures
            Teacher: Vitaly Aksenov
            Population and Medical Genetics
            Teacher: Mykyta Artomov

            1. Where it all started. Solving a mystery of inheritance. Mendel and post-Mendel era
            2. Pre-genome era. Mapping of the first human disease gene. Huntingnton's disease.
            3. RFPL, microsatellite and genetic linkage. Pedigree and linkage analysis. DNA forensics.
            4. Human Genome Project. SNP map of the human genome. DNA variation.
            5. Linkage disequilibrium and genome-wide association studies. HapMap project.
            6. GWAS concepts and approaches.
            7. Hands on GWAS tutorial.
            8. GWAS discussion and resources. Polygenic risk scores. UK biobank.
            9. Next generation sequencing. Exome sequencing.
            10. GATK pipeline.
            11. Variant annotations, selection pressure metrics. Large scale sequencing resources (ExAC & GnomAD).
            12. Rare variant association studies
            13. Hands-on analysis of exome sequencing data.
            14. Cancer genetics. TCGA project.
            15. Case-control matching challenge.
            Scientific Python
            Teacher: Anastasia Gainullina

            1. Regular expressions. Metacharacters, special sequences and sets. "Greedy" and "lazy" quantifiers. Lookarounds. Protein database Prosite
            2. Biopython. Bio.Data, Bio.Alphabet. Bio.Seq, Bio.SeqRecord, Bio.SeqIO. Bio.Align, Bio.Blast, Bio.Phylo. Bio.PDB
            3. Numpy, pandas, seaborn. Numpy arrays, indexing/reshaping operations, time checking. Pandas data structures, tidy data concept, data wrangling. Visualization.
            4. Error handling. Error type hierarchy. Different types of clauses. Best practices for function organization
            5. Requests. Variety of databases. Concept of API. Popular data formats. Uniprot API queries
            6. Functional programming. Iterators, generators, comprehensions. Lambdas. Partial application of functions
            7. Pipelines and OS-level virtualization.
            8. Single cell in scanpy. Common data structures and conventional pipeline. Basic data representation.
            9. Introduction to machine learning.