Modèle linéaire généralisé ou Logistique Nominale pour les données RNAseqCollègues,
Imaginez que j'ai des données RNAseq sous la forme d'un nombre de lectures mesuré dans 2 environnements, avec 3 répétitions chacun, dans une seule expérience de séquençage. Comme ça:
Env lit
Un 9
Un 10
Un 11
B4
B5
B6
Bien sûr, je peux traiter chaque nombre de lectures comme une variable indépendante et le faire lors du test et j'aurai une très faible puissance. Au lieu de cela, je veux pouvoir traiter chaque lecture comme une observation, puis remarquer que dans un seul effort de séquençage donné, j'ai obtenu 15 lectures d'échantillons de l'environnement B, mais 30 lectures d'échantillons de l'environnement A. Il est très peu probable que cela soit observé par hasard et mon pouvoir de détection des différences entre les environnements A et B est bien plus élevé et augmentera avec l'effort de séquençage, contrairement à celui d'un test t. (Dans une expérience RAseq typique, le nombre de lectures est beaucoup plus élevé, pour certains gènes, souvent par centaines par échantillon ; une différence de nombre de 2 sera très significative).
Je veux pouvoir faire ce test de contingence avec un modèle plus complexe, peut-être avec 3 variables indépendantes différentes (et le répliquer sous forme d'effet de bloc).
La solution simple est alors la suivante : je crée une variable catégorielle supplémentaire, appelons-la "Modèle" avec les valeurs Observées et Attendues, avec "Observée" correspondant aux lignes ci-dessus et "Attendue" en nombre égal de lignes, mais avec la colonne : lectures contenant le nombre attendu si aucun effet n'est significatif, c'est-à-dire, dans ce cas, le nombre moyen de lectures (en supposant un effort égal dans chaque répétition).
Et puis exécutez ceci :
Ajuster le modèle (Fréq ( :reads ), Y ( :Modèle ), Effets ( :Env, : rep ), Personnalité ( Logistique nominale ), Exécuter ( Tests de rapport de vraisemblance ( 1 ), Tests de Wald ( 0 ) ) )
...ou ceci (ce qui me donne des résultats identiques, je ne comprends pas très bien pourquoi, mais j'en suis content) :
Modèle d'ajustement (Fréq ( : reads ), Y ( : Model ), Effets ( :Env, : rep ), Personnalité ( Modèle linéaire généralisé ), Distribution GLM ( Binomial ), Fonction de lien ( Logit ), Tests et intervalles de surdispersion ( 0 ) , Nom( "Estimations Firth ajustées au biais" )(0), Exécuter )
Est-ce que je fais quelque chose de ridiculement mal ou est-ce que cela a du sens en tant que test valide ?
Si cela a du sens, existe-t-il peut-être un moyen d'obtenir le même résultat sans avoir besoin de créer des lignes supplémentaires avec les décomptes attendus ?
Merci d'avance!!
L. Yampolsky
Exploration et visualisation des donnéesIngénierie Qualité et ProcédésRe : Modèle linéaire généralisé ou Logistique Nominale pour les données RNAseqMerci, cela aide beaucoup et a maintenant un peu plus de sens.J'y jetterai un oeil (ainsi que d'autres, j'espère) pour faire le contrôle de cohérence de l'approche.
Re : Modèle linéaire généralisé ou Logistique Nominale pour les données RNAseq@l_yampolsky Merci pour la question.Ce même problème se pose dans les modèles mixtes linéaires généralisés lors de la conversion de réponses binomiales en binaires.Il est impératif dans cette situation de déclarer que l’échantillon original est un effet aléatoire, sinon les résultats sont complètement trompeurs.
Malheureusement, c'est également le cas pour votre deuxième analyse, car vous supposez effectivement que chaque observation est indépendante alors qu'en fait elles sont regroupées selon l'échantillon d'origine.Pour corriger cette deuxième analyse, déclarez que l'effet de répétition est aléatoire et vous devrez également changer la personnalité en Moindres carrés standard ou en Modèle mixte si vous disposez de JMP Pro et rendre la réponse continue (je suggérerais de la transformer en log2).Alternativement, Meichen Dong a un complément pour les GLMM téléchargeable ici dans la communauté si vous souhaitez conserver la réponse Poisson, et elle a même un exemple RNASeq dans la doc : Complément de modèle mixte linéaire généralisé
En fin de compte, vous ne disposez en réalité que de 16 degrés de liberté en cas d’erreur et vous ne pouvez pas la tromper.
Vous avez raison de vous inquiéter des multiples tests sur les transcriptions 6K.Si certaines transcriptions sont connues et prédéfinies à l'avance, vous pouvez potentiellement afficher une seule analyse de transcription comme première ou seconde modifiée.Pour l'ensemble complet, créez un tracé de volcan et voyez ce que vous avez.Une autre idée consiste à construire un ou plusieurs scores de gènes ou de voies (en faisant la moyenne des transcriptions pertinentes) et à les analyser.
Re : Modèle linéaire généralisé ou Logistique Nominale pour les données RNAseqJ'ai posté un exemple dans le fil de discussion ci-dessus.
Merci d'avance pour votre précieuse contribution !
L. Yampolsky
Re : Modèle linéaire généralisé ou Logistique Nominale pour les données RNAseqVoici un exemple:
Modèle linéaire généralisé avec exemple de réponse nominale
Fichier de données : Exemple1Fp52.43_cH8.jmp
L'expression d'un homologue de crustacé de la protéine porteuse mitochondriale humaine Aralar1 a été étudiée dans 4 clones de Daphnie exposé à une hypoxie aiguë (3 hypoxies et 3 répétitions témoins). 4 clones x 2 traitements x 3 répétitions = 24 lignes.
Tout d’abord, une anova bidirectionnelle a été réalisée en utilisant les RPKM comme variable de réponse et l’hypoxie et le clone comme facteurs :
Modèle adapté (
Y( :RPKM),
Effets ( :Clone, :acuteHypoxia, :Clone * :acuteHypoxia ),
Personnalité (moindres carrés standard),
Accentuation (rapport minimal),
Courir(
:RPKM << {Manque d'ajustement ( 0 ), tracé réel par prédit ( 0 ),
Tracer la régression ( 0 ), Tracer le résidu par prédit ( 0 ),
Effet de levier de l'effet de tracé (0)}
)
)
Ce qui se traduit par :
Réponse RPKM
Tests d'effet
Source Nparm DF Somme des carrés F Rapport Prob > F
Cloner 3 3 10222,900 3,6649 0,0349
Hypoxie aiguë 1 1 42430,209 45,6339 < 0,0001
Clone*Hypoxie aiguë 3 3 12083,132 4,3318 0,0205
OK, les choses sont significatives, mais les effets du clonage et de l'interaction ne survivront jamais à aucune sorte de correction de tests multiples (ce n'est qu'un exemple de ~ 6K transcriptions dans les données RNAseq).
Ensuite, 24 lignes factices ont été créées avec la colonne de lectures contenant le nombre attendu de lectures au cas où il n'y aurait aucun effet des clones ou de l'hypoxie et également aucune différence entre les 3 répétitions dans chaque combinaison de clones/hypoxie - c'est-à-dire le nombre moyen de lectures dans le 24 lignes réelles. Les lignes factices étaient étiquetées « Exp » dans la colonne :ObsExp et les observations réelles originales étaient étiquetées « Obs ». Nous voulons maintenant savoir si et, si oui, en raison de quelles variables indépendantes Obs diffère de Exp. Pour y parvenir, j'exécute (observez que maintenant les lectures brutes, et non les RPKM, sont utilisées comme Freq :
Modèle adapté (
Fréq( :lits),
Y( :ObsExp ),
Effets(
:Cloner,
:hypoxie aiguë,
:Hypoxie aiguë * :Clone,
:rep[:Clone, :acuteHypoxie]
),
Personnalité (logistique nominale),
Exécuter (Tests de rapport de vraisemblance (1), Tests de Wald (0)
SendToReport( Dispatch( {}, "Estimations des paramètres", OutlineBox, {Close( 1 )} ) )
)
Ce qui donne, comme prévu, beaucoup plus de puissance :
Tests du rapport de vraisemblance des effets
Source Nparm DF LR ChiSquare Prob>ChiSq
Cloner 3 3 208,563245 <.0001
hypoxie aiguë 1 1 114,216936 < 0,0001
Hypoxie aiguë*Clone 3 3 54,2042677 < 0,0001
rep[Clone,hypoxie aiguë] 16 16 92,4764669 <.0001
Remarque : Les mêmes résultats sont obtenus en utilisant ceci :
Personnalité (modèle linéaire généralisé),
Distribution GLM (binomiale),
Fonction de lien (Logit)
Re : Modèle linéaire généralisé ou Logistique Nominale pour les données RNAseqMerci pour les réponses.
Je ne pense pas que vous puissiez faire le test t comme une analyse. Les répliques sont la source de l'estimation de la variabilité et des degrés de liberté pour effectuer l'analyse et n'ont pas besoin d'être imbriquées. Voici ce qui est imbriqué dans les termes JMP :
Si les niveaux d’un effet (B) se produisent uniquement à l’intérieur d’un seul niveau d’un autre effet (A), alors B est dit imbriqué dans A (B[A]).
Cela signifie que vous devez avoir un facteur (B) tel qu'un certain niveau (s) de niveau B ne peut être appliqué que dans un certain niveau (s) d'Env. Donc. les niveaux 1 et 2 du facteur B ne se produiraient que dans Env A et les niveaux 3 et 4 du facteur B ne se produiraient que dans Env. B. Les répliques sont implicitement comprises dans le niveau associé d'Env si Env est l'effet du modèle. Il n'est donc pas nécessaire de les attribuer explicitement à chaque niveau Env.
JMP vous permettra de faire cela, mais je ne pense pas que ce soit statistiquement valide ou significatif.
De plus, la répétition aléatoire n'est pas non plus nécessaire puisque cela est également implicite (les trois répétitions doivent être des échantillons aléatoires pour commencer et cela n'est pas autorisé dans le modèle linéaire généralisé ou la régression généralisée).
Reads est le Y dans ce cas et je ne pense pas que l'option Freq ne fera pas ce que vous attendez d'elle (évitez généralement cette option). Poisson serait la distribution à utiliser pour utiliser le modèle linéaire généralisé ou le binôme négatif ou Poisson pour généraliser la régression (JMP Pro).
Je suppose que vous devrez faire cela pour des milliers de gènes ?
Merci d'avoir envoyé un exemple de tableau. J'ai créé un tableau avec des scripts enregistrés pour l'analyse afin de nous permettre de poursuivre cette discussion. J'ai créé des colonnes supplémentaires (Replicate et Replicate ID) à utiliser dans cette discussion.
Re : Modèle linéaire généralisé ou Logistique Nominale pour les données RNAseqLes répliques proviennent d’individus différents ; répliques biologiques. Et vous avez tout à fait raison, les regrouper ne serait pas une bonne idée. Cependant, je peux inclure la réplication en tant que variable indépendante aléatoire dans mon modèle, imbriquée dans les traitements d'environnement, traitant essentiellement cette conception comme une conception en bloc - la même expérience répétée 3 fois.
Je m'inquiète davantage de l'approche générale - créer des observations factices avec des « nombres » attendus sous l'hypothèse nulle (c'est-à-dire un nombre égal de lectures partout) et utiliser un tableau de contingence/un modèle logistique nominal pour voir si les décomptes réels diffèrent.
Je vais, comme l'a suggéré un autre utilisateur, publier un exemple avec les données réelles.
Re : Modèle linéaire généralisé ou Logistique Nominale pour les données RNAseqSalut @l_yampolsky ,
Pour être clair, pour chaque environnement, vous disposez de trois échantillons (répliques). Mais au lieu de combiner les répétitions pour chaque environnement et d'effectuer une analyse de type test t, vous souhaitez traiter chaque échantillon comme si le nombre représentait le nombre d'observations de cette transcription particulière (transcription A) dans la population de transcriptions de cet échantillon. L'échantillon suivant provenant de ce même environnement revient à tirer un nouvel ensemble d'observations à partir de la même population de transcriptions et à observer combien appartiennent à la même transcription A. Ai-je bien compris ?
Question : Chaque échantillon provient-il du même individu (c'est-à-dire un échantillon de la population de cellules au sein de cet individu, donc des répliques techniques) ou proviennent-ils de différents individus dans le même environnement (c'est-à-dire un échantillon de chaque individu et représentant ainsi un échantillon de différentes populations) de cellules ayant connu le même environnement) ?
Si les échantillons proviennent d’individus différents, je ne pense pas que ce soit une approche valable. Les décomptes sont la réponse à un certain changement dans l'environnement. C'est comme compter le nombre de photons d'une longueur d'onde particulière provenant d'une source de lumière dans un environnement de test, puis le regrouper avec le nombre de photons de la même longueur d'onde provenant d'un autre appareil, mais différent, d'une source de lumière similaire et également dans le même environnement. . Il ne s’agit pas de la même source lumineuse (ou dispositif), mais de représentants d’une même source lumineuse et doivent être traités indépendamment les uns des autres. Cela représenterait la variabilité d’un appareil à l’autre et doit être suivi séparément puisque chaque appareil n’est pas une copie exacte de l’autre. Si tel était le cas, plusieurs appareils ne seraient pas nécessaires pour le test puisque tous les photons proviendraient d’une seule source et chaque échantillon serait un échantillon représentatif de cette source.
RNAseq est similaire dans la mesure où il s’agit d’un effort de quantification de l’entité, ou de l’abondance d’un transcrit, dans un échantillon. L’échantillon suivant n’est généralement pas un échantillon de la même population source. Il s’agit généralement d’un échantillon provenant d’un individu différent et doit donc être traité de cette façon. Variabilité individuelle à individuelle. Même les échantillons provenant du même tissu provenant du même individu présentent une variabilité (cellules dans différents états de division, stratification de fonctionnalité, etc.) et ne doivent pas être regroupés comme s’ils provenaient de la même population de cellules.
En fin de compte, tout dépend vraiment de la question scientifique posée et de la conception expérimentale utilisée pour découvrir la réponse à cette question. Vous pourrez peut-être les regrouper et faire ce que vous voulez ou peut-être pas. Ça dépend....
Re : Modèle linéaire généralisé ou Logistique Nominale pour les données RNAseqIl peut être utile de joindre un exemple de tableau de données avec vos différentes analyses. Je trouve cela beaucoup plus facile à comprendre que d'essayer d'imaginer un tableau de données à partir d'une description textuelle.