Valid XHTML     Valid CSS2    

 

Partie Statistiques du cours de BioInformatique

Master BTV, UFR Sciences - Université d'Angers

Enoncés du TD numéro 3 (solutions)

  1. Etudier toutes les variables QT du fichier lea.dar ; peut-on envisager une certaine "causalité" ? Si oui, laquelle ? Et entre quelles variables ? On pourra utiliser une matrice qui contient toutes les QT en colonnes via les instructions R :

    
              
              # lecture des fonctions gH     
              
              source("statgh.r")     
              
              # lecture de toutes les données LEA     
              
              lea <- lit.dar("lea.dar")     
              
              # construction d'une matrice avec toutes les QT en colonnes     
              # (elles sont au départ en colonne 1, 5, 6, 7, 8)     
              
              leaQT <- lea[,c(1,5:8)]     
              
              
    

    Etudier ensuite toutes les variables QT du fichier lea4.dar ; en quoi ce fichier est-il différent de lea.dar ? Qu'est-ce que cela change au niveau des résultats ?

  2. Réaliser une ACP (analyse en composantes principales) de du fichier lea4.dar avec le "package" ade4 dont la liste des fonctions est ici. Combien y a t-il d'axes à examiner ? Combien sont utiles ? Le règne est-il très influent ?

    Pour être sur d'avoir les bons résultats, voici un exemple de sortie sur les mêmes données avec le logiciel ADDAD :

    
              
              
          A D D A D  - 89 -     
          ANALYSE EN COMPOSANTES PRINCIPALES (ANCOMP)     
          D'APRES : YAGOLNITZER ET TABET     
              
              
              
          POIDS DES  COLONNES (MULTIPLIES PAR  10 ** -4)     
          -------------------------------------------     
          NOMJ(J)!  LENG  FOLD  PI    MW    GRAV     
          -------------------------------------------     
          PJ(J)  !    16     0     1  1672     0   765     
          -------------------------------------------     
              
          MATRICE DES CORRELATIONS     
          ------------------------     
          (TOUS LES COEFFICIENTS SONT MULTIPLIES PAR 1000)     
              
              
                LENG FOLD PI   MW   GRAV     
          ---------------------------------     
          LENG  1000     
          FOLD   172 1000     
          PI    -249   37 1000     
          MW     997  162 -260 1000     
          GRAV   177  985   17  170 1000     
              
              
          LES VALEURS  PROPRES       VAL(1)=   2.37408     
          -------------------------------------------------------------------------------------------------------------     
          !NUM ! VAL PROPRE ! POURC.! CUMUL !VARIAT.!*! HISTOGRAMME DES VALEURS PROPRES     
          -------------------------------------------------------------------------------------------------------------     
          !  1 !    2.37408 ! 47.482! 47.482!   .000!*!***************!***************!***************!***************     
          !  2 !    1.74457 ! 34.891! 82.373! 12.590!*!***************!***************!**************     
          !  3 !     .86458 ! 17.292! 99.664! 17.600!*!***************!*******     
          !  4 !     .01452 !   .290! 99.955! 17.001!*!     
          !  5 !     .00226 !   .045!100.000!   .245!*!     
              
              
              
           J1 ! QLT POID INR!  1#F  COR CTR!  2#F  COR CTR!  3#F  COR CTR!  4#F  COR CTR!  5#F  COR CTR     
          ---------------------------------------------------------------------------------------------------     
             1!LENG!1000    1 200! -817  668 281!  529  280 160! -226   51  59!  -10    0   7!  -33    1 492!     
             2!FOLD!1000    1 200! -692  479 202! -712  507 291!   80    6   7!  -85    7 493!    4    0   7!     
             3!PI  !1000    1 200!  275   76  32! -417  174  99! -866  751 868!    2    0   0!    0    0   0!     
             4!MW  !1000    1 200! -814  662 279!  538  290 166! -217   47  54!   10    0   7!   33    1 494!     
             5!GRAV!1000    1 200! -699  489 206! -703  494 283!   97    9  11!   85    7 494!   -4    0   6!     
          ---------------------------------------------------------------------------------------------------     
              !    !         1000!          1000!          1000!          1000!          1000!          1000!     
          ---------------------------------------------------------------------------------------------------     
              
    
  3. Finalement, quelles variables QT peut-on conserver ? Pour ces variables, y a t-il des différences significatives au niveau des moyennes suivant le règne ?

  4. Peut-on réaliser tous les calculs présentés jusqu'ici en Mysql ? et en Php ? Peut-on interfacer Php et R ? Quel en serait l'intérêt ?

  5. On s'intéresse maintenant à une autre base de données nommée DBDB qui recense des protéines pour l'étude des ponts disulfure dont on fournit ci-dessous un extrait de la définition des tables :

    
              
              
         TABLE  dbdbprot     
              
         +---------------+-------------+------+-----+---------+----------------+     
         | Field         | Type        | Null | Key | Default | Extra          |     
         +---------------+-------------+------+-----+---------+----------------+     
         | pr_id         | int(11)     | NO   | PRI | NULL    | auto_increment |     
         | pr_name       | varchar(80) | NO   | MUL |         |                |     
         | pr_pdb_id     | varchar(10) | NO   |     |         |                |     
         | pr_nbr_chains | smallint(6) | NO   |     | 0       |                |     
         | pr_nbr_bonds  | smallint(6) | NO   |     | 0       |                |     
         | pr_nbr_intra  | smallint(6) | NO   |     | 0       |                |     
         | pr_nbr_inter  | smallint(6) | NO   |     | 0       |                |     
         ...     
         +---------------+-------------+------+-----+---------+----------------+     
              
         TABLE  dbdbchain     
              
         +-----------+---------+------+-----+---------+----------------+     
         | Field     | Type    | Null | Key | Default | Extra          |     
         +-----------+---------+------+-----+---------+----------------+     
         | ch_id     | int(11) | NO   | PRI | NULL    | auto_increment |     
         | ch_pr_id  | int(11) | NO   | MUL | 0       |                |     
         | ch_name   | char(2) | NO   |     |         |                |     
         | ch_fasta  | text    | NO   |     |         |                |     
         ...     
         +-----------+---------+------+-----+---------+----------------+     
              
              
    

    A l'aide de la requête MySql suivante, on peut voir les dix premiers enregistrements de la table dbdbprot dans la base DBDB :

    
              
          SELECT     
                 pr_id         ,     
                 pr_name       ,     
                 pr_pdb_id     ,     
                 pr_nbr_chains ,     
                 pr_nbr_bonds  ,     
                 pr_nbr_intra  ,     
                 pr_nbr_inter     
          FROM   dbdbprot     
          LIMIT  10 ;     
              
              
              
    
    
         +-------+-------------------------------+-----------+---------------+--------------+--------------+--------------+     
         | pr_id | pr_name                       | pr_pdb_id | pr_nbr_chains | pr_nbr_bonds | pr_nbr_intra | pr_nbr_inter |     
         +-------+-------------------------------+-----------+---------------+--------------+--------------+--------------+     
         |     1 | malate dehydrogenase          | 1UR5      |             2 |            1 |            0 |            1 |     
         |     2 | cathepsin b                   | 1HUC      |             2 |            6 |            5 |            1 |     
         |     3 | parvalbumin                   | 1A75      |             1 |            1 |            1 |            0 |     
         |     4 | crambin                       | 1CRN      |             1 |            3 |            3 |            0 |     
         |     5 | phytase                       | 1DKL      |             1 |            4 |            4 |            0 |     
         |     6 | phytase                       | 1IHP      |             1 |            5 |            5 |            0 |     
         |     7 | class 1 alpha-1,2-mannosidase | 1DL2      |             1 |            2 |            2 |            0 |     
         |     8 | alpha mannosidase 2           | 1PS3      |             1 |            5 |            5 |            0 |     
         |     9 | insulin                       | 1APH      |             2 |            3 |            1 |            2 |     
         |    10 | insulin                       | 1VKT      |             2 |            2 |            0 |            2 |     
         +-------+-------------------------------+-----------+---------------+--------------+--------------+--------------+     
              
    

    Et avec la requête MySql suivante, on peut voir les dix premiers enregistrements de la table dbdbchain dans la base DBDB :

    
              
          SELECT     
                 ch_id        ,     
                 ch_pr_id     ,     
                 ch_name      ,     
                 concat(substr(ch_fasta,1,15),"...")     
          FROM   dbdbchain     
          LIMIT  10 ;     
              
              
              
    
    
              
         +-------+----------+---------+-------------------------------------+     
         | ch_id | ch_pr_id | ch_name | concat(substr(ch_fasta,1,15),"...") |     
         +-------+----------+---------+-------------------------------------+     
         |     1 |        1 | A       | MRKKISIIGAGFVGS...                  |     
         |     2 |        1 | C       | MRKKISIIGAGFVGS...                  |     
         |   465 |        2 | A       | LPASFDAREQWPQCP...                  |     
         |   466 |        2 | B       | LPASFDAREQWPQCP...                  |     
         |   467 |      405 | A       | MPQDVDFHIPLPGRQ...                  |     
         |     7 |        3 | A       | AFAGILADADCAAAV...                  |     
         |     8 |        4 | A       | TTCCPSIVARSNFNV...                  |     
         |     9 |        5 | A       | QSEPELKLESVVIVS...                  |     
         |    10 |        6 | A       | MGVSAVLLPLYLLSG...                  |     
         |    11 |        7 | A       | MKNSVGISIATIVAI...                  |     
         +-------+----------+---------+-------------------------------------+     
              
              
              
    

    Détailler ce que calcule la requête MySql suivante :

    
              
         USE DBDB ;     
              
         SELECT CONCAT(pr_pdb_id , ch_name) AS nomProt ,     
                LENGTH(ch_fasta) AS longueur ,     
                pr_nbr_intra+pr_nbr_inter AS nbp ,     
                pr_nbr_intra AS nbintra ,     
                pr_nbr_inter AS nbinter ,     
                IF (pr_nbr_intra+pr_nbr_inter>0,"AVEC","SANS") AS pont ,     
                CASE     
                  WHEN pr_nbr_intra=0 AND pr_nbr_inter=0 THEN "ACUCUN"     
                  WHEN pr_nbr_intra=0 AND pr_nbr_inter>0 THEN "INTER_SEUL"     
                  WHEN pr_nbr_intra>0 AND pr_nbr_inter=0 THEN "INTRA_SEUL"     
                  WHEN pr_nbr_intra>0 AND pr_nbr_inter>0 THEN "INTER_ET_INTRA"     
                END AS naturePont     
                FROM dbdbprot a , dbdbchain b     
                WHERE a.pr_id = b.ch_pr_id  ;     
              
              
              
    

    Etudier ensuite les variables fournies par l'exécution de cette requête dont les données sont dans le fichier dbdb.dar. Essayer de montrer enfin si la présence de pont influe sur la longueur des chaines, des protéines.

  6. Comparer les longueurs des protéines pour les bases de données DBDB et LEAPDB. Au passage, calculer les intervalles de confiance à 95 % et tracer des boites à moustaches avec encoche. Que donnerait un beanplot de ces variables ?

    Pour mémoire, voici comment obtenir les deux variables :

    
              
            # chargement des fonctions gh dont lit.dar     
              
            source("statgh.r") # il faut peut-être     
                               # rajouter D: ou C:...     
                               # soit source("D:/statgh.r")     
              
            # lecture de la longueur pour LEAPDB     
              
            lea4 <- lit.dar("lea4.dar")     
            attach(lea4)     
            lngLEAPDB <- length4     
            detach(lea4)     
              
            # lecture de la longueur pour LEAPDB     
              
            dbdb <- lit.dar("dbdb.dar")     
            attach(dbdb)     
            lngDBDB <- longueur     
            detach(dbdb)     
              
              
              
    
  7. Quel livre en français, court et pas cher peut-on lire sur R et les analyses factorielles (dont les ACP) avec R ?

 

 

 

retour gH    Retour à la page principale de   (gH)