Projet de programmation en Master 1 Informatique
(année 2016/2017)
Caractérisations de groupes de génomes
via des palindromes communs et spécifiques
Présentation du projet
On suppose ici que vous avez déjà lu le texte du projet 2015-2016 lié aux palindromes communs de groupes de génomes.
Les résultats obtenus pour certains génomes sont encourageants mais le programme principal, rchPalindrome.php est incomplet : d'une par,t il ne calcule pas correctement les palindromes lorsqu'il y a des caractères autres que A, T, G ou C dans les séquences génomiques ; d'autre part, il ne permet pas de trouver à quel niveau taxonomique les palindromes communs sont spécifiques. De plus il n'est peut-être pas assez performant pour des génomes fongiques dont la taille est en général mille fois plus grande que celles de génomes bactériens.
On viendra donc dans un premier temps compléter le programme PHP afin qu'il calcule correctement les palindromes en présence de caractères autres que A, T, G ou C. Dans un deuxième temps, on traduira le programme PHP en PERL et on comparera les performances. Dans un troisième temps, on viendra récupérer la taxonomie et on fournira les palindromes spécifiques par rang taxonomique. On passage, on récupérera les fichiers d'annotation liés aux génomes afin de savoir où se situent les palindromes (portion codante, partie de gène, chevauchement de région, partie non codante...).
Détails du projet
On commencera par simplifier le programme PHP et gérer un peu mieux les arguments dont l'aide en ligne. Ainsi, actuellement seul rchPalindrome mini.fasta 5 false génère un fichier CSV "correct".
On viendra ensuite commenter les fins de structure suivant le style de codage de G. HUNAULT pour la syntaxe des fonctions PHP (voir par exemple std.php) et on essaiera de fournir des indications sur le profil d'exécution (temps passé dans chaque étape, chaque fonction importante).
Données à traiter
On trouvera sur la page 1055genomes.php des fichiers qui contiennent des séquences d'ADN bactériens. Ces fichiers serviront de jeux d'essais réels. Il est conseillé de commencer par construire des jeux d'essais beaucoup plus petits pour mettre au point les programmes.
On essaiera dans un premier temps de fournir le plus grand palindrome de Pseudomonas putida GB-1 avant d'essayer de trouver le plus grand palindrome commun des 5 exemplaires de Pseudomonas putidaetc.
Attention : ce projet demande de fortes compétences en algorithmique. En particulier, on pourra s'intéresser à la structure de données nommée arbre des suffixes.
Retour à la page principale de (gH)