Ho una serie di esperimenti ad alto rendimento con 2 genotipi ("WT" e "prg1") e 3 trattamenti ("RT", "HS30" e "HS30RT120") e ci sono 2 repliche per ciascuno dei combinazioni di trattamento genotipo x.
I conteggi di lettura per i geni sono riassunti in un file che carico come segue in R:
> counts_data <- read.table (" path / to / my / file ", header = TRUE, row.names =" gene ") > colnames (counts_data) [1]" WT_RT_1 "" WT_HS30_1 "" WT_HS30RT120_1 "" prg1_RT_1 "[5]" prg1_HS30_1 "" prg120 "WT_RT_2" "WT_HS30_2" [9] "WT_HS30RT120_2" "prg1_RT_2" "prg1_HS30_2" "prg1_HS30RT120_2"
Descrivo gli esperimenti come segue:
> col_data <- DataFrame (geno = c (rep ("WT", times = 3), rep ("prg1", times = 3), rep ("WT", times = 3), rep ("prg1", times = 3)), treat = rep (c ("RT", "HS30", "HS30RT120"), times = 4), rep = c (rep ("1", times = 6), rep ("2", times = 6) ), Row.names = colnames (counts_data)) > col_dataDataFrame con 12 righe e 3 colonne Geno ossequio rep <character> <character> <character>WT_RT_1 WT RT 1WT_HS30_1 WT HS30 1WT_HS30RT120_1 WT HS30RT120 1prg1_RT_1 PRG1 RT 1prg1_HS30_1 PRG1 HS30 1 ... ... .... ..WT_HS30_2 WT HS30 2WT_HS30RT120_2 WT HS30RT120 2prg1_RT_2 prg1 RT 2prg1_HS30_2 prg1 HS30 2prg1_HS30RT120_2 prg1 HS30RT120 2
Vorrei creare un oggetto DESeq2 che
oppure:
- trova geni espressi in modo differenziale quando il genotipo varia per un determinato trattamento fisso
Nel forum di assistenza di bioconduttori penso di aver trovato una situazione in qualche modo simile, e ho letto quanto segue:
Prova un design di ~ genotype + genotype: condition
Quindi avrai un effetto condizione per ogni livello di genotipo, incluso il livello di riferimento .
Puoi contrastarne le coppie usando lo stile elenco dell'argomento 'contrast'.
Tuttavia, questo non spiega come applicare questo "stile elenco "all'argomento" contrasto ". E la situazione di cui sopra sembra essere asimmetrica. Con questo intendo che genotipo e condizione non sembrano avere un ruolo intercambiabile.
Quindi ho provato la seguente formula più simmetrica:
> dds <- DESeqDataSetFromMatrix (countData = counts_data, colData = col_data, design = ~ geno + treat + geno: treat) > dds <- DESeq (dds)
Ora, posso per esempio ottenere l'espressione differenziale risultati quando si confrontano il trattamento "HS30" con "RT" come riferimento, nel genotipo "prg1" ?
E come?
Se ho capito bene, quanto sopra- lo "stile elenco" menzionato usa i nomi dati dalla funzione resultsNames
. Nel mio caso, ho quanto segue:
> resultsNames (dds) [1] "Intercept" "geno_WT_vs_prg1" [3] "treat_HS30RT120_vs_HS30" "treat_RT_vs_HS30" [5] "genoWT.treatHS30" "genoWT.treatRT"
Penso di aver bisogno di un contrasto tra "genoprg1.treatRT" e "genoprg1.treatHS30", ma questi non sono nei nomi dei risultati sopra.
Mi sono perso.