Verallgemeinertes lineares Modell oder Nominal Logistic für RNAseq-DatenKollegen,
Stellen Sie sich vor, ich habe RNAseq-Daten in Form einer Lesezahl, die in zwei Umgebungen mit jeweils drei Replikaten in einem einzigen Sequenzierungsexperiment gemessen wird. So was:
Env liest
Eine 9
Eine 10
Eine 11
B 4
B 5
B 6
Natürlich kann ich die Anzahl der einzelnen Lesevorgänge als unabhängige Variable behandeln und dies im Test durchführen, dann habe ich eine sehr geringe Leistung. Stattdessen möchte ich in der Lage sein, jeden Lesevorgang als Beobachtung zu behandeln und dann festzustellen, dass ich in einem einzigen Sequenzierungsaufwand 15 Lesevorgänge in Proben aus Umgebung B, aber 30 Lesevorgänge in Proben aus Umgebung A erhalten habe. Es ist höchst unwahrscheinlich, dass dies zufällig beobachtet wird, und meine Fähigkeit, Unterschiede zwischen den Umgebungen A und B zu erkennen, ist viel, viel höher und wird im Gegensatz zu der eines t-Tests mit dem Sequenzierungsaufwand zunehmen. (In einem typischen RAseq-Experiment ist die Anzahl der Lesevorgänge viel höher, bei einigen Genen oft Hunderte pro Probe; ein zweifacher Zählunterschied ist sehr signifikant).
Ich möchte diesen Kontingenztest mit einem komplexeren Modell durchführen können, vielleicht mit drei verschiedenen unabhängigen Variablen (und als Blockeffekt replizieren).
Die einfache Lösung ist dann folgende: Ich erstelle eine zusätzliche kategoriale Variable, nennen wir sie „Modell“ mit den Werten „Beobachtet“ und „Erwartet“, wobei „Beobachtet“ den obigen Zeilen und „Erwartet“ in der gleichen Anzahl von Zeilen entspricht, aber mit der Spalte: Lesevorgänge, die die erwartete Anzahl enthalten, wenn kein Effekt signifikant ist, d. h. in diesem Fall die durchschnittliche Leseanzahl (unter der Annahme des gleichen Aufwands in jedem Replikat).
Und dann führen Sie Folgendes aus:
Fit Model( Freq( :reads ), Y( :Model ), Effects( :Env, :rep ), Personality( Nominal Logistic ), Run( Likelihood Ratio Tests( 1 ), Wald Tests( 0 ) ) )
...oder dies (was mir identische Ergebnisse liefert, ich verstehe nicht ganz warum, aber ich bin damit zufrieden):
Fit-Modell (Häufigkeit (:reads), Y (:Modell), Effekte (:Env,:rep), Persönlichkeit (verallgemeinertes lineares Modell), GLM-Verteilung (binomial), Verknüpfungsfunktion (Logit), Überdispersionstests und Intervalle (0). , Name( "Firth Bias-adjusted Estimates" )(0), Run )
Mache ich etwas lächerlich falsch oder ist das als gültiger Test sinnvoll?
Wenn es sinnvoll ist, gibt es vielleicht eine Möglichkeit, dasselbe zu erreichen, ohne zusätzliche Zeilen mit erwarteten Zählungen erstellen zu müssen?
Dank im Voraus!!
L. Yampolsky
Datenexploration und -visualisierungQualitäts- und VerfahrenstechnikBetreff: Verallgemeinertes lineares Modell oder Nominallogistik für RNAseq-DatenDanke, das hilft sehr und macht jetzt etwas mehr Sinn.Ich werde einen Blick darauf werfen (wie auch andere hoffentlich), um die Plausibilitätsprüfung des Ansatzes durchzuführen.
Betreff: Verallgemeinertes lineares Modell oder Nominallogistik für RNAseq-Daten@l_yampolsky Danke für die Frage.Das gleiche Problem tritt bei verallgemeinerten linearen gemischten Modellen auf, wenn Antworten von binomialen in binäre umgewandelt werden.In dieser Situation ist es unbedingt erforderlich, die ursprüngliche Stichprobe als Zufallseffekt zu deklarieren, da die Ergebnisse sonst völlig irreführend sind.
Leider ist dies auch bei Ihrer zweiten Analyse der Fall, da Sie praktisch davon ausgehen, dass alle Beobachtungen unabhängig sind, obwohl sie in Wirklichkeit anhand der ursprünglichen Stichprobe geclustert sind.Um diese zweite Analyse zu korrigieren, deklarieren Sie den Wiederholungseffekt als zufällig und Sie müssen außerdem die Persönlichkeit in Standard-Kleinste-Quadrate oder in Gemischtes Modell ändern, wenn Sie JMP Pro haben, und die Antwort kontinuierlich machen (ich würde empfehlen, sie mit log2 zu transformieren).Alternativ bietet Meichen Dong ein Add-in für GLMMs an, das hier in der Community heruntergeladen werden kann, wenn Sie die Poisson-Antwort beibehalten möchten, und sie hat sogar ein RNASeq-Beispiel im Dokument: Add-in für verallgemeinerte lineare gemischte Modelle
Unterm Strich hat man eigentlich nur 16 Freiheitsgrade für Fehler und man kann ihn nicht betrügen.
Sie haben zu Recht Bedenken hinsichtlich der Mehrfachprüfung der 6K-Transkripte.Wenn bestimmte Transkripte bekannt und im Voraus angegeben sind, können Sie möglicherweise eine einzelne Transkriptanalyse als Ihre erste oder eine modifizierte zweite Analyse anzeigen.Erstellen Sie für den vollständigen Satz ein Vulkandiagramm und sehen Sie, was Sie haben.Eine andere Idee besteht darin, einen oder mehrere Gen- oder Pathway-Scores zu erstellen (Mittelung über relevante Transkripte) und diese zu analysieren.
Betreff: Verallgemeinertes lineares Modell oder Nominallogistik für RNAseq-DatenIch habe im Thread oben ein Beispiel gepostet.
Vielen Dank im Voraus für Ihren wertvollen Beitrag!
L. Yampolsky
Betreff: Verallgemeinertes lineares Modell oder Nominallogistik für RNAseq-DatenHier ist ein Beispiel:
Beispiel für ein verallgemeinertes lineares Modell mit nominaler Antwort
Datendatei: Beispiel1Fp52.43_cH8.jmp
Die Expression eines Krustentier-Homologs des menschlichen mitochondrialen Trägerproteins Aralar1 wurde in 4 Klonen von untersucht Daphnien akuter Hypoxie ausgesetzt (3 Hypoxie- und 3 Kontrollreplikate). 4 Klone x 2 Behandlungen x 3 Replikate = 24 Reihen.
Zunächst wurde eine 2-Wege-Anova durchgeführt, wobei RPKMs als Antwortvariable und Hypoxie und Klon als Faktoren verwendet wurden:
Modell anpassen(
Y( :RPKM ),
Auswirkungen( :Clone, :acuteHypoxia, :Clone * :acuteHypoxia ),
Persönlichkeit (Standard der kleinsten Quadrate),
Betonung (Minimaler Bericht),
Laufen(
:RPKM << {Lack of Fit( 0 ), Plot Actual by Predicted( 0 ),
Plot Regression( 0 ), Plot Residuum durch Predicted( 0 ),
Plot-Effekt-Hebel (0)}
)
)
Was dazu führt:
Antwort RPKM
Wirkungstests
Quelle Nparm DF Quadratsumme F Verhältnis Prob > F
Klon 3 3 10222,900 3,6649 0,0349
akute Hypoxie 1 1 42430,209 45,6339 <.0001
Klon*akute Hypoxie 3 3 12083,132 4,3318 0,0205
OK, die Dinge sind bedeutsam, aber die Auswirkungen des Klonens und der Interaktion werden niemals eine mehrfache Testkorrektur überleben (dies ist nur ein Beispiel für ~6K-Transkripte in den RNAseq-Daten).
Dann wurden 24 Dummy-Zeilen erstellt, wobei die Spalte „Reads“ die erwartete Anzahl von Reads enthält, falls es keinen Effekt von Klonen oder Hypoxie gibt, und auch keinen Unterschied zwischen den 3 Replikaten in jeder Kombination von Klonen/Hypoxie – d. h. die durchschnittliche Anzahl von Reads in der tatsächlich 24 Reihen. Dummy-Zeilen wurden in der Spalte „:ObsExp“ mit „Exp“ und die ursprünglichen tatsächlichen Beobachtungen mit „Obs“ gekennzeichnet. Nun wollen wir wissen, ob und aufgrund welcher unabhängigen Variablen sich Obs von Exp unterscheiden. Um dies zu erreichen, führe ich Folgendes aus (beachten Sie, dass jetzt die rohen :reads und nicht die RPKMs als Freqs verwendet werden):
Modell anpassen(
Freq( :liest ),
Y( :ObsExp ),
Auswirkungen(
:Klon,
:akute Hypoxie,
:akute Hypoxie * :Klon,
:rep[:Clone, :acuteHypoxia]
),
Persönlichkeit (nominale Logistik),
Run( Likelihood-Ratio-Tests( 1 ), Wald-Tests( 0 ) ),
SendToReport( Dispatch( {}, "Parameterschätzungen", OutlineBox, {Close( 1 )} ) )
)
Was in gewisser Weise erwartungsgemäß zu deutlich mehr Leistung führt:
Effekt-Likelihood-Ratio-Tests
Quelle Nparm DF LR ChiSquare Prob>ChiSq
Klon 3 3 208.563245 <.0001
akute Hypoxie 1 1 114,216936 <.0001
akute Hypoxie*Klon 3 3 54.2042677 <.0001
rep[Klon,akute Hypoxie] 16 16 92,4764669 <.0001
Hinweis: Genau die gleichen Ergebnisse werden wie folgt erzielt:
Persönlichkeit (verallgemeinertes lineares Modell),
GLM-Verteilung (Binomial),
Link-Funktion (Logit)
Betreff: Verallgemeinertes lineares Modell oder Nominallogistik für RNAseq-DatenDanke für die Antworten.
Ich glaube nicht, dass man um die Durchführung einer T-Test-ähnlichen Analyse herumkommen kann. Replikate sind die Quelle der Variabilitätsschätzung und der Freiheitsgrade zur Durchführung der Analyse und müssen nicht verschachtelt werden. In JMP-Begriffen verschachtelt ist Folgendes:
Wenn die Stufen eines Effekts (B) nur innerhalb einer einzigen Stufe eines anderen Effekts (A) auftreten, spricht man von B verschachtelt innerhalb von A (B[A]).
Das bedeutet, dass Sie einen Faktor (B) haben müssen, sodass eine bestimmte Stufe(n) der B-Stufe nur innerhalb einer bestimmten Stufe(n) von Env angewendet werden kann. Also. Die Stufen 1 und 2 von Faktor B würden nur in Env A vorkommen und die Stufen 3 und 4 von Faktor B würden nur in Env vorkommen. B. Wenn es sich bei Env um den Modelleffekt handelt, wird davon ausgegangen, dass Replikate innerhalb der zugehörigen Umgebungsebene liegen. Es ist also nicht erforderlich, sie jeder Env-Ebene explizit zuzuweisen.
Mit JMP können Sie dies tun, aber ich glaube nicht, dass es statistisch gültig oder aussagekräftig ist.
Außerdem ist es nicht notwendig, die Replikation als Zufallsstichprobe einzugeben, da dies ebenfalls impliziert ist (die drei Replikate sollten zunächst einmal Zufallsstichproben sein und dies ist im verallgemeinerten linearen Modell oder in der verallgemeinerten Regression nicht zulässig).
„Reads“ ist in diesem Fall „Y“, und ich glaube nicht, dass die Option „Freq“ nicht das tun wird, was Sie von ihr erwarten (vermeiden Sie diese Option im Allgemeinen). Poisson wäre die Verteilung, die das verallgemeinerte lineare Modell oder das negative Binomial oder Poisson für die generalisierte Regression (JMP Pro) verwenden würde.
Ich gehe davon aus, dass Sie dies für Tausende von Genen tun müssen?
Vielen Dank für die Zusendung einer Beispieltabelle. Um diese Diskussion in Gang zu bringen, habe ich eine Tabelle mit gespeicherten Skripten für die Analyse erstellt. Zur Verwendung in dieser Diskussion habe ich zusätzliche Spalten (Replikat und Replikat-ID) erstellt.
Betreff: Verallgemeinertes lineares Modell oder Nominallogistik für RNAseq-DatenReplikate stammen von verschiedenen Individuen; biologische Replikate. Und Sie haben völlig Recht, eine Bündelung wäre keine gute Idee. Ich kann die Replikation jedoch als unabhängige Zufallsvariable in mein Modell einbeziehen, eingebettet in Umgebungsbehandlungen, und diesen Entwurf im Wesentlichen als Blockentwurf behandeln – das gleiche Experiment wird dreimal wiederholt.
Ich mache mir mehr Sorgen über den allgemeinen Ansatz – das Erstellen von Dummy-Beobachtungen mit erwarteten „Zählungen“ unter der Nullhypothese (dh überall gleiche Zählungen von Lesevorgängen) und die Verwendung einer Kontingenztabelle/eines nominalen Logistikmodells, um zu sehen, ob die tatsächlichen Zählungen abweichen.
Ich werde, wie ein anderer Benutzer vorgeschlagen hat, ein Beispiel mit den tatsächlichen Daten veröffentlichen.
Betreff: Verallgemeinertes lineares Modell oder Nominallogistik für RNAseq-DatenHallo @l_yampolsky ,
Um es klar auszudrücken: Für jede Umgebung haben Sie drei Beispiele (Replikate). Aber anstatt die Replikate für jede Umgebung zu kombinieren und eine T-Test-ähnliche Analyse durchzuführen, möchten Sie jede Probe so behandeln, als ob die Anzahl die Anzahl der Beobachtungen dieses bestimmten Transkripts (Transkript A) in der Population der Transkripte dieser Probe darstellt. Die nächste Stichprobe aus derselben Umgebung ist so, als würde man einen neuen Satz von Beobachtungen aus derselben Population von Transkripten ziehen und beobachten, wie viele von demselben Transkript A stammen. Hab ich das richtig verstanden?
Frage: Stammt jede Probe von demselben Individuum (d. h. eine Stichprobe der Zellpopulation innerhalb dieses Individuums, also technische Replikate) oder stammen sie von verschiedenen Individuen in derselben Umgebung (d. h. eine Stichprobe jedes Individuums und stellen somit eine Stichprobe unterschiedlicher Populationen dar). von Zellen, die die gleiche Umgebung erlebt haben)?
Wenn die Proben von verschiedenen Personen stammen, halte ich dies nicht für einen gültigen Ansatz. Die Zählungen sind die Reaktion auf eine Veränderung in der Umgebung. Es ist so, als würde man die Anzahl der Photonen einer bestimmten Wellenlänge von einer Lichtquelle in einer Testumgebung zählen und diese dann mit der Anzahl der Photonen derselben Wellenlänge von einem anderen, aber unterschiedlichen Gerät mit ähnlicher Lichtquelle und ebenfalls in derselben Umgebung zusammenfassen . Sie sind nicht dieselbe Lichtquelle (oder dasselbe Gerät), sondern Vertreter derselben Lichtquelle und müssen unabhängig voneinander behandelt werden. Dies würde eine Variabilität von Gerät zu Gerät darstellen und muss separat verfolgt werden, da jedes Gerät keine exakte Kopie des anderen ist. Wenn dies der Fall wäre, wären für den Test nicht mehrere Geräte erforderlich, da alle Photonen aus einer einzigen Quelle stammen würden und jede Probe eine repräsentative Probe dieser Quelle wäre.
RNAseq ist insofern ähnlich, als es sich um einen Versuch zur Quantifizierung einer Entität oder der Häufigkeit eines Transkripts in einer Probe handelt. Die nächste Stichprobe ist normalerweise keine Stichprobe aus derselben Quellpopulation. Es handelt sich in der Regel um eine Probe einer anderen Person und muss daher auch so behandelt werden. Von Individuum zu Individuum. Selbst Proben aus demselben Gewebe desselben Individuums weisen Variabilität auf (Zellen in unterschiedlichen Teilungsstadien, Schichtung der Funktionalität usw.) und sollten nicht so zusammengefasst werden, als ob sie aus derselben Zellpopulation stammten.
Letztendlich hängt alles davon ab, welche wissenschaftliche Frage gestellt wird und welches experimentelle Design verwendet wird, um die Antwort auf diese Frage zu finden. Möglicherweise können Sie sie zusammenlegen und tun, was Sie wollen oder auch nicht. Es kommt darauf an....
Betreff: Verallgemeinertes lineares Modell oder Nominallogistik für RNAseq-DatenEs kann hilfreich sein, wenn Sie Ihren verschiedenen Analysen eine Beispieldatentabelle beifügen. Ich finde, das ist viel einfacher zu verstehen, als sich aus einer Textbeschreibung eine Datentabelle vorzustellen.