--- a +++ b/docs/index.html @@ -0,0 +1,603 @@ +<!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>