Cara menerapkan beberapa pengujian koreksi untuk daftar gen yang tumpang tindih menggunakan R

8

Saya memiliki 2 penelitian yang mengamati respons pasien terhadap obat yang sama. Studi 1 menemukan 10.000 gen yang diekspresikan di atas latar belakang dan 500 di antaranya diekspresikan secara berbeda dan disebut sebagai tanda respon obat. Studi 2 menemukan 1.000 gen yang mewakili tanda tangan respons obat. Tumpang tindih antara kedua tanda tangan adalah 100 gen.

Saya ingin menghitung signifikansi statistik dari tumpang tindih antara tanda tangan. Jika saya mengerti dengan benar, salah satu cara melakukannya (berdasarkan posting di sini: Menghitung probabilitas daftar gen tumpang tindih antara seq RNA dan dataset ChLP-chip dan di sini: Menggunakan phyper R untuk mendapatkan kemungkinan daftar tumpang tindih ) adalah melalui phyper():

> overlap  <- 100
> list1    <- 500
> totalPop <- 10000
> list2    <- 1000
> 
> 1-phyper(overlap-1, list1, totalPop-list1, list2)
[1] 4.103051e-12
  1. Apakah itu masuk akal?

  2. Jika saya ingin menerapkan koreksi Bonferroni, saya perlu mengalikan nilai-p ini dengan jumlah perbandingan. Apa yang akan sesuai dengan jumlah perbandingan dalam kasus ini? List2? Atau, apa cara cepat untuk melakukan koreksi yang kurang konservatif (misalnya, Benjamini-Hochberg)?

Komunitas
sumber
1 catatan: cara saya biasanya berpikir tentang koreksi Bonferroni, Anda membagi Andaα-tingkat (biasanya, 0.05) dengan jumlah perbandingan & lihat apakah nilai-p Anda di bawah ambang batas yang disesuaikan.
gung - Reinstate Monica
Oke, itu masuk akal. Saya kira saya masih bingung tentang jumlah perbandingan dan nilai apa yang sesuai dengan dalam kasus saya (list1, list2 atau produk mereka). Terima kasih telah memodifikasi pertanyaan, BTW!
Semoga, Anda akan mendapatkan lebih banyak tampilan halaman sekarang. Satu hal yang saya pikir adalah bahwa judul Anda sebelumnya mungkin tidak 'merebut' siapa pun. Jika Anda tidak mendapatkan hit dalam beberapa hari lagi, Anda dapat mencoba mengedit untuk 'menabrak' lagi, atau ping saya (melalui komentar di bawah ini dengan @gung) & mungkin kita dapat mencoba strategi lain. Sayangnya saya tidak tahu masalah studi ekspresi gen ini dengan baik.
gung - Reinstate Monica

Jawaban:

3

Saya tidak tahu apa-apa tentang studi ekspresi gen, tetapi saya memang memiliki minat dalam beberapa inferensi jadi saya akan mengambil risiko jawaban pada bagian dari pertanyaan ini.

Secara pribadi, saya tidak akan mendekati masalah dengan cara itu. Saya akan menyesuaikan tingkat kesalahan dalam studi asli, menghitung tumpang tindih baru dan meninggalkan tes di akhir saja. Jika jumlah gen yang diekspresikan secara berbeda (dan hasil lain yang Anda gunakan) sudah berdasarkan pada tes yang disesuaikan, saya berpendapat bahwa Anda tidak perlu melakukan apa pun.

Jika Anda tidak dapat kembali ke data asli dan benar-benar ingin menyesuaikan nilai- p , Anda memang dapat mengalikannya dengan jumlah tes tetapi saya tidak melihat mengapa itu harus ada hubungannya dengan ukuran list2. Akan lebih masuk akal untuk menyesuaikan dengan jumlah total tes yang dilakukan dalam kedua studi (yaitu dua kali populasi). Ini akan menjadi brutal.

Untuk menyesuaikan nilai- p dalam R, Anda dapat menggunakan p.adjust(p), di mana pmerupakan vektor nilai- 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

Seperti yang dinyatakan dalam file bantuan, tidak ada alasan untuk tidak menggunakan Holm-Bonferroni di atas Bonferroni karena juga memberikan kontrol yang kuat dari tingkat kesalahan kekeluargaan dalam hal apa pun tetapi lebih kuat. Benjamini-Hochberg mengontrol tingkat penemuan palsu, yang merupakan kriteria yang kurang ketat.


Diedit setelah komentar di bawah ini:

