Cách áp dụng hiệu chỉnh nhiều thử nghiệm cho danh sách gen chồng chéo bằng R


8

Tôi có 2 nghiên cứu nhìn vào phản ứng của bệnh nhân với cùng một loại thuốc. Nghiên cứu 1 đã tìm thấy 10.000 gen được biểu thị trên nền và 500 trong số chúng được biểu hiện khác biệt và được gọi là chữ ký phản ứng thuốc. Nghiên cứu 2 tìm thấy 1.000 gen đại diện cho chữ ký phản ứng thuốc. Sự trùng lặp giữa hai chữ ký là 100 gen.

Tôi muốn tính toán ý nghĩa thống kê của sự chồng chéo giữa các chữ ký. Nếu tôi hiểu chính xác, một cách thực hiện (dựa trên các bài đăng ở đây: Tính xác suất danh sách gen trùng lặp giữa một seq RNA và bộ dữ liệu chip ChLP và ở đây: Sử dụng phyper của R để có xác suất trùng lặp danh sách ) phyper():

> overlap  <- 100
> list1    <- 500
> totalPop <- 10000
> list2    <- 1000
> 
> 1-phyper(overlap-1, list1, totalPop-list1, list2)
[1] 4.103051e-12
  1. Điều đó nghe có hợp lý không?

  2. Nếu tôi muốn áp dụng hiệu chỉnh Bonferroni, tôi sẽ cần nhân giá trị p này với số lượng so sánh. Số lượng so sánh tương ứng trong trường hợp này là gì? Danh sách 2? Ngoài ra, điều gì sẽ là một cách nhanh chóng để thực hiện điều chỉnh ít bảo thủ hơn (ví dụ, Stewamini-Hochberg)?


1 lưu ý: cách tôi thường nghĩ về việc sửa Bonferroni, bạn chia của bạn -level (thường, ) bởi số lượng so sánh & xem nếu giá trị p của bạn là dưới ngưỡng điều chỉnh. α0,05
gung - Phục hồi Monica

Được rồi, cái đó có lý. Tôi đoán rằng tôi vẫn còn nhầm lẫn về số lượng so sánh và giá trị của nó tương ứng với trường hợp của tôi (list1, list2 hoặc sản phẩm của họ). Cảm ơn đã sửa đổi câu hỏi, BTW!

Hy vọng, bạn sẽ nhận được nhiều lượt xem trang hơn bây giờ. 1 điều tôi nghĩ là tiêu đề trước đây của bạn có lẽ đã không 'tóm lấy' bất cứ ai. Nếu bạn không nhận được bất kỳ lượt truy cập nào trong vài ngày nữa, bạn có thể cố gắng chỉnh sửa để 'lại' nó hoặc ping tôi (thông qua nhận xét bên dưới w / @gung này) và có thể chúng tôi có thể thử một chiến lược khác. Thật không may, tôi không biết những vấn đề nghiên cứu biểu hiện gen này bản thân mình.
gung - Phục hồi Monica

Câu trả lời:


3

Tôi không biết gì về nghiên cứu biểu hiện gen nhưng tôi thực sự có hứng thú với nhiều suy luận nên tôi sẽ mạo hiểm trả lời về phần này của câu hỏi.

Cá nhân, tôi sẽ không tiếp cận vấn đề theo cách đó. Tôi sẽ điều chỉnh mức độ lỗi trong các nghiên cứu ban đầu, tính toán sự chồng chéo mới và để lại thử nghiệm ở cuối. Nếu số lượng gen biểu hiện khác nhau (và bất kỳ kết quả nào khác mà bạn đang sử dụng) đã dựa trên các xét nghiệm điều chỉnh, tôi sẽ lập luận rằng bạn không cần phải làm gì cả.

Nếu bạn không thể quay lại dữ liệu gốc và thực sự muốn điều chỉnh giá trị p , bạn thực sự có thể nhân nó với số lượng thử nghiệm nhưng tôi không hiểu tại sao nó phải liên quan đến kích thước của list2. Sẽ có ý nghĩa hơn khi điều chỉnh tổng số xét nghiệm được thực hiện trong cả hai nghiên cứu (tức là gấp hai lần dân số). Điều này sẽ được tàn bạo, mặc dù.

Để điều chỉnh giá trị p trong R, bạn có thể sử dụng p.adjust(p), trong đó pmột vectơ giá trị 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

Như đã nêu trong tệp trợ giúp, không có lý do gì để không sử dụng Holm-Bonferroni so với Bonferroni vì nó cũng cung cấp khả năng kiểm soát mạnh mẽ tỷ lệ lỗi gia đình trong mọi trường hợp nhưng mạnh hơn. Stewamini-Hochberg kiểm soát tỷ lệ phát hiện sai, đây là một tiêu chí ít nghiêm ngặt hơn.


Chỉnh sửa sau khi bình luận dưới đây:

