Valid XHTML     Valid CSS2    

Listing du fichier progie7.php

 

00001     <?php
00002     
# # (gH) -_- progie7.php ; TimeStamp (unix) : 16 F&eacute;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&eacute;nie, analyse d'images " ;
00027     
$idr
++; $tableauDesRubriques[$idr] = "G&egrave;nes diff&eacute;rentiellement exprim&eacute;s et clustering" ;
00028     
$idr
++; $tableauDesRubriques[$idr] = "Elimination de variables transitivement corr&eacute;l&eacute;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&eacute;finit-on des arbres et des graphes en
$R&nbsp;?" ;
00053     
finp() ;
00054     
00055     
p
("texte") ;
00056     echo
b
("Application")."&nbsp;:" ;
00057     echo
" g&eacute;n&eacute;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")."&nbsp;; " ;
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()")."&nbsp;: " ;
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&egrave;s simple&nbsp;: " ;
00094     
finp() ;
00095     
00096     
pre_fichier
("igraph2.r","cadre") ;
00097     
00098     
p
("texte") ;
00099     echo
" D'autres packages
$R int&eacute;ressants &agrave; consulter pour les graphes&nbsp;: " ;
00100     echo
hrrp
("ggraph") ;
00101     echo
", " ;
00102     echo
href
("https://www.data-imaginist.com/2017/ggraph-introduction-layouts/","introduction &agrave; ggraph") ;
00103     echo
" et " ;
00104     echo
hrrp
("tidygraph") ;
00105     echo
", " ;
00106     echo
href
("https://www.data-imaginist.com/2017/introducing-tidygraph/","introduction &agrave; tidygraph") ;
00107     echo
" sans oublier la "
.em("Task View")." nomm&eacute;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&eacute;tiques et fr&eacute;quentiels d'un texte en
$R&nbsp;?" ;
00125     echo
" On utilisera des "
.href("http://fr.wikipedia.org/wiki/Tableau_associatif","tableaux associatifs") ;
00126     echo
" o&ugrave; les cl&eacute;s sont les mots et les valeurs leur nombre d'occurrences. " ;
00127     
finp() ;
00128     
00129     
p
("texte") ;
00130     echo
b
("Application")."&nbsp;:" ;
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&amp;montrer=montrer","lit.texte") ;
00145     echo
" et " ;
00146     echo
href
("http://forge.info.univ-angers.fr/~gh/wstat/statghfns.php?lafns=analexies&amp;montrer=montrer","analexies") ;
00147     echo
" sont pr&eacute;vues pour cela, qui utilisent le package "
.hrrp("hash")."&nbsp;:" ;
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&eacute;nie, analyse d'images
00160     
00161     ## -------------------------------------------------------------------------------------------
00162     
00163     
blockquote() ;
00164     
00165     
blockquote() ;
00166     
00167     
p
("texte") ;
00168     echo
"Comment lit-on des s&eacute;quences Fasta en
$R&nbsp;?" ;
00169     echo
" Comment les aligne-t-on ("
.href("http://fr.wikipedia.org/wiki/Alignement_de_s%C3%A9quences","qu'est-ce ?)")."&nbsp;?" ;
00170     echo
" Comment en construit-on une phylog&eacute;nie ("
.href("http://fr.wikipedia.org/wiki/Phylog%C3%A9nie","qu'est-ce ?)")."&nbsp;?" ;
00171     
finp() ;
00172     
00173     
p
("texte") ;
00174     echo
b
("Application")."&nbsp;:" ;
00175     echo
" aligner les prot&eacute;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&eacute;n&eacute;tique. O&ugrave; est le probl&egrave;me&nbsp;?" ;
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&eacute;quences Fasta peut se faire avec la fonction " ;
00186     echo
hrrr
("read.fasta","seqinr")." du package ".hrrp("seqinr")."&nbsp;:" ;
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&agrave;")." avant d'utiliser la fonction " ;
00195     echo
hrrr
("read.alignment","seqinr")." du package ".hrrp("seqinr")."&nbsp;:" ;
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&eacute;nie, ni une classification " ;
00209     echo
" hi&eacute;rarchique. Que
$R soit capable de calculer et tracer ces objets en trois instructions est un autre probl&egrave;me..." ;
00210     
finp() ;
00211     
00212     
finsolution() ;
00213     
00214     
finblockquote() ;
00215     
00216     
## -------------------------------------------------------------------------------------------
00217     
00218     
$tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # G&egrave;nes diff&eacute;rentiellement exprim&eacute;s, clustering
00219     
00220     ## -------------------------------------------------------------------------------------------
00221     
00222     
blockquote() ;
00223     
00224     
blockquote() ;
00225     
00226     
p
("texte") ;
00227     echo
"Quel est le lien entre
$R et BioConductoR&nbsp;?" ;
00228     
finp() ;
00229     
00230     
p
("texte") ;
00231     echo
"Comment fait-on pour trouver les g&egrave;nes diff&eacute;rentiellement exprim&eacute;s issus d'un s&eacute;quen&ccedil;age&nbsp;?" ;
00232     
finp() ;
00233     
00234     
/*
00235     p("texte") ;
00236     echo "Et pour r&eacute;aliser du clustering en $R&nbsp;?" ;
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&eacute;. " ;
00247     finp() ;
00248     */
00249     
00250     
p
("texte") ;
00251     echo
" Attention&nbsp;: il ne s'agit pas ici de programmation mais d'utilisation d'outils programm&eacute;s en
$R." ;
00252     echo
" Cela demande d'abord de la culture en " ;
00253     echo
" biologie (g&egrave;ne) " ;
00254     echo
" et en statistiques (diff&eacute;rentiellement exprim&eacute;s) " ;
00255     echo
" plus une bonne dose de bioinformatique. Pour s'en convaincre, la r&eacute;ponse &agrave; ce genre de quesions est " ;
00256     echo
" dans ce genre d'ouvrages&nbsp;:" ;
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 &agrave; 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&ccedil;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&agrave;") ;
00290     echo
" en version locale. " ;
00291     
/*
00292     echo " Pour une introduction aux statistiques simples et avanc&eacute;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&eacute;l&eacute;es
00310     
00311     ## -------------------------------------------------------------------------------------------
00312     
00313     
blockquote() ;
00314     
00315     
blockquote() ;
00316     
00317     
p
("texte") ;
00318     echo
"Il arrive qu'on ait un tableau de donn&eacute;es avec beaucoup de colonnes quantitatives. " ;
00319     echo
" En statistiques, on apprend &agrave; ne pas conserver des variables trop ressemblantes (\"corr&eacute;l&eacute;es\"). " ;
00320     echo
" Ecrire une fonction qui &agrave; partir d'un tableau de donn&eacute;es trouve les groupes de variables qui se " ;
00321     echo
" ressemblent transitivement (si A ressemble &agrave; B et B ressemble &agrave; C, alors A ressemble &agrave; C) et qui " ;
00322     echo
" ne conserve qu'une variable par groupe." ;
00323     
finp() ;
00324     
00325     
p
("texte") ;
00326     echo
b
("Application&nbsp;:") ;
00327     echo
" essayer de d&eacute;finir des groupes de variables pour les donn&eacute;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&amp;montrer=montrer","clusterCor") ;
00338     echo
" et " ;
00339     echo
href
("http://forge.info.univ-angers.fr/~gh/wstat/statghfns.php?lafns=clusterCorTrans&amp;montrer=montrer","clusterCorTrans") ;
00340     echo
" sont pr&eacute;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&amp;m=e","s&eacute;ance 3") ;
00343     echo
" du cours de programmation avanc&eacute;e et " ;
00344     echo
href
("http://forge.info.univ-angers.fr/~gh/wstat/Programmation_R/Programmation_avancee/progr.php?n=3&amp;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 gH    Retour à la page principale de   (gH)