Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1. aaa=c("HERC1")
  2. bbb=c("MYO9A", "PKHD1L1", "PQLC2", "SLC7A2")
  3. ccc=c("HERC1")
  4. ddd=c("MACC1","PKHD1L1")
  5.  
  6. file_list = list(aaa = aaa, bbb = bbb, ccc = ccc, ddd = ddd)
  7.  
  8. max_file_len <- sapply(file_list, function(x) length(x)) %>% max()
  9.  
  10. result <- sapply(file_list, function(a) {
  11. length(a) <- max_file_len
  12. a
  13. }) %>%
  14. as.data.frame(stringsAsFactors = F) %>%
  15. gather() %>%
  16. filter(!is.na(value)) %>%
  17. expand(file_name = key, gene1 = value, gene2 = value) %>%
  18. filter(gene1 != gene2) %>%
  19. rowwise() %>%
  20. mutate(
  21. test = ifelse(
  22. (gene1 %in% file_list[[file_name]]) & (gene2 %in% file_list[[file_name]]),
  23. 1, 0
  24. )
  25. ) %>%
  26. spread(file_name, test) %>%
  27. print(n = nrow(.))
  28.  
  29.  
  30. # A tibble: 30 x 6
  31. gene1 gene2 aaa bbb ccc ddd
  32. <chr> <chr> <dbl> <dbl> <dbl> <dbl>
  33. 1 HERC1 MACC1 0 0 0 0
  34. 2 HERC1 MYO9A 0 0 0 0
  35. 3 HERC1 PKHD1L1 0 0 0 0
  36. 4 HERC1 PQLC2 0 0 0 0
  37. 5 HERC1 SLC7A2 0 0 0 0
  38. 6 MACC1 HERC1 0 0 0 0
  39. 7 MACC1 MYO9A 0 0 0 0
  40. 8 MACC1 PKHD1L1 0 0 0 1.00
  41. 9 MACC1 PQLC2 0 0 0 0
  42. 10 MACC1 SLC7A2 0 0 0 0
  43. 11 MYO9A HERC1 0 0 0 0
  44. 12 MYO9A MACC1 0 0 0 0
  45. 13 MYO9A PKHD1L1 0 1.00 0 0
  46. 14 MYO9A PQLC2 0 1.00 0 0
  47. 15 MYO9A SLC7A2 0 1.00 0 0
  48. 16 PKHD1L1 HERC1 0 0 0 0
  49. 17 PKHD1L1 MACC1 0 0 0 1.00
  50. 18 PKHD1L1 MYO9A 0 1.00 0 0
  51. 19 PKHD1L1 PQLC2 0 1.00 0 0
  52. 20 PKHD1L1 SLC7A2 0 1.00 0 0
  53. 21 PQLC2 HERC1 0 0 0 0
  54. 22 PQLC2 MACC1 0 0 0 0
  55. 23 PQLC2 MYO9A 0 1.00 0 0
  56. 24 PQLC2 PKHD1L1 0 1.00 0 0
  57. 25 PQLC2 SLC7A2 0 1.00 0 0
  58. 26 SLC7A2 HERC1 0 0 0 0
  59. 27 SLC7A2 MACC1 0 0 0 0
  60. 28 SLC7A2 MYO9A 0 1.00 0 0
  61. 29 SLC7A2 PKHD1L1 0 1.00 0 0
  62. 30 SLC7A2 PQLC2 0 1.00 0 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement