Valid XHTML     Valid CSS2    

 

Projet de programmation en Licence professionnelle

(année 2014/2015)

 

Recherche et comptage des mots de 1, 2, 3, 4... n lettres

dans des séquences Fasta, globalement et 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 disposer, pour les séquences des protéines dans ces bases de données, des comptages de mots de 1, 2, 3, 4... n lettres comme ceux qui sont présentés à la page LEA classe 1 ou à la page sHSP classe 10 (mais sans mise en forme XHTML) sachant que le nombre de séquences est important (plusieurs milliers pour sHSPdb) et qu'on aimerait aller jusqu'à des mots de 15 lettres, ce que ne permettent pas actuellement les sites Web.

 

Détails du projet

On viendra écrire en PHP un programme qui s'exécute en ligne de commandes pour effectuer ce type de comptages. Il y aura sans doute trois paramètres : le nom du fichier contenant les séquences Fasta, une indication du mode global ou d'un numéro de classe et une taille maximale de longueur de mot à explorer (10 ou 15, par exemple). 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 comptage.

Il serait souhaitable de réfléchir à une "bonne" structure de données et aux liens entre les mots de n lettres et ceux de n+1 lettres.

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. On calculera les pourcentages avec 4 décimales (par exemple 32.7684 %).

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).

 

Code-source de la page.

 

 

retour gH    Retour à la page principale de   (gH)