Semakin saya memikirkan masalah, semakin saya berpikir bahwa koreksi untuk beberapa perbandingan tidak perlu dan tidak sesuai dalam situasi ini. Di sinilah gagasan "keluarga" hipotesis muncul. Tes terakhir Anda tidak cukup sebanding dengan semua tes sebelumnya, tidak ada risiko "memanfaatkan peluang" atau hasil signifikan memetik ceri, hanya ada satu uji minat dan sah untuk menggunakan tingkat kesalahan biasa untuk yang satu ini.

Bahkan jika Anda mengoreksi secara agresif untuk banyak tes yang dilakukan sebelumnya, Anda masih tidak akan secara langsung menangani masalah utama, yang merupakan fakta bahwa beberapa gen di kedua daftar mungkin telah terdeteksi secara palsu seperti yang diekspresikan secara berbeda. Hasil tes sebelumnya masih "berdiri" dan jika Anda ingin menafsirkan hasil ini sambil mengendalikan tingkat kesalahan keluarga, Anda masih perlu memperbaiki semuanya juga.

Tetapi jika hipotesis nol benar untuk semua gen, setiap hasil signifikan akan menjadi positif palsu dan Anda tidak akan mengharapkan gen yang sama ditandai lagi di sampel berikutnya. Tumpang tindih antara kedua daftar karena itu akan terjadi hanya secara kebetulan dan inilah yang diuji berdasarkan distribusi hypergeometric. Jadi, bahkan jika daftar gen adalah sampah lengkap, hasil tes terakhir itu aman. Secara intuitif, tampaknya apa pun di antaranya (campuran hipotesis benar dan salah) juga harus baik-baik saja.

Mungkin seseorang dengan lebih banyak pengalaman di bidang ini mungkin mempertimbangkan tetapi saya pikir penyesuaian hanya akan menjadi perlu jika Anda ingin membandingkan jumlah total gen yang terdeteksi atau mencari tahu mana yang diekspresikan secara berbeda, yaitu jika Anda ingin menafsirkan ribuan individu tes dilakukan di setiap studi.

Gala
sumber
Terima kasih atas jawaban terincinya. Pada dasarnya, saya mencoba melakukan apa yang Anda jelaskan di paragraf ketiga, yaitu menyesuaikan nilai p tanpa kembali ke data asli. Dalam kasus hipotetis ini, saya masih akan mendapatkan nilai-p <E-07 setelah dikalikan dengan totalPop kali 2 (jika saya mengerti Anda dengan benar). Tapi saya bisa melihat bagaimana itu bisa brutal untuk skenario kehidupan nyata. Apakah ada penyesuaian yang sama mudahnya untuk nilai-p tunggal berdasarkan pada koreksi Holm-Bonferroni atau Benjamini-Hochberg? Semoga pertanyaannya masuk akal. Dan maaf tentang keterbacaannya, tidak dapat menemukan linebreak.
Holm-Bonferroni dan Benjamini-Hochberg membutuhkan p- value asli sehingga itu sudah keluar dari pertanyaan.
Gala
Ini sangat menarik. Lihat, contoh saya secara longgar didasarkan pada artikel dari clinexprheumatol.org/article.asp?a=5537 di mana penulis menggunakan koreksi Bonferroni. Mereka menerapkan uji hypergeometrik untuk memperkirakan signifikansi gen yang tumpang tindih berdasarkan pada makalah ini: ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4463058 . Yang terakhir ini tidak membahas perlunya pengujian berganda sama sekali. Jadi tampaknya juri masih keluar dan argumen Anda masuk akal. Mungkin saya terlalu banyak berpikir tentang pengujian berganda dalam kasus ini.
1

Anda tidak perlu mengoreksi nilai p untuk satu uji tumpang tindih tunggal Anda. Namun, katakanlah Anda tertarik untuk menentukan apakah obat tersebut memengaruhi gen di jalur yang sama. Bagaimana Anda menentukan jalur mana yang paling banyak tumpang tindih? Katakanlah Anda memiliki 500 set gen pathway. Anda menjalankan tes tumpang tindih set hipergeometrik 500 kali dan memberi peringkat berdasarkan nilai p. Karena Anda menjalankan tes ini 500 kali (atau bahkan lebih tergantung pada seberapa banyak data yang Anda miliki), ada kemungkinan Anda bisa mendapatkan skor bagus hanya secara kebetulan (false positive). Jadi, Anda perlu memperbaikinya dan melakukan penyesuaian pvalue ... baik Bonferroni (paling konservatif) atau Benjamini Hochberg.

David
sumber