Analisi di arricchimento per livello di duplicazione genica


11

Sfondo biologico

Nel tempo, alcune specie di piante tendono a duplicare i loro interi genomi, ottenendo una copia aggiuntiva di ciascun gene. A causa dell'instabilità di questa configurazione, molti di questi geni vengono quindi eliminati e il genoma si riorganizza e si stabilizza, pronto per duplicare nuovamente. Questi eventi di duplicazione sono associati a eventi di speciazione e di invasione e la teoria è che la duplicazione aiuta le piante ad adattarsi più rapidamente ai loro nuovi ambienti.

Il Lupinus, un genere di pianta in fiore, invase le Ande in uno degli eventi di speciazione più rapidi mai individuati, e inoltre sembra che abbia più copie duplicate nel suo genoma rispetto al genere più strettamente correlato, Baptisia.

E ora il problema matematico:

I genomi di un membro del Lupinus e di un membro della Baptisia sono stati sequenziati, fornendo dati grezzi su circa 25.000 geni in ciascuna specie. Interrogando su un database di geni di funzione nota, ora ho una "migliore ipotesi" per quali funzioni potrebbe svolgere quel gene - quindi, ad esempio, Gene1298 potrebbe essere associato a "metabolismo del fruttosio, risposta allo stress salino, risposta allo stress da freddo". Voglio sapere, se si è verificato un evento di duplicazione tra Baptisia e Lupinus, se la perdita genica è avvenuta in modo casuale o se i geni che svolgono particolari funzioni avevano maggiori probabilità di essere conservati o eliminati.

Ho uno script che produrrà una tabella come quella mostrata di seguito. L * è un conteggio di tutti i geni del Lupinus associati alla funzione. L 1+ è un conteggio dei geni del lupino associati alla funzione in cui esiste almeno una copia duplicata. Posso ottenerlo per produrre L 2+, L 3+ ecc., Sebbene L 1+ sia un gruppo molto più affidabile di L 2+ a causa del processo di sequenziamento.

Function            | L *  | L 1+ | B *  | B 1+ |
fructose metabolism | 1000 | 994  | 1290 | 876  |
salt stress         | 56   | 45   | 90   | 54   |
etc.

Quello che vorrei fare è verificare, per ciascuna funzione genica, se ci sono più o meno geni con duplicati di quanto ci si potrebbe aspettare puramente per caso in Lupinus e Baptisia e se il Lupinus differisce da Baptisia nel rapporto tra osservato e atteso.

La cosa migliore che ho finora

Precedenti studi su diverse specie hanno utilizzato l'analisi di arricchimento, con Fisher Exact Test e correzione FDR per campionamenti multipli, per eseguire un test di contingenza su ogni riga.

Sarebbe bello migliorarlo; Non sono sicuro che questo sembra il modo migliore per farlo.

Glen_b ha suggerito di utilizzare un GLM per analizzare i dati; Ho giocato con i GLM in JMP8, il che è stato interessante, ma ammetterò di non capirli davvero.

Detto questo, sto cercando di usare R invece ora.

Per cosa sto usando questo?

Inizialmente questo doveva essere parte di un breve progetto di ricerca che sto facendo all'università, ma ora si è trasformato in un enorme progetto di annotazione del genoma. Perché? Perché la bioinformatica è fantastica. Essere in grado di prendere una serie di A, T, C e G e usarla per dedurre informazioni sugli eventi accaduti milioni di anni fa è sorprendente.

Inutile dire che non proverò a presentare una risposta gentilmente fornita come opera mia. Sarei felice di includere un riconoscimento nel documento se uso un metodo suggerito qui nel lavoro presentato.


1
Nota il problema che ho citato nella mia precedente risposta all'altra tua domanda - riguardo al test solo su una variabile quando ci sono altre variabili importanti (ho indicato l'articolo di Wikipedia sul paradosso di Simpson) - L'esatto test di Fisher non aggira quello.
Glen_b

La bioinformatica è fantastica !! Benvenuti nel sito!
Kyle.

Tornerò presto e fornirò risposte più ampie, ma le funzioni appropriate in R da guardare saranno loglin, loglm (nel pacchetto MASS, che viene fornito con R ma non è installato di default) e glm stesso. La comprensione di questi modelli avrà molta somiglianza con la comprensione della regressione multipla e ANOVA - con l'eccezione che le distribuzioni non sono normali e che i log-of-
points

Risposte:


1

Mentre sono d'accordo che il test di Fisher (o qualcosa di simile) potrebbe essere l'approccio più naturale qui, che ne dici di questo:

  1. Per ciascun gene univoco, si determina la differenza nel numero di duplicazioni in L e B.
  2. Ordina i geni con questa differenza. Ora i geni che mostrano la maggior parte delle differenze tra le specie saranno in cima alla tua lista.
  3. Applicare un test di arricchimento del set genico all'elenco ordinato di geni. Ad esempio, puoi usare un metodo di Fisher modificato dal mio pacchetto tmod , per il quale dovresti definire i tuoi gruppi genetici (dovrebbe essere abbastanza semplice). Si noti che il metodo di Fisher non è correlato al test di Fisher.

Il test di Fisher modificato (soprannominato CERNO dagli autori che lo hanno descritto per la prima volta in questo contesto) prende come input qualsiasi elenco ordinato di geni, purché sia ​​possibile raggrupparli in alcune categorie utili.

Il vantaggio di questo approccio è che, oltre a un valore p, è possibile calcolare facilmente la dimensione dell'effetto dell'arricchimento e visualizzarlo (ad esempio, come una curva ROC sull'elenco ordinato di geni). Questo ti dà un'idea molto migliore di quanto ciò che osservi sia davvero importante per la biologia che studi.


0

Come dici tu, stai ponendo due domande distinte.

Domanda 1 "è il rapporto L * / L1 + diverso da B * / B1 + per una data funzione genica"

questo potrebbe essere meglio risposto con l'esatto test di Fisher usando i dati attraverso la riga come hai trovato in precedenza.

Domanda 2 "è il rapporto: geni in cui esiste una sola copia / geni in cui esiste più di una copia, diversi tra le funzioni dei geni?"

Penso che anche a questo potrebbe essere meglio risposto con l'esatto test di Fisher. Testeresti il ​​rapporto di L * / L1 + per la funzione genica 1 rispetto a L * / L1 + per la funzione genica 2. Quindi funzione genica 1 Vs funzione genica 3, ecc.

Nessuna di queste serie di domande arriva a sapere se vengono mantenute / eliminate più rapidamente del previsto solo per caso, solo se vengono eliminate / mantenute a tassi diversi l'una dall'altra. Per sapere se venivano eliminati / mantenuti a una velocità diversa da quella casuale, dovresti conoscere il rapporto tra singlecopia / multiplecopie per molte regioni del DNA che sono colpite solo per caso. Se potessi trovare tali regioni, finiresti con un "Gruppo di funzioni" in cui la funzione è "Nessuna". Quindi lo confronteresti con gli altri tuoi gruppi di funzioni genetiche come ho descritto nella domanda 2.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.