<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
<title>VoltRon</title>
<script src="site_libs/header-attrs-2.29/header-attrs.js"></script>
<script src="site_libs/jquery-3.6.0/jquery-3.6.0.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="site_libs/bootstrap-3.3.5/css/flatly.min.css" rel="stylesheet" />
<script src="site_libs/bootstrap-3.3.5/js/bootstrap.min.js"></script>
<script src="site_libs/bootstrap-3.3.5/shim/html5shiv.min.js"></script>
<script src="site_libs/bootstrap-3.3.5/shim/respond.min.js"></script>
<style>h1 {font-size: 34px;}
h1.title {font-size: 38px;}
h2 {font-size: 30px;}
h3 {font-size: 24px;}
h4 {font-size: 18px;}
h5 {font-size: 16px;}
h6 {font-size: 12px;}
code {color: inherit; background-color: rgba(0, 0, 0, 0.04);}
pre:not([class]) { background-color: white }</style>
<script src="site_libs/navigation-1.1/tabsets.js"></script>
<link href="site_libs/highlightjs-9.12.0/textmate.css" rel="stylesheet" />
<script src="site_libs/highlightjs-9.12.0/highlight.js"></script>
<link href="site_libs/font-awesome-6.5.2/css/all.min.css" rel="stylesheet" />
<link href="site_libs/font-awesome-6.5.2/css/v4-shims.min.css" rel="stylesheet" />
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
</style>
<style type="text/css">code{white-space: pre;}</style>
<script type="text/javascript">
if (window.hljs) {
hljs.configure({languages: []});
hljs.initHighlightingOnLoad();
if (document.readyState && document.readyState === "complete") {
window.setTimeout(function() { hljs.initHighlighting(); }, 0);
}
}
</script>
<style type = "text/css">
.main-container {
max-width: 940px;
margin-left: auto;
margin-right: auto;
}
img {
max-width:100%;
}
.tabbed-pane {
padding-top: 12px;
}
.html-widget {
margin-bottom: 20px;
}
button.code-folding-btn:focus {
outline: none;
}
summary {
display: list-item;
}
details > summary > p:only-child {
display: inline;
}
pre code {
padding: 0;
}
</style>
<style type="text/css">
.dropdown-submenu {
position: relative;
}
.dropdown-submenu>.dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
border-radius: 0 6px 6px 6px;
}
.dropdown-submenu:hover>.dropdown-menu {
display: block;
}
.dropdown-submenu>a:after {
display: block;
content: " ";
float: right;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
border-width: 5px 0 5px 5px;
border-left-color: #cccccc;
margin-top: 5px;
margin-right: -10px;
}
.dropdown-submenu:hover>a:after {
border-left-color: #adb5bd;
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left>.dropdown-menu {
left: -100%;
margin-left: 10px;
border-radius: 6px 0 6px 6px;
}
</style>
<script type="text/javascript">
// manage active state of menu based on current page
$(document).ready(function () {
// active menu anchor
href = window.location.pathname
href = href.substr(href.lastIndexOf('/') + 1)
if (href === "")
href = "index.html";
var menuAnchor = $('a[href="' + href + '"]');
// mark the anchor link active (and if it's in a dropdown, also mark that active)
var dropdown = menuAnchor.closest('li.dropdown');
if (window.bootstrap) { // Bootstrap 4+
menuAnchor.addClass('active');
dropdown.find('> .dropdown-toggle').addClass('active');
} else { // Bootstrap 3
menuAnchor.parent().addClass('active');
dropdown.addClass('active');
}
// Navbar adjustments
var navHeight = $(".navbar").first().height() + 15;
var style = document.createElement('style');
var pt = "padding-top: " + navHeight + "px; ";
var mt = "margin-top: -" + navHeight + "px; ";
var css = "";
// offset scroll position for anchor links (for fixed navbar)
for (var i = 1; i <= 6; i++) {
css += ".section h" + i + "{ " + pt + mt + "}\n";
}
style.innerHTML = "body {" + pt + "padding-bottom: 40px; }\n" + css;
document.head.appendChild(style);
});
</script>
<!-- tabsets -->
<style type="text/css">
.tabset-dropdown > .nav-tabs {
display: inline-table;
max-height: 500px;
min-height: 44px;
overflow-y: auto;
border: 1px solid #ddd;
border-radius: 4px;
}
.tabset-dropdown > .nav-tabs > li.active:before, .tabset-dropdown > .nav-tabs.nav-tabs-open:before {
content: "\e259";
font-family: 'Glyphicons Halflings';
display: inline-block;
padding: 10px;
border-right: 1px solid #ddd;
}
.tabset-dropdown > .nav-tabs.nav-tabs-open > li.active:before {
content: "\e258";
font-family: 'Glyphicons Halflings';
border: none;
}
.tabset-dropdown > .nav-tabs > li.active {
display: block;
}
.tabset-dropdown > .nav-tabs > li > a,
.tabset-dropdown > .nav-tabs > li > a:focus,
.tabset-dropdown > .nav-tabs > li > a:hover {
border: none;
display: inline-block;
border-radius: 4px;
background-color: transparent;
}
.tabset-dropdown > .nav-tabs.nav-tabs-open > li {
display: block;
float: none;
}
.tabset-dropdown > .nav-tabs > li {
display: none;
}
</style>
<!-- code folding -->
</head>
<body>
<div class="container-fluid main-container">
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-bs-toggle="collapse" data-target="#navbar" data-bs-target="#navbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html">VoltRon</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>
<a href="tutorials.html">Explore</a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Vignette
<span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li class="dropdown-submenu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">Spatial Data Integration</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="registration.html">Spatial Data Alignment</a>
</li>
<li>
<a href="multiomic.html">Multi-omic Integration</a>
</li>
<li>
<a href="nicheclustering.html">Niche Clustering</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">Downstream Analysis</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="roianalysis.html">ROI Analysis</a>
</li>
<li>
<a href="spotanalysis.html">Cell/Spot Analysis</a>
</li>
<li>
<a href="moleculeanalysis.html">Molecule Analysis</a>
</li>
<li>
<a href="pixelanalysis.html">Pixels (Image Only) Analysis</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">Utilities</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="interactive.html">Interactive Utilities</a>
</li>
<li>
<a href="importingdata.html">Importing Spatial Data</a>
</li>
<li>
<a href="voltronobjects.html">Working with VoltRon Objects</a>
</li>
<li>
<a href="conversion.html">Converting VoltRon Objects</a>
</li>
<li>
<a href="ondisk.html">OnDisk-based Analysis Utilities</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<span class="fa fa-envelope-o"></span>
Contact
<span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="https://bioinformatics.mdc-berlin.de">Altuna Lab/BIMSB Bioinfo</a>
</li>
<li>
<a href="https://www.mdc-berlin.de/landthaler">Landthaler Lab/BIMSB</a>
</li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<span class="fa fa-github"></span>
GitHub
<span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="https://github.com/BIMSBbioinfo/VoltRon">VoltRon</a>
</li>
<li>
<a href="https://github.com/BIMSBbioinfo">BIMSB Bioinfo</a>
</li>
</ul>
</li>
</ul>
</div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
<div id="header">
<h1 class="title toc-ignore">VoltRon</h1>
</div>
<style>
.title{
display: none;
}
body {
text-align: justify;
}
.center {
display: block;
margin-left: auto;
margin-right: auto;
}
.main-container {
max-width: 1200px;
margin-left: auto;
margin-right: auto;
}
p.maintext {
font-size: 1.2em;
}
table td, table td * {
vertical-align: top;
}
ul.maintext2 {
font-size: 1.1em;
}
ul ul.maintext2 {
font-size: 1.1em;
}
li.maintext2 {
font-size: 1.1em;
}
</style>
<p><br></p>
<!-- ## VoltRon: An R package for Spatial Data Analysis and Integration -->
<p><br></p>
<div style="width:76%; margin-left: auto; margin-right: auto; ">
<p><img width="100%" height="100%" src="https://bimsbstatic.mdc-berlin.de/landthaler/VoltRon/Package/images/voltron_framework_box_io.png" class="center"></p>
<p><br></p>
<p class="maintext">
<strong> VoltRon </strong> is a spatial omic analysis toolbox for
multi-omics integration using spatial image registration. VoltRon is
also capable of analyzing multiple types of spatially-aware data
modalities.
</p>
<ul class="maintext2">
<li style="padding-bottom: 10px">
<strong> Unique data structure </strong> of VoltRon allows users to
seamlessly define tissue blocks, layers and multiple assay types in one
R object.
</li>
<li style="padding-bottom: 10px">
<strong> End-to-end downstream data analysis </strong> for distinct
spatial biology technologies are supported. VoltRon visualizes and
analyzes regions of interests (ROIs), spots, cells, molecules and tiles
<strong>(under development)</strong>.
</li>
<li style="padding-bottom: 10px">
<strong> Automated Image Registration </strong> incorporates
<a href="https://opencv.org/">OpenCV</a> (fully embedded into the
package using <a href="https://www.rcpp.org/">Rcpp</a>) to detect common
features across images and achieves registration. Users may interact
with built-in mini shiny apps to change alignment parameters and
validate alignment accuracy.
</li>
<li style="padding-bottom: 10px">
<strong> Manual Image Registration </strong> helps users to select
common features across spatial datasets using reference images stored in
VoltRon objects. In case automated image registration doesn’t work, you
can still align images by manually picking landmark points.
</li>
<li style="padding-bottom: 10px">
<p style="padding-bottom: 3px">
<strong> Spatially Aware Analysis </strong> allows detecting spatial
patterns across cells, spots, molecules and other entities.
</p>
<ul class="maintext3">
<li style="padding-bottom: 10px padding-top: 12px">
<strong>(Niche Clustering: Spots)</strong> VoltRon allows integration to
single cell RNA datasets using
<a href="https://satijalab.org/seurat/">Seurat</a>,
<a href="https://www.bioconductor.org/packages/release/bioc/vignettes/SingleCellExperiment/inst/doc/intro.html">SingleCellExperiment</a>
and <a href="https://github.com/dmcable/spacexr">spacexr</a> for spot
deconvolution. Estimated cell type abundances are then used to cluster
spots into groups of cell type niches which are defined as spots with
distinct composition of cell types.
</li>
<li style="padding-bottom: 2px">
<strong>(Niche Clustering: Cells)</strong> VoltRon creates spatial
neighborhoods around cells to cluster local cellular compositions around
all cells which in turn informs users on cell types that are likely
within proximity to each other.
</li>
<li style="padding-bottom: 10px">
<strong>(Hot Spot Detection)</strong> VoltRon detects region of locally
spatial patterns of cells/molecules/spots that are abundant in
biological events and/or features.
</li>
</ul>
</li>
<li style="padding-bottom: 10px">
<p>
<strong> Support for Big Data </strong> for VoltRon objects enables
storing large feature data matrices and large microscopic images of
tissues on disk without overloading memory, thus allowing analysis on
large datasets with ease. VoltRon stores large images as pyramid
structures to speed up visualization and data retrieval.
</p>
</li>
<li style="padding-bottom: 10px">
<p>
<strong> Interoperability across R/Python frameworks </strong> allows
users to convert VoltRon objects to a large number of objects used by
other spatial omic platforms such as Seurat, Squidpy (AnnData),
SpatialExperiment (BioConductor) and Giotto.
</p>
</li>
</ul>
</div>
<div style="width:70%; margin-left: auto; margin-right: auto">
<div style="float:left; margin-left: auto; margin-right: auto">
<p><br></p>
<div id="staying-up-to-date" class="section level2">
<h2>Staying up-to-date</h2>
<p>To ask questions please use VoltRon discussion forum on google
groups.</p>
<ul>
<li><a href="https://groups.google.com/forum/#!forum/voltron_discussion"
class="uri">https://groups.google.com/forum/#!forum/voltron_discussion</a></li>
</ul>
<p><br></p>
</div>
<div id="installation" class="section level2">
<h2>Installation</h2>
<p>Install from the GitHub repository using devtools (with R version
4.3.0 or higher):</p>
<pre class="r"><code>if (!require("devtools", quietly = TRUE))
install.packages("devtools")
devtools::install_github("BIMSBbioinfo/VoltRon")</code></pre>
<p>Depending on the number of required dependencies, installation may be
completed under a minute or may take a few minutes.</p>
<p>On <strong>Windows</strong> and <strong>MacOS</strong>, OpenCV will
be downloaded automatically upon installation. However, <a
href="https://cran.r-project.org/bin/windows/Rtools/rtools43/rtools.html">Rtools</a>
may be required to be downloaded too, hence this may take some time!</p>
<p>On <strong>Ubuntu</strong> we provide a set of instructions that may
help users to build OpenCV with necessary headers [here](<a
href="https://github.com/BIMSBbioinfo/VoltRon/blob/main/inst/extdata/install_ubuntu.md"
class="uri">https://github.com/BIMSBbioinfo/VoltRon/blob/main/inst/extdata/install_ubuntu.md</a>.</p>
<p>On <strong>Fedora</strong> you may need <a
href="https://src.fedoraproject.org/rpms/opencv"><code>opencv-devel</code></a>:</p>
<pre class="sh"><code>yum install opencv-devel</code></pre>
<p><br></p>
</div>
<div id="dependencies" class="section level2">
<h2>Dependencies</h2>
<p>VoltRon incorporates <code>RBioformats</code> package to import
images from <code>ome.tiff</code> files, which requires <a
href="https://www.oracle.com/java/technologies/downloads/?er=221886">Java
JDK</a> to be available in your system:</p>
<p>See <a
href="https://cran.r-project.org/web/packages/rJava">https://cran.r-project.org/web/packages/rJava</a>
for more information.</p>
<p><br></p>
</div>
<div id="docker-hub" class="section level2">
<h2>Docker Hub</h2>
<p>You can also run VoltRon from a container already available in <a
href="https://hub.docker.com/repository/docker/amanukyan1385/rstudio-voltron/general">Docker
Hub</a>. The docker image is based on the <a
href="https://rocker-project.org/">Rocker Project</a> and can be run
from the terminal like below:</p>
<pre><code>docker run --rm -ti -e PASSWORD=<yourpassword> -p 8787:8787 amanukyan1385/rstudio-voltron:main</code></pre>
<p>Then, start the RStudio session from the browser at
<code>http://localhost:8787/</code> and enter <code>rstudio</code> as
username and <code><yourpassword></code> as password.</p>
<p>See <a
href="https://github.com/BIMSBbioinfo/VoltRon/blob/main/inst/extdata/docker_desktop_instructions.md">here</a>
for more instructions on how to run the container using <a
href="https://www.docker.com/products/docker-desktop/">Docker
Desktop</a>.</p>
<p><br></p>
</div>
<div id="references" class="section level2">
<h2>References</h2>
<p>Manukyan, A., Bahry, E., Wyler, E., Becher, E., Pascual-Reguant, A.,
Plumbom, I., … & Akalin, A. (2023). <a
href="https://www.biorxiv.org/content/10.1101/2023.12.15.571667v1">VoltRon:
A Spatial Omics Analysis Platform for Multi-Resolution and Multi-omics
Integration using Image Registration</a>. bioRxiv, 2023-12. d</p>
<p>To ask questions please use VoltRon discussion forum on <a
href="https://groups.google.com/forum/#!forum/voltron_discussion">Google
groups</a>.</p>
</div>
</div>
</div>
</div>
<script>
// add bootstrap table styles to pandoc tables
function bootstrapStylePandocTables() {
$('tr.odd').parent('tbody').parent('table').addClass('table table-condensed');
}
$(document).ready(function () {
bootstrapStylePandocTables();
});
</script>
<!-- tabsets -->
<script>
$(document).ready(function () {
window.buildTabsets("TOC");
});
$(document).ready(function () {
$('.tabset-dropdown > .nav-tabs > li').click(function () {
$(this).parent().toggleClass('nav-tabs-open');
});
});
</script>
<!-- code folding -->
<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
(function () {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
document.getElementsByTagName("head")[0].appendChild(script);
})();
</script>
</body>
</html>