Càng nghĩ nhiều về vấn đề, tôi càng nghĩ rằng một sự điều chỉnh cho nhiều so sánh là không cần thiết và không phù hợp trong tình huống này. Đây là nơi mà khái niệm của một gia đình người Hồi giáo đã đưa ra các giả thuyết. Thử nghiệm cuối cùng của bạn không hoàn toàn so sánh với tất cả các thử nghiệm trước đó, không có rủi ro nào về việc tận dụng cơ hội của những kết quả quan trọng. kiểm tra sở thích và việc sử dụng mức lỗi thông thường cho trường hợp này là hợp pháp.

Ngay cả khi bạn sửa chữa tích cực cho nhiều thử nghiệm được thực hiện trước đó, bạn vẫn sẽ không trực tiếp giải quyết mối quan tâm chính, đó là thực tế là một số gen trong cả hai danh sách có thể đã được phát hiện một cách khác biệt như thể hiện khác biệt. Các kết quả kiểm tra trước đó vẫn còn độc lập và nếu bạn muốn diễn giải các kết quả này trong khi kiểm soát tỷ lệ lỗi thông minh của gia đình, bạn vẫn cần phải sửa tất cả chúng.

Nhưng nếu giả thuyết null thực sự đúng với tất cả các gen, bất kỳ kết quả quan trọng nào cũng sẽ là dương tính giả và bạn sẽ không mong đợi cùng một gen sẽ được gắn cờ trong mẫu tiếp theo. Do đó, sự chồng chéo giữa cả hai danh sách sẽ chỉ xảy ra tình cờ và đây chính xác là những gì kiểm tra dựa trên phân phối siêu bội đang kiểm tra. Vì vậy, ngay cả khi danh sách các gen là rác hoàn toàn, kết quả của thử nghiệm cuối cùng đó vẫn an toàn. Theo trực giác, có vẻ như bất cứ điều gì ở giữa (một sự pha trộn giữa các giả thuyết đúng và sai) cũng sẽ ổn.

Có thể ai đó có nhiều kinh nghiệm hơn trong lĩnh vực này có thể cân nhắc nhưng tôi nghĩ rằng việc điều chỉnh sẽ chỉ cần thiết nếu bạn muốn so sánh tổng số gen được phát hiện hoặc tìm ra gen nào được biểu hiện khác biệt, tức là nếu bạn muốn giải thích hàng ngàn cá thể các xét nghiệm được thực hiện trong mỗi nghiên cứu.


Cảm ơn bạn đã trả lời chi tiết. Về cơ bản, tôi đang cố gắng thực hiện chính xác những gì bạn mô tả trong đoạn thứ ba, tức là điều chỉnh giá trị p mà không quay lại dữ liệu gốc. Trong trường hợp giả định này, tôi vẫn sẽ nhận được giá trị p <E-07 sau khi nhân với TotalPop lần 2 (nếu tôi hiểu đúng về bạn). Nhưng tôi có thể thấy làm thế nào nó có thể trở nên tàn bạo cho một kịch bản đời thực. Có một sự điều chỉnh dễ dàng tương tự cho một giá trị p duy nhất dựa trên các hiệu chỉnh Holm-Bonferroni hoặc Stewamini-Hochberg không? Hy vọng câu hỏi có ý nghĩa. Và xin lỗi về khả năng đọc, không thể tìm ra các ngắt dòng.

Holm-Bonferroni và Stewamini-Hochberg yêu cầu giá trị p ban đầu nên điều đó không còn nữa.
Gala

Điều này rất thú vị. Xem, ví dụ của tôi dựa trên bài báo từ clinexprheumatol.org/article.asp?a=5537 trong đó các tác giả đã sử dụng hiệu chỉnh Bonferroni. Họ đã áp dụng thử nghiệm siêu âm để ước tính tầm quan trọng của sự chồng chéo bộ gen dựa trên bài báo này: ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4463058 . Cái sau không thảo luận về sự cần thiết phải thử nghiệm nhiều. Vì vậy, có vẻ như bồi thẩm đoàn vẫn chưa kết thúc và cuộc tranh luận của bạn rất có ý nghĩa. Có lẽ tôi nghĩ quá nhiều về nhiều thử nghiệm trong trường hợp này.

1

Bạn không cần sửa giá trị p cho một lần kiểm tra chồng chéo. Tuy nhiên, giả sử bạn quan tâm đến việc xác định xem thuốc có ảnh hưởng đến các gen trong cùng một lộ trình hay không. Làm thế nào bạn sẽ xác định con đường nào có nhiều chồng chéo nhất? Giả sử bạn có 500 bộ gen con đường. Bạn chạy thử nghiệm chồng chéo tập hợp siêu bội 500 lần và xếp hạng chúng theo giá trị p. Vì bạn đã chạy bài kiểm tra này 500 lần (hoặc thậm chí nhiều hơn tùy thuộc vào số lượng dữ liệu bạn có), có khả năng bạn có thể đạt điểm cao chỉ bằng cơ hội (dương tính giả). Vì vậy, sau đó bạn cần phải sửa cho điều đó và thực hiện điều chỉnh giá trị ... hoặc Bonferroni (bảo thủ nhất) hoặc Stewamini Hochberg.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.