Listing du fichier progie7.php
00001 <?php
00002 # # (gH) -_- progie7.php ; TimeStamp (unix) : 16 Février 2015 vers 21:27
00003
00004 error_reporting(E_ALL | E_NOTICE | E_STRICT) ;
00005
00006 include_once("std7.php") ;
00007 include_once("progi.php") ;
00008 include_once("statuno7.php") ;
00009
00010 $R = s_span("R","gbleuf") ;
00011 $numSerie = 7 ;
00012 debutPageExercices($numSerie) ;
00013
00014 ## -------------------------------------------------------------------------------------------
00015
00016 p("texte") ;
00017 echo "" ;
00018 finp() ;
00019 debutSection() ;
00020
00021 $tableauDesRubriques = array() ;
00022 $idr = 0 ;
00023
00024 $idr++; $tableauDesRubriques[$idr] = "Arbres et graphes en $R" ;
00025 $idr++; $tableauDesRubriques[$idr] = "Tableaux associatifs et dictionnaires" ;
00026 $idr++; $tableauDesRubriques[$idr] = "Alignements, phylogénie, analyse d'images " ;
00027 $idr++; $tableauDesRubriques[$idr] = "Gènes différentiellement exprimés et clustering" ;
00028 $idr++; $tableauDesRubriques[$idr] = "Elimination de variables transitivement corrélées" ;
00029
00030 $tdmCRLM = new tdm($tableauDesRubriques) ;
00031 $tdmCRLM->titre() ;
00032 $tdmCRLM->menu("oui","oui","nou") ;
00033
00034 afficherSolutions($numSerie) ;
00035
00036 finSection() ;
00037
00038 debutSection() ;
00039 $numExo = 0 ;
00040
00041 ## -------------------------------------------------------------------------------------------
00042
00043 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Arbres et graphes en $R
00044
00045 ## -------------------------------------------------------------------------------------------
00046
00047 blockquote() ;
00048
00049 blockquote() ;
00050
00051 p("texte") ;
00052 echo "Comment définit-on des arbres et des graphes en $R ?" ;
00053 finp() ;
00054
00055 p("texte") ;
00056 echo b("Application")." :" ;
00057 echo " générer les structures et reproduire les graphiques suivants. " ;
00058 finp() ;
00059
00060 table() ;
00061 tr() ;
00062 td() ;
00063 $img = "arbre.png" ;
00064 echo href($img,img($img)) ;
00065 fintd() ;
00066 td() ;
00067 $img = "graphe1.png" ;
00068 echo href($img,img($img,"",400)) ;
00069 fintd() ;
00070 fintr() ;
00071 fintable() ;
00072
00073 p("texte") ;
00074 echo " Pour le graphe, la " ; # liste d'adjacence est dans le fichier ".href("liste_adj.txt") ;
00075 echo " liste des arcs est dans le fichier ".href("list_arcs.txt")." ; " ;
00076 echo " pour l'arbre, on peut utiliser le format de " ;
00077 echo href("http://www.graphviz.org/","dot").", soit le fichier ".href("arbre.dot.txt").". " ;
00078 finp() ;
00079
00080 finblockquote() ;
00081
00082 solution($numExo,$numSerie) ;
00083
00084 p("texte") ;
00085 echo " Pour l'arbre, on peut se dispenser de lire le fichier, vu qu'il n'y a que deux arcs et que le package " ;
00086 echo hrrp("igraph")." dispose d'une fonction ".hrrr("graph_from_literal","igraph","graph.formula()")." : " ;
00087 finp() ;
00088
00089 pre_fichier("igraph1.r","cadre") ;
00090
00091 p("texte") ;
00092 echo " Pour le graphe, le fichiers des arcs est dans un format reconnu par " ;
00093 echo " la fonction ".hrrr("read_graph","igraph","read.graph()")." donc le lire et le tracer est très simple : " ;
00094 finp() ;
00095
00096 pre_fichier("igraph2.r","cadre") ;
00097
00098 p("texte") ;
00099 echo " D'autres packages $R intéressants à consulter pour les graphes : " ;
00100 echo hrrp("ggraph") ;
00101 echo ", " ;
00102 echo href("https://www.data-imaginist.com/2017/ggraph-introduction-layouts/","introduction à ggraph") ;
00103 echo " et " ;
00104 echo hrrp("tidygraph") ;
00105 echo ", " ;
00106 echo href("https://www.data-imaginist.com/2017/introducing-tidygraph/","introduction à tidygraph") ;
00107 echo " sans oublier la ".em("Task View")." nommée ".href("https://cran.r-project.org/web/views/gR.html","gR").". " ;
00108 finp() ;
00109 finsolution() ;
00110
00111 finblockquote() ;
00112
00113 ## -------------------------------------------------------------------------------------------
00114
00115 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Tableaux associatifs et dictionnaires
00116
00117 ## -------------------------------------------------------------------------------------------
00118
00119 blockquote() ;
00120
00121 blockquote() ;
00122
00123 p("texte") ;
00124 echo "Comment construire les dictionnaires alphabétiques et fréquentiels d'un texte en $R ?" ;
00125 echo " On utilisera des ".href("http://fr.wikipedia.org/wiki/Tableau_associatif","tableaux associatifs") ;
00126 echo " où les clés sont les mots et les valeurs leur nombre d'occurrences. " ;
00127 finp() ;
00128
00129 p("texte") ;
00130 echo b("Application")." :" ;
00131 echo " analyser les deux premiers chapitres du " ;
00132 echo href("http://fr.wikipedia.org/wiki/Candide","Candide") ;
00133 echo " de " ;
00134 echo href("http://fr.wikipedia.org/wiki/Voltaire","Voltaire") ;
00135 echo " disponibles dans le fichier ".href("candide.txt")."." ;
00136 finp() ;
00137
00138 finblockquote() ;
00139
00140 solution($numExo,$numSerie) ;
00141
00142 p("texte") ;
00143 echo "Nos fonctions " ;
00144 echo href("http://forge.info.univ-angers.fr/~gh/wstat/statghfns.php?lafns=lit.texte&montrer=montrer","lit.texte") ;
00145 echo " et " ;
00146 echo href("http://forge.info.univ-angers.fr/~gh/wstat/statghfns.php?lafns=analexies&montrer=montrer","analexies") ;
00147 echo " sont prévues pour cela, qui utilisent le package ".hrrp("hash")." :" ;
00148 finp() ;
00149
00150 pre_fichier("hash1.r","cadrebleu") ;
00151 pre_fichier("hash1.res","cadrejaune") ;
00152
00153 finsolution() ;
00154
00155 finblockquote() ;
00156
00157 ## -------------------------------------------------------------------------------------------
00158
00159 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Alignements, phylogénie, analyse d'images
00160
00161 ## -------------------------------------------------------------------------------------------
00162
00163 blockquote() ;
00164
00165 blockquote() ;
00166
00167 p("texte") ;
00168 echo "Comment lit-on des séquences Fasta en $R ?" ;
00169 echo " Comment les aligne-t-on (".href("http://fr.wikipedia.org/wiki/Alignement_de_s%C3%A9quences","qu'est-ce ?)")." ?" ;
00170 echo " Comment en construit-on une phylogénie (".href("http://fr.wikipedia.org/wiki/Phylog%C3%A9nie","qu'est-ce ?)")." ?" ;
00171 finp() ;
00172
00173 p("texte") ;
00174 echo b("Application")." :" ;
00175 echo " aligner les protéines de la classe 3 de la ".href("http://forge.info.univ-angers.fr/~gh/Leadb/index.php","LEADPB") ;
00176 echo " et en donner un arbre phylogénétique. Où est le problème ?" ;
00177 echo " On pourra utiliser le fichier ".href("classe3.fasta").". " ;
00178 finp() ;
00179
00180 finblockquote() ;
00181
00182 solution($numExo,$numSerie) ;
00183
00184 p("texte") ;
00185 echo "Lire des séquences Fasta peut se faire avec la fonction " ;
00186 echo hrrr("read.fasta","seqinr")." du package ".hrrp("seqinr")." :" ;
00187 finp() ;
00188
00189 pre_fichier("fasta1.r","cadrebleu") ;
00190 pre_fichier("fasta1.res","cadrejaune") ;
00191
00192 p("texte") ;
00193 echo "Malheureusement ceci ne nous aide pas beaucoup parce qu'il faut disposer " ;
00194 echo " d'un alignemnent comme ".href("classe3_ali.fasta","celui-là")." avant d'utiliser la fonction " ;
00195 echo hrrr("read.alignment","seqinr")." du package ".hrrp("seqinr")." :" ;
00196 finp() ;
00197
00198 pre_fichier("fasta2.r","cadrebleu") ;
00199 pre_fichier("fasta2.res","cadrejaune") ;
00200
00201 p() ;
00202 nbsp(15);
00203 $img = "cl3_hie.png" ;
00204 echo href($img,img($img,"",600)) ;
00205 finp() ;
00206
00207 p("texte") ;
00208 echo "Il n'est malheureusement pas possible d'expliquer en trois phrases ce qu'est une phylogénie, ni une classification " ;
00209 echo " hiérarchique. Que $R soit capable de calculer et tracer ces objets en trois instructions est un autre problème..." ;
00210 finp() ;
00211
00212 finsolution() ;
00213
00214 finblockquote() ;
00215
00216 ## -------------------------------------------------------------------------------------------
00217
00218 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Gènes différentiellement exprimés, clustering
00219
00220 ## -------------------------------------------------------------------------------------------
00221
00222 blockquote() ;
00223
00224 blockquote() ;
00225
00226 p("texte") ;
00227 echo "Quel est le lien entre $R et BioConductoR ?" ;
00228 finp() ;
00229
00230 p("texte") ;
00231 echo "Comment fait-on pour trouver les gènes différentiellement exprimés issus d'un séquençage ?" ;
00232 finp() ;
00233
00234 /*
00235 p("texte") ;
00236 echo "Et pour réaliser du clustering en $R ?" ;
00237 finp() ;
00238 */
00239
00240 finblockquote() ;
00241
00242 solution($numExo,$numSerie) ;
00243
00244 /*
00245 p("texte") ;
00246 echo "A la date du ".date("d/m/Y")." vous ne disposez pas des autorisations suffisantes pour lire le corrigé. " ;
00247 finp() ;
00248 */
00249
00250 p("texte") ;
00251 echo " Attention : il ne s'agit pas ici de programmation mais d'utilisation d'outils programmés en $R." ;
00252 echo " Cela demande d'abord de la culture en " ;
00253 echo " biologie (gène) " ;
00254 echo " et en statistiques (différentiellement exprimés) " ;
00255 echo " plus une bonne dose de bioinformatique. Pour s'en convaincre, la réponse à ce genre de quesions est " ;
00256 echo " dans ce genre d'ouvrages :" ;
00257 finp() ;
00258
00259 $book1 = "http://www.springer.com/statistics/life+sciences%2C+medicine+%26+health/book/978-0-387-77239-4" ;
00260 $book2 = "http://www.springer.com/computer/bioinformatics/book/978-0-387-25146-2" ;
00261
00262 blockquote() ;
00263 table(0,20,"collapse") ;
00264
00265 tr() ;
00266 td("C") ; echo href($book1,img("biocase.jpg","",145)) ; fintd() ;
00267 td("C") ; echo href($book2,img("bioinfo.jpg","",145)) ; fintd() ;
00268 fintr() ;
00269
00270 tr() ;
00271 td("C") ; echo href($book1,"Bioconductor Case Studies")." (2008)" ; fintd() ;
00272 td("C") ; echo href($book2,"Bioinformatics[...] using R[...]")." (2005)" ; fintd() ;
00273 fintr() ;
00274
00275 fintable() ;
00276 finblockquote() ;
00277
00278
00279 p("texte") ;
00280 echo "Pour une introduction rapide à Bioconductor et des exemples d'analyses avec Bioconductor, on pourra " ;
00281 echo " notamment lire " ;
00282 echo " en anglais " ;
00283 echo href("https://projets.pasteur.fr/attachments/788/Bioconductor-tutorial.pdf","Bioconductor-tutorial.pdf") ;
00284 echo " et, en français, " ;
00285 echo href("http://biologie.univ-mrs.fr/upload/p245/TP_Affy.pdf","TP_Affy.pdf") ;
00286 echo " disponibles " ;
00287 echo href("Bioconductor-tutorial.pdf","ici") ;
00288 echo " et " ;
00289 echo href("TP_Affy.pdf","là") ;
00290 echo " en version locale. " ;
00291 /*
00292 echo " Pour une introduction aux statistiques simples et avancées en bioinformatique, nous vous conseillons au passage soit le document " ;
00293 echo href("http://cran.r-project.org/doc/contrib/Krijnen-IntroBioInfStatistics.pdf","Krijnen") ;
00294 echo " du ".href("http://cran.r-project.org/","CRAN")." (".href("Krijnen-IntroBioInfStatistics.pdf","copie locale","gbleuf nou").") " ;
00295 echo " soit le document " ;
00296 echo href("http://media.readthedocs.org/pdf/a-little-book-of-r-for-bioinformatics/latest/a-little-book-of-r-for-bioinformatics.pdf","little-rbio") ;
00297 echo " (".href("a-little-book-of-r-for-bioinformatics.pdf","copie locale","gbleuf nou")."). " ;
00298 */
00299 finp() ;
00300
00301
00302
00303 finsolution() ;
00304
00305 finblockquote() ;
00306
00307 ## -------------------------------------------------------------------------------------------
00308
00309 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Elimination de variables transitivement corrélées
00310
00311 ## -------------------------------------------------------------------------------------------
00312
00313 blockquote() ;
00314
00315 blockquote() ;
00316
00317 p("texte") ;
00318 echo "Il arrive qu'on ait un tableau de données avec beaucoup de colonnes quantitatives. " ;
00319 echo " En statistiques, on apprend à ne pas conserver des variables trop ressemblantes (\"corrélées\"). " ;
00320 echo " Ecrire une fonction qui à partir d'un tableau de données trouve les groupes de variables qui se " ;
00321 echo " ressemblent transitivement (si A ressemble à B et B ressemble à C, alors A ressemble à C) et qui " ;
00322 echo " ne conserve qu'une variable par groupe." ;
00323 finp() ;
00324
00325 p("texte") ;
00326 echo b("Application :") ;
00327 echo " essayer de définir des groupes de variables pour les données " ;
00328 echo href("leadb710x46.dar.txt","710x46.dar").". " ;
00329 finp() ;
00330
00331 finblockquote() ;
00332
00333 solution($numExo,$numSerie) ;
00334
00335 p("texte") ;
00336 echo "Nos fonctions " ;
00337 echo href("http://forge.info.univ-angers.fr/~gh/wstat/statghfns.php?lafns=clusterCor&montrer=montrer","clusterCor") ;
00338 echo " et " ;
00339 echo href("http://forge.info.univ-angers.fr/~gh/wstat/statghfns.php?lafns=clusterCorTrans&montrer=montrer","clusterCorTrans") ;
00340 echo " sont prévues pour cela. " ;
00341 echo " Consulter les questions 11 et 12 de la " ;
00342 echo href("http://forge.info.univ-angers.fr/~gh/wstat/Programmation_R/Programmation_avancee/progr.php?n=3&m=e","séance 3") ;
00343 echo " du cours de programmation avancée et " ;
00344 echo href("http://forge.info.univ-angers.fr/~gh/wstat/Programmation_R/Programmation_avancee/progr.php?n=3&m=s","leurs solutions") ;
00345 echo " pour voir des exemples d'utilisation. " ;
00346 finp() ;
00347
00348 finsolution() ;
00349
00350 finblockquote() ;
00351
00352 ## -------------------------------------------------------------------------------------------
00353
00354 finPageExercices($numSerie) ; # contient finSection() et finPage() ; la fonction est dans progi.php
00355
00356 ?>
Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.
Retour à la page principale de (gH)