UEs INFORMATIQUE - PARCOURS BIOINFORMATIQUE

30MU03BI - Orientation en informatique (9 ECTS)
Responsables : Padovani V., Zielonka W.

30ME11BI - Outils en Bioinformatique (3 ECTS)
Enseignant : Fuchs P.

Responsable pédagogique : Fuchs P.

Objectif :

L'objectif de ce cours est d'introduire le système d'exploitation Unix et les concepts de programmation, d'un point de vue pragmatique, applicable immédiatement pour un problème de biologie. Les cours se basent sur des exemples en bioinformatique ou en modélisation en biologie, et les notions d'informatiques seront introduites au fur et à mesure des besoins (travail sur des séquences nucléiques, fichiers PDB, automatisation de calculs sur des génomes, etc).
La deuxième partie de ce cours décrit des algorithmes et l'utilisation de bibliothèques de programmation à travers des illustrations à des problèmes de compréhension de dynamiques de processus biologiques.

Programme :

Le cours sera donné sur deux semaines au début du mois de septembre. Il est destiné aux étudiants des deux années M1 et M2.

Introduction à Unix. Notions de base (gestion de compte, gestion des répertoires et des fichiers), notion de droits, notion de "process" et gestion des processus.

Bases d'Unix Avancé: commandes et processus, redirection des flux, parsing et expressions régulières, programmation shell. Programmation (langages: C et python).

Bibliographie

30ME10BI - Algorithmique niveau II (3 ECTS)
Enseignant : Ravelomanana V.

Responsable pédagogique : Ravelomanana V.

Pré-requis : Avoir suivi l'UE d'informatique de licence de Biologie-informatique ou une formation équivalente en informatique

Objectif :

Acquérir des notions solides en algorithmique discrète. Ainsi nous étudierons les principaux paradigmes algorithmiques. Les exemples étant choisis tant que possible en bioinformatique. Les objets manipulés dans ce cours seront des caractères, des chaines de caractères (ou séquences), des graphes, des matrices (de distance).

Programme :

Rappels de complexité algorithmique (i.e. comment évaluer la complexité d'un algorithme).
Nous mettrons en oeuvre ces idées sur des algorithmes sur des tableaux: algorithmes de tri d'entiers, tri par inversion (applications aux séquences génomiques).

Récursivité et équations de récurrence de complexité, exemples: tri par fusion, recherche d'un élément médian d'un tableau.

Algorithmes de graphes:
Arbres, arbres recouvrant de poids minimum (algorithmes gloutons, notions d'échanges) d'un graphe non orienté valué.

Principaux algorithmes de calcul de plus courts chemins dans un graphe orienté valué.
Algorithmes pour les calculs de fermeture et réduction transitive d'un graphe orienté sans circuit.

Programmation dynamique :
Etude sur des exemples de ce paradigme algorithmique

Algorithmes d'énumération :
Enumération de toutes les permutations sur n éléments.
Algorithme pour l'énumération de toutes les cliques maximales d'un graphe.
Notion de backtrack.
Introduction à la cryptographie
Notions de codes à clef publique (RSA).

Applications en bioinformatique :
Recherche de motifs communs à deux séquences
Isomorphismes d'arbres
Arbres et matrices de distance. Approximation.
Phylogénie. Calculs de distances d'édition.

Bibliographie

30ME12BI - Programmation niveau II (3 ECTS)
Enseignants : Jurski Y., Pagani M.

Responsable pédagogique : Pagani M.

Pré-requis : Avoir suivi l'UE d'informatique de licence de Biologie-informatique ou une formation équivalente en informatique

Programme :

Rappel rapide de bases communes de C et Java : types élémentaires, expressions et opérateurs, instructions: if, switch, while, do while, for, break, continue.
Les tableaux en Java.

Introduction à la programmation orienté objet en Java :

UEs INFORMATIQUE - PARCOURS INFORMATIQUE POUR BIOLOGISTES

30MU03BI - Orientation en informatique (9 ECTS)
Responsables : Padovani V., Zielonka W.

30GE02BI - Programmation niveau I (3 ECTS)
Enseignants : Jurski Y., Padovani V.

Responsable pédagogique : Padovani V.

Programme :

Le cours couvre tous les aspects fondamentaux de la programmation en langage C, à l'exception de la compilation séparée et des pointeurs de fonctions.

Compétences visées :

Acquérir les bases de la programmation impérative.

Bibliographie

"Le Langage C", B.W. Kernighan et D.M. Ritchie, MASSON

30GE04BI - Algorithmique niveau I (3 ECTS)
Enseignants : Jurski Y., Mantaci R.

Responsable pédagogique : Mantaci R.

Objectif :

Le cours introduira les méthodes générales de conception d'algorithmes (récursivité, programmation dynamique, algorithmes gloutons, etc.) à propos d'algorithmes de base : les différents tris élémentaires, le tri fusion, le tri rapide, la structure de tas, les arbres binaires de recherche, les fonctions de hachage, le parcours d'un graphe.

Programme :

Ce cours présentera les principaux algorithmes utilisés pour résoudre de façon approchée ou exacte une bonne partie des problèmes issus de la génomique. Le but est de permettre aux étudiants de comprendre les principes qui sous-tendent les méthodes implémentées dans les logiciels (par exemple BLAST) et de pouvoir se faire une opinion critique des outils qui pourront être mis à leur disposition au cours de leur carrière professionnelle.
Cette connaissance devrait aider à éviter les deux écueils, la crainte des moyens informatiques ou leur passion excessive. Les notions de complexité (NP-complétude et approximation polynomiale) seront enseignées de façon "douce", c'est-à-dire non abstraite, en s'appuyant sur les problèmes traités.

Plan du cours

Compétences visées :

Programmation de base

30GE03BI - Bases de données (3 ECTS)
Enseignants : Laplante S., Sirangelo C.

Responsables pédagogiques : Laplante S., Sirangelo C.

Programme :

Compétences visées :

Apporter aux étudiants les connaissances théoriques, techniques et pratiques pour leur permettre d'étudier, de concevoir et d'implémenter une base de données relationnelle dans le domaine de la biologie ou de la médecine.