mirror of
				https://github.com/johrpan/ubigen.git
				synced 2025-10-26 19:57:24 +01:00 
			
		
		
		
	scripts: Add comparison to other datasets
This commit is contained in:
		
							parent
							
								
									ed796853af
								
							
						
					
					
						commit
						1ed42c53aa
					
				
					 1 changed files with 132 additions and 0 deletions
				
			
		
							
								
								
									
										132
									
								
								scripts/comparison.R
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								scripts/comparison.R
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,132 @@ | |||
| library(data.table) | ||||
| library(here) | ||||
| 
 | ||||
| i_am("scripts/comparison.R") | ||||
| 
 | ||||
| w2000 <- scan(here("scripts/input/datasets/warrington_2000.txt"), character()) | ||||
| z2008 <- scan(here("scripts/input/datasets/zhu_2008.txt"), character()) | ||||
| e2013 <- scan(here("scripts/input/datasets/eisenberg_2013.txt"), character()) | ||||
| c2011 <- scan(here("scripts/input/datasets/chang_2011.txt"), character()) | ||||
| j2022 <- scan(here("scripts/input/datasets/joshi_2022.txt"), character()) | ||||
| 
 | ||||
| datasets <- list( | ||||
|   "Warrington 2000" = w2000, | ||||
|   "Zhu 2008" = z2008, | ||||
|   "Eisenberg 2013" = e2013, | ||||
|   "Chang 2011" = c2011, | ||||
|   "Joshi 2022" = j2022 | ||||
| ) | ||||
| 
 | ||||
| ranking_gtex <- ubigen::rank_genes(ubigen::gtex_all) | ||||
| ranking_cmap <- ubigen::rank_genes(ubigen::cmap) | ||||
| 
 | ||||
| data <- merge( | ||||
|   ranking_gtex[, .(gene, score, percentile)], | ||||
|   ranking_cmap[, .(gene, score, percentile)], | ||||
|   by = "gene", | ||||
|   suffixes = c(x = "_gtex", y = "_cmap") | ||||
| ) | ||||
| 
 | ||||
| data[, count := 0] | ||||
| 
 | ||||
| for (dataset in datasets) { | ||||
|   data[gene %chin% dataset, count := count + 1] | ||||
| } | ||||
| 
 | ||||
| threshold_gtex <- data[percentile_gtex >= 0.95, min(score_gtex)] | ||||
| threshold_cmap <- data[percentile_cmap >= 0.95, min(score_cmap)] | ||||
| 
 | ||||
| fig <- plotly::plot_ly() |> | ||||
|   plotly::add_markers( | ||||
|     data = data, | ||||
|     x = ~score_gtex, | ||||
|     y = ~score_cmap, | ||||
|     color = ~count, | ||||
|     colors = c("#7d19bf", "#ff7f2a"), | ||||
|     marker = list( | ||||
|       size = 4, | ||||
|       opacity = 0.8 | ||||
|     ), | ||||
|     cliponaxis = FALSE | ||||
|   ) |> | ||||
|   plotly::layout( | ||||
|     xaxis = list( | ||||
|       title = "Ranking based on GTEx", | ||||
|       range = c(0, 1) | ||||
|     ), | ||||
|     yaxis = list( | ||||
|       title = "Ranking based on CMap", | ||||
|       range = c(0, 1) | ||||
|     ), | ||||
|     annotations = list( | ||||
|       list( | ||||
|         text = "95%", | ||||
|         x = threshold_gtex, | ||||
|         y = 1, | ||||
|         xshift = 2, | ||||
|         yshift = 3, | ||||
|         yref = "paper", | ||||
|         xanchor = "left", | ||||
|         yanchor = "top", | ||||
|         showarrow = FALSE | ||||
|       ), | ||||
|       list( | ||||
|         text = "95%", | ||||
|         x = 1, | ||||
|         y = threshold_cmap, | ||||
|         yshift = 2, | ||||
|         xref = "paper", | ||||
|         xanchor = "right", | ||||
|         yanchor = "bottom", | ||||
|         showarrow = FALSE | ||||
|       ) | ||||
|     ), | ||||
|     shapes = list( | ||||
|       list( | ||||
|         type = "line", | ||||
|         y0 = 0, | ||||
|         y1 = 1, | ||||
|         yref = "paper", | ||||
|         x0 = threshold_gtex, | ||||
|         x1 = threshold_gtex, | ||||
|         line = list( | ||||
|           color = "#00000080", | ||||
|           opacity = 0.5, | ||||
|           width = 1, | ||||
|           dash = "dot" | ||||
|         ) | ||||
|       ), | ||||
|       list( | ||||
|         type = "line", | ||||
|         y0 = threshold_cmap, | ||||
|         y1 = threshold_cmap, | ||||
|         x0 = 0, | ||||
|         x1 = 1, | ||||
|         xref = "paper", | ||||
|         line = list( | ||||
|           color = "#00000080", | ||||
|           width = 1, | ||||
|           opacity = 0.5, | ||||
|           dash = "dot" | ||||
|         ) | ||||
|       ) | ||||
|     ), | ||||
|     font = list(size = 8), | ||||
|     margin = list( | ||||
|       pad = 2, | ||||
|       l = 36, | ||||
|       r = 0, | ||||
|       t = 0, | ||||
|       b = 36 | ||||
|     ) | ||||
|   ) |> | ||||
|   plotly::hide_legend() |> | ||||
|   plotly::hide_colorbar() | ||||
| 
 | ||||
| plotly::save_image( | ||||
|   fig, | ||||
|   file = here("scripts/output/comparison.svg"), | ||||
|   width = 6.27 * 72, | ||||
|   height = 6.27 * 72, | ||||
|   scale = 96 / 72 | ||||
| ) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue