Repository files navigation

Introduction

The SpatialExperimentIO package provides a set of functions to import Xenium (10x Genomics), CosMx (Nanostring), MERSCOPE (Vizgen), STARmapPLUS (Wang et al., 2023, Broad Institute), and seqFISH (Spatial Genomics) data into a SpatialExperiment or SingleCellExperimentclass object.

Installation

if (!require("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install("SpatialExperimentIO")

Development version

You can also install the development version of SpatialExperimentIO from GitHub with:

# install.packages("devtools")devtools::install_github("estellad/SpatialExperimentIO", ref="devel")

Load package

library(SpatialExperimentIO)

Xenium ouptut folder structure

A standard Xenium output folder should contain these files for the function readXeniumSXE(). cells.parquet or cells.csv.gz, as well as either cell_feature_matrix.h5 or /cell_feature_matrix are required for just a count matrix at cell-level and its column data. Other transcript, cell/nucleus boundaries, and experiment.xenium .parquet files will have their paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readXeniumSXE().

 Xenium_unzipped
└── outs ├── cells.parquet ├── cell_feature_matrix.h5 └── cell_feature_matrix ├── barcodes.tsv ├── features.tsv └── matrix.mtx
├── transcripts.parquet ├── cell_boundaries.parquet ├── nucleus_boundaries.parquet └── experiment.xenium

CosMx output folder structure

A standard CosMx output folder should contain these files for the function readCosMxSXE(). Both metadata_file.csv and exprMat_file.csv are required for just a count matrix at cell-level and its column data. Additional data fov_positions_file.csv can be merged to colData(). Other transcript and polygon .csv files will be convert and write to .parquet files, and will have their parquet paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readCosMxSXE().

 CosMx ├── metadata_file.csv ├── exprMat_file.csv
├── fov_positions_file.csv
├── tx_file.csv
└── polygons.csv

MERSCOPE output folder structure

A standard MERSCOPE output folder should contain these files for the function readMerscopeSXE(). Both cell_metadata.csv and cell_by_gene.csv are required for just a count matrix at cell-level and its column data. Cell boundaries are multiple .h5 files that are yet to be processed by SpatialExperimentIO. Transcript.csv files are available and is yet to be added as path to parquet in SpatialExperimentIO.

 MERSCOPE ├── cell_metadata.csv └── cell_by_gene.csv

STARmap PLUS output folder structure

A standard STARmap PLUS output folder should contain these files for the function readStarmapplusSXE(). Both spatial.csv and raw_expression_pd.csv are required for just a count matrix at cell-level and its column data.

 STARmap_PLUS ├── spatial.csv └── raw_expression_pd.csv

seqFISH output folder structure

A standard seqFISH output folder should contain these files for the function readSeqfishSXE(). Both CellCoordinates.csv and CellxGene.csv are required for just a count matrix at cell-level and its column data.

 seqFISH ├── CellCoordinates.csv └── CellxGene.csv

Usage

Taking Xenium as an example, providing a path to the folder that stores all the required files (i.e. /outs ) would return a SpatialExperiment object.

spe<- readXeniumSXE(dir)
spe# class: SpatialExperiment # dim: 4 6 # metadata(0):# assays(1): counts# rownames(4): AATK ABL1 ACKR3 ACKR4# rowData names(3): ID Symbol Type# colnames(6): 1 2 ... 5 6# colData names(9): X cell_id ... nucleus_area sample_id# reducedDimNames(0):# mainExpName: NULL# altExpNames(0):# spatialCoords names(2) : x_centroid y_centroid# imgData names(0):

About

Read in Xenium, CosMx, Vizgen, STARmap PLUS, seqFISH data as Spatial or SingleCell Experiment object.

Resources

Stars

19 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Introduction

The SpatialExperimentIO package provides a set of functions to import Xenium (10x Genomics), CosMx (Nanostring), MERSCOPE (Vizgen), STARmapPLUS (Wang et al., 2023, Broad Institute), and seqFISH (Spatial Genomics) data into a SpatialExperiment or SingleCellExperimentclass object.

Installation

if (!require("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install("SpatialExperimentIO")

Development version

You can also install the development version of SpatialExperimentIO from GitHub with:

# install.packages("devtools")devtools::install_github("estellad/SpatialExperimentIO", ref="devel")

Load package

library(SpatialExperimentIO)

Xenium ouptut folder structure

A standard Xenium output folder should contain these files for the function readXeniumSXE(). cells.parquet or cells.csv.gz, as well as either cell_feature_matrix.h5 or /cell_feature_matrix are required for just a count matrix at cell-level and its column data. Other transcript, cell/nucleus boundaries, and experiment.xenium .parquet files will have their paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readXeniumSXE().

 Xenium_unzipped
└── outs ├── cells.parquet ├── cell_feature_matrix.h5 └── cell_feature_matrix ├── barcodes.tsv ├── features.tsv └── matrix.mtx
├── transcripts.parquet ├── cell_boundaries.parquet ├── nucleus_boundaries.parquet └── experiment.xenium

CosMx output folder structure

A standard CosMx output folder should contain these files for the function readCosMxSXE(). Both metadata_file.csv and exprMat_file.csv are required for just a count matrix at cell-level and its column data. Additional data fov_positions_file.csv can be merged to colData(). Other transcript and polygon .csv files will be convert and write to .parquet files, and will have their parquet paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readCosMxSXE().

 CosMx ├── metadata_file.csv ├── exprMat_file.csv
├── fov_positions_file.csv
├── tx_file.csv
└── polygons.csv

MERSCOPE output folder structure

A standard MERSCOPE output folder should contain these files for the function readMerscopeSXE(). Both cell_metadata.csv and cell_by_gene.csv are required for just a count matrix at cell-level and its column data. Cell boundaries are multiple .h5 files that are yet to be processed by SpatialExperimentIO. Transcript.csv files are available and is yet to be added as path to parquet in SpatialExperimentIO.

 MERSCOPE ├── cell_metadata.csv └── cell_by_gene.csv

STARmap PLUS output folder structure

A standard STARmap PLUS output folder should contain these files for the function readStarmapplusSXE(). Both spatial.csv and raw_expression_pd.csv are required for just a count matrix at cell-level and its column data.

 STARmap_PLUS ├── spatial.csv └── raw_expression_pd.csv

seqFISH output folder structure

A standard seqFISH output folder should contain these files for the function readSeqfishSXE(). Both CellCoordinates.csv and CellxGene.csv are required for just a count matrix at cell-level and its column data.

 seqFISH ├── CellCoordinates.csv └── CellxGene.csv

Usage

Taking Xenium as an example, providing a path to the folder that stores all the required files (i.e. /outs ) would return a SpatialExperiment object.

spe<- readXeniumSXE(dir)
spe# class: SpatialExperiment # dim: 4 6 # metadata(0):# assays(1): counts# rownames(4): AATK ABL1 ACKR3 ACKR4# rowData names(3): ID Symbol Type# colnames(6): 1 2 ... 5 6# colData names(9): X cell_id ... nucleus_area sample_id# reducedDimNames(0):# mainExpName: NULL# altExpNames(0):# spatialCoords names(2) : x_centroid y_centroid# imgData names(0):

About

Read in Xenium, CosMx, Vizgen, STARmap PLUS, seqFISH data as Spatial or SingleCell Experiment object.

Resources

Stars

19 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Introduction

The SpatialExperimentIO package provides a set of functions to import Xenium (10x Genomics), CosMx (Nanostring), MERSCOPE (Vizgen), STARmapPLUS (Wang et al., 2023, Broad Institute), and seqFISH (Spatial Genomics) data into a SpatialExperiment or SingleCellExperimentclass object.

Installation

if (!require("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install("SpatialExperimentIO")

Development version

You can also install the development version of SpatialExperimentIO from GitHub with:

# install.packages("devtools")devtools::install_github("estellad/SpatialExperimentIO", ref="devel")

Load package

library(SpatialExperimentIO)

Xenium ouptut folder structure

A standard Xenium output folder should contain these files for the function readXeniumSXE(). cells.parquet or cells.csv.gz, as well as either cell_feature_matrix.h5 or /cell_feature_matrix are required for just a count matrix at cell-level and its column data. Other transcript, cell/nucleus boundaries, and experiment.xenium .parquet files will have their paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readXeniumSXE().

 Xenium_unzipped
└── outs ├── cells.parquet ├── cell_feature_matrix.h5 └── cell_feature_matrix ├── barcodes.tsv ├── features.tsv └── matrix.mtx
├── transcripts.parquet ├── cell_boundaries.parquet ├── nucleus_boundaries.parquet └── experiment.xenium

CosMx output folder structure

A standard CosMx output folder should contain these files for the function readCosMxSXE(). Both metadata_file.csv and exprMat_file.csv are required for just a count matrix at cell-level and its column data. Additional data fov_positions_file.csv can be merged to colData(). Other transcript and polygon .csv files will be convert and write to .parquet files, and will have their parquet paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readCosMxSXE().

 CosMx ├── metadata_file.csv ├── exprMat_file.csv
├── fov_positions_file.csv
├── tx_file.csv
└── polygons.csv

MERSCOPE output folder structure

A standard MERSCOPE output folder should contain these files for the function readMerscopeSXE(). Both cell_metadata.csv and cell_by_gene.csv are required for just a count matrix at cell-level and its column data. Cell boundaries are multiple .h5 files that are yet to be processed by SpatialExperimentIO. Transcript.csv files are available and is yet to be added as path to parquet in SpatialExperimentIO.

 MERSCOPE ├── cell_metadata.csv └── cell_by_gene.csv

STARmap PLUS output folder structure

A standard STARmap PLUS output folder should contain these files for the function readStarmapplusSXE(). Both spatial.csv and raw_expression_pd.csv are required for just a count matrix at cell-level and its column data.

 STARmap_PLUS ├── spatial.csv └── raw_expression_pd.csv

seqFISH output folder structure

A standard seqFISH output folder should contain these files for the function readSeqfishSXE(). Both CellCoordinates.csv and CellxGene.csv are required for just a count matrix at cell-level and its column data.

 seqFISH ├── CellCoordinates.csv └── CellxGene.csv

Usage

Taking Xenium as an example, providing a path to the folder that stores all the required files (i.e. /outs ) would return a SpatialExperiment object.

spe<- readXeniumSXE(dir)
spe# class: SpatialExperiment # dim: 4 6 # metadata(0):# assays(1): counts# rownames(4): AATK ABL1 ACKR3 ACKR4# rowData names(3): ID Symbol Type# colnames(6): 1 2 ... 5 6# colData names(9): X cell_id ... nucleus_area sample_id# reducedDimNames(0):# mainExpName: NULL# altExpNames(0):# spatialCoords names(2) : x_centroid y_centroid# imgData names(0):

About

Read in Xenium, CosMx, Vizgen, STARmap PLUS, seqFISH data as Spatial or SingleCell Experiment object.

Resources

Stars

19 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Introduction

The SpatialExperimentIO package provides a set of functions to import Xenium (10x Genomics), CosMx (Nanostring), MERSCOPE (Vizgen), STARmapPLUS (Wang et al., 2023, Broad Institute), and seqFISH (Spatial Genomics) data into a SpatialExperiment or SingleCellExperimentclass object.

Installation

if (!require("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install("SpatialExperimentIO")

Development version

You can also install the development version of SpatialExperimentIO from GitHub with:

# install.packages("devtools")devtools::install_github("estellad/SpatialExperimentIO", ref="devel")

Load package

library(SpatialExperimentIO)

Xenium ouptut folder structure

A standard Xenium output folder should contain these files for the function readXeniumSXE(). cells.parquet or cells.csv.gz, as well as either cell_feature_matrix.h5 or /cell_feature_matrix are required for just a count matrix at cell-level and its column data. Other transcript, cell/nucleus boundaries, and experiment.xenium .parquet files will have their paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readXeniumSXE().

 Xenium_unzipped
└── outs ├── cells.parquet ├── cell_feature_matrix.h5 └── cell_feature_matrix ├── barcodes.tsv ├── features.tsv └── matrix.mtx
├── transcripts.parquet ├── cell_boundaries.parquet ├── nucleus_boundaries.parquet └── experiment.xenium

CosMx output folder structure

A standard CosMx output folder should contain these files for the function readCosMxSXE(). Both metadata_file.csv and exprMat_file.csv are required for just a count matrix at cell-level and its column data. Additional data fov_positions_file.csv can be merged to colData(). Other transcript and polygon .csv files will be convert and write to .parquet files, and will have their parquet paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readCosMxSXE().

 CosMx ├── metadata_file.csv ├── exprMat_file.csv
├── fov_positions_file.csv
├── tx_file.csv
└── polygons.csv

MERSCOPE output folder structure

A standard MERSCOPE output folder should contain these files for the function readMerscopeSXE(). Both cell_metadata.csv and cell_by_gene.csv are required for just a count matrix at cell-level and its column data. Cell boundaries are multiple .h5 files that are yet to be processed by SpatialExperimentIO. Transcript.csv files are available and is yet to be added as path to parquet in SpatialExperimentIO.

 MERSCOPE ├── cell_metadata.csv └── cell_by_gene.csv

STARmap PLUS output folder structure

A standard STARmap PLUS output folder should contain these files for the function readStarmapplusSXE(). Both spatial.csv and raw_expression_pd.csv are required for just a count matrix at cell-level and its column data.

 STARmap_PLUS ├── spatial.csv └── raw_expression_pd.csv

seqFISH output folder structure

A standard seqFISH output folder should contain these files for the function readSeqfishSXE(). Both CellCoordinates.csv and CellxGene.csv are required for just a count matrix at cell-level and its column data.

 seqFISH ├── CellCoordinates.csv └── CellxGene.csv

Usage

Taking Xenium as an example, providing a path to the folder that stores all the required files (i.e. /outs ) would return a SpatialExperiment object.

spe<- readXeniumSXE(dir)
spe# class: SpatialExperiment # dim: 4 6 # metadata(0):# assays(1): counts# rownames(4): AATK ABL1 ACKR3 ACKR4# rowData names(3): ID Symbol Type# colnames(6): 1 2 ... 5 6# colData names(9): X cell_id ... nucleus_area sample_id# reducedDimNames(0):# mainExpName: NULL# altExpNames(0):# spatialCoords names(2) : x_centroid y_centroid# imgData names(0):

About

Read in Xenium, CosMx, Vizgen, STARmap PLUS, seqFISH data as Spatial or SingleCell Experiment object.

Resources

Stars

19 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Introduction

The SpatialExperimentIO package provides a set of functions to import Xenium (10x Genomics), CosMx (Nanostring), MERSCOPE (Vizgen), STARmapPLUS (Wang et al., 2023, Broad Institute), and seqFISH (Spatial Genomics) data into a SpatialExperiment or SingleCellExperimentclass object.

Installation

if (!require("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install("SpatialExperimentIO")

Development version

You can also install the development version of SpatialExperimentIO from GitHub with:

# install.packages("devtools")devtools::install_github("estellad/SpatialExperimentIO", ref="devel")

Load package

library(SpatialExperimentIO)

Xenium ouptut folder structure

A standard Xenium output folder should contain these files for the function readXeniumSXE(). cells.parquet or cells.csv.gz, as well as either cell_feature_matrix.h5 or /cell_feature_matrix are required for just a count matrix at cell-level and its column data. Other transcript, cell/nucleus boundaries, and experiment.xenium .parquet files will have their paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readXeniumSXE().

 Xenium_unzipped
└── outs ├── cells.parquet ├── cell_feature_matrix.h5 └── cell_feature_matrix ├── barcodes.tsv ├── features.tsv └── matrix.mtx
├── transcripts.parquet ├── cell_boundaries.parquet ├── nucleus_boundaries.parquet └── experiment.xenium

CosMx output folder structure

A standard CosMx output folder should contain these files for the function readCosMxSXE(). Both metadata_file.csv and exprMat_file.csv are required for just a count matrix at cell-level and its column data. Additional data fov_positions_file.csv can be merged to colData(). Other transcript and polygon .csv files will be convert and write to .parquet files, and will have their parquet paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readCosMxSXE().

 CosMx ├── metadata_file.csv ├── exprMat_file.csv
├── fov_positions_file.csv
├── tx_file.csv
└── polygons.csv

MERSCOPE output folder structure

A standard MERSCOPE output folder should contain these files for the function readMerscopeSXE(). Both cell_metadata.csv and cell_by_gene.csv are required for just a count matrix at cell-level and its column data. Cell boundaries are multiple .h5 files that are yet to be processed by SpatialExperimentIO. Transcript.csv files are available and is yet to be added as path to parquet in SpatialExperimentIO.

 MERSCOPE ├── cell_metadata.csv └── cell_by_gene.csv

STARmap PLUS output folder structure

A standard STARmap PLUS output folder should contain these files for the function readStarmapplusSXE(). Both spatial.csv and raw_expression_pd.csv are required for just a count matrix at cell-level and its column data.

 STARmap_PLUS ├── spatial.csv └── raw_expression_pd.csv

seqFISH output folder structure

A standard seqFISH output folder should contain these files for the function readSeqfishSXE(). Both CellCoordinates.csv and CellxGene.csv are required for just a count matrix at cell-level and its column data.

 seqFISH ├── CellCoordinates.csv └── CellxGene.csv

Usage

Taking Xenium as an example, providing a path to the folder that stores all the required files (i.e. /outs ) would return a SpatialExperiment object.

spe<- readXeniumSXE(dir)
spe# class: SpatialExperiment # dim: 4 6 # metadata(0):# assays(1): counts# rownames(4): AATK ABL1 ACKR3 ACKR4# rowData names(3): ID Symbol Type# colnames(6): 1 2 ... 5 6# colData names(9): X cell_id ... nucleus_area sample_id# reducedDimNames(0):# mainExpName: NULL# altExpNames(0):# spatialCoords names(2) : x_centroid y_centroid# imgData names(0):

About

Read in Xenium, CosMx, Vizgen, STARmap PLUS, seqFISH data as Spatial or SingleCell Experiment object.

Resources

Stars

19 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Introduction

The SpatialExperimentIO package provides a set of functions to import Xenium (10x Genomics), CosMx (Nanostring), MERSCOPE (Vizgen), STARmapPLUS (Wang et al., 2023, Broad Institute), and seqFISH (Spatial Genomics) data into a SpatialExperiment or SingleCellExperimentclass object.

Installation

if (!require("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install("SpatialExperimentIO")

Development version

You can also install the development version of SpatialExperimentIO from GitHub with:

# install.packages("devtools")devtools::install_github("estellad/SpatialExperimentIO", ref="devel")

Load package

library(SpatialExperimentIO)

Xenium ouptut folder structure

A standard Xenium output folder should contain these files for the function readXeniumSXE(). cells.parquet or cells.csv.gz, as well as either cell_feature_matrix.h5 or /cell_feature_matrix are required for just a count matrix at cell-level and its column data. Other transcript, cell/nucleus boundaries, and experiment.xenium .parquet files will have their paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readXeniumSXE().

 Xenium_unzipped
└── outs ├── cells.parquet ├── cell_feature_matrix.h5 └── cell_feature_matrix ├── barcodes.tsv ├── features.tsv └── matrix.mtx
├── transcripts.parquet ├── cell_boundaries.parquet ├── nucleus_boundaries.parquet └── experiment.xenium

CosMx output folder structure

A standard CosMx output folder should contain these files for the function readCosMxSXE(). Both metadata_file.csv and exprMat_file.csv are required for just a count matrix at cell-level and its column data. Additional data fov_positions_file.csv can be merged to colData(). Other transcript and polygon .csv files will be convert and write to .parquet files, and will have their parquet paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readCosMxSXE().

 CosMx ├── metadata_file.csv ├── exprMat_file.csv
├── fov_positions_file.csv
├── tx_file.csv
└── polygons.csv

MERSCOPE output folder structure

A standard MERSCOPE output folder should contain these files for the function readMerscopeSXE(). Both cell_metadata.csv and cell_by_gene.csv are required for just a count matrix at cell-level and its column data. Cell boundaries are multiple .h5 files that are yet to be processed by SpatialExperimentIO. Transcript.csv files are available and is yet to be added as path to parquet in SpatialExperimentIO.

 MERSCOPE ├── cell_metadata.csv └── cell_by_gene.csv

STARmap PLUS output folder structure

A standard STARmap PLUS output folder should contain these files for the function readStarmapplusSXE(). Both spatial.csv and raw_expression_pd.csv are required for just a count matrix at cell-level and its column data.

 STARmap_PLUS ├── spatial.csv └── raw_expression_pd.csv

seqFISH output folder structure

A standard seqFISH output folder should contain these files for the function readSeqfishSXE(). Both CellCoordinates.csv and CellxGene.csv are required for just a count matrix at cell-level and its column data.

 seqFISH ├── CellCoordinates.csv └── CellxGene.csv

Usage

Taking Xenium as an example, providing a path to the folder that stores all the required files (i.e. /outs ) would return a SpatialExperiment object.

spe<- readXeniumSXE(dir)
spe# class: SpatialExperiment # dim: 4 6 # metadata(0):# assays(1): counts# rownames(4): AATK ABL1 ACKR3 ACKR4# rowData names(3): ID Symbol Type# colnames(6): 1 2 ... 5 6# colData names(9): X cell_id ... nucleus_area sample_id# reducedDimNames(0):# mainExpName: NULL# altExpNames(0):# spatialCoords names(2) : x_centroid y_centroid# imgData names(0):

About

Read in Xenium, CosMx, Vizgen, STARmap PLUS, seqFISH data as Spatial or SingleCell Experiment object.

Resources

Stars

19 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Introduction

The SpatialExperimentIO package provides a set of functions to import Xenium (10x Genomics), CosMx (Nanostring), MERSCOPE (Vizgen), STARmapPLUS (Wang et al., 2023, Broad Institute), and seqFISH (Spatial Genomics) data into a SpatialExperiment or SingleCellExperimentclass object.

Installation

if (!require("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install("SpatialExperimentIO")

Development version

You can also install the development version of SpatialExperimentIO from GitHub with:

# install.packages("devtools")devtools::install_github("estellad/SpatialExperimentIO", ref="devel")

Load package

library(SpatialExperimentIO)

Xenium ouptut folder structure

A standard Xenium output folder should contain these files for the function readXeniumSXE(). cells.parquet or cells.csv.gz, as well as either cell_feature_matrix.h5 or /cell_feature_matrix are required for just a count matrix at cell-level and its column data. Other transcript, cell/nucleus boundaries, and experiment.xenium .parquet files will have their paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readXeniumSXE().

 Xenium_unzipped
└── outs ├── cells.parquet ├── cell_feature_matrix.h5 └── cell_feature_matrix ├── barcodes.tsv ├── features.tsv └── matrix.mtx
├── transcripts.parquet ├── cell_boundaries.parquet ├── nucleus_boundaries.parquet └── experiment.xenium

CosMx output folder structure

A standard CosMx output folder should contain these files for the function readCosMxSXE(). Both metadata_file.csv and exprMat_file.csv are required for just a count matrix at cell-level and its column data. Additional data fov_positions_file.csv can be merged to colData(). Other transcript and polygon .csv files will be convert and write to .parquet files, and will have their parquet paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readCosMxSXE().

 CosMx ├── metadata_file.csv ├── exprMat_file.csv
├── fov_positions_file.csv
├── tx_file.csv
└── polygons.csv

MERSCOPE output folder structure

A standard MERSCOPE output folder should contain these files for the function readMerscopeSXE(). Both cell_metadata.csv and cell_by_gene.csv are required for just a count matrix at cell-level and its column data. Cell boundaries are multiple .h5 files that are yet to be processed by SpatialExperimentIO. Transcript.csv files are available and is yet to be added as path to parquet in SpatialExperimentIO.

 MERSCOPE ├── cell_metadata.csv └── cell_by_gene.csv

STARmap PLUS output folder structure

A standard STARmap PLUS output folder should contain these files for the function readStarmapplusSXE(). Both spatial.csv and raw_expression_pd.csv are required for just a count matrix at cell-level and its column data.

 STARmap_PLUS ├── spatial.csv └── raw_expression_pd.csv

seqFISH output folder structure

A standard seqFISH output folder should contain these files for the function readSeqfishSXE(). Both CellCoordinates.csv and CellxGene.csv are required for just a count matrix at cell-level and its column data.

 seqFISH ├── CellCoordinates.csv └── CellxGene.csv

Usage

Taking Xenium as an example, providing a path to the folder that stores all the required files (i.e. /outs ) would return a SpatialExperiment object.

spe<- readXeniumSXE(dir)
spe# class: SpatialExperiment # dim: 4 6 # metadata(0):# assays(1): counts# rownames(4): AATK ABL1 ACKR3 ACKR4# rowData names(3): ID Symbol Type# colnames(6): 1 2 ... 5 6# colData names(9): X cell_id ... nucleus_area sample_id# reducedDimNames(0):# mainExpName: NULL# altExpNames(0):# spatialCoords names(2) : x_centroid y_centroid# imgData names(0):

About

Read in Xenium, CosMx, Vizgen, STARmap PLUS, seqFISH data as Spatial or SingleCell Experiment object.

Resources

Stars

19 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Introduction

The SpatialExperimentIO package provides a set of functions to import Xenium (10x Genomics), CosMx (Nanostring), MERSCOPE (Vizgen), STARmapPLUS (Wang et al., 2023, Broad Institute), and seqFISH (Spatial Genomics) data into a SpatialExperiment or SingleCellExperimentclass object.

Installation

if (!require("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install("SpatialExperimentIO")

Development version

You can also install the development version of SpatialExperimentIO from GitHub with:

# install.packages("devtools")devtools::install_github("estellad/SpatialExperimentIO", ref="devel")

Load package

library(SpatialExperimentIO)

Xenium ouptut folder structure

A standard Xenium output folder should contain these files for the function readXeniumSXE(). cells.parquet or cells.csv.gz, as well as either cell_feature_matrix.h5 or /cell_feature_matrix are required for just a count matrix at cell-level and its column data. Other transcript, cell/nucleus boundaries, and experiment.xenium .parquet files will have their paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readXeniumSXE().

 Xenium_unzipped
└── outs ├── cells.parquet ├── cell_feature_matrix.h5 └── cell_feature_matrix ├── barcodes.tsv ├── features.tsv └── matrix.mtx
├── transcripts.parquet ├── cell_boundaries.parquet ├── nucleus_boundaries.parquet └── experiment.xenium

CosMx output folder structure

A standard CosMx output folder should contain these files for the function readCosMxSXE(). Both metadata_file.csv and exprMat_file.csv are required for just a count matrix at cell-level and its column data. Additional data fov_positions_file.csv can be merged to colData(). Other transcript and polygon .csv files will be convert and write to .parquet files, and will have their parquet paths added to metadata(). Genes that are served as control probes can be moved to altExp() by specifying their gene name patterns in the reader readCosMxSXE().

 CosMx ├── metadata_file.csv ├── exprMat_file.csv
├── fov_positions_file.csv
├── tx_file.csv
└── polygons.csv

MERSCOPE output folder structure

A standard MERSCOPE output folder should contain these files for the function readMerscopeSXE(). Both cell_metadata.csv and cell_by_gene.csv are required for just a count matrix at cell-level and its column data. Cell boundaries are multiple .h5 files that are yet to be processed by SpatialExperimentIO. Transcript.csv files are available and is yet to be added as path to parquet in SpatialExperimentIO.

 MERSCOPE ├── cell_metadata.csv └── cell_by_gene.csv

STARmap PLUS output folder structure

A standard STARmap PLUS output folder should contain these files for the function readStarmapplusSXE(). Both spatial.csv and raw_expression_pd.csv are required for just a count matrix at cell-level and its column data.

 STARmap_PLUS ├── spatial.csv └── raw_expression_pd.csv

seqFISH output folder structure

A standard seqFISH output folder should contain these files for the function readSeqfishSXE(). Both CellCoordinates.csv and CellxGene.csv are required for just a count matrix at cell-level and its column data.

 seqFISH ├── CellCoordinates.csv └── CellxGene.csv

Usage

Taking Xenium as an example, providing a path to the folder that stores all the required files (i.e. /outs ) would return a SpatialExperiment object.

spe<- readXeniumSXE(dir)
spe# class: SpatialExperiment # dim: 4 6 # metadata(0):# assays(1): counts# rownames(4): AATK ABL1 ACKR3 ACKR4# rowData names(3): ID Symbol Type# colnames(6): 1 2 ... 5 6# colData names(9): X cell_id ... nucleus_area sample_id# reducedDimNames(0):# mainExpName: NULL# altExpNames(0):# spatialCoords names(2) : x_centroid y_centroid# imgData names(0):

About

Read in Xenium, CosMx, Vizgen, STARmap PLUS, seqFISH data as Spatial or SingleCell Experiment object.

Resources

Stars

19 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages