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ême si on " ;
00073 echo " pourra stocker des résultats partiels dans une base de données (format conseillé : ".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")." : " ;
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 à la page principale de (gH)