Modello lineare generalizzato o logistica nominale per dati RNAseqColleghi,
Immagina di avere dati RNAseq sotto forma di conteggio delle letture misurate in 2 ambienti, con 3 repliche ciascuno, in un singolo esperimento di sequenziamento. Come questo:
Env legge
A 9
Un 10
UN 11
B4
B5
B6
Ovviamente posso trattare ogni lettura come una variabile indipendente e fare un test e avrò una potenza molto bassa. Voglio invece essere in grado di trattare ciascuna lettura come un'osservazione e quindi notare che in un singolo sforzo di sequenziamento ho ottenuto 15 letture in campioni dall'ambiente B, ma 30 letture in campioni dall'ambiente A. È altamente improbabile che ciò venga osservato per caso e la mia capacità di rilevare le differenze tra gli ambienti A e B è molto, molto più elevata e aumenterà con lo sforzo di sequenziamento, a differenza di quella di un t-test. (In un tipico esperimento RAseq il numero di letture è molto più elevato, per alcuni geni spesso in centinaia per campione; la differenza di conteggio pari a 2 volte sarà molto significativa).
Voglio essere in grado di eseguire questo test di contingenza con un modello più complesso, magari con 3 diverse variabili indipendenti (e replicarlo come effetto di blocco).
La soluzione semplice è quindi questa: creo un'ulteriore variabile categoriale, chiamiamola "Modello" con valori Osservato e Previsto, con "Osservato" corrispondente alle righe sopra e "Previsto" in uguale numero di righe, ma con la colonna: letture contenenti il conteggio previsto se nessun effetto è significativo, ovvero, in questo caso, il conteggio medio delle letture (assumendo lo stesso sforzo in ciascuna replica).
E poi esegui questo:
Adatta modello (Freq (: letture), Y (: Modello), Effetti (: Env, : rep), Personalità (Logistica nominale), Esegui (Test del rapporto di verosimiglianza (1), Test Wald (0)))
...oppure questo (che mi dà risultati identici, non capisco bene perché, ma ne sono contento):
Stima modello (Freq (: letture), Y (: Modello), Effetti (: Env, : rep), Personalità (Modello lineare generalizzato), Distribuzione GLM (Binomiale), Funzione di collegamento (Logit), Test e intervalli di sovradispersione (0) , Nome( "Stime corrette per il primo bias" )(0), Esegui )
Sto facendo qualcosa di ridicolmente sbagliato o ha senso come test valido?
Se ha senso, esiste forse un modo per ottenere lo stesso risultato senza la necessità di creare righe aggiuntive con i conteggi previsti?
Grazie in anticipo!!
L. Yampolsky
Esplorazione e visualizzazione dei datiIngegneria della qualità e dei processiRi: Modello lineare generalizzato o logistica nominale per dati RNAseqGrazie, questo aiuta molto e ora ha un po' più senso.Darò un'occhiata (così come ad altri, spero) per fare il controllo di integrità dell'approccio.
Ri: Modello lineare generalizzato o logistica nominale per dati RNAseq@l_yampolsky Grazie per la domandaLo stesso problema si presenta nei modelli misti lineari generalizzati quando si convertono le risposte da binomiali a binarie.In tale situazione è imperativo dichiarare che il campione originale è un effetto casuale, altrimenti i risultati sono completamente fuorvianti.
Sfortunatamente questo è anche il caso della tua seconda analisi, poiché stai effettivamente presupponendo che ogni osservazione sia indipendente quando in realtà sono raggruppate per il campione originale.Per correggere questa seconda analisi, dichiara che l'effetto rappresentante è casuale e dovrai anche cambiare la personalità in Minimi quadrati standard o in Modello misto se hai JMP Pro e rendere la risposta continua (suggerirei di trasformarla in log2).In alternativa, Meichen Dong ha un componente aggiuntivo per GLMM scaricabile da qui nella community se si desidera mantenere la risposta Poisson, e ha anche un esempio di RNASeq nel documento: Componente aggiuntivo del modello misto lineare generalizzato
In conclusione, hai davvero solo 16 gradi di libertà per l'errore e non puoi imbrogliarlo.
Hai ragione a essere preoccupato per i test multipli sulle trascrizioni da 6K.Se alcune trascrizioni sono note e pre-specificate in anticipo, puoi potenzialmente mostrare una singola analisi della trascrizione come prima o come seconda modificata.Per il set completo, crea una trama del vulcano e guarda cosa ottieni.Un'altra idea è costruire uno o più punteggi di geni o percorsi (media sulle trascrizioni rilevanti) e analizzarli.
Ri: Modello lineare generalizzato o logistica nominale per dati RNAseqHo postato un esempio nel thread sopra.
Grazie in anticipo per il tuo prezioso contributo!
L. Yampolsky
Ri: Modello lineare generalizzato o logistica nominale per dati RNAseqEcco un esempio:
Modello lineare generalizzato con esempio di risposta nominale
File di dati: Esempio1Fp52.43_cH8.jmp
L'espressione di un omologo crostaceo della proteina trasportatrice mitocondriale umana Aralar1 è stata studiata in 4 cloni di Dafnia esposti a ipossia acuta (3 ipossia e 3 repliche di controllo). 4 cloni x 2 trattamenti x 3 repliche = 24 righe.
Innanzitutto, è stata eseguita un'anova a 2 vie utilizzando RPKM come variabile di risposta e ipossia e clone come fattori:
Modello adatto (
Y(:RPKM),
Effetti( :Clone, :acuteHypoxia, :Clone * :acuteHypoxia ),
Personalità (minimi quadrati standard),
Enfasi (rapporto minimo),
Correre(
:RPKM << {Mancanza di adattamento( 0 ), Traccia effettivo in base alla previsione( 0 ),
Traccia regressione (0), Traccia residuo in base alla previsione (0),
Leva dell'effetto trama( 0 )}
)
)
Il che si traduce in:
RPKM di risposta
Test sugli effetti
Sorgente Nparm DF Somma dei quadrati F Rapporto Prob > F
Clona 3 3 10222.900 3.6649 0.0349
acutaIpossia 1 1 42430.209 45.6339 <.0001
Clone*acutaIpossia 3 3 12083.132 4.3318 0.0205
OK, le cose sono significative, ma gli effetti del clone e dell'interazione non sopravvivranno mai a nessun tipo di correzione di test multipli (questo è solo un esempio di trascrizioni di ~ 6K nei dati RNAseq).
Quindi sono state create 24 righe fittizie con la colonna delle letture contenente il numero di letture previsto nel caso in cui non vi sia alcun effetto di cloni o ipossia e anche nessuna differenza tra i 3 replicati in ciascuna combinazione di cloni/ipossia, ovvero il numero medio di letture nella effettive 24 righe. Le righe fittizie erano etichettate “Exp” nella colonna :ObsExp e le osservazioni effettive originali erano etichettate “Obs”. Ora vogliamo sapere se e, in caso affermativo, a causa di quali variabili indipendenti Oss differisce da Esp. Per raggiungere questo obiettivo eseguo (osserva che ora i raw :reads, non gli RPKM sono usati come Freq:
Modello adatto (
Freq(:legge),
Y(:ObsExp),
Effetti(
:Clone,
:ipossia acuta,
:ipossia acuta * :Clone,
:rep[:Clone, :acuteHypoxia]
),
Personalità (logistica nominale),
Esegui(Test del rapporto di verosimiglianza( 1 ), Test di Wald( 0 ) ),
SendToReport( Dispatch( {}, "Parameter Estimates", OutlineBox, {Close( 1 )} ) )
)
Il che si traduce, come previsto, in una maggiore potenza:
Test del rapporto di verosimiglianza degli effetti
Sorgente Nparm DF LR ChiSquare Prob>ChiSq
Clona 3 3 208.563245 <.0001
acutaIpossia 1 1 114.216936 <.0001
acutaIpossia*Clone 3 3 54,2042677 <.0001
rep[Clone,ipossia acuta] 16 16 92,4764669 <.0001
Nota: si ottengono esattamente gli stessi risultati utilizzando questo:
Personalità (modello lineare generalizzato),
Distribuzione GLM (binomiale),
Funzione di collegamento (Logit)
Ri: Modello lineare generalizzato o logistica nominale per dati RNAseqGrazie per le risposte
Non penso che tu possa andare in giro facendo l'analisi t-test. Le repliche sono la fonte della stima della variabilità e dei gradi di libertà per eseguire l'analisi e non necessitano di essere nidificate. Nidificato in termini JMP è questo:
Se i livelli di un effetto (B) si verificano solo all'interno di un singolo livello di un altro effetto (A), allora si dice che lo sia B nidificato all'interno di A (B[A]).
Ciò significa che devi avere un fattore (B) tale che un certo/i livello/i di livello B possa essere applicato solo entro un certo/i livello/i di Env. COSÌ. i livelli 1 e 2 del fattore B si verificherebbero solo in Env A e i livelli 3 e 4 del fattore B si verificherebbero solo in Env. B. È implicito che i replicati rientrino nel livello associato di Env se Env è l'effetto del modello. Quindi non è necessario assegnarli esplicitamente a ciascun livello Env.
JMP ti consentirà di farlo, ma non penso che sia statisticamente valido o significativo.
Inoltre, non è necessario inserire la replica come casuale poiché è anche implicita (le tre repliche dovrebbero essere campioni casuali fin dall'inizio e non è consentita nel modello lineare generalizzato o nella regressione generalizzata).
In questo caso Reads è la Y e non penso che l'opzione Freq non farà quello che ti aspetti (generalmente evita questa opzione). Poisson sarebbe la distribuzione che utilizza il modello lineare generalizzato o il binomio negativo o Poisson per la regressione generalizzata (JMP Pro).
Immagino che dovrai farlo per migliaia di geni?
Grazie per aver inviato una tabella di esempio. Ho creato una tabella con gli script salvati per l'analisi per avviare questa discussione. Ho creato colonne aggiuntive (Replica e Replica ID) da utilizzare in questa discussione.
Ri: Modello lineare generalizzato o logistica nominale per dati RNAseqLe repliche provengono da individui diversi; repliche biologiche. E hai assolutamente ragione, metterli in comune non sarebbe una buona idea. Tuttavia, posso includere la replica come variabile casuale indipendente nel mio modello, annidata all'interno dei trattamenti ambientali, trattando essenzialmente questo progetto come un progetto a blocchi: lo stesso esperimento ripetuto 3 volte.
Sono più preoccupato per l'approccio generale: creare osservazioni fittizie con "conteggi" attesi in ipotesi nulla (ovvero, conteggi uguali di letture ovunque) e utilizzare una tabella di contingenza/modello logistico nominale per vedere se i conteggi effettivi differiscono.
Come suggerito da un altro utente, pubblicherò un esempio con i dati effettivi.
Ri: Modello lineare generalizzato o logistica nominale per dati RNAseqCIAO @l_yampolsky ,
Per essere chiari, per ogni ambiente hai tre campioni (repliche). Ma invece di combinare le repliche per ciascun ambiente ed eseguire un'analisi simile al t-test, si desidera trattare ciascun campione come se il conteggio rappresentasse il numero di osservazioni di quella particolare trascrizione (trascrizione A) nella popolazione di trascrizioni di quel campione. Il campione successivo proveniente dallo stesso ambiente è come estrarre una nuova serie di osservazioni dalla stessa popolazione di trascrizioni e osservare quante appartengono alla stessa trascrizione A. Ho capito bene?
Domanda: Ciascun campione proviene dallo stesso individuo (cioè un campione della popolazione di cellule all'interno di quell'individuo, quindi repliche tecniche) o proviene da individui diversi nello stesso ambiente (cioè un campione di ciascun individuo e quindi rappresenta un campione di popolazioni diverse di cellule che hanno sperimentato lo stesso ambiente)?
Se i campioni provengono da individui diversi, non penso che questo sia un approccio valido. I conteggi sono la risposta a qualche cambiamento nell’ambiente. È come contare il numero di fotoni di una particolare lunghezza d'onda provenienti da una sorgente luminosa in un ambiente di prova e poi unirli al conteggio dei fotoni della stessa lunghezza d'onda provenienti da un altro dispositivo, ma diverso, con sorgente luminosa simile e anch'esso nello stesso ambiente. . Non sono la stessa sorgente luminosa (o dispositivo), ma rappresentanti della stessa sorgente luminosa e devono essere trattati indipendentemente l'uno dall'altro. Ciò rappresenterebbe una variabilità da dispositivo a dispositivo e deve essere monitorato separatamente poiché ciascun dispositivo non è una copia esatta dell'altro. Se lo fossero, non sarebbero necessari più dispositivi per il test poiché tutti i fotoni proverrebbero da un’unica fonte e ciascun campione sarebbe un campione rappresentativo di quella fonte.
RNAseq è simile in quanto è uno sforzo di quantificazione dell'entità, o dell'abbondanza di una trascrizione, in un campione. Il campione successivo non è in genere un campione della stessa popolazione di origine. Di solito si tratta di un campione proveniente da un individuo diverso e quindi deve essere trattato in questo modo. Variabilità da individuo a individuo. Anche i campioni dello stesso tessuto provenienti dallo stesso individuo presentano variabilità (cellule in diversi stati di divisione, stratificazione di funzionalità, ecc.) e non dovrebbero essere raggruppati come se provenissero dalla stessa popolazione di cellule.
In definitiva, tutto dipende davvero dalla domanda scientifica che viene posta e dal disegno sperimentale utilizzato per scoprire la risposta a tale domanda. Potresti essere in grado di metterli in comune e fare quello che vuoi o forse no. Dipende....
Ri: Modello lineare generalizzato o logistica nominale per dati RNAseqPotrebbe essere utile allegare una tabella dati di esempio con le diverse analisi. Lo trovo molto più facile da capire che provare a immaginare una tabella di dati da una descrizione testuale.