mirror of
				https://github.com/johrpan/geposanui.git
				synced 2025-10-26 19:27:24 +01:00 
			
		
		
		
	Use plots from geposan
This commit is contained in:
		
							parent
							
								
									f485eadaf5
								
							
						
					
					
						commit
						b5957262a3
					
				
					 3 changed files with 21 additions and 57 deletions
				
			
		|  | @ -1,53 +0,0 @@ | ||||||
| # Draw a plot displaying the rank of reference genes. |  | ||||||
| # |  | ||||||
| # The input table should contain the following columns: |  | ||||||
| # |  | ||||||
| #  - `gene` Gene IDs of genes to display. |  | ||||||
| #  - `name` Name of genes to display. |  | ||||||
| #  - `score` Score of the genes. |  | ||||||
| #  - `rank` Rank of the genes based on the score. |  | ||||||
| # |  | ||||||
| # @param results Results to display. |  | ||||||
| # @param reference_gene_ids IDs of reference genes. |  | ||||||
| # @param max_rank Last rank of the included genes. |  | ||||||
| rank_plot <- function(results, reference_gene_ids, max_rank) { |  | ||||||
|     plot <- plotly::plot_ly() |> plotly::add_trace( |  | ||||||
|         data = results, |  | ||||||
|         x = ~rank, |  | ||||||
|         y = ~score, |  | ||||||
|         name = "All genes", |  | ||||||
|         type = "scatter", |  | ||||||
|         mode = "line", |  | ||||||
|         hoverinfo = "skip" |  | ||||||
|     ) |> plotly::add_trace( |  | ||||||
|         data = results[gene %chin% reference_gene_ids], |  | ||||||
|         x = ~rank, |  | ||||||
|         y = ~score, |  | ||||||
|         color = ~gene, |  | ||||||
|         name = ~name, |  | ||||||
|         width = 10, |  | ||||||
|         type = "bar" |  | ||||||
|     )  |> plotly::layout( |  | ||||||
|         xaxis = list(title = "Ranks"), |  | ||||||
|         yaxis = list(title = "Score") |  | ||||||
|     ) |  | ||||||
| 
 |  | ||||||
|     first_not_included_rank <- max_rank + 1 |  | ||||||
|     last_rank <- results[, .N] |  | ||||||
| 
 |  | ||||||
|     if (first_not_included_rank <= last_rank) { |  | ||||||
|         plot <- plot |> plotly::layout( |  | ||||||
|             shapes = list( |  | ||||||
|                 type = "rect", |  | ||||||
|                 fillcolor = "black", |  | ||||||
|                 opacity = 0.1, |  | ||||||
|                 x0 = first_not_included_rank, |  | ||||||
|                 x1 = last_rank, |  | ||||||
|                 y0 = 0.0, |  | ||||||
|                 y1 = 1.0 |  | ||||||
|             ) |  | ||||||
|         ) |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     plot |  | ||||||
| } |  | ||||||
							
								
								
									
										17
									
								
								R/server.R
									
										
									
									
									
								
							
							
						
						
									
										17
									
								
								R/server.R
									
										
									
									
									
								
							|  | @ -154,10 +154,19 @@ server <- function(input, output, session) { | ||||||
|     }) |     }) | ||||||
| 
 | 
 | ||||||
|     output$rank_plot <- plotly::renderPlotly({ |     output$rank_plot <- plotly::renderPlotly({ | ||||||
|         rank_plot( |         geposan::plot_scores( | ||||||
|             results(), |             ranking(), | ||||||
|             preset()$reference_gene_ids, |             gene_sets = list(preset()$reference_gene_ids), | ||||||
|             results_filtered()[, max(rank)] |             labels = "TPE-OLD genes", | ||||||
|  |             max_rank = results_filtered()[, max(rank)] | ||||||
|  |         ) | ||||||
|  |     }) | ||||||
|  | 
 | ||||||
|  |     output$boxplot <- plotly::renderPlotly({ | ||||||
|  |         geposan::plot_boxplot( | ||||||
|  |             ranking(), | ||||||
|  |             gene_sets = list(preset()$reference_gene_ids), | ||||||
|  |             labels = "TPE-OLD genes" | ||||||
|         ) |         ) | ||||||
|     }) |     }) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										8
									
								
								R/ui.R
									
										
									
									
									
								
							
							
						
						
									
										8
									
								
								R/ui.R
									
										
									
									
									
								
							|  | @ -48,6 +48,14 @@ ui <- fluidPage( | ||||||
|                             height = "600px" |                             height = "600px" | ||||||
|                         ) |                         ) | ||||||
|                     ), |                     ), | ||||||
|  |                     div( | ||||||
|  |                         style = "margin-top: 16px", | ||||||
|  |                         plotly::plotlyOutput( | ||||||
|  |                             "boxplot", | ||||||
|  |                             width = "100%", | ||||||
|  |                             height = "600px" | ||||||
|  |                         ) | ||||||
|  |                     ), | ||||||
|                 ), |                 ), | ||||||
|                 tabPanel( |                 tabPanel( | ||||||
|                     "Analysis", |                     "Analysis", | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue