Rを使用して遺伝子リストの重複に複数のテスト補正を適用する方法


8

同じ薬剤に対する患者の反応を調べた2つの研究があります。研究1では、バックグラウンドを超えて発現する10,000の遺伝子が見つかり、そのうちの500の遺伝子は異なって発現され、薬物応答シグネチャと呼ばれています。研究2では、薬物応答の特徴を表す1,000の遺伝子が見つかりました。2つの署名の重複は100遺伝子です。

署名間のオーバーラップの統計的有意性を計算したい。私が正しく理解している場合、それを行う1つの方法(ここの投稿に基づく:RNA seqとChLPチップデータセットの間の遺伝子リスト重複の確率の計算およびここ:リストの重複確率を取得するためのRのphyperの使用phyper()

> overlap  <- 100
> list1    <- 500
> totalPop <- 10000
> list2    <- 1000
> 
> 1-phyper(overlap-1, list1, totalPop-list1, list2)
[1] 4.103051e-12
  1. それは合理的に聞こえますか?

  2. Bonferroni補正を適用したい場合は、このp値に比較回数を掛ける必要があります。この場合、比較の数は何に対応しますか?List2?あるいは、保守的な修正を減らすための迅速な方法は何でしょうか(たとえば、Benjamini-Hochberg)。


α0.05

わかりました。比較の数とそれが私の場合に対応する値(list1、list2またはそれらの製品)についてまだ混乱していると思います。ところで、質問を修正していただきありがとうございます。

うまくいけば、あなたは今より多くのページビューを得るでしょう。私が思う1つのことは、あなたの以前のタイトルはおそらく誰も「つかむ」ことはなかったということです。数日経ってもヒットしない場合は、編集してもう一度「バンプ」するか、pingを実行してください(@gungの下のコメントを使用)。別の方法を試すこともできます。残念ながら私はこれらの遺伝子発現研究の問題を私自身もよく知りません。
gung-モニカの回復

回答:


3

私は遺伝子発現研究について何も知りませんが、私は多重推論にいくらか興味があるので、とにかく質問のこの部分の答えを危険にさらすでしょう。

個人的には、私はその方法で問題に取り組みません。元の研究のエラーレベルを調整し、新しいオーバーラップを計算し、最後にテストをそのままにします。差次的に発現する遺伝子の数(および使用している他の結果)がすでに調整済みテストに基づいている場合は、何もする必要はないと私は主張します。

元のデータに戻ることができず、実際にp値を調整したい場合は、実際にテスト数を掛けることができますが、なぜリスト2のサイズと関係があるのか​​わかりません。両方の研究で実行されたテストの総数(つまり、母集団の2倍)を調整する方が理にかなっています。しかし、これは残忍なことになるでしょう。

Rのp値を調整するp.adjust(p)pは、を使用できます。ここで、はp値のベクトルです。

p.adjust(p, method="bonferroni") # Bonferroni method, simple multiplication
p.adjust(p, method="holm") # Holm-Bonferroni method, more powerful than Bonferroni
p.adjust(p, method="BH") # Benjamini-Hochberg

ヘルプファイルに記載されているように、BonferroniよりもHolm-Bonferroniを使用しない理由はありません。これは、いずれにせよ、ファミリー全体のエラー率を強力に制御しますが、より強力だからです。Benjamini-Hochbergは、それほど厳しくない基準である誤検出率を制御します。


以下のコメントの後に編集:

問題について考えるほど、多重比較の修正は不要であり、この状況では不適切であると私は思います。ここで、仮説の「ファミリー」という概念が始まります。最後のテストは、以前のすべてのテストと比較することができません。「偶然に資本を獲得する」リスクや重要な結果を選択するリスクはありません。興味のあるテストであり、これに通常のエラーレベルを使用することは正当です。

以前に実行された多くのテストを積極的に修正しても、主な問題に直接対処することはできません。これは、両方のリストの一部の遺伝子が、異なって発現されていると偽って検出された可能性があるという事実です。以前のテスト結果は依然として「標準」であり、ファミリごとのエラー率を制御しながらこれらの結果を解釈したい場合は、それらすべても修正する必要があります。

しかし、帰無仮説が本当にすべての遺伝子に当てはまる場合、重要な結果はすべて偽陽性となり、同じ遺伝子に次のサンプルで再びフラグが立てられることは期待できません。したがって、両方のリスト間の重複は偶然にのみ発生し、これがまさに超幾何分布に基づくテストがテストしているものです。したがって、遺伝子のリストが完全にジャンクであったとしても、その最後のテストの結果は安全です。直感的には、その間のすべて(真と仮説の混合)も問題ないはずです。

たぶん、この分野でより多くの経験を積んだ人が重さを感じるかもしれませんが、調整が必要になるのは、検出された遺伝子の総数を比較したい場合、またはどの遺伝子が異なって発現しているかを調べたい場合、つまり、何千もの個人を解釈したい場合のみです。各試験で実施された試験。


詳しい回答ありがとうございます。基本的に、私は第3段落で説明したとおりに、つまり元のデータに戻らずにp値を調整しようとしています。この架空のケースでは、totalPopに2を掛けた後(まだ正しく理解していれば)、p値<E-07が得られます。しかし、私はそれが実際のシナリオでいかに残忍になり得るかを見ることができます。Holm-BonferroniまたはBenjamini-Hochberg補正に基づいて、単一のp値に対して同様に簡単な調整はありますか?質問が理にかなっていることを願っています。読みやすさについて申し訳ありませんが、改行を理解できません。

Holm-BonferroniとBenjamini-Hochbergは元のp値を必要とするため、すでに問題外です。
ガラ

これは非常に興味深いです。私の例は、clinexprheumatol.org / article.asp?a = 5537の記事に大まかに基づいており、著者はBonferroni補正を使用しています。彼らは超幾何テストを適用して、この論文に基づいて遺伝子セットの重複の有意性を推定しました:ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4463058。後者では、複数のテストの必要性についてはまったく説明されていません。したがって、陪審はまだ出ていないようで、あなたの議論は非常に理にかなっています。この場合、私は複数のテストについてあまり考えすぎます。

1

1つの単一オーバーラップテストのp値を修正する必要はありません。ただし、薬剤が同じ経路の遺伝子に影響を与えるかどうかを判断することに興味があったとしましょう。どの経路が最も重複しているのかをどのように判断しますか?500のパスウェイ遺伝子セットがあるとします。超幾何集合のオーバーラップテストを500回実行し、p値でランク付けします。このテストを500回(または、データの量によってはそれ以上)実行したため、偶然に(偽陽性)良いスコアが得られる可能性があります。したがって、それを修正してpvalue調整を実行する必要があります... Bonferroni(最も保守的な)またはBenjamini Hochbergのいずれか。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.