NEWS.md
BUG FIXES
add_key()
too strict and would create issues with export_cluster()
. Reported by @lahuuki and @manishabarse.BUG FIXES
registration_pseudobulk()
more robust. The original issues were reported by @boyiguo1 and @berniejmulvey.NEW FEATURES
layer_stat_cor_plot()
with a version that uses ComplexHeatmap::Heatmap()
internally. It also adds support for incorporating the automatic annotation results from annotate_registered_clusters()
. NOTE that the max
argument was renamed to color_max
, as well as min
to color_min
. Also, the default for min
used to be -max
and now for color_min
the default is the min()
correlation observed. The default for max
was 0.81 and the default for color_max()
is the max()
observed correlation.run_app()
was also updated to match the updated in layer_stat_cor_plot()
and now has 2 new inputs for controlling the annotation process with annotate_registered_clusters()
. It also allows downloading a CSV file with the annotation results.BUG FIXES
registration_wrapper()
now automatically handles the scenario where k = 2
by not using registration_stats_anova()
and providing an apporpriate warning. Implemented by @lahuuki at https://github.com/LieberInstitute/spatialLIBD/pull/86.BUG FIXES
read10xVisiumWrapper()
is now able to detect the GTF file used by SpaceRanger
for version 3.0.0+. Implemented by @nick-eagles at https://github.com/LieberInstitute/spatialLIBD/pull/88.BUG FIXES
vis_grid_clus()
not handling logical()
cluster variables. See https://github.com/LieberInstitute/spatialLIBD/issues/80. To resolve this, sort_clusters()
and get_colors()
had to change internally. Examples and documentation for both functions have now been updated to showcase what happens when you provide a logical()
vector as an input.NEW FEATURES
add_qc_metrics()
inspired by https://github.com/LieberInstitute/Visium_SPG_AD/blob/master/code/07_spot_qc/01_qc_metrics_and_segmentation.R which adds seven new columns to the colData(spe)
that can be useful when performing quality control of the data. Developed by @lahuuki.NEW FEATURES
SpatialExperiment
objects created with visiumStitched::build_spe()
https://research.libd.org/visiumStitched/reference/build_spe.html that stitch together multiple Visium capture areas. Developed by @Nick-Eagles.SIGNIFICANT USER-VISIBLE CHANGES
vis_gene()
now has a multi_gene_method
argument which provides 3 methods for combining multiple continuous variables: z_score
, pca
, and sparsity
. These options can now be used with run_app()
(the interactive websites). These methods are further illustrated and documented in a new vignette available at https://research.libd.org/spatialLIBD/articles/multi_gene_plots.html. This work was contributed by @Nick-Eagles.NEW FEATURES
vis_clus_p()
, vis_clus()
, and vis_grid_clus()
now all use implement the na_color
argument that was present in the vis_gene()
functions. This resolves https://github.com/LieberInstitute/spatialLIBD/issues/43 by @boyiguo1.NEW FEATURES
run_app()
now has a auto_crop_default
argument set to TRUE
by default. It can be turned off in cases where you are displaying images that do not follow the expected Visium grid dimensions, such as manually stitched images that you don’t want to automatically crop.NEW FEATURES
fetch_data("spatialDLPFC_Visium_example_subset")
which is a subset of 3 samples with only the lowres
images that can be used for example / tutorial purposes.NEW FEATURES
SIGNIFICANT USER-VISIBLE CHANGES
spatialDLFPC
, Visium_SPG_AD
, and locus-c
projects that were done by members of the Keri Martinowich, Kristen R. Maynard, and Leonardo Collado-Torres LIBD teams as well as our collaborators.SIGNIFICANT USER-VISIBLE CHANGES
fetch_data("Visium_SPG_AD_Visium_wholegenome_spe"")
, fetch_data("Visium_SPG_AD_Visium_targeted_spe")
, fetch_data("Visium_SPG_AD_Visium_wholegenome_pseudobulk_spe")
, and fetch_data("Visium_SPG_AD_Visium_wholegenome_modeling_results")
have been added. Use this to access data from the https://github.com/LieberInstitute/Visium_SPG_AD project.SIGNIFICANT USER-VISIBLE CHANGES
fetch_data("spatialDLPFC_snRNAseq")
now works if you want to download the snRNA-seq data used in http://research.libd.org/spatialDLPFC/.BUG FIXES
read10xVisiumAnalysis()
now supports spaceranger
version 2023.0208.0 (internal 10x Genomics version) output files that store analysis CSVs under the outs/analysis_csv
directory instead of outs/analysis
and also use the gene_expression_
prefix for each of the analysis directories. This was tested with @heenadivecha on files from https://github.com/LieberInstitute/spatial_DG_lifespan/blob/main/code/02_build_spe/01_build_spe.R.SIGNIFICANT USER-VISIBLE CHANGES
gene_set_enrichment()
now internally uses fisher.test(alternative = "greater")
to test for odds ratios greater than 1. Otherwise odds ratios of 0 could be significant.SIGNIFICANT USER-VISIBLE CHANGES
vis_gene()
, vis_clus()
and related plotting functions. This was done with input from @lahuuki and @nick-eagles and is described in more detail at https://github.com/LieberInstitute/spatialLIBD/commit/8fa8459d8fa881d254824d43e52193bf2c3021c0. Most noticeably, the aspect ratio is no longer stretched to fill the plotting area, the NA values will be shown with a light grey that has alpha blending, and the position of the legends has been made consistent between the plots.NEW FEATURES
frame_limits()
and introduced the auto_crop
argument to vis_clus()
, vis_gene()
and all related functions. This new function enables automatically cropping the image and thus adjusting the plotting area which is useful in cases where the image is not centered and is not a square. This was based on work by @lahuuki at https://github.com/LieberInstitute/spatialDLPFC/blob/2dfb58db728c86875a86cc7b4999680ba1f34c38/code/analysis/99_spatial_plotting/01_get_frame_limits.R and https://github.com/LieberInstitute/spatialDLPFC/blob/ef2952a5a0098a36b09488ebd5e36a902bb11b48/code/analysis/99_spatial_plotting/vis_gene_crop.R.BUG FIXES
edgeR::filterByExpr()
inside of registration_pseudobulk()
.min_ncells
filtering step to registration_pseudobulk()
rather than registration_wrapper()
since you should drop low ncells
before using edgeR::filterByExpr()
.BUG FIXES
registration_stats_anova()
in cases where we only had two different unique values to compute F-statistics with, when we need at leastregistration_stats_anova()
and registration_stats_pairwise()
more flexible.registration_model()
now provides a more informative error message when you have an empty factor level, thus leading to a non-full rank model matrix.NEW FEATURES
registration_wrapper()
and related functions.layer_stat_cor()
and for labeling the clusters. This can help interpret the spatial registration results. See annotate_registered_clusters()
for more details.BUG FIXES
gene_set_enrichment()
for reverse = TRUE
reported byreverse
option on the shiny app under the gene set enrichment tab, that we tested with the example spe
data.SIGNIFICANT USER-VISIBLE CHANGES
SIGNIFICANT USER-VISIBLE CHANGES
point_size
from 1.25 to 2.BUG FIXES
BUG FIXES
BUG FIXES
rownames()
. Reported by 2 and 1 at https://github.com/LieberInstitute/spatialLIBD/issues/33#issuecomment-1137544893
SIGNIFICANT USER-VISIBLE CHANGES
layer-level data
panel at run_app()
has been significantly increased. You can now also visualize more than 2 reduced dimensions computed on the pseudo-bulk level data (layer-level for the Maynard et al, Nature Neurosci, 2021 data).SIGNIFICANT USER-VISIBLE CHANGES
run_app()
now offers the option to chose any of the paletteer::paletteer_d
color palettes for discrete variables.Polychrome
has been replaced as a dependency by paletteer
. Note that Polychrome::palette36
is still the default.run_app()
now looks for columns that end with ’_colors’ in their name which can be used to pre-specify colors for any companion variables. For example if you have spe$my_groups
and spe$my_groups_colors
then the second one can specify the colors that will be used for visualizing spe$my_groups
. This makes specifying default colors more flexible than before, and the user is still free to change them if necessary.BUG FIXES
layer_boxplot()
where it was too specific to the Maynard et al 2021 data. We have made it more flexible now.gene_set_enrichment_plot()
and layer_matrix_plot()
.BUG FIXES
sig_genes_extract()
when there’s only one set of t-statistics or F statistics to extract.SIGNIFICANT USER-VISIBLE CHANGES
vis_*()
of SpatialLIBD
in this version match the Bioconductor 3.15 version of SpatialExperiment
. Note that if you used SpatialExperiment::read10xVisium()
, the names of the spatial coordinates changed at https://github.com/drighelli/SpatialExperiment/commit/6710fe8b0a7919191ecce989bb6831647385ef5f and thus you might need to switch them back if you created your SpatialExperiment
object before this change. You can do so with spatialCoordsNames(spe) <- rev(spatialCoordsNames(spe))
. read10xVisiumWrapper()
uses SpatialExperiment::read10xVisium()
internally, so this change on SpatialExperiment
would then also affect you.NEW FEATURES
layer_stat_cor()
has the top_n
argument which can be used for subsetting the marker genes prior to computing the correlation as part of the spatial registration process.NEW FEATURES
add_key()
function to reduce code duplication and resolve https://github.com/LieberInstitute/spatialLIBD/issues/31.NEW FEATURES
BUG FIXES
NEW FEATURES
vis_gene_p()
, vis_clus_p()
and all related functions now have an argument point_size
which lets you control how big the points are plotted. This can be useful for visualization purposes.5
, then if you zoom in the clusters (interactive)
panel, you can see larger spots when zooming in.NEW FEATURES
BUG FIXES
vis_gene()
and vis_grid_gene()
now support geneid
s that are found in the rownames(spe)
. This makese these functions more flexible.vis_grid_gene()
and vis_grid_clus()
now have the sample_order
argument which gives you more control in case you want to plot a subset of samples. This should also reduced the memory required as discovered at https://github.com/LieberInstitute/spatialDLPFC/issues/45.NEW FEATURES
image_id
. Resolves https://github.com/LieberInstitute/spatialLIBD/issues/25.alpha
argument. Resolves https://github.com/LieberInstitute/spatialLIBD/issues/20.magick
package. Adds functions img_edit()
, img_update()
and img_update_all()
as well as new features on the web application. Resolves https://github.com/LieberInstitute/spatialLIBD/issues/21.export_cluster()
and import_cluster()
to help export/import clustering results instead of having to save large spe
objects when exploring different clustering methods.locate_images()
and add_images()
for adding non-standard images to a spe
object.BUG FIXES
shiny
. This version of spatialLIBD
works with shiny
version 1.7.1, though it’s likely backwards compatible. Resolves https://github.com/LieberInstitute/spatialLIBD/issues/24.as.data.frame(colData(spe))
uses check.names = TRUE
by default and then changes the column names unintentionally.NEW FEATURES
read10xVisiumWrapper()
and related functions that make it easier to read in the SpaceRanger output files and launch a shiny web application using run_app()
. These new functions read in the analysis output from SpaceRanger by 10x Genomics, in particular, the clustering and dimension reduction (projection) results.SIGNIFICANT USER-VISIBLE CHANGES
spatialLIBD
has been updated to work with SpatialExperiment
version 1.1.701 which will be released as part of Bioconductor 3.13. This changes internal code of spatialLIBD
which will work with any objects created with SpatialExperiment
version 1.1.700.SIGNIFICANT USER-VISIBLE CHANGES
spatialLIBD
has a bioRxiv pre-print at https://www.biorxiv.org/content/10.1101/2021.04.29.440149v1.SIGNIFICANT USER-VISIBLE CHANGES
plotly::toWebGL()
to make the web application more responsive.SIGNIFICANT USER-VISIBLE CHANGES
NEW FEATURES
spatialLIBD
with any 10x Genomics Visium dataset processed with spaceranger
. The vignette uses the publicly available human lymph node example from the 10x Genomics website.NEW FEATURES
SpatialExperiment
version 1.1.427 available on Bioconductor 3.13 (bioc-devel). Several functions were re-named such as sce_image_gene_p()
now has a shorter name vis_gene_p()
. This update also changes these visualization functions to ONLY support SpatialExperiment
objects instead of the original modified SingleCellExperiment
objects.NEW FEATURES
sce_image_gene_p()
, sce_image_gene()
, sce_image_grid()
, sce_image_grid_gene()
, sce_image_clus()
, sce_image_clus_p()
, geom_spatial()
now work with VisiumExperiment objects thanks to the new function read_image()
and ve_image_colData()
. This work was done by Brenda Pardo and Leonardo.NEW FEATURES
fetch_data()
takes the data from sce object and creates a VisiumExperiment object containing these data thanks to the function sce_to_ve()
. VisiumExperiment object can be obtained with fetch_data("ve")
. This work was done by Brenda Pardo and Leonardo.NEW FEATURES
fetch_data()
now uses BiocFileCache()
when downloading the data from Dropbox.SIGNIFICANT USER-VISIBLE CHANGES
enough_ram()
which is used to control the execution of examples. If it fails when using fetch_data("sce")
then fetch_data()
will show a warning.fetch_data(type = "sce_example")
is now supported and used visibly in the vignette, eliminating the need for eval = FALSE
chunks. This should enable testing the vignette code on the Bioconductor Single Package Builder on Windows (max 2.5 GB of RAM available).BUG FIXES
get_colors()
.layer_stat_cor_plot()
for when min
and/or max
are specified.SIGNIFICANT USER-VISIBLE CHANGES
BUG FIXES
system2()
instead of system()
.set.seed()
call outside of layer_boxplot()
as noted by Martin Morgan https://github.com/Bioconductor/Contributions/issues/1389#issuecomment-594099852 .\linkS4class
as I see being done at https://github.com/drisso/SingleCellExperiment/search?q=linkS4class&unscoped_q=linkS4class.vapply()
instead of sapply()
.BUG FIXES
RcppAnnoy
line in the DESCRIPTION actually works now based on Aaron Lun’s comment at https://github.com/eddelbuettel/rcppannoy/issues/57#issuecomment-594097241.SIGNIFICANT USER-VISIBLE CHANGES
BUG FIXES
fetch_data()
and the vignette by specifying the mode = "wb"
for utils::download.file()
in order to resolve an issue with Windows OS reported here http://bioconductor.org/spb_reports/spatialLIBD_buildreport_20200302120158.html#tokay2_buildsrc_anchor.SIGNIFICANT USER-VISIBLE CHANGES
SIGNIFICANT USER-VISIBLE CHANGES
BUG FIXES
SIGNIFICANT USER-VISIBLE CHANGES
SIGNIFICANT USER-VISIBLE CHANGES
fetch_data()
more flexible. Should now work when the data is absent.BUG FIXES
SIGNIFICANT USER-VISIBLE CHANGES
SIGNIFICANT USER-VISIBLE CHANGES
NEW FEATURES
NEW FEATURES
NEWS.md
file to track changes to the package.ExperimentHub::ExperimentHub()
functionality won’t work until they approve the package. However, for now fetch_data()
has a backup mechanism in place.