Valid XHTML     Valid CSS2    

Listing du fichier proj_m1_2016_1.php

 

00001     <?php
00002     #   # (gH)   -_-  proj_m1_2016_1.php  ;  TimeStamp (unix) : 11 Mars 2016 vers 16:25
00003     
00004     include(
"../../std.php") ;
00005     
00006     $an1 
2015 ;
00007     $an2 
$an1 1;
00008     debutPage
("Projets en Master 1 Informatique an $an1/$an2","strict")  ;
00009     debutSection
() ;
00010     pvide
() ;
00011     
00012     h1
("Projet de programmation en Master 1 Informatique") ;
00013     h1
("(année  $an1/$an2)") ;
00014     pvide
() ;
00015     h1
("Recherche optimisée de palindromes communs","gvert") ;
00016     h1
("dans des groupes de génomes bactériens","gvert") ;
00017     pvide
() ;
00018     
00019     blockquote
() ;
00020     
00021     ##############################################################################
00022     ##############################################################################
00023     
00024     h2
("Présentation du projet") ;
00025     
00026     blockquote
() ;
00027     
00028     p
("texte") ;
00029     echo " Les biologistes utilisent des séquences " 
;
00030     echo " d'"
.b("ADN").", stockées informatiquement sous forme de chaines de caractères au format " ;
00031     echo href
("http://fr.wikipedia.org/wiki/FASTA_%28format_de_fichier%29","FASTA")." à l'aide des 4 lettres A, T, G et C." ;
00032     finp
() ;
00033     
00034     p
("texte") ;
00035     echo " Un palindrome non constant est une chaine de caractères qui peut se lire de la droite vers la gauche ou de la " 
;
00036     echo " gauche vers la droite, comme "
.b("ACA")." ou ".b("GATTAG").". " ;
00037     finp
() ;
00038     
00039     p
("texte") ;
00040     echo "Il serait intéressant de détecter de tels palindromes et de disposer, pour des séquences d'ADN, " 
;
00041     echo " d'indications de présence et de position des palindromes, soit individuels " 
;
00042     echo " soit communs à une classe de séquences." 
;
00043     echo " On ne s'intéresse pas ici aux palindromes de 2, 3, 4... lettres " 
;
00044     echo " mais aux plus grands palindromes présents dans les séquences." 
;
00045     finp
() ;
00046     
00047     
00048     ##############################################################################
00049     
00050     blockquote
() ;
00051     table
(1,15,"collapse") ;
00052       tr
() ;
00053          $img 
"../Li/adnpalin2.jpg" ;
00054          td
("C") ; echo href($img,img($img,"",300)) ; fintd() ;
00055          $img 
"../Li/adnpalin1.jpg" ;
00056          td
("C") ; echo href($img,img($img,"",300)) ; fintd() ;
00057       fintr
() ;
00058     fintable
() ;
00059     finblockquote
() ;
00060     
00061     ##############################################################################
00062     
00063     finblockquote
() ;
00064     
00065     h2
("Détails du projet") ;
00066     
00067     blockquote
() ;
00068     
00069     p
("texte") ;
00070     echo "On viendra écrire en PHP un programme qui s'exécute "
.s_span("en ligne de commandes","grouge")." pour effectuer ce type de recherche. " ;
00071     echo " 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). " 
;
00072     echo " Les résultats seront renvoyés au final dans un fichier-texte au format CSV, m&ecirc;me si on  " 
;
00073     echo " pourra stocker des résultats partiels dans une base de données (format conseillé&nbsp;: "
.b("sqlite3")."). " ;
00074     echo " On veillera à ce que le programme s'exécute "
.b("rapidement").". On pourra par exemple s'amuser à déterminer théoriquement " ;
00075     echo " la complexité ou le nombre de sous-chaines de caractères à explorer avec une version naive de recherche de palindrome." 
;
00076     finp
() ;
00077     
00078     p
("texte") ;
00079     echo "Il n'est pas sans doute pas indispensable de construire des classes d'objets PHP pour réaliser le projet et on " 
;
00080     echo " pourra donc se contenter de fonctions. " 
;
00081     echo " On respectera le style de codage de G. HUNAULT pour la syntaxe des fonctions PHP (voir par exemple " 
;
00082     echo href
("http://www.info.univ-angers.fr/~gh/internet/stdphp.php","std.php").") et on essaiera de fournir des indications " ;
00083     echo " sur le profil d'exécution (temps passé dans chaque étape, chaque fonction importante). " 
;
00084     finp
() ;
00085     
00086     finblockquote
() ;
00087     
00088     h2
("Données à traiter") ;
00089     
00090     blockquote
() ;
00091     
00092     p
("texte") ;
00093     echo " On trouvera sur la page "
.href("http://forge.info.univ-angers.fr/~gh/Abdc/1055genomes.php","1055genomes.php") ;
00094     echo " des fichiers qui contiennent des séquences d'ADN bactériens. " 
;
00095     echo " Ces fichiers serviront de jeux d'essais réels. Il est conseillé de commencer par construire des jeux d'essais beaucoup plus petits " 
;
00096     echo " pour mettre au point les programmes. " 
;
00097     finp
() ;
00098     
00099     p
("texte") ;
00100     echo "On essaiera dans un premier temps de fournir le plus grand palindrome de " 
;
00101     echo href
("http://forge.info.univ-angers.fr/~gh/Abdc/Data/putida_gb_1.fasta.zip",em("Pseudomonas putida")." GB-1") ;
00102     echo " avant d'essayer de trouver le plus grand palindrome "
.b("commun")." des " ;
00103     echo href
("http://forge.info.univ-angers.fr/~gh/Abdc/Data/pseudomonas.fasta.zip","5 exemplaires de ".em("Pseudomonas putida"))."etc. " ;
00104     finp
() ;
00105     
00106     p
("texte") ;
00107     echo s_span
("Attention","grouge")."&nbsp;: " ;
00108     echo "ce projet demande de "
.b("fortes compétences en algorithmique").". " ;
00109     echo " En particulier, on pourra s'intéresser à la structure de données nommée "
.b("arbre des suffixes").". " ;
00110     finp
() ;
00111     
00112     finblockquote
() ;
00113     
00114     p
() ;
00115     echo href
("montresource.php?nomfic=proj_m1_2016_1.php","Code-source de la page","orange_stim nou")."." ;
00116     finp
() ;
00117     
00118     ##############################################################################
00119     
00120     finblockquote
() ;
00121     finSection
() ;
00122     finPage
() ;
00123     ?>

Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.

 

 

retour gH    Retour à la page principale de   (gH)