ā¹ļø Tutorials ā¹ļø Reference documentation
Visualise a single-cell trajectory as a graph or dendrogram, as a dimensionality reduction or heatmap of the expression data, or a comparison between two trajectories as a pairwise scatterplot or dimensionality reduction projection.
Hereās a summary of the different plotting functions for visualising single-cell trajectories.
library(tidyverse) library(dyno) # get trajectory data(example_bifurcating) trajectory <- example_bifurcating %>% add_root() # gather some prior information grouping <- trajectory$prior_information$groups_id groups <- tibble( group_id = trajectory$milestone_ids, color = dynplot:::milestone_palette_list$auto(length(group_id)) ) features_oi <- apply(as.matrix(trajectory$counts), 2, sd) %>% sort() %>% names() %>% tail(10) feature_oi <- features_oi[[10]]
plot_dendro()
: Plot a trajectory as a dendrogram
patchwork::wrap_plots( plot_dendro(trajectory) + labs(title = "Topology"), plot_dendro(trajectory, "milestone") + labs(title = "Ordering"), plot_dendro(trajectory, grouping=grouping, groups=groups) + labs(title = "Grouping/clustering"), plot_dendro(trajectory, feature_oi=feature_oi) + labs(title = "Expression of\na single gene"), plot_dendro(trajectory, "pseudotime") + labs(title = "Pseudotime"), byrow = TRUE, ncol = 3 ) & theme(legend.position = "none")
plot_onedim()
: Plot a trajectory as a one-dimensional set of connected segments
patchwork::wrap_plots( plot_onedim(trajectory) + labs(title = "Topology"), plot_onedim(trajectory, "milestone") + labs(title = "Ordering"), plot_onedim(trajectory, grouping=grouping, groups=groups) + labs(title = "Grouping/clustering"), plot_onedim(trajectory, feature_oi=feature_oi) + labs(title = "Expression of\na single gene"), plot_onedim(trajectory, "pseudotime") + labs(title = "Pseudotime"), byrow = TRUE, ncol = 2 ) & theme(legend.position = "none")
plot_graph()
: Plot a trajectory and cellular positions as a graph
patchwork::wrap_plots( plot_graph(trajectory) + labs(title = "Topology"), plot_graph(trajectory, "milestone") + labs(title = "Ordering"), plot_graph(trajectory, grouping=grouping, groups=groups) + labs(title = "Grouping/clustering"), plot_graph(trajectory, feature_oi=feature_oi) + labs(title = "Expression of\na single gene"), plot_graph(trajectory, "pseudotime") + labs(title = "Pseudotime"), byrow = TRUE, ncol = 3 ) & theme(legend.position = "none")
plot_dimred()
: Plot a trajectory in a (given) dimensionality reduction
patchwork::wrap_plots( plot_dimred(trajectory) + labs(title = "Topology"), plot_dimred(trajectory, "milestone") + labs(title = "Ordering"), plot_dimred(trajectory, grouping=grouping, groups=groups) + labs(title = "Grouping/clustering"), plot_dimred(trajectory, feature_oi=feature_oi) + labs(title = "Expression of\na single gene"), plot_dimred(trajectory, "pseudotime") + labs(title = "Pseudotime"), byrow = TRUE, ncol = 3 ) & theme(legend.position = "none")
plot_heatmap()
: Plot expression data along a trajectory
In addition, you can also plot the expression of genes along the trajectory as a heatmap.
plot_heatmap(trajectory, grouping = trajectory$prior_information$grouping_assignment)
plot_linearised_comparison()
: Compare two trajectories as a pseudotime scatterplot
You can compare multiple trajectories (for the same cells) by creating a scatterplot between the two trajectories.
prediction <- infer_trajectory(trajectory, ti_comp1()) #> v0.9.9.01: Pulling from dynverse/ti_comp1 #> 844c33c7e6ea: Pulling fs layer #> 4f11e4e30170: Pulling fs layer #> a9724dff2655: Pulling fs layer #> f5f3a048c9c3: Pulling fs layer #> a53c4db932de: Pulling fs layer #> bd5da474b8ba: Pulling fs layer #> be9b916e18e7: Pulling fs layer #> b8b469f67972: Pulling fs layer #> e33132a1a81b: Pulling fs layer #> 32bd550d2fc1: Pulling fs layer #> a828ddf00b38: Pulling fs layer #> d97023e2f782: Pulling fs layer #> 84d8340a282e: Pulling fs layer #> be9b916e18e7: Waiting #> e33132a1a81b: Waiting #> 32bd550d2fc1: Waiting #> a828ddf00b38: Waiting #> a53c4db932de: Waiting #> b8b469f67972: Waiting #> f5f3a048c9c3: Waiting #> bd5da474b8ba: Waiting #> d97023e2f782: Waiting #> 844c33c7e6ea: Verifying Checksum #> 844c33c7e6ea: Download complete #> 844c33c7e6ea: Pull complete #> f5f3a048c9c3: Verifying Checksum #> f5f3a048c9c3: Download complete #> a53c4db932de: Verifying Checksum #> a53c4db932de: Download complete #> bd5da474b8ba: Verifying Checksum #> bd5da474b8ba: Download complete #> be9b916e18e7: Download complete #> 4f11e4e30170: Verifying Checksum #> 4f11e4e30170: Download complete #> 4f11e4e30170: Pull complete #> e33132a1a81b: Verifying Checksum #> e33132a1a81b: Download complete #> a9724dff2655: Verifying Checksum #> a9724dff2655: Download complete #> 32bd550d2fc1: Verifying Checksum #> 32bd550d2fc1: Download complete #> a9724dff2655: Pull complete #> f5f3a048c9c3: Pull complete #> a53c4db932de: Pull complete #> bd5da474b8ba: Pull complete #> be9b916e18e7: Pull complete #> a828ddf00b38: Verifying Checksum #> a828ddf00b38: Download complete #> 84d8340a282e: Verifying Checksum #> 84d8340a282e: Download complete #> d97023e2f782: Download complete #> b8b469f67972: Verifying Checksum #> b8b469f67972: Download complete #> b8b469f67972: Pull complete #> e33132a1a81b: Pull complete #> 32bd550d2fc1: Pull complete #> a828ddf00b38: Pull complete #> d97023e2f782: Pull complete #> 84d8340a282e: Pull complete #> Digest: sha256:012b3bfef2250767bcd3f3b389ebff82d4a2dc23d39b1bdadf7076e23b833680 #> Status: Downloaded newer image for dynverse/ti_comp1:v0.9.9.01 #> docker.io/dynverse/ti_comp1:v0.9.9.01 trajectory$id <- "Bifurcating" prediction$id <- "Linear" plot_linearised_comparison(trajectory, prediction)
Check out news(package = "dynwrap")
or NEWS.md for a full list of changes.
BUG FIX project_waypoints_coloured()
: Fix refactoring issue āMust supply a symbol or a string as argumentā (#54).
BUG FIX project_waypoints_coloured()
: Fix wrong results when projecting waypoint segments (#54 bis).
Initial release on CRAN.
MINOR CHANGE: Add arrow
parameter to all plot functions.
BUG FIX: Apply fixes for new versions of tibble, tidyr, and ggraph.
BUG FIX optimise_order()
: Fix problem where GA::ga() wouldnāt run on milestone networks with 1 or 4 edges.
BUG FIX linearise_cells()
: Fix ordering issue when equal_cell_width
is TRUE
.
MINOR CHANGE: Clean imports and supposed undefined variables.
MINOR CHANGE plot_dendro()
: Allow plotting of disconnected graphs (#32). This assumes that dynwrap::add_root(traj, root_milestone_id = c(...))
has been called properly.
DOCUMENTATION: Extend documentation on usage of parameters and the expected output values of functions.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4