scMINA: an interpretable workflow for paired scRNA-scATAC multiome integration and regulatory prioritization.
The 9 matches
- [1] § Materials and methods › Benchmarking scMultiome integration methods ↔ scpair/model.py, lines 342 to 449 · score 0.86 · zero inflated, hidden layers, dropout rate, activation function, encoding, scPair · Report a mismatch
- [2] § Materials and methods › Data normalization, cell clustering, and differential expression analysis ↔ scripts/example_visualize_data.R, lines 46 to 105 · score 0.84 · FindVariableFeatures, FindClusters, FindNeighbors, Seurat, log, clustering · Report a mismatch
- [3] § Materials and methods › Benchmarking scMultiome integration methods ↔ scripts/example_process_data.py, lines 14 to 59 · score 0.79 · log1p, min_disp, highly variable genes, preprocessed, max, dimensional · Report a mismatch
- [4] § Materials and methods › Benchmarking scMultiome integration methods ↔ mofapy2/run/entry_point.py, lines 1772 to 1839 · score 0.74 · ard_factors, ard_weights, highly variable, fast, GPU, variance · Report a mismatch
- [5] § Materials and methods › Data normalization, cell clustering, and differential expression analysis ↔ scripts/integrate_scPair_multiome.R, lines 76 to 134 · score 0.65 · FindClusters, FindNeighbors, UMAP, scPair, clustering · Report a mismatch
- [6] § Results › scMINA overview ↔ scripts/run_FigR_analysis.R, lines 140 to 176 · score 0.61 · gene regulatory networks, TF DORC, FigR, GRNs, cis, Gradients · Report a mismatch
- [7] § Results › scMINA overview ↔ scripts/run_FigR_analysis.R, lines 132 to 168 · score 0.61 · gene regulatory networks, TF DORC, FigR, GRNs, cis, Gradients · Report a mismatch
- [8] § Results › Correlation-based downstream analysis reveals AD-associated shifts and regulatory networks in glial cell types ↔ scripts/run_FigR_analysis.R, lines 140 to 176 · score 0.58 · TF DORC, regulatory networks, FigR, interactions, enrichment, scores · Report a mismatch
- [9] § Results › Correlation-based downstream analysis reveals AD-associated shifts and regulatory networks in glial cell types ↔ scripts/run_FigR_analysis.R, lines 132 to 168 · score 0.58 · TF DORC, regulatory networks, FigR, interactions, enrichment, scores · Report a mismatch
Paper
Loaded from Europe PMC by your browser; OSCR does not store it: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
R · 243 lines · 8 KB · MIT · 2 matches
- #' Run FigR Gene Regulatory Network Analysis
- #'
- #' This function performs the full FigR analysis workflow, including:
- #' - Peak–gene association testing (runGenePeakcorr)
- #' - DORC identification and visualization
- #' - DORC scoring and smoothing
- #' - RNA smoothing using kNN graph
- #' - GRN inference using FigR::runFigRGRN
- #' - TF-DORC visualization and driver ranking
- #'
- #' It assumes that preprocessing was performed using prep_FigR_inputs().
- #'
- #' @param atac_se_rds Path to SummarizedExperiment object produced during preprocessing.
- #' @param rna_mat_rds Path to normalized RNA matrix (RDS).
- #' @param cellknn_rds Path to cell kNN matrix produced during preprocessing.
- #' @param genome Genome assembly for FigR ("hg38", "hg19", or "mm10"). Default: "hg38".
- #' @param nCores_corr Number of cores for runGenePeakcorr.
- #' @param nCores_smooth Number of cores for smoothing steps.
- #' @param nCores_grn Number of cores for GRN inference.
- #' @param dorc_cutoff Minimum number of significant peaks to call a DORC (default = 5).
- #' @param dorc_labelTop Number of DORCs to label in plots (default = 20).
- #' @param dorcK Proportion for DORC selection in GRN (default = 2).
- #' @param prefix Output filename prefix (default = "FigR").
- #' @param outdir Output directory (default = "./FigR_results").
- #' @param seed Random seed used by FigR and R, including parallel RNG streams.
- #' Default: 0.
- #'
- #' @return A list containing cisCorr, cisCorr.filt, dorcGenes, dorcMat.s, RNAmat.s, and figR.d.
- #' @export
- #'
- #' @examples
- #' run_FigR_analysis(
- #' atac_se_rds = "oligo_ATACse_FigR.rds",
- #' rna_mat_rds = "oligo_RNAmat_FigR.rds",
- #' cellknn_rds = "oligo_cellkNN_FigR.rds",
- #' genome = "hg38",
- #' prefix = "oligo"
- #' )
- #'
- run_FigR_analysis <- function(
- atac_se_rds,
- rna_mat_rds,
- cellknn_rds,
- genome = "hg38",
- nCores_corr = 64,
- nCores_smooth = 24,
- nCores_grn = 8,
- dorc_cutoff = 5,
- dorc_labelTop = 20,
- dorcK = 2,
- seed = 0,
- prefix = "FigR",
- outdir = "./FigR_results"
- ){
- suppressPackageStartupMessages({
- library(dplyr)
- library(Matrix)
- library(FigR)
- library(BuenColors)
- library(ggplot2)
- })
- RNGkind("L'Ecuyer-CMRG")
- set.seed(seed)
- message("Random seed: ", seed)
- if (!dir.exists(outdir)) dir.create(outdir, recursive = TRUE)
- #------------------------------------------------------
- # Load Inputs
- #------------------------------------------------------
- ATAC.se <- readRDS(atac_se_rds)
- RNAmat <- readRDS(rna_mat_rds)
- cellkNN <- readRDS(cellknn_rds)
- #------------------------------------------------------
- # Peak–Gene Correlation Testing
- #------------------------------------------------------
- cisCorr <- FigR::runGenePeakcorr(
- ATAC.se = ATAC.se,
- RNAmat = RNAmat,
- genome = genome,
- nCores = nCores_corr,
- p.cut = NULL,
- n_bg = 100
- )
- saveRDS(cisCorr, file.path(outdir, paste0(prefix, "_cisCorr.rds")))
- cisCorr.filt <- cisCorr %>% dplyr::filter(pvalZ <= 0.05)
- #------------------------------------------------------
- # DORC Identification + Visualization
- #------------------------------------------------------
- pdf(file.path(outdir, paste0(prefix, "_DORC_plot.pdf")), width = 10, height = 5)
- dorcGenes <- dorcJPlot(
- dorcTab = cisCorr.filt,
- cutoff = dorc_cutoff,
- labelTop = dorc_labelTop,
- returnGeneList = TRUE,
- force = 2
- )
- dev.off()
- numDorcs <- cisCorr.filt %>%
- group_by(Gene) %>%
- tally() %>%
- arrange(desc(n))
- saveRDS(numDorcs, file.path(outdir, paste0(prefix, "_numDorcs.rds")))
- #------------------------------------------------------
- # Compute DORC Scores
- #------------------------------------------------------
- dorcMat <- getDORCScores(
- ATAC.se = ATAC.se,
- dorcTab = cisCorr.filt,
- geneList = dorcGenes,
- nCores = 1
- )
- #------------------------------------------------------
- # Smooth DORC Scores Using kNN
- #------------------------------------------------------
- dorcMat.s <- smoothScoresNN(
- NNmat = cellkNN[, 1:30],
- mat = dorcMat,
- nCores = 4
- )
- #------------------------------------------------------
- # Smooth RNA Matrix Using kNN
- #------------------------------------------------------
- RNAmat.s <- smoothScoresNN(
- NNmat = cellkNN[, 1:30],
- mat = RNAmat,
- nCores = nCores_smooth
- )
- #------------------------------------------------------
- # FigR Gene Regulatory Network Inference
- #------------------------------------------------------
- figR.d <- runFigRGRN(
- ATAC.se = ATAC.se,
- dorcTab = cisCorr.filt,
- genome = genome,
- dorcMat = dorcMat.s,
- rnaMat = RNAmat.s,
- dorcK = dorcK,
- nCores = nCores_grn
- )
- saveRDS(figR.d, file.path(outdir, paste0(prefix, "_FigR_GRN.rds")))
- #------------------------------------------------------
- # Visualization: TF–DORC Scatter Plot
- #------------------------------------------------------
- pdf(file.path(outdir, paste0(prefix, "_TF_DORC_scatter.pdf")), width = 4, height = 4)
- figR.d %>%
- ggplot(aes(Corr.log10P, Enrichment.log10P, color = Score)) +
- ggrastr::geom_point_rast(size = 0.01, shape = 16) +
- theme_classic() +
- scale_color_gradientn(
- colours = jdb_palette("solar_extra"),
- limits = c(-3, 3),
- oob = scales::squish,
- breaks = scales::breaks_pretty(n = 3)
- )
- dev.off()
- #------------------------------------------------------
- # Visualization: Driver Ranking
- #------------------------------------------------------
- pdf(file.path(outdir, paste0(prefix, "_TF_drivers.pdf")), width = 6, height = 4)
- rankDrivers(figR.d, rankBy = "meanScore", interactive = FALSE)
- dev.off()
- #------------------------------------------------------
- # Return all key results
- #------------------------------------------------------
- return(list(
- cisCorr = cisCorr,
- cisCorr_filt = cisCorr.filt,
- dorcGenes = dorcGenes,
- numDorcs = numDorcs,
- dorcMat_smooth = dorcMat.s,
- RNAmat_smooth = RNAmat.s,
- figR_GRN = figR.d
- ))
- }
- if (sys.nframe() == 0) {
- # CLI wrapper for Rscript usage with --key value args
- args <- commandArgs(trailingOnly = TRUE)
- arg_list <- list()
- if (length(args) > 0) {
- i <- 1
- while (i <= length(args)) {
- key <- args[[i]]
- if (startsWith(key, "--")) {
- name <- substring(key, 3)
- value <- if (i + 1 <= length(args) && !startsWith(args[[i + 1]], "--")) args[[i + 1]] else TRUE
- arg_list[[name]] <- value
- i <- i + if (isTRUE(value) && (i + 1 > length(args) || startsWith(args[[i + 1]], "--"))) 1 else 2
- } else {
- i <- i + 1
- }
- }
- }
- required <- c("atac_se_rds", "rna_mat_rds", "cellknn_rds")
- missing <- setdiff(required, names(arg_list))
- if (length(missing) > 0) {
- stop("Missing required arguments: ", paste(missing, collapse = ", "))
- }
- genome <- if (!is.null(arg_list$genome)) arg_list$genome else "hg38"
- nCores_corr <- if (!is.null(arg_list$nCores_corr)) as.integer(arg_list$nCores_corr) else 64
- nCores_smooth <- if (!is.null(arg_list$nCores_smooth)) as.integer(arg_list$nCores_smooth) else 24
- nCores_grn <- if (!is.null(arg_list$nCores_grn)) as.integer(arg_list$nCores_grn) else 8
- dorc_cutoff <- if (!is.null(arg_list$dorc_cutoff)) as.numeric(arg_list$dorc_cutoff) else 5
- dorc_labelTop <- if (!is.null(arg_list$dorc_labelTop)) as.integer(arg_list$dorc_labelTop) else 20
- dorcK <- if (!is.null(arg_list$dorcK)) as.numeric(arg_list$dorcK) else 2
- seed <- if (!is.null(arg_list$seed)) as.integer(arg_list$seed) else 0L
- prefix <- if (!is.null(arg_list$prefix)) arg_list$prefix else "FigR"
- outdir <- if (!is.null(arg_list$outdir)) arg_list$outdir else "./FigR_results"
- run_FigR_analysis(
- atac_se_rds = arg_list$atac_se_rds,
- rna_mat_rds = arg_list$rna_mat_rds,
- cellknn_rds = arg_list$cellknn_rds,
- genome = genome,
- nCores_corr = nCores_corr,
- nCores_smooth = nCores_smooth,
- nCores_grn = nCores_grn,
- dorc_cutoff = dorc_cutoff,
- dorc_labelTop = dorc_labelTop,
- dorcK = dorcK,
- seed = seed,
- prefix = prefix,
- outdir = outdir
- )
- }
run_FigR_analysis.R at commit 0356836, under MIT · at the source
Overview
- Department of Quantitative Health Sciences, Mayo Clinic, Rochester, MN 55905, United States
- Integrative Genetics and Genomics, University of California, Davis, CA 95616, United States
- Department of Quantitative Health Sciences, Mayo Clinic, Jacksonville, FL 32224, United States
- Division of Biostatistics, Washington University School of Medicine, St. Louis, MO 63110, United States
- Department of Neuroscience, Mayo Clinic, Jacksonville, FL 32224, United States
Abstract
Single-cell multiomic technologies that jointly profile transcriptomic and epigenomic states provide unprecedented opportunities to investigate cellular heterogeneity and gene regulatory mechanisms in complex diseases. However, analysis of paired single-cell RNA-seq (scRNA-seq) and chromatin accessibility (scATAC-seq) data remains computationally challenging due to modality-specific technical variation, integration complexity, and limited interpretability of downstream regulatory inference. Here, we present scMINA (single-cell Multimodal Integration and Network Attribution), a modular and interpretable analytical workflow for the analysis of paired single-cell multiome datasets. scMINA comprises coordinated modules for multimodal integration, technical covariate correction, and regulatory feature prioritization, enabling systematic characterization of cellular states across transcriptomic and epigenomic modalities. In addition, scMINA incorporates explainable artificial intelligence-based attribution strategies to prioritize candidate genes and transcription factors associated with cell-state heterogeneity and disease-related regulatory alterations. We applied scMINA to the single-cell multiome data from the Seattle Alzheimer’s Disease Brain Cell Atlas, where the workflow robustly resolved major glial cell populations and identified regulatory features associated with Alzheimer’s disease pathology. By coupling multimodal integration with interpretable regulatory prioritization, scMINA provides a practical workflow for systematic analysis and biological interpretation of paired scRNA-seq and scATAC-seq datasets.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repositories
Its files are read in the Code ↔ Paper reader above, with 9 matches between paragraphs and lines of code.
quon-titative-biology/scpair
c585949ca8ea1314f5e68b260e3d9c5b2dabe61c, 7 September 2025Availability: 1 check, the latest on 26 October 2026: the link answers
- 26 October 2026: the link answers
10 files
- scpair/
__init__.py , Python, 9 lines - scpair/
evaluator.py , Python, 73 lines - scpair/
loss.py , Python, 51 lines - scpair/
model.py , Python, 1,036 lines, 1 match - scpair/
pairedVAE.py , Python, 189 lines - scpair/
scVI_distribution.py , Python, 566 lines - scpair/
utils.py , Python, 408 lines - setup.py, Python, 56 lines
- LICENSE, License, 21 lines
- README.md, Text, 73 lines
bioFAM/mofapy2
90418e5021b3ae735ebf1fea5d7e07cae71c8bb7, 26 August 2026Availability: 1 check, the latest on 12 November 2026: the link answers
- 12 November 2026: the link answers
56 files
- mofapy2/
__init__.py , Python, 2 lines - mofapy2/
build_model/ , Python, 1 line__init__.py - mofapy2/
build_model/ , Python, 380 linesbuild_model.py - mofapy2/
build_model/ , Python, 919 linesinit_model.py - mofapy2/
build_model/ , Python, 759 linessave_model.py - mofapy2/
build_model/ , Python, 32 linestrain_model.py - mofapy2/
build_model/ , Python, 115 linesutils.py - mofapy2/
config.py , Python, 25 lines - mofapy2/
core/ , Python, 784 linesBayesNet.py - mofapy2/
core/ , Python, 1 line__init__.py - mofapy2/
core/ , Python, 11 linesdistributions/ __init__.py - mofapy2/
core/ , Python, 112 linesdistributions/ basic_distributions.py - mofapy2/
core/ , Python, 54 linesdistributions/ bernoulli.py - mofapy2/
core/ , Python, 134 linesdistributions/ bernoulli_gaussian.py - mofapy2/
core/ , Python, 57 linesdistributions/ beta.py - mofapy2/
core/ , Python, 64 linesdistributions/ binomial.py - mofapy2/
core/ , Python, 71 linesdistributions/ gamma.py - mofapy2/
core/ , Python, 783 linesdistributions/ multi_task_GP.py - mofapy2/
core/ , Python, 407 linesdistributions/ multivariate_gaussian.py - mofapy2/
core/ , Python, 55 linesdistributions/ poisson.py - mofapy2/
core/ , Python, 75 linesdistributions/ univariate_gaussian.py - mofapy2/
core/ , Python, 159 linesgp_utils.py - mofapy2/
core/ , Python, 108 linesgpu_utils.py - mofapy2/
core/ , Python, 203 linesnodes/ Alpha_nodes.py - mofapy2/
core/ , Python, 122 linesnodes/ Kc_node.py - mofapy2/
core/ , Python, 101 linesnodes/ Kg_node.py - mofapy2/
core/ , Python, 1,317 linesnodes/ Sigma_node.py - mofapy2/
core/ , Python, 167 linesnodes/ Tau_nodes.py - mofapy2/
core/ , Python, 199 linesnodes/ Theta_nodes.py - mofapy2/
core/ , Python, 229 linesnodes/ U_nodes.py - mofapy2/
core/ , Python, 351 linesnodes/ W_nodes.py - mofapy2/
core/ , Python, 115 linesnodes/ Y_nodes.py - mofapy2/
core/ , Python, 468 linesnodes/ Z_nodes.py - mofapy2/
core/ , Python, 260 linesnodes/ Z_nodes_GP.py - mofapy2/
core/ , Python, 220 linesnodes/ Z_nodes_GP_mv.py - mofapy2/
core/ , Python, 203 linesnodes/ ZgU_node.py - mofapy2/
core/ , Python, 17 linesnodes/ __init__.py - mofapy2/
core/ , Python, 135 linesnodes/ basic_nodes.py - mofapy2/
core/ , Python, 187 linesnodes/ multiview_nodes.py - mofapy2/
core/ , Python, 641 linesnodes/ nongaussian_nodes.py - mofapy2/
core/ , Python, 328 linesnodes/ variational_nodes.py - mofapy2/
core/ , Python, 143 linesutils.py - mofapy2/
notebooks/ , Jupyter, 140 linesgetting_started_python.i pynb - mofapy2/
notebooks/ , Python, 72 linesrun_mofa_cpu_vs_gpu.py - mofapy2/
notebooks/ , Python, 24 linestest_cupy.py - mofapy2/
run/ , Python, 1 line__init__.py - mofapy2/
run/ , Python, 1,932 lines, 1 matchentry_point.py - mofapy2/
simulate/ , Python, 1 line__init__.py - mofapy2/
simulate/ , Python, 213 linessimulate_mofa.py - mofapy2/
version.py , Python, 6 lines - tests/
__init__.py , Python, 1 line - tests/
conftest.py , Python, 6 lines - tests/
test_anndata.py , Python, 72 lines - tests/
test_entry_point.py , Python, 34 lines - LICENSE, License, 165 lines
- README.md, Text, 25 lines
bioFAM/mofax
e4821fef8b1f9f50afd84a6acb96fcc49445c967, 22 October 2024Availability: 1 check, the latest on 12 November 2026: the link answers
- 12 November 2026: the link answers
18 files
- docs/
source/ , Python, 53 linesconf.py - mofax/
__init__.py , Python, 4 lines - mofax/
core.py , Python, 1,486 lines - mofax/
plot.py , Python, 24 lines - mofax/
plot_data.py , Python, 135 lines - mofax/
plot_factors.py , Python, 1,066 lines - mofax/
plot_mefisto.py , Python, 366 lines - mofax/
plot_utils.py , Python, 205 lines - mofax/
plot_variance.py , Python, 276 lines - mofax/
plot_weights.py , Python, 915 lines - mofax/
utils.py , Python, 257 lines - notebooks/
getting_started_pbmc10k. , Jupyter, 364 linesipynb - notebooks/
training_pbmc10k.ipynb , Jupyter, 69 lines - setup.py, Python, 23 lines
- tests/
__init__.py , Python, 1 line - tests/
test_core.py , Python, 74 lines - LICENSE, License, 21 lines
- README.md, Text, 123 lines
ShuwenZhangswz/scMINA
0356836bfbcc19aadc8c58bc8b0943a6c830b1bd, 8 September 2026Availability: 1 check, the latest on 12 November 2026: the link answers
- 12 November 2026: the link answers
15 files
- scripts/
example_process_data.py , Python, 62 lines, 1 match - scripts/
example_visualize_data.R , R, 105 lines, 1 match - scripts/
extract_embeddings.py , Python, 69 lines - scripts/
integrate_scPair_multiom , R, 285 lines, 1 matche.R - scripts/
pathexplainer.py , Python, 150 lines - scripts/
prep_FigR_inputs.R , R, 205 lines - scripts/
run_FigR_analysis.R , R, 243 lines, 2 matches - scripts/
run_clustering.py , Python, 126 lines - scripts/
run_extra_visualizations , R, 264 lines.R - scripts/
run_feature_attribution. , Python, 245 linespy - scripts/
run_scpair_train.py , Python, 180 lines - setup.sh, Shell, 27 lines
- setup_conda_env.sh, Shell, 46 lines
- LICENSE, License, 21 lines
- README.md, Text, 285 lines
Zenodo 19582768
Availability: 1 check, the latest on 12 November 2026: the link answers (HTTP 200)
- 12 November 2026: the link answers (HTTP 200)
14 files
- scripts/
example_process_data.py , Python, 62 lines - scripts/
example_visualize_data.R , R, 105 lines - scripts/
extract_embeddings.py , Python, 69 lines - scripts/
integrate_scPair_multiom , R, 278 linese.R - scripts/
pathexplainer.py , Python, 150 lines - scripts/
prep_FigR_inputs.R , R, 205 lines - scripts/
run_FigR_analysis.R , R, 233 lines, 2 matches - scripts/
run_clustering.py , Python, 124 lines - scripts/
run_feature_attribution. , Python, 245 linespy - scripts/
run_scpair_train.py , Python, 180 lines - setup.sh, Shell, 27 lines
- setup_conda_env.sh, Shell, 46 lines
- LICENSE, License, 21 lines
- README.md, Text, 220 lines
The paper's code and data availability statement is in the Data section.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 5 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 103 scripts, each with its path and the digest of its content;
- 9 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
Datasets cited
- synapse.org/
synapse:syn29879329 , at Synapse; found in “Data availability”
Data availability
The multiome data used in this study can be accessed from AD knowledge Portal under ID: syn29879329: https://
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 12 November 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 7 authors, 11 MeSH terms, 3 funders, 52 references.
Cite
This paper
Zhang, S., Hu, H., Wang, X., Xiong, C., Kanekiyo, T., Asmann, Y. W., & Ren, Y. (2026). scMINA: an interpretable workflow for paired scRNA-scATAC multiome integration and regulatory prioritization. NAR genomics and bioinformatics, 8(4), lqag140. https://
BibTeX
@article{zhang2026scmina
author = {Zhang, Shuwen and Hu, Hongru and Wang, Xue and Xiong, Chengjie and Kanekiyo, Takahisa and Asmann, Yan W and Ren, Yingxue},
title = {{scMINA: an interpretable workflow for paired scRNA-scATAC multiome integration and regulatory prioritization}},
journal = {NAR genomics and bioinformatics},
year = {2026},
month = nov,
volume = {8},
number = {4},
pages = {lqag140},
publisher = {Oxford University Press},
issn = {2631-9268},
doi = {10.1093/
url = {https://
pmid = {43011234},
pmcid = {PMC13748873}
}
RIS
TY - JOUR
AU - Zhang, Shuwen
AU - Hu, Hongru
AU - Wang, Xue
AU - Xiong, Chengjie
AU - Kanekiyo, Takahisa
AU - Asmann, Yan W
AU - Ren, Yingxue
TI - scMINA: an interpretable workflow for paired scRNA-scATAC multiome integration and regulatory prioritization
T2 - NAR genomics and bioinformatics
J2 - NAR Genom Bioinform
PY - 2026
DA - 2026/
VL - 8
IS - 4
SP - lqag140
SN - 2631-9268
PB - Oxford University Press
DO - 10.1093/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1093/
"type": "article-journal",
"title": "scMINA: an interpretable workflow for paired scRNA-scATAC multiome integration and regulatory prioritization",
"container-title": "NAR genomics and bioinformatics",
"author": [
{
"family": "Zhang",
"given": "Shuwen"
},
{
"family": "Hu",
"given": "Hongru"
},
{
"family": "Wang",
"given": "Xue"
},
{
"family": "Xiong",
"given": "Chengjie"
},
{
"family": "Kanekiyo",
"given": "Takahisa"
},
{
"family": "Asmann",
"given": "Yan W"
},
{
"family": "Ren",
"given": "Yingxue"
}
],
"container-title-short":
"volume": "8",
"issue": "4",
"page": "lqag140",
"DOI": "10.1093/
"PMID": "43011234",
"PMCID": "PMC13748873",
"ISSN": "2631-9268",
"publisher": "Oxford University Press",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
11,
10
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1038/s41467-025-57027-x [code]
- Topological identification and interpretation for single-cell epigenetic regulation elucidation in multi-tasks using scAGDE.Journal: Nature communicationsIn common: CuPy, anndata, circlize, 15 other tools, genetics / omics, 3 references
- [2] doi:10.1093/gigascience/giaf053 [code]
- Cross-modal contrastive learning decodes developmental regulatory features through chromatin potential analysis.Journal: GigaScienceIn common: anndata, circlize, Scanpy, 11 other tools, genetics / omics, 6 references
- [3] doi:10.1038/s44320-026-00208-7 [code]
- Interpretable deep generative ensemble learning for single-cell omics with Hydra.Journal: Molecular systems biologyIn common: anndata, Scanpy, UMAP, 11 other tools, 7 references
- [4] doi:10.1038/s41586-024-08453-2 [code]
- Mapping cells through time and space with moscot.Journal: NatureIn common: JAX, anndata, Scanpy, 11 other tools, genetics / omics, 6 references
- [5] doi:10.1038/s41467-024-53971-2 [code]
- scPair: Boosting single cell multimodal analysis by leveraging implicit feature selection and single cell atlases.Journal: Nature communicationsIn common: JAX, anndata, Scanpy, 10 other tools, genetics / omics, 6 references
- [6] doi:10.1038/s41587-024-02241-z [code]
- Tracking single-cell evolution using clock-like chromatin accessibility loci.Journal: Nature biotechnologyIn common: JAX, anndata, circlize, 13 other tools, genetics / omics, 3 references
- [7] doi:10.1016/j.isci.2024.109009 [code]
- Spatial and single-nucleus transcriptomics decoding the molecular landscape and cellular organization of avian optic tectum.Journal: iScienceIn common: CuPy, JAX, anndata, 15 other tools, genetics / omics, 1 reference
- [8] doi:10.1016/j.celrep.2024.114876 [code]
- Spatial, transcriptomic, and epigenomic analyses link dorsal horn neurons to chronic pain genetic predisposition.Journal: Cell reportsIn common: anndata, circlize, Scanpy, 13 other tools, genetics / omics, 4 references
- [9] doi:10.1016/j.xgen.2024.100739 [code]
- CSI-GEP: A GPU-based unsupervised machine learning approach for recovering gene expression programs in atlas-scale single-cell RNA-seq data.Journal: Cell genomicsIn common: anndata, circlize, Scanpy, 14 other tools, genetics / omics, 3 references
- [10] doi:10.1038/s41592-023-01938-4 [code]
- SCENIC+: single-cell multiomic inference of enhancers and gene regulatory networks.Journal: Nature methodsIn common: anndata, Scanpy, ComplexHeatmap, 12 other tools, genetics / omics, 4 references
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 5 repositories of the authors' code, each at its verified commit and with its license, 103 scripts, and 9 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:7741aa7ed47bd652…
Add the badge to the code's README
If you are an author or a maintainer of this paper's code, you can add this badge. It says what OSCR knows of the paper (its code, its validated tracing map) and links the code to this page. Paste one of these snippets under the README's title. Keep the two marks around it, so that the badge can be replaced in place and is never added twice. OSCR changes nothing in your repository.
Markdown
<!-- oscr-badge:start -->
[](https://openscicode.org/badge/doi/10.1093/nargab/lqag140)
<!-- oscr-badge:end -->reStructuredText
.. oscr-badge:start
.. image:: https://openscicode.org/badge/doi/10.1093/nargab/lqag140.svg
:target: https://openscicode.org/badge/doi/10.1093/nargab/lqag140
:alt: OSCR
.. oscr-badge:endHTML
<!-- oscr-badge:start -->
<a href="https://openscicode.org/badge/doi/10.1093/nargab/lqag140"><img src="https://openscicode.org/badge/doi/10.1093/nargab/lqag140.svg" alt="OSCR"></a>
<!-- oscr-badge:end -->On GitHub, open the README, choose Edit (the pencil), paste the snippet under the title, then "Commit changes".
- quon-titative-biology/scpair: README.md on GitHub
- bioFAM/mofapy2: README.md on GitHub
- bioFAM/mofax: README.md on GitHub
- ShuwenZhangswz/scMINA: README.md on GitHub
If you choose to, you can have the badge kept up to date for you, with oscr badge --write from the command line or with the GitHub Action in your repository's workflows. Every other form and option (a card, AsciiDoc, LaTeX, shields.io) is on the badge page.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: code errors and mismatches between the code and the paper about this paper and its code, from readers and its authors, beside the paper and its tracing map.
Report a mismatch between the code and the paper · Report a code error (signed in)
Reproductions: reports from readers who ran the authors' code and did not get the paper's result, what they ran, with which environment, commit and data.
Report a reproduction failure (signed in)
Versions of its code: the releases of its code tied to a version of this paper (the preprint, the accepted manuscript, the version of record…), each with the tracing map versioned with it.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
