UNIVERSITE DE LA MEDITERRANEE
MASTER INFORMATIQUE RECHERCHE (IF) 2ème année
Faculté des Sciences de Luminy
Année 2004--2005
Département d'Informatique
M075 : Algorithmes pour la BioInformatique
 
Michel VAN CANEGHEM ( Michel.Van.Caneghem@lidil.univ-mrs.fr)
MAISON TURING COMPLEXITE ALGOBIO I BIO I BIO II ARO VIDEO


Nouvelles
Bienvenue à ce nouveau cours


Université de
la Méditerranée
Faculté
des Sciences
de Luminy
Département
d'Informatique
Laboratoire
d'Informatique
Fondamentale
Département
de Biologie

Ce document a été traduit de LATEX par HEVEA.

Présentation du cours : (M075) Algorithmes pour la BioInformatique

Table des matières

Les algorithmes utilisés en BioInformatique ont la particularité de travailler sur des très grands volumes de données. Le but de cours est de présenter des méthodes pour y arriver. L'essentiel de ce cours portera sur les chaînes de caractères (l'ADN). Les méthodes basées sur les statistiques ne seront pas abordées dans ce cours, sauf si elles ont besoin de structures de données sophistiquées.

Voici le programme qui était prévu (mais pas exactement ce qui sera fait!) : Ce cours aura lieu tous les Jeudi après-midi. En général il y a un séminaire ce jour là (séminaire Magma). Vous devez suivre un de ces séminaire. Le cours aura lieu dans le créneau laissé libre par le séminaire : ou bien de 14h-16h ou de 16h-18h, ou bien de 14h-18h si il n'y a pas de séminaire. Vous devez donc consulter régulièrement cette page web pour connaitre votre emploi du temps

Ce séminaire sera suivi par les élèves du master Informatique Recherche IF 2ème année, ainsi que par les élèves du Master Pro BBSG 2ème année (cours optionnel). Nous avons choisit de découper cette UE en 2 demi UE de 3 crédits (6 cours). Les étudiants seront évalués sur le devoir ainsi que sur la lecture-présentation-compréhension d'un article proposé par un des enseignants du module.

En complément de ce module, les étudiants peuvent suivre le module d'Apprentissage Automatique, dont de nombreuses méthodes sont appliquées à la bio-informatique. Ce cours a lieu le mercredi matin au CMI (Chateau-Gombert).

1  Les cours : M075a

1.1  Jeudi 18 Novembre :

1.2  Jeudi 25 novembre :

1.3  Jeudi 2 décembre :

1.4  Jeudi 9 décembre :

1.5  ATTENTION : Vendredi 17 décembre :

1.6  Jeudi 6 janvier :

2  Les cours : M075b

  1. Jeudi 13 janvier : Méthodes combinatoires en classification (B. Fichet)
  2. Jeudi 20 janvier : suite (B. Fichet)
  3. Jeudi 27 janvier : Reconstruction phylogénétique (A. Guénoche)
  4. Jeudi 3 février : suite (A. Guénoche)
  5. Jeudi 10 février : Réseaux de régulation et interaction (D. Thieffry)
    Le cours commencera par une présentation générale de la problématique de la modélisation des réseaux de régulation biologique et des motivations biologiques sous-jacentes. Les principales approches formelles utilisées pour la modélisation dynamique des réseaux génétiques seront ensuite brièvement introduites. Celles-ci seront ensuite illustrées à travers un petit nombre d'applications concrètes publiées au cours des dernières années: -la modélisation du réseau génétique contrôlant le choix enter lyse et lysogénie lorsque le phage lambda infecte la bactérie E. coli; - la modélisation du processus de segmentation au début du développement de la drosophile; - la modélisation du réseau génétique contrôlant le cycle cellulaire chez les eucaryotes.


  6. Jeudi 17 février : suite (D. Thieffry)

3  Le devoir : les outils pour comparer de très grandes séquences d'ADN

Il ne s'agit pas dans ce devoir de refaire ce qui se trouve dans un logiciel comme MUMmer, mais seulement une partie.

3.1  Recherche des plus grandes sous chaines communes à 2 séquences

On va utiliser une méthode basée sur le hashcode comme expliqué en cours. Quand on prend une chaine d'ADN tirée au hasard (probabilité d'apparation de chaque base = 1/4) on trouve que la longueur moyenne de la plus grande sous-chaine qui apparait 2 fois dans la chaine est de l'ordre de log(n) si n est la longueur de la chaine initiale. (je ne sais pas bien comment le prouver). On va donc découper les deux chaines à comparer en une suite de chaines de longueur 2log(n). Et construire la table de hashcode correspondante (on stocke les doublets <chaine, position dans la séquence>). En parcourant cette table dans un certain ordre, il est facile de construire les plus grandes sous-chaines communes. Remarque : pour faire un essai j'ai utilisé les fonctions de base de Java, mais il est clair que dans une implémentation raisonnable il faut : utiliser le fait que quand on calcule le hash-code d'une sous-chaine, pour calculer le hash-code de la sous-chaine suivante, il ne faut pas tout recalculer. De même nous n'avons pas besoin de stocker la sous-chaine dans une table, il suffit d'utiliser des pointeurs vers les séquences. Evaluer la complexité de cette méthode : c'est beaucoup plus simple à programmer que les arbres suffixes, mais est-ce que la complexité est en O(n) ou en O(nlog(n)) ? En fait le comportement est relativement différent entre une chaine aléatoire et une vrai séquence biologique. Comment est rempli la table de hash-code (nombre de conflits)?

3.2  Validité de l'alignement estimé

Sur quelques exemples réels, il faudrait comparer les deux techniques suivantes : Le but est de savoir de quelle manière varie le score entre les deux méthodes. Il est évident que cela dépend des matrices de similarités.C'est un moyen de mesurer la qualité de l'approximation que l'on fait. Après avoir testé cette méthode sur des exemples réels, essayer de construire des exemples artificiels qui montrent de grandes différences de score, si cela est possible.

Dans cette seconde partie je ne m'intéresse pas du tout à la signification biologique de ces alignements.

3.3  L'alignement de 2 chromosomes

Bien sûr vous n'avez pas le temps de traiter cette partie, mais essayez de réfléchir sur le fait de combiner cette méthode avec la méthode issue de "sorting by reversal". Dans ce cas on ne prend pas des gènes, mais plutôt des sous-chaines communes. Donnez moi quelques idées que vous inspire le mélange de ces deux méthodes. Si il y a des étudiants intéressés par ces problèmes je pourrais poser un sujet de DEA sur ce problème (il faudrait que je trouve des biologistes intéressés).

3.4  Les logiciels existants

Beaucoup de logiciel sont apparus de puis quelques années pour faire ce genre de travail : Plus un certain nombre d'autres dont j'ai oublié le nom, mais celui que je trouve le plus intéressant est MUMmer.




Jeudi 2 décembre 2004
©2004 Michel Van Caneghem