Ouvrez une fenêtre de votre navigateur, et connectez-vous au site du cours d’analyse statistique des données génomiques:
http://pedagogix-tagc.univ-mrs.fr/courses/ASG1/data/marrays
Téléchargez sur votre ordinateur les fichiers suivants:
Fichier | Contenu |
---|---|
GSE13425_Norm_Whole.txt | Table d’expression (une ligne par gène, une colonne par patient) |
phenoData_GSE13425.tab | Description des échantillons, une ligne par échantillon, un colonne par attribut |
Pour ce TP, nous supposerons que les deux tables ont été sauvegardées sur votre disque dur , dans un sous-dossier de votre bureau nommé TP_BIOINFOAPP.
Nous allons maintenant charger dans R les tables que nous venons de télécharger sur notre disque dur.
## Charger la table de données dans une variable de type data.frame
denboer.expr <- read.delim(
file = "~/Desktop/tp_bioinfoapp/GSE13425_Norm_Whole.txt",
row.names = 1)
Après avoir chargé une table de données, le premier réflexe est de vérifier son contenu.
Pour cela nous pouvons
dim(denboer.expr)
## [1] 22283 190
head(denboer.expr)
## GSM338666 GSM338667 GSM338668 GSM338669 GSM338670
## DDR1|1007_s_at 4.38 4.38 4.23 3.98 5.12
## RFC2|1053_at 3.44 3.33 3.73 3.58 3.40
## HSPA6|117_at 2.51 2.62 2.37 2.43 2.49
## PAX8|121_at 6.24 6.21 6.10 6.09 6.53
## GUCA1A|1255_g_at 2.29 2.23 2.17 2.26 2.27
## UBA7|1294_at 5.57 5.83 5.46 5.20 6.83
## GSM338671 GSM338672 GSM338673 GSM338674 GSM338675
## DDR1|1007_s_at 3.90 4.18 4.23 4.20 4.21
## RFC2|1053_at 3.07 3.02 3.37 2.97 3.22
## HSPA6|117_at 2.57 2.69 2.74 2.40 2.59
## PAX8|121_at 6.18 6.58 6.12 6.02 6.14
## GUCA1A|1255_g_at 2.18 2.15 2.11 2.21 2.40
## UBA7|1294_at 5.22 6.12 5.06 5.33 5.65
## GSM338676 GSM338677 GSM338678 GSM338679 GSM338680
## DDR1|1007_s_at 4.16 4.78 4.37 4.24 4.19
## RFC2|1053_at 3.20 3.04 3.80 3.13 3.39
## HSPA6|117_at 2.81 2.70 2.70 2.39 3.48
## PAX8|121_at 6.01 6.38 6.03 6.22 6.07
## GUCA1A|1255_g_at 2.06 2.17 2.21 2.06 2.10
## UBA7|1294_at 5.05 5.51 5.69 5.55 5.31
## GSM338681 GSM338682 GSM338683 GSM338684 GSM338685
## DDR1|1007_s_at 4.44 4.15 3.98 3.84 4.32
## RFC2|1053_at 3.14 3.09 3.35 3.35 3.69
## HSPA6|117_at 2.50 2.27 2.42 2.69 2.33
## PAX8|121_at 6.08 6.04 5.99 6.12 6.17
## GUCA1A|1255_g_at 2.13 2.09 2.15 2.15 2.23
## UBA7|1294_at 5.48 4.89 6.06 5.19 5.03
## GSM338686 GSM338687 GSM338688 GSM338689 GSM338690
## DDR1|1007_s_at 4.11 4.20 4.04 4.17 4.41
## RFC2|1053_at 3.97 3.04 3.25 4.20 3.04
## HSPA6|117_at 2.33 2.27 2.42 2.14 2.75
## PAX8|121_at 5.94 6.07 5.97 5.83 6.21
## GUCA1A|1255_g_at 1.97 2.08 2.19 2.10 2.24
## UBA7|1294_at 4.98 5.20 6.01 5.53 5.26
## GSM338691 GSM338692 GSM338693 GSM338694 GSM338695
## DDR1|1007_s_at 3.98 4.12 3.80 4.16 3.96
## RFC2|1053_at 3.10 3.29 3.47 3.42 3.45
## HSPA6|117_at 3.73 2.42 2.23 3.49 4.42
## PAX8|121_at 6.06 6.21 5.81 5.87 6.42
## GUCA1A|1255_g_at 2.27 2.25 2.09 2.16 2.29
## UBA7|1294_at 4.99 5.48 6.55 5.54 5.36
## GSM338696 GSM338697 GSM338698 GSM338699 GSM338700
## DDR1|1007_s_at 4.21 4.52 3.68 3.79 4.66
## RFC2|1053_at 3.30 3.31 3.94 3.28 3.14
## HSPA6|117_at 2.35 2.42 2.50 2.51 4.25
## PAX8|121_at 6.17 6.23 5.77 5.79 6.09
## GUCA1A|1255_g_at 2.20 2.17 2.21 2.14 2.27
## UBA7|1294_at 5.64 5.37 5.10 5.54 5.09
## GSM338701 GSM338702 GSM338703 GSM338704 GSM338705
## DDR1|1007_s_at 3.96 4.27 5.12 4.73 4.83
## RFC2|1053_at 3.83 3.28 3.10 3.23 3.03
## HSPA6|117_at 6.22 2.48 2.60 2.25 2.37
## PAX8|121_at 5.92 6.26 6.45 6.29 6.12
## GUCA1A|1255_g_at 2.07 2.06 2.35 2.12 2.14
## UBA7|1294_at 4.84 5.59 5.94 5.97 5.97
## GSM338706 GSM338707 GSM338708 GSM338709 GSM338710
## DDR1|1007_s_at 5.04 4.30 4.52 4.46 4.26
## RFC2|1053_at 3.27 2.95 3.01 2.81 2.88
## HSPA6|117_at 2.52 2.98 7.00 2.68 2.92
## PAX8|121_at 6.31 6.04 6.05 6.02 6.24
## GUCA1A|1255_g_at 2.16 2.05 2.11 2.10 2.17
## UBA7|1294_at 5.72 5.23 5.11 5.90 5.99
## GSM338711 GSM338712 GSM338713 GSM338714 GSM338715
## DDR1|1007_s_at 5.64 4.26 5.00 4.20 4.44
## RFC2|1053_at 3.13 3.22 2.96 3.18 2.92
## HSPA6|117_at 2.72 4.02 2.40 2.44 2.73
## PAX8|121_at 6.31 6.02 5.90 5.95 6.22
## GUCA1A|1255_g_at 2.30 2.18 2.28 2.19 2.24
## UBA7|1294_at 6.13 5.34 6.31 5.47 5.73
## GSM338716 GSM338717 GSM338718 GSM338719 GSM338720
## DDR1|1007_s_at 4.21 4.83 4.67 4.97 3.88
## RFC2|1053_at 3.30 2.91 2.80 2.99 3.09
## HSPA6|117_at 2.40 3.44 4.47 2.65 3.01
## PAX8|121_at 6.05 6.18 6.31 6.22 6.19
## GUCA1A|1255_g_at 1.92 2.22 2.19 2.15 2.28
## UBA7|1294_at 5.16 5.57 5.48 6.32 5.45
## GSM338721 GSM338722 GSM338723 GSM338724 GSM338725
## DDR1|1007_s_at 4.19 4.45 5.17 5.17 4.71
## RFC2|1053_at 2.79 3.17 3.00 2.90 2.94
## HSPA6|117_at 2.73 2.53 2.66 3.01 2.36
## PAX8|121_at 6.11 6.30 6.48 6.23 6.33
## GUCA1A|1255_g_at 2.08 2.18 2.16 2.15 2.30
## UBA7|1294_at 5.29 5.62 5.77 5.90 6.00
## GSM338726 GSM338727 GSM338728 GSM338729 GSM338730
## DDR1|1007_s_at 4.22 4.67 4.77 4.36 4.33
## RFC2|1053_at 3.38 2.76 3.04 3.08 2.79
## HSPA6|117_at 2.42 2.50 2.44 2.68 2.46
## PAX8|121_at 6.00 6.29 6.00 6.08 6.00
## GUCA1A|1255_g_at 2.23 2.30 2.28 2.11 2.25
## UBA7|1294_at 5.52 5.25 6.22 6.05 5.21
## GSM338731 GSM338732 GSM338733 GSM338734 GSM338735
## DDR1|1007_s_at 4.91 4.40 4.29 4.29 4.64
## RFC2|1053_at 3.02 2.83 3.17 2.92 3.01
## HSPA6|117_at 2.74 2.39 2.68 2.80 2.77
## PAX8|121_at 6.22 6.15 6.28 6.41 6.16
## GUCA1A|1255_g_at 2.20 2.23 2.15 2.32 2.23
## UBA7|1294_at 5.78 6.12 5.13 5.59 5.60
## GSM338736 GSM338737 GSM338738 GSM338739 GSM338740
## DDR1|1007_s_at 4.51 4.25 5.37 4.38 4.49
## RFC2|1053_at 3.13 3.07 2.91 3.41 3.13
## HSPA6|117_at 2.40 2.33 2.53 2.58 5.59
## PAX8|121_at 5.78 5.91 6.05 6.00 5.86
## GUCA1A|1255_g_at 2.12 2.13 2.32 2.24 2.19
## UBA7|1294_at 5.75 6.31 5.93 6.34 4.90
## GSM338741 GSM338742 GSM338743 GSM338744 GSM338745
## DDR1|1007_s_at 4.76 4.34 4.89 4.36 4.26
## RFC2|1053_at 3.25 3.57 3.22 3.22 3.04
## HSPA6|117_at 2.67 2.30 2.48 2.65 2.80
## PAX8|121_at 6.14 6.06 6.30 6.09 6.22
## GUCA1A|1255_g_at 2.12 2.14 2.07 2.15 2.14
## UBA7|1294_at 5.97 5.32 5.89 6.35 6.79
## GSM338746 GSM338747 GSM338748 GSM338749 GSM338750
## DDR1|1007_s_at 5.40 4.45 4.97 4.56 4.72
## RFC2|1053_at 3.84 2.98 2.93 3.56 3.24
## HSPA6|117_at 2.29 2.44 2.43 2.55 2.71
## PAX8|121_at 6.19 6.24 6.29 6.14 6.17
## GUCA1A|1255_g_at 2.10 2.17 2.21 2.11 2.14
## UBA7|1294_at 5.93 5.27 5.29 5.34 5.65
## GSM338751 GSM338752 GSM338753 GSM338754 GSM338755
## DDR1|1007_s_at 5.03 4.68 4.73 4.85 4.89
## RFC2|1053_at 3.17 3.46 2.95 2.89 2.97
## HSPA6|117_at 2.44 2.37 2.53 3.13 2.73
## PAX8|121_at 6.35 6.02 6.33 5.94 5.87
## GUCA1A|1255_g_at 2.21 2.03 2.04 2.02 2.20
## UBA7|1294_at 5.77 5.73 5.10 5.02 5.70
## GSM338756 GSM338757 GSM338758 GSM338759 GSM338760
## DDR1|1007_s_at 4.76 4.74 4.98 4.52 4.73
## RFC2|1053_at 3.22 3.37 3.03 2.98 3.09
## HSPA6|117_at 2.77 2.45 2.84 2.93 2.33
## PAX8|121_at 6.06 6.54 6.26 5.97 6.08
## GUCA1A|1255_g_at 2.17 2.21 2.29 2.28 2.23
## UBA7|1294_at 5.27 5.11 4.82 5.33 6.03
## GSM338761 GSM338762 GSM338763 GSM338764 GSM338765
## DDR1|1007_s_at 5.23 4.26 4.73 4.87 5.24
## RFC2|1053_at 3.35 3.00 2.88 3.03 3.37
## HSPA6|117_at 2.50 2.70 2.60 2.57 2.74
## PAX8|121_at 6.26 6.00 6.30 6.28 6.11
## GUCA1A|1255_g_at 2.09 2.34 2.21 2.21 2.10
## UBA7|1294_at 5.82 6.07 5.10 5.57 5.82
## GSM338766 GSM338767 GSM338768 GSM338769 GSM338770
## DDR1|1007_s_at 4.18 4.66 4.24 4.20 4.55
## RFC2|1053_at 3.06 2.94 3.16 3.27 2.94
## HSPA6|117_at 2.43 2.64 2.61 2.50 2.56
## PAX8|121_at 6.12 5.99 6.27 6.41 6.31
## GUCA1A|1255_g_at 2.27 2.11 2.31 2.11 2.20
## UBA7|1294_at 5.01 5.06 5.12 5.76 5.32
## GSM338771 GSM338772 GSM338773 GSM338774 GSM338775
## DDR1|1007_s_at 4.69 5.08 4.82 4.98 4.54
## RFC2|1053_at 2.84 3.06 2.98 3.13 2.95
## HSPA6|117_at 2.50 2.58 2.38 2.43 2.45
## PAX8|121_at 6.15 6.38 6.13 5.95 6.23
## GUCA1A|1255_g_at 2.09 2.11 2.12 2.13 2.08
## UBA7|1294_at 5.17 5.25 5.22 5.37 5.55
## GSM338776 GSM338777 GSM338778 GSM338779 GSM338780
## DDR1|1007_s_at 4.31 4.40 4.96 4.83 4.69
## RFC2|1053_at 3.08 3.12 3.14 3.10 3.08
## HSPA6|117_at 2.33 2.38 2.66 2.41 2.46
## PAX8|121_at 5.96 6.07 6.40 6.06 6.22
## GUCA1A|1255_g_at 2.12 2.14 2.33 2.08 2.21
## UBA7|1294_at 5.19 5.09 5.29 5.18 5.19
## GSM338781 GSM338782 GSM338783 GSM338784 GSM338785
## DDR1|1007_s_at 4.50 4.58 4.37 4.72 4.41
## RFC2|1053_at 3.06 3.13 2.97 3.19 3.24
## HSPA6|117_at 2.66 2.88 2.55 2.56 2.30
## PAX8|121_at 6.25 6.03 6.12 6.20 5.98
## GUCA1A|1255_g_at 2.18 2.04 2.15 2.22 2.10
## UBA7|1294_at 5.46 5.02 5.23 5.32 5.08
## GSM338786 GSM338787 GSM338788 GSM338789 GSM338790
## DDR1|1007_s_at 4.64 4.41 4.51 4.27 4.77
## RFC2|1053_at 3.09 3.39 3.24 3.38 2.90
## HSPA6|117_at 2.43 2.59 2.71 2.76 2.54
## PAX8|121_at 6.12 6.14 5.93 6.25 6.46
## GUCA1A|1255_g_at 2.14 2.34 2.11 2.21 2.21
## UBA7|1294_at 4.94 5.56 5.40 5.57 5.14
## GSM338791 GSM338792 GSM338793 GSM338794 GSM338795
## DDR1|1007_s_at 4.66 4.43 5.31 5.26 5.47
## RFC2|1053_at 2.95 3.19 2.94 3.54 2.96
## HSPA6|117_at 2.75 3.13 2.81 2.54 2.99
## PAX8|121_at 6.38 6.21 6.37 6.17 6.23
## GUCA1A|1255_g_at 2.32 2.13 2.12 2.23 2.16
## UBA7|1294_at 4.90 5.45 5.46 5.61 5.50
## GSM338796 GSM338797 GSM338798 GSM338799 GSM338800
## DDR1|1007_s_at 4.44 4.94 4.61 4.88 4.64
## RFC2|1053_at 3.15 3.21 3.14 2.95 3.38
## HSPA6|117_at 2.59 2.89 2.42 2.50 2.17
## PAX8|121_at 6.24 6.15 6.09 6.25 6.34
## GUCA1A|1255_g_at 2.05 2.22 2.10 2.25 2.22
## UBA7|1294_at 5.59 5.51 5.28 6.03 5.59
## GSM338801 GSM338802 GSM338803 GSM338804 GSM338805
## DDR1|1007_s_at 5.44 4.21 4.59 4.69 4.86
## RFC2|1053_at 3.07 3.21 2.66 3.55 3.33
## HSPA6|117_at 2.51 2.68 2.59 2.47 2.69
## PAX8|121_at 6.50 6.17 6.15 5.99 6.32
## GUCA1A|1255_g_at 2.23 2.10 2.13 2.02 2.26
## UBA7|1294_at 5.80 5.35 5.32 5.55 5.59
## GSM338806 GSM338807 GSM338808 GSM338809 GSM338810
## DDR1|1007_s_at 3.67 5.05 5.33 3.98 3.83
## RFC2|1053_at 3.04 3.23 3.27 3.30 3.22
## HSPA6|117_at 3.37 7.38 2.47 2.67 2.48
## PAX8|121_at 6.12 6.18 6.14 6.28 6.02
## GUCA1A|1255_g_at 2.11 2.10 2.32 2.33 2.21
## UBA7|1294_at 5.09 5.89 5.31 6.14 4.96
## GSM338811 GSM338812 GSM338813 GSM338814 GSM338815
## DDR1|1007_s_at 3.95 5.13 5.00 4.80 4.08
## RFC2|1053_at 2.98 3.34 3.32 2.98 3.24
## HSPA6|117_at 2.76 2.80 2.31 2.44 2.55
## PAX8|121_at 6.41 6.21 6.31 6.44 6.09
## GUCA1A|1255_g_at 2.14 2.33 2.04 2.26 2.14
## UBA7|1294_at 5.12 6.05 6.91 5.38 5.51
## GSM338816 GSM338817 GSM338818 GSM338819 GSM338820
## DDR1|1007_s_at 5.12 3.99 4.22 4.29 5.41
## RFC2|1053_at 3.31 3.50 3.23 3.24 3.00
## HSPA6|117_at 2.39 3.41 2.55 3.13 2.37
## PAX8|121_at 6.03 5.81 6.32 6.02 6.40
## GUCA1A|1255_g_at 2.27 2.00 2.20 2.11 2.19
## UBA7|1294_at 6.25 6.14 6.13 6.03 6.24
## GSM338821 GSM338822 GSM338823 GSM338824 GSM338825
## DDR1|1007_s_at 4.71 5.01 4.74 4.58 4.53
## RFC2|1053_at 3.38 3.14 3.23 3.28 3.39
## HSPA6|117_at 2.49 2.57 2.67 2.48 2.48
## PAX8|121_at 5.92 6.36 6.47 6.08 6.13
## GUCA1A|1255_g_at 2.03 2.18 2.25 2.12 2.01
## UBA7|1294_at 7.26 5.98 6.52 5.91 5.74
## GSM338826 GSM338827 GSM338828 GSM338829 GSM338830
## DDR1|1007_s_at 4.14 5.40 4.77 4.94 4.28
## RFC2|1053_at 3.31 2.91 3.79 2.93 3.26
## HSPA6|117_at 2.75 2.31 2.55 3.14 2.87
## PAX8|121_at 5.85 5.84 6.08 6.31 6.38
## GUCA1A|1255_g_at 2.36 2.18 2.14 2.17 2.33
## UBA7|1294_at 6.06 5.83 6.07 5.76 5.83
## GSM338831 GSM338832 GSM338833 GSM338834 GSM338835
## DDR1|1007_s_at 4.18 4.33 4.25 4.27 4.61
## RFC2|1053_at 2.81 3.16 3.26 2.97 2.79
## HSPA6|117_at 2.60 2.58 2.76 2.57 2.55
## PAX8|121_at 6.37 5.98 6.22 6.19 6.21
## GUCA1A|1255_g_at 2.43 2.15 2.29 2.19 2.17
## UBA7|1294_at 5.37 5.10 5.57 5.68 5.24
## GSM338836 GSM338837 GSM338838 GSM338839 GSM338840
## DDR1|1007_s_at 4.69 4.24 4.24 4.48 5.50
## RFC2|1053_at 3.09 2.88 3.21 3.19 3.59
## HSPA6|117_at 2.64 2.70 2.72 2.59 2.46
## PAX8|121_at 6.09 6.11 6.24 6.20 6.47
## GUCA1A|1255_g_at 2.13 2.20 2.20 2.13 2.14
## UBA7|1294_at 6.10 5.51 5.81 5.49 6.12
## GSM338841 GSM338842 GSM338843 GSM338844 GSM338845
## DDR1|1007_s_at 4.64 4.08 4.28 5.03 5.13
## RFC2|1053_at 3.03 3.18 3.03 2.83 3.07
## HSPA6|117_at 2.72 3.08 2.34 2.60 2.51
## PAX8|121_at 6.16 5.90 6.16 6.04 6.12
## GUCA1A|1255_g_at 2.17 2.11 2.12 2.37 2.07
## UBA7|1294_at 5.56 5.79 5.60 5.61 5.64
## GSM338846 GSM338847 GSM338848 GSM338849 GSM338850
## DDR1|1007_s_at 4.47 4.88 5.73 5.55 4.15
## RFC2|1053_at 2.90 3.40 3.04 2.88 2.88
## HSPA6|117_at 2.61 2.31 2.48 2.68 4.09
## PAX8|121_at 6.21 6.01 6.20 6.34 6.39
## GUCA1A|1255_g_at 2.36 2.06 2.14 2.24 2.27
## UBA7|1294_at 5.48 6.29 5.69 5.67 5.34
## GSM338851 GSM338852 GSM338853 GSM338854 GSM338855
## DDR1|1007_s_at 6.16 4.23 5.18 4.68 4.55
## RFC2|1053_at 2.89 3.34 3.02 3.07 2.99
## HSPA6|117_at 2.65 2.83 2.66 2.54 2.64
## PAX8|121_at 6.25 6.05 6.30 6.38 6.25
## GUCA1A|1255_g_at 2.27 2.25 2.14 2.23 2.16
## UBA7|1294_at 5.34 5.98 6.73 5.72 5.57
denboer.expr[1:5,27:30]
## GSM338692 GSM338693 GSM338694 GSM338695
## DDR1|1007_s_at 4.12 3.80 4.16 3.96
## RFC2|1053_at 3.29 3.47 3.42 3.45
## HSPA6|117_at 2.42 2.23 3.49 4.42
## PAX8|121_at 6.21 5.81 5.87 6.42
## GUCA1A|1255_g_at 2.25 2.09 2.16 2.29
denboer.expr["HSPA6|117_at","GSM338697"]
## [1] 2.42
Nous pouvons calculer le niveau moyen d’expression pour l’ensemble de la table de données. La fonction mean() calcule la moyenne d’un vecteur de nombres. Le problème est que la table de données n’est pas un vecteur, mais une structure de type data.frame (matrice avec des noms de lignes et de colonnes). Pour convertir cette matrice en vecteur, nous utilisons la formule magique as.vector(as.matrix(…))
## Générer un vecteur qui contient toutes les valeurs d'expression
denboer.expr.vector <- as.vector(as.matrix(denboer.expr))
length(denboer.expr.vector)
## [1] 4233770
dim(denboer.expr) ## Calculer les dimensions de la data.frame d'expression
## [1] 22283 190
prod(dim(denboer.expr)) ## Le produit des nb de colonnes et de lignes de la table d'expression égale la longueur du vecteur (vérification)
## [1] 4233770
## Compute the mean, variance and standard deviation for the whole expression table
mean(denboer.expr.vector)
## [1] 3.711429
sd(denboer.expr.vector) ## écart-type (standard deviation)
## [1] 1.621904
var(denboer.expr.vector) ## variance
## [1] 2.630572
Nous allons dessiner un graphique comparant la moyenne (abscisse) et l’écart-type (ordonnée) d’expression pour chaque gène (chaque gène sera représenté par un point).
Pour appliquer un clacul à chaque ligne de la table de données (chaque gène), nous utilisons la fonction R apply().
## Calculer la moyenne de chaque gène (ligne) et conserver le résultat dans une variable nommée"mean.per.gene"
mean.per.gene <- apply(X = denboer.expr, MARGIN = 1, FUN = mean)
class(mean.per.gene) ## Retourne un vecteur de valeurs numériques
## [1] "numeric"
length (mean.per.gene)
## [1] 22283
## Idem pour 'écart-type (sd = standard deviation)
sd.per.gene <- apply(X = denboer.expr, MARGIN = 1, FUN = sd)
## La fonction "apply" permet également d'appliquer une fonction sur chaque colonne d'un tableau de données
mean.per.sample <- apply(X = denboer.expr, MARGIN = 2, FUN = mean)
length(mean.per.sample)
## [1] 190
Nous allons maintenant dessiner un nuage de points pour comparer les moyennes et écart-types par gène.
plot(mean.per.gene, sd.per.gene)
Nous allons charger une table indiquant les types de leucémies associées) chaque patient.
http://dputhier.github.io/jgb71e-polytech-bioinfo-app/
La table fournissant la description détaillée de chaque échantillon se trouve à l’URL suivant:
sample.descriptions <- read.delim(file = "http://dputhier.github.io/jgb71e-polytech-bioinfo-app/practical/microarrays/denboer_data/GSE13425_phenoData.txt", row.names = 1)
dim(sample.descriptions)
## [1] 190 4
colnames(sample.descriptions)
## [1] "Sample_title" "Sample_source_name_ch1"
## [3] "Sample_characteristics_ch1" "Sample_description"
rownames(sample.descriptions)
## [1] "GSM338666" "GSM338667" "GSM338668" "GSM338669" "GSM338670"
## [6] "GSM338671" "GSM338672" "GSM338673" "GSM338674" "GSM338675"
## [11] "GSM338676" "GSM338677" "GSM338678" "GSM338679" "GSM338680"
## [16] "GSM338681" "GSM338682" "GSM338683" "GSM338684" "GSM338685"
## [21] "GSM338686" "GSM338687" "GSM338688" "GSM338689" "GSM338690"
## [26] "GSM338691" "GSM338692" "GSM338693" "GSM338694" "GSM338695"
## [31] "GSM338696" "GSM338697" "GSM338698" "GSM338699" "GSM338700"
## [36] "GSM338701" "GSM338702" "GSM338703" "GSM338704" "GSM338705"
## [41] "GSM338706" "GSM338707" "GSM338708" "GSM338709" "GSM338710"
## [46] "GSM338711" "GSM338712" "GSM338713" "GSM338714" "GSM338715"
## [51] "GSM338716" "GSM338717" "GSM338718" "GSM338719" "GSM338720"
## [56] "GSM338721" "GSM338722" "GSM338723" "GSM338724" "GSM338725"
## [61] "GSM338726" "GSM338727" "GSM338728" "GSM338729" "GSM338730"
## [66] "GSM338731" "GSM338732" "GSM338733" "GSM338734" "GSM338735"
## [71] "GSM338736" "GSM338737" "GSM338738" "GSM338739" "GSM338740"
## [76] "GSM338741" "GSM338742" "GSM338743" "GSM338744" "GSM338745"
## [81] "GSM338746" "GSM338747" "GSM338748" "GSM338749" "GSM338750"
## [86] "GSM338751" "GSM338752" "GSM338753" "GSM338754" "GSM338755"
## [91] "GSM338756" "GSM338757" "GSM338758" "GSM338759" "GSM338760"
## [96] "GSM338761" "GSM338762" "GSM338763" "GSM338764" "GSM338765"
## [101] "GSM338766" "GSM338767" "GSM338768" "GSM338769" "GSM338770"
## [106] "GSM338771" "GSM338772" "GSM338773" "GSM338774" "GSM338775"
## [111] "GSM338776" "GSM338777" "GSM338778" "GSM338779" "GSM338780"
## [116] "GSM338781" "GSM338782" "GSM338783" "GSM338784" "GSM338785"
## [121] "GSM338786" "GSM338787" "GSM338788" "GSM338789" "GSM338790"
## [126] "GSM338791" "GSM338792" "GSM338793" "GSM338794" "GSM338795"
## [131] "GSM338796" "GSM338797" "GSM338798" "GSM338799" "GSM338800"
## [136] "GSM338801" "GSM338802" "GSM338803" "GSM338804" "GSM338805"
## [141] "GSM338806" "GSM338807" "GSM338808" "GSM338809" "GSM338810"
## [146] "GSM338811" "GSM338812" "GSM338813" "GSM338814" "GSM338815"
## [151] "GSM338816" "GSM338817" "GSM338818" "GSM338819" "GSM338820"
## [156] "GSM338821" "GSM338822" "GSM338823" "GSM338824" "GSM338825"
## [161] "GSM338826" "GSM338827" "GSM338828" "GSM338829" "GSM338830"
## [166] "GSM338831" "GSM338832" "GSM338833" "GSM338834" "GSM338835"
## [171] "GSM338836" "GSM338837" "GSM338838" "GSM338839" "GSM338840"
## [176] "GSM338841" "GSM338842" "GSM338843" "GSM338844" "GSM338845"
## [181] "GSM338846" "GSM338847" "GSM338848" "GSM338849" "GSM338850"
## [186] "GSM338851" "GSM338852" "GSM338853" "GSM338854" "GSM338855"
## Afficher le contenu de la colonne "Sample_title" de la table sample.descriptions
## Les trois commandes suivantes donnent le même résultat (seule la syntaxe diffère)
print(sample.descriptions[,1])
## [1] T-ALL T-ALL
## [3] T-ALL T-ALL
## [5] T-ALL T-ALL
## [7] T-ALL T-ALL
## [9] T-ALL T-ALL
## [11] T-ALL T-ALL
## [13] T-ALL T-ALL
## [15] T-ALL T-ALL
## [17] T-ALL T-ALL
## [19] T-ALL T-ALL
## [21] T-ALL T-ALL
## [23] T-ALL T-ALL
## [25] T-ALL T-ALL
## [27] T-ALL T-ALL
## [29] T-ALL T-ALL
## [31] T-ALL T-ALL
## [33] T-ALL T-ALL
## [35] T-ALL T-ALL
## [37] TEL-AML1 TEL-AML1
## [39] TEL-AML1 TEL-AML1
## [41] TEL-AML1 TEL-AML1
## [43] TEL-AML1 TEL-AML1
## [45] TEL-AML1 TEL-AML1
## [47] TEL-AML1 TEL-AML1
## [49] TEL-AML1 TEL-AML1
## [51] TEL-AML1 TEL-AML1
## [53] TEL-AML1 TEL-AML1
## [55] TEL-AML1 TEL-AML1
## [57] TEL-AML1 TEL-AML1
## [59] TEL-AML1 TEL-AML1
## [61] TEL-AML1 TEL-AML1
## [63] TEL-AML1 TEL-AML1
## [65] TEL-AML1 TEL-AML1
## [67] TEL-AML1 TEL-AML1
## [69] TEL-AML1 TEL-AML1
## [71] TEL-AML1 TEL-AML1
## [73] TEL-AML1 TEL-AML1
## [75] TEL-AML1 TEL-AML1
## [77] TEL-AML1 TEL-AML1
## [79] TEL-AML1 TEL-AML1 + hyperdiploidy
## [81] hyperdiploid hyperdiploid
## [83] hyperdiploid hyperdiploid
## [85] hyperdiploid hyperdiploid
## [87] hyperdiploid hyperdiploid
## [89] hyperdiploid hyperdiploid
## [91] hyperdiploid hyperdiploid
## [93] hyperdiploid hyperdiploid
## [95] hyperdiploid hyperdiploid
## [97] hyperdiploid hyperdiploid
## [99] hyperdiploid hyperdiploid
## [101] hyperdiploid hyperdiploid
## [103] hyperdiploid hyperdiploid
## [105] hyperdiploid hyperdiploid
## [107] hyperdiploid hyperdiploid
## [109] hyperdiploid hyperdiploid
## [111] hyperdiploid hyperdiploid
## [113] hyperdiploid hyperdiploid
## [115] hyperdiploid hyperdiploid
## [117] hyperdiploid hyperdiploid
## [119] hyperdiploid hyperdiploid
## [121] hyperdiploid hyperdiploid
## [123] hyperdiploid hyperdiploid
## [125] E2A-rearranged (E) E2A-rearranged (EP)
## [127] E2A-rearranged (EP) E2A-rearranged (EP)
## [129] E2A-rearranged (EP) E2A-rearranged (EP)
## [131] E2A-rearranged (EP) E2A-rearranged (EP)
## [133] E2A-rearranged (EP) E2A-rearranged (E-sub)
## [135] E2A-rearranged (E-sub) E2A-rearranged (E-sub)
## [137] E2A-rearranged (E-sub) BCR-ABL
## [139] BCR-ABL BCR-ABL
## [141] BCR-ABL BCR-ABL + hyperdiploidy
## [143] MLL MLL
## [145] MLL MLL
## [147] pre-B ALL pre-B ALL
## [149] pre-B ALL pre-B ALL
## [151] pre-B ALL pre-B ALL
## [153] pre-B ALL pre-B ALL
## [155] pre-B ALL pre-B ALL
## [157] pre-B ALL pre-B ALL
## [159] pre-B ALL pre-B ALL
## [161] pre-B ALL pre-B ALL
## [163] pre-B ALL pre-B ALL
## [165] pre-B ALL pre-B ALL
## [167] pre-B ALL pre-B ALL
## [169] pre-B ALL pre-B ALL
## [171] pre-B ALL pre-B ALL
## [173] pre-B ALL pre-B ALL
## [175] pre-B ALL pre-B ALL
## [177] pre-B ALL pre-B ALL
## [179] pre-B ALL pre-B ALL
## [181] pre-B ALL pre-B ALL
## [183] pre-B ALL pre-B ALL
## [185] pre-B ALL pre-B ALL
## [187] pre-B ALL pre-B ALL
## [189] pre-B ALL pre-B ALL
## 11 Levels: BCR-ABL BCR-ABL + hyperdiploidy ... TEL-AML1 + hyperdiploidy
print(sample.descriptions[,"Sample_title"])
## [1] T-ALL T-ALL
## [3] T-ALL T-ALL
## [5] T-ALL T-ALL
## [7] T-ALL T-ALL
## [9] T-ALL T-ALL
## [11] T-ALL T-ALL
## [13] T-ALL T-ALL
## [15] T-ALL T-ALL
## [17] T-ALL T-ALL
## [19] T-ALL T-ALL
## [21] T-ALL T-ALL
## [23] T-ALL T-ALL
## [25] T-ALL T-ALL
## [27] T-ALL T-ALL
## [29] T-ALL T-ALL
## [31] T-ALL T-ALL
## [33] T-ALL T-ALL
## [35] T-ALL T-ALL
## [37] TEL-AML1 TEL-AML1
## [39] TEL-AML1 TEL-AML1
## [41] TEL-AML1 TEL-AML1
## [43] TEL-AML1 TEL-AML1
## [45] TEL-AML1 TEL-AML1
## [47] TEL-AML1 TEL-AML1
## [49] TEL-AML1 TEL-AML1
## [51] TEL-AML1 TEL-AML1
## [53] TEL-AML1 TEL-AML1
## [55] TEL-AML1 TEL-AML1
## [57] TEL-AML1 TEL-AML1
## [59] TEL-AML1 TEL-AML1
## [61] TEL-AML1 TEL-AML1
## [63] TEL-AML1 TEL-AML1
## [65] TEL-AML1 TEL-AML1
## [67] TEL-AML1 TEL-AML1
## [69] TEL-AML1 TEL-AML1
## [71] TEL-AML1 TEL-AML1
## [73] TEL-AML1 TEL-AML1
## [75] TEL-AML1 TEL-AML1
## [77] TEL-AML1 TEL-AML1
## [79] TEL-AML1 TEL-AML1 + hyperdiploidy
## [81] hyperdiploid hyperdiploid
## [83] hyperdiploid hyperdiploid
## [85] hyperdiploid hyperdiploid
## [87] hyperdiploid hyperdiploid
## [89] hyperdiploid hyperdiploid
## [91] hyperdiploid hyperdiploid
## [93] hyperdiploid hyperdiploid
## [95] hyperdiploid hyperdiploid
## [97] hyperdiploid hyperdiploid
## [99] hyperdiploid hyperdiploid
## [101] hyperdiploid hyperdiploid
## [103] hyperdiploid hyperdiploid
## [105] hyperdiploid hyperdiploid
## [107] hyperdiploid hyperdiploid
## [109] hyperdiploid hyperdiploid
## [111] hyperdiploid hyperdiploid
## [113] hyperdiploid hyperdiploid
## [115] hyperdiploid hyperdiploid
## [117] hyperdiploid hyperdiploid
## [119] hyperdiploid hyperdiploid
## [121] hyperdiploid hyperdiploid
## [123] hyperdiploid hyperdiploid
## [125] E2A-rearranged (E) E2A-rearranged (EP)
## [127] E2A-rearranged (EP) E2A-rearranged (EP)
## [129] E2A-rearranged (EP) E2A-rearranged (EP)
## [131] E2A-rearranged (EP) E2A-rearranged (EP)
## [133] E2A-rearranged (EP) E2A-rearranged (E-sub)
## [135] E2A-rearranged (E-sub) E2A-rearranged (E-sub)
## [137] E2A-rearranged (E-sub) BCR-ABL
## [139] BCR-ABL BCR-ABL
## [141] BCR-ABL BCR-ABL + hyperdiploidy
## [143] MLL MLL
## [145] MLL MLL
## [147] pre-B ALL pre-B ALL
## [149] pre-B ALL pre-B ALL
## [151] pre-B ALL pre-B ALL
## [153] pre-B ALL pre-B ALL
## [155] pre-B ALL pre-B ALL
## [157] pre-B ALL pre-B ALL
## [159] pre-B ALL pre-B ALL
## [161] pre-B ALL pre-B ALL
## [163] pre-B ALL pre-B ALL
## [165] pre-B ALL pre-B ALL
## [167] pre-B ALL pre-B ALL
## [169] pre-B ALL pre-B ALL
## [171] pre-B ALL pre-B ALL
## [173] pre-B ALL pre-B ALL
## [175] pre-B ALL pre-B ALL
## [177] pre-B ALL pre-B ALL
## [179] pre-B ALL pre-B ALL
## [181] pre-B ALL pre-B ALL
## [183] pre-B ALL pre-B ALL
## [185] pre-B ALL pre-B ALL
## [187] pre-B ALL pre-B ALL
## [189] pre-B ALL pre-B ALL
## 11 Levels: BCR-ABL BCR-ABL + hyperdiploidy ... TEL-AML1 + hyperdiploidy
print(sample.descriptions$Sample_title)
## [1] T-ALL T-ALL
## [3] T-ALL T-ALL
## [5] T-ALL T-ALL
## [7] T-ALL T-ALL
## [9] T-ALL T-ALL
## [11] T-ALL T-ALL
## [13] T-ALL T-ALL
## [15] T-ALL T-ALL
## [17] T-ALL T-ALL
## [19] T-ALL T-ALL
## [21] T-ALL T-ALL
## [23] T-ALL T-ALL
## [25] T-ALL T-ALL
## [27] T-ALL T-ALL
## [29] T-ALL T-ALL
## [31] T-ALL T-ALL
## [33] T-ALL T-ALL
## [35] T-ALL T-ALL
## [37] TEL-AML1 TEL-AML1
## [39] TEL-AML1 TEL-AML1
## [41] TEL-AML1 TEL-AML1
## [43] TEL-AML1 TEL-AML1
## [45] TEL-AML1 TEL-AML1
## [47] TEL-AML1 TEL-AML1
## [49] TEL-AML1 TEL-AML1
## [51] TEL-AML1 TEL-AML1
## [53] TEL-AML1 TEL-AML1
## [55] TEL-AML1 TEL-AML1
## [57] TEL-AML1 TEL-AML1
## [59] TEL-AML1 TEL-AML1
## [61] TEL-AML1 TEL-AML1
## [63] TEL-AML1 TEL-AML1
## [65] TEL-AML1 TEL-AML1
## [67] TEL-AML1 TEL-AML1
## [69] TEL-AML1 TEL-AML1
## [71] TEL-AML1 TEL-AML1
## [73] TEL-AML1 TEL-AML1
## [75] TEL-AML1 TEL-AML1
## [77] TEL-AML1 TEL-AML1
## [79] TEL-AML1 TEL-AML1 + hyperdiploidy
## [81] hyperdiploid hyperdiploid
## [83] hyperdiploid hyperdiploid
## [85] hyperdiploid hyperdiploid
## [87] hyperdiploid hyperdiploid
## [89] hyperdiploid hyperdiploid
## [91] hyperdiploid hyperdiploid
## [93] hyperdiploid hyperdiploid
## [95] hyperdiploid hyperdiploid
## [97] hyperdiploid hyperdiploid
## [99] hyperdiploid hyperdiploid
## [101] hyperdiploid hyperdiploid
## [103] hyperdiploid hyperdiploid
## [105] hyperdiploid hyperdiploid
## [107] hyperdiploid hyperdiploid
## [109] hyperdiploid hyperdiploid
## [111] hyperdiploid hyperdiploid
## [113] hyperdiploid hyperdiploid
## [115] hyperdiploid hyperdiploid
## [117] hyperdiploid hyperdiploid
## [119] hyperdiploid hyperdiploid
## [121] hyperdiploid hyperdiploid
## [123] hyperdiploid hyperdiploid
## [125] E2A-rearranged (E) E2A-rearranged (EP)
## [127] E2A-rearranged (EP) E2A-rearranged (EP)
## [129] E2A-rearranged (EP) E2A-rearranged (EP)
## [131] E2A-rearranged (EP) E2A-rearranged (EP)
## [133] E2A-rearranged (EP) E2A-rearranged (E-sub)
## [135] E2A-rearranged (E-sub) E2A-rearranged (E-sub)
## [137] E2A-rearranged (E-sub) BCR-ABL
## [139] BCR-ABL BCR-ABL
## [141] BCR-ABL BCR-ABL + hyperdiploidy
## [143] MLL MLL
## [145] MLL MLL
## [147] pre-B ALL pre-B ALL
## [149] pre-B ALL pre-B ALL
## [151] pre-B ALL pre-B ALL
## [153] pre-B ALL pre-B ALL
## [155] pre-B ALL pre-B ALL
## [157] pre-B ALL pre-B ALL
## [159] pre-B ALL pre-B ALL
## [161] pre-B ALL pre-B ALL
## [163] pre-B ALL pre-B ALL
## [165] pre-B ALL pre-B ALL
## [167] pre-B ALL pre-B ALL
## [169] pre-B ALL pre-B ALL
## [171] pre-B ALL pre-B ALL
## [173] pre-B ALL pre-B ALL
## [175] pre-B ALL pre-B ALL
## [177] pre-B ALL pre-B ALL
## [179] pre-B ALL pre-B ALL
## [181] pre-B ALL pre-B ALL
## [183] pre-B ALL pre-B ALL
## [185] pre-B ALL pre-B ALL
## [187] pre-B ALL pre-B ALL
## [189] pre-B ALL pre-B ALL
## 11 Levels: BCR-ABL BCR-ABL + hyperdiploidy ... TEL-AML1 + hyperdiploidy
## Générer une table de fréquences indiquant le nombre d'occurrences de chaque sous-type de leucémie dans les 190 échantillons de DenBoer
table(sample.descriptions$Sample_title)
##
## BCR-ABL BCR-ABL + hyperdiploidy E2A-rearranged (E-sub)
## 4 1 4
## E2A-rearranged (E) E2A-rearranged (EP) hyperdiploid
## 1 8 44
## MLL pre-B ALL T-ALL
## 4 44 36
## TEL-AML1 TEL-AML1 + hyperdiploidy
## 43 1
## Choisissons arbitrairement de nous intéresser aux deux groupes suivants
group1 <- "TEL-AML1"
group2 <- "hyperdiploid"
## Identification des échantillons (colonnes de la table d'expression) dont le type correspond au groupe 1
sample.descriptions$Sample_title == group1
## [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [23] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [34] FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [45] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [56] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [67] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [78] TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [89] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [100] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [111] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [122] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [133] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [144] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [155] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [166] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [177] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [188] FALSE FALSE FALSE
sample.descriptions$Sample_title == group2
## [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [23] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [34] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [45] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [56] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [67] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [78] FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [89] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [100] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [111] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [122] TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [133] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [144] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [155] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [166] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [177] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [188] FALSE FALSE FALSE
## Sélection d'une sous-table contenant uniquement les valeurs d'expression du groupe 1
expr.group1 <- denboer.expr[, sample.descriptions$Sample_title == group1]
dim(expr.group1)
## [1] 22283 43
## Sélection d'une sous-table contenant uniquement les valeurs d'expression du groupe 2
expr.group2 <- denboer.expr[, sample.descriptions$Sample_title == group2]
dim(expr.group2)
## [1] 22283 44
mean.per.gene.group1 <- apply(X = expr.group1, MARGIN = 1, FUN = mean)
mean.per.gene.group2 <- apply(X = expr.group2, MARGIN = 1, FUN = mean)
plot(mean.per.gene.group1, mean.per.gene.group2,
main="Comparaison des moyennes",
xlab=group1, ylab=group2,
col="pink")
grid(col="blue")
abline(a=0, b=1)
## Appliquer à chaque ligne de la table d'expression (gène) une permutation aléatoire des valeurs (sample)
rand <- t(apply(denboer.expr, MARGIN = 1, sample))
dim(rand)
## [1] 22283 190
## Sélectionner les mêmes colonnes que précédemment, mais sur les données permutées
rand1 <- rand[, sample.descriptions$Sample_title == group1]
dim(rand1)
## [1] 22283 43
rand2 <- rand[, sample.descriptions$Sample_title == group2]
dim(rand2)
## [1] 22283 44
mean.per.gene.rand1 <- apply(rand1, MARGIN = 1, FUN = mean)
mean.per.gene.rand2 <- apply(rand2, MARGIN = 1, FUN = mean)
plot(mean.per.gene.group1, mean.per.gene.group2,
main="Comparaison des moyennes",
xlab=group1, ylab=group2,
col="brown")
lines(mean.per.gene.rand1, mean.per.gene.rand2, col="pink", type="p")
grid(col="blue")
abline(a=0, b=1)
## Calcul de la différence de moyennes par gène entre les deux groupes (M)
M <- mean.per.gene.group2 - mean.per.gene.group1
## Calcul du niveau moyen d'expression des deux groupes (A)
A <- (mean.per.gene.group2 + mean.per.gene.group1)/2
## Dessin d'un plot MA
plot(A, M, col= "pink", main= "MA plot", xlab= "A: avergage expression of the two groups", ylab= "Difference")
grid(col="blue")
abline(h=0) ## Afficher l'axe correspondant à l'hypothèse nulle