la matrice du modèle n'est pas de rang complet: il s'agit d'une question classique à laquelle un biologiste est confronté sans une compréhension claire de la conception du modèle

Dec 18 2020

J'ai vu cette réponse biostar . J'ai essayé de créer mes métadonnées en tant que telles, mais

"Error in checkFullRank(modelMatrix) : "

C'est ma coldata

dput(coldata)
structure(list(Group = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 
6L, 6L, 6L, 6L), .Label = c("HSC", "Blast", "CMP", "GMP", "LSC", 
"Mono"), class = "factor"), Mutation = structure(c(10L, 4L, 3L, 
5L, 2L, 3L, 9L, 11L, 1L, 1L, 7L, 7L, 10L, 7L, 8L, 2L, 10L, 10L, 
10L, 10L, 2L, 2L, 7L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 2L, 2L, 5L, 2L, 
9L, 1L, 1L, 8L, 6L, 6L, 6L, 6L, 6L, 6L), .Label = c("DNMT3A-R882H", 
"FLT3-ITD", "IDH2-R140Q", "KRAS-G13D", "MAU2-Q98H", "No", "NPM1-L287ins(TCTG)", 
"NRAS-G13D", "STAG2-R614", "TET2-E1357", "TET2-R550"), class = "factor"), 
    Satus = structure(c(2L, 5L, 4L, 6L, 3L, 4L, 9L, 10L, 1L, 
    1L, 7L, 7L, 2L, 7L, 8L, 3L, 2L, 2L, 2L, 2L, 3L, 3L, 7L, 16L, 
    16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 
    16L, 16L, 17L, 17L, 17L, 17L, 17L, 17L, 17L, 12L, 12L, 13L, 
    12L, 9L, 11L, 11L, 14L, 15L, 15L, 15L, 15L, 15L, 15L), .Label = c("Blast-DNMT3A-R882H", 
    "Blast-E1357", "Blast-FLT-ITD", "Blast-IDH2-R140Q", "Blast-KRAS-G13D", 
    "Blast-MAU2-Q98H", "Blast-NPM1-L287ins(TCTG)", "Blast-NRAS-G13D", 
    "Blast-STAG2-R614", "Blast-TET2-R550", "LSC-FLT-DNMT3A-R882H", 
    "LSC-FLT-ITD", "LSC-MAU2-Q98H", "LSC-NRAS-G13D", "Mature-Normal", 
    "Progenitor-Normal", "Stem-Normal"), class = "factor")), row.names = c("Blast1", 
"Blast10", "Blast11", "Blast12", "Blast13", "Blast14", "Blast15", 
"Blast16", "Blast17", "Blast18", "Blast19", "Blast20", "Blast2", 
"Blast21", "Blast22", "Blast23", "Blast3", "Blast4", "Blast5", 
"Blast6", "Blast7", "Blast8", "Blast9", "CMP1", "CMP2", "CMP3", 
"CMP4", "CMP5", "CMP6", "CMP7", "CMP8", "GMP1", "GMP2", "GMP3", 
"GMP4", "GMP5", "GMP6", "GMP7", "HSC1", "HSC2", "HSC3", "HSC4", 
"HSC5", "HSC6", "HSC7", "LSC1", "LSC2", "LSC3", "LSC4", "LSC5", 
"LSC6", "LSC7", "LSC8", "Mono1", "Mono2", "Mono3", "Mono4", "Mono5", 
"Mono6"), class = "data.frame")

dds <- DESeqDataSetFromMatrix(countData=df2, colData=coldata, design= ~ Group + Mutation)

C'est le design que j'essaie d'incorporer. Ce que j'obtiens, c'est que ma conception est imbriquée dans l'une des colonnes en regardant de nombreux exemples.

Ce que je voudrais faire, c'est que j'essaie d'exécuter un test LRT sur cet ensemble de données qui fonctionne bien si je donne " Group" comme conception et ensuite je l'exécute

dds_lrt <- DESeq(dds, test="LRT", reduced = ~ 1)

ce qui me donne une diffrénitalie exprimée à travers plusieurs groupes. Maintenant, il y a deux questions

  1. Est-il possible d'inclure une interaction comme dans mon cas Group+Mutationet de faire le test lrt?
  2. Ou ce qui précède est conceptuellement incorrect à faire?

Réponses

3 ATpoint Dec 18 2020 at 18:24
> table(doldat$Group, coldat$Mutation)
       
        DNMT3A-R882H FLT3-ITD IDH2-R140Q KRAS-G13D MAU2-Q98H No NPM1-L287ins(TCTG) NRAS-G13D STAG2-R614 TET2-E1357 TET2-R550
  HSC              0        0          0         0         0  7                  0         0          0          0         0
  Blast            2        4          2         1         1  0                  4         1          1          6         1
  CMP              0        0          0         0         0  8                  0         0          0          0         0
  GMP              0        0          0         0         0  7                  0         0          0          0         0
  LSC              2        3          0         0         1  0                  0         1          1          0         0
  Mono             0        0          0         0         0  6                  0         0          0          0         0

Regardez ce tableau, vous voyez à l'oeil comment certaines mutations sont imbriquées avec Group. Si vous souhaitez l'inclure, vous devrez sous-définir l'expérience en plusieurs exécutions distinctes, en fonction de la question à laquelle vous souhaitez répondre.