Valid XHTML     Valid CSS2    

 

Projet de programmation en Licence professionnelle

(année 2015/2016)

 

Recherche de palindromes (ou «mots-miroirs»)

dans des séquences Fasta, individuellement, globalement ou par classe de protéines en PHP

 

 

Présentation du projet

Les biologistes utilisent des séquences d'acides aminés stockées dans des fichiers-texte au format Fasta pour décrire les protéines. Ces séquences de molécules peuvent être vues de façon très grossière comme des chaines de caractères, chaque molécule étant représentée par sa lettre dans la nomenclature IUPAC.

Deux chercheurs de l'université d'Angers, E. Jaspard et G. Hunault ont créé et maintiennent deux bases de données de protéines, nommées LEAPdb et sHSPdb.

Il serait intéressant de rechercher ces palindromes et de disposer, pour les séquences des protéines dans ces bases de données, des indications de présence de palindromes, soit individuels soit communs à une classe de protéines. Il serait intéressant de rechercher non pas des palindromes de 2, 3, 4... lettres mais d'arriver à obtenir le plus grand palindrome présent dans les séquences.

 

Détails du projet

On viendra écrire en PHP un programme qui s'exécute en ligne de commandes pour effectuer ce type de recherche. Il y aura sans doute deux paramètres : le nom du fichier contenant les séquences Fasta, une indication du mode (global, par classe, individuel). Les résultats seront renvoyés dans un fichier-texte avec un format lisible et rapide par programme car ces résultats seront incorporés à terme aux sites Web des bases de données. On veillera donc à ce que le programme s'exécute rapidement. On pourra par exemple s'amuser à déterminer théoriquement la complexité ou le nombre de sous-chaines de caractères à explorer avec une version naive de recherche de palindrome.

Pour accéder aux données à traiter, il suffit de cliquer sur le bouton export des pages Export des deux bases de données. Un identifiant comme A2XG55_cl_6 indique qu'il s'agit de la protéine A2XG55 et qu'elle est en classe 6. On pourra admettre que la classe 0 (qui n'existe pas) correspond à l'ensemble de toutes les protéines de la base de données -- ce qui simplifiera l'appel du programme en ligne de commandes.

Il n'est pas sans doute pas indispensable de construire des classes d'objets PHP pour réaliser le projet. On respectera le style de codage de G. HUNAULT pour la syntaxe des fonctions PHP (voir par exemple http://www.info.univ-angers.fr/~gh/internet/stdphp.php) et on essaiera de fournir des indications sur le profil d'exécution (temps passé dans chaque étape, chaque fonction importante).

Exemples de Données

Le fichier 2015_xmp1.txt contient une seule chaine (protéine). Le fichier 2015_xmp2.fasta contient une ensemble de chaines "homogènes" (protéines) pour lesquelles il faut trouver des palindromes communs. Le fichier 2015_xmp3.zip contient une ensemble de chaines "homogènes" (ADN) pour lesquelles il faut trouver des palindromes communs.

 

Code-source de la page.

 

 

retour gH    Retour à la page principale de   (gH)