Corpus Engine Towards a reproducible .science file.
← All .science files

pmid:40713795

Spatial mutual nearest neighbors for spatial transcriptomics data.

Haowen Zhou · Pratibha Panwar · Boyi Guo · Caleb Hallinan · Shila Ghazanfar · Stephanie C Hicks

Bioinformatics (Oxford, England) · 2025 doi:10.1093/bioinformatics/btaf403

Paper

complete

Experiment

partial

Data

partial

Analysis

partial

Execution

absent

Execution evidence has not yet been added to this .science file. Explore its methods, data and open questions to plan the next step.
Record details sci_version · id · kind · revision · content_hash · schema · created_at · updated_at · generator
id
pmid:40713795
kind
science-record
content_hash
sha256:32c080d7345309979da9c73b1177414126cf391db885d37e151b90d2f1969de5
schema
https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json
created_at
2026-11-01T20:30:48Z
updated_at
2026-11-01T21:35:31Z
generator object · 2 fields
name
corpus-assay-engine
run_id
reading-sci-2026-11-01
paper object · 10 fields
state
complete
title
Spatial mutual nearest neighbors for spatial transcriptomics data.
doi
10.1093/bioinformatics/btaf403
pmid
40713795
authors array · 6 items
[0]
Haowen Zhou
[1]
Pratibha Panwar
[2]
Boyi Guo
[3]
Caleb Hallinan
[4]
Shila Ghazanfar
[5]
Stephanie C Hicks
journal
Bioinformatics (Oxford, England)
year
2025
abstract
MOTIVATION: Mutual nearest neighbors (MNN) is a widely used computational tool to perform batch correction for single-cell RNA-sequencing data. However, in applications such as spatial transcriptomics, it fails to take into account the 2D spatial information. RESULTS: Here, we present spatialMNN, an algorithm that integrates multiple spatial transcriptomic samples and identifies spatial domains. Our approach begins by building a k-nearest neighbors (kNN) graph based on the spatial coordinates, prunes noisy edges, and identifies niches to act as anchor points for each sample. Next, we construct a MNN graph across the samples to identify similar niches. Finally, the spatialMNN graph can be partitioned using existing algorithms, such as the Louvain algorithm to predict spatial domains across the tissue samples. We demonstrate the performance of spatialMNN using large datasets, including one with N = 31 10x Genomics Visium samples. We also evaluate the computing performance of spatialMNN to other popular spatial clustering methods. AVAILABILITY AND IMPLEMENTATION: Our software package is available on GitHub (https://github.com/Pixel-Dream/spatialMNN). The code is available on Zenodo (https://doi.org/10.5281/zenodo.15073963).
claims array · 2 items
[0] object · 6 fields
id
claim-method
statement
We used the ARI to compare the overlap of the manual annotations at a spot/cell resolution to a predicted cell type or spatial domain. An ARI of 0 corresponds to random labeling, and an ARI of 1 corresponds to perfect agreement. We used the adjustedRandIndex() function in the mclust R package (Scrucca et al. 2023) (version 6.0.0). We also used NMI to evaluate the accuracy using our simulated SRT samples. An NMI of 0 corresponds to no mutual information and 1 corresponds to perfect correlation. We used the NMI() function in the aricode R package (Chiquet et al. 2023) (version 1.0.3).
kind
methodological
target
null
evidence array · 1 item
[0] object · 3 fields
asset
source:pmid:40713795
locator
sections[14] "2.4.1 Performance metrics" paragraph 2
quote
We used the ARI to compare the overlap of the manual annotations at a spot/cell resolution to a predicted cell type or spatial domain. An ARI of 0 corresponds to random labeling, and an ARI of 1 corresponds to perfect agreement. We used the adjustedRandIndex() function in the mclust R package (Scrucca et al. 2023) (version 6.0.0). We also used NMI to evaluate the accuracy using our simulated SRT samples. An NMI of 0 corresponds to no mutual information and 1 corresponds to perfect correlation. We used the NMI() function in the aricode R package (Chiquet et al. 2023) (version 1.0.3).
state
complete
[1] object · 6 fields
id
claim-data-access
statement
The complete code and data required to reproduce the analysis are available on Zenodo with the doi: 10.5281/zenodo.15073963. Supplementary data are available at Bioinformatics online.
kind
methodological
target
null
evidence array · 2 items
[0] object · 3 fields
asset
source:pmid:40713795
locator
sections[17] "2.5 Software availability" paragraph 2
quote
The complete code and data required to reproduce the analysis are available on Zenodo with the doi: 10.5281/zenodo.15073963.
[1] object · 3 fields
asset
source:pmid:40713795
locator
sections[30] "Supplementary data" paragraph 2
quote
Supplementary data are available at Bioinformatics online.
state
complete
gaps array · 0 items
experiment object · 8 fields
state
partial
steps array · 3 items
[0] object · 13 fields
id
read_published_estimate
order
1
name
Read the published estimate from the source
kind
other
state
complete
blocked_on
null
description
The claim, method and evidence span published with the source article.
parameters object · 0 fields
inputs array · 1 item
[0]
source:pmid:40713795
outputs array · 1 item
[0]
the published estimate and its evidence
instruments array · 0 items
reagents array · 0 items
[1] object · 13 fields
id
obtain_source_data
order
2
name
Obtain the source data from the named repository
kind
data-preparation
state
blocked
blocked_on
data:accession_absent
description
The GEO series accession resolves and its sample accessions are listed. This lane did not download the dataset or read its licence.
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
[0]
the source data with its repository provenance
instruments array · 0 items
reagents array · 0 items
[2] object · 13 fields
id
run_analysis
order
3
name
Run the published analysis
kind
analysis
state
complete
blocked_on
null
description
Apply the paper's statistical method to the resolved series and compare the result with the published target.
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
[0]
the replicated result and its comparison
instruments array · 0 items
reagents array · 0 items
materials array · 0 items
instruments array · 0 items
reagents array · 0 items
conditions object · 0 fields
gaps array · 1 item
[0]
step:obtain_source_data blocked on data:accession_absent
data object · 3 fields
state
partial
assets array · 1 item
[0] object · 15 fields
id
source:pmid:40713795
role
manuscript
format
xml
media_type
application/xml
uri
https://doi.org/10.1093/bioinformatics/btaf403
sha256
sha256:39dab853ce48719d64cc45336caf842b651a43f5e195abba09a4db6e28b8b815
bytes
54275
access
open
state
resolved
reader
null
reader_status
reader_required
identifier
10.1093/bioinformatics/btaf403
version
null
note
Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.
structure object · 4 fields
pmcid
PMC12317746
source
europe_pmc_fulltext
coverage
whole_body
text_hash_scope
rendered_section_body
gaps array · 0 items
analysis object · 4 fields
state
partial
methods array · 2 items
[0] object · 10 fields
id
method-1
family
principal_component_analysis
specific
pca
label
Principal component analysis
dsl_operations array · 1 item
[0]
pca_fit
missing_operations array · 0 items
parameters object · 0 fields
data_shapes array · 1 item
[0]
wide_numeric_matrix
evidence object · 3 fields
score
0.8
band
high
quote
PCA
[1] object · 10 fields
id
method-2
family
null
specific
null
label
Adjusted Rand Index (ARI) and Normalized Mutual Information (NMI)
dsl_operations array · 0 items
missing_operations array · 0 items
parameters object · 0 fields
data_shapes array · 0 items
evidence object · 3 fields
score
1
band
verbatim
quote
We used the ARI to compare the overlap of the manual annotations at a spot/cell resolution to a predicted cell type or spatial domain. An ARI of 0 corresponds to random labeling, and an ARI of 1 corresponds to perfect agreement. We used the adjustedRandIndex() function in the mclust R package (Scrucca et al. 2023) (version 6.0.0). We also used NMI to evaluate the accuracy using our simulated SRT samples. An NMI of 0 corresponds to no mutual information and 1 corresponds to perfect correlation. We used the NMI() function in the aricode R package (Chiquet et al. 2023) (version 1.0.3).
targets array · 0 items
gaps array · 1 item
[0]
method.reader_named_unmapped
capability object · 3 fields
state
complete
requirements array · 1 item
[0] object · 6 fields
capability_id
capability:computational_analysis
label
Computational analysis platform
assay_families array · 9 items
[0]
meta_analysis
[1]
machine_learning
[2]
survival_analysis
[3]
statistical_regression
[4]
pca
[5]
molecular_docking
[6]
network_analysis
[7]
differential_expression
[8]
gwas
candidate
Automated Assays Laravel application and simulated adapters
gaps array · 0 items
readiness object · 8 fields
state
blocked
tier
R4
blocked_on
data:accession_absent
axes object · 3 fields
method object · 5 fields
tier
R1
expressible
true
required_operations array · 1 item
[0]
pca_fit
missing_operations array · 0 items
basis
The paper names the method it used and the corpus's method extractor maps it onto the DSL catalogue: pca.
capability object · 4 fields
tier
R1
capability_id
capability:computational_analysis
availability_state
owned
basis
The computational analysis is owned. The physical bench the paper used is not, so a physical validation cannot be run here.
data object · 6 fields
tier
R4
reachable
false
accessions array · 0 items
resolved_accessions array · 0 items
statements array · 1 item
[0]
The complete code and data required to reproduce the analysis are available on Zenodo with the doi: 10.5281/zenodo.15073963. Supplementary data are available at Bioinformatics online.
basis
The paper names no accession to its source data, so the data has to come from the authors.
can_run object · 3 fields
dsl_operations array · 1 item
[0]
pca_fit
assets array · 1 item
[0]
source:pmid:40713795
steps array · 1 item
[0]
run_analysis
must_build object · 5 fields
dsl_operations array · 0 items
converters array · 0 items
readers array · 0 items
capabilities array · 0 items
data_gaps array · 1 item
[0]
data:geo:None
gaps array · 1 item
[0]
data:accession_absent
review object · 5 fields
state
partial
machine_critique object · 5 fields
kind
extraction_review
reader object · 5 fields
model
MiniMax-M3.1-Flash
provider
minimax
provider_family
minimax
read_at
2026-11-01T19:57:49Z
independence
single_reader
evidence_check object · 2 fields
method
verbatim
availability
reordered
calls
5
usage object · 3 fields
prompt_tokens
15007
completion_tokens
1303
cached_tokens
256
stages array · 1 item
[0] object · 4 fields
id
extraction
state
complete
reader
MiniMax-M3.1-Flash
provider
minimax
gaps array · 3 items
[0]
review.independent_reader
[1]
review.machine_critique
[2]
review.human_critique
execution object · 5 fields
state
absent
status
not_run
mode
null
runs array · 0 items
gaps array · 1 item
[0]
execution.not_run
provenance object · 7 fields
entities array · 3 items
[0] object · 3 fields
id
pmid:40713795
type
paper
label
pmid:40713795
[1] object · 3 fields
id
source:pmid:40713795
type
manuscript
label
PMID 40713795 full text
[2] object · 3 fields
id
data:geo:None
type
dataset
label
GEO None
activities array · 3 items
[0] object · 4 fields
id
activity-reading-sci-2026-11-01
type
classification
used array · 3 items
[0] object · 3 fields
id
pmid:40713795
type
paper
label
pmid:40713795
[1] object · 3 fields
id
source:pmid:40713795
type
manuscript
label
PMID 40713795 full text
[2] object · 3 fields
id
data:geo:None
type
dataset
label
GEO None
agent
agent:corpus-assay-engine
[1] object · 4 fields
id
activity-read-40713795
type
extraction
used array · 1 item
[0]
source:pmid:40713795
agent
agent:minimax-reader
[2] object · 4 fields
id
activity-resolve-None
type
accession_resolution
used array · 1 item
[0]
data:geo:None
agent
agent:corpus-assay-engine
agents array · 2 items
[0] object · 3 fields
id
agent:corpus-assay-engine
type
software
label
Corpus assay engine
[1] object · 3 fields
id
agent:minimax-reader
type
software
label
MiniMax literature reader
source_run_id
reading-sci-2026-11-01
dsl_catalogue_fingerprint
343fb30756ba6ec3
capability_table_fingerprint
2cb3e42f047d2ecf
snapshot_id
ba34b49490d9bfaf
lineage object · 4 fields
parent_id
pmid:40713795
parent_hash
sha256:a08ff92f8df596249c17ca5e0e7c3025c15b8b02466ccf5c38f32dea9fc57905
fork_of
null
gaps array · 6 items
[0]
execution.not_run
[1]
method.reader_named_unmapped
[2]
review.human_critique
[3]
review.independent_reader
[4]
review.machine_critique
[5]
step:obtain_source_data blocked on data:accession_absent
assays array · 2 items
[0] object · 11 fields
role
data_generation
definition_id
animal_model
definition_version
99e1195c7d6f
required_operations array · 0 items
support_state
partial
source_hashes object · 1 field
assay_lexicon
99e1195c7d6f
confidence
0.99
evidence array · 3 items
[0]
ARmap platform to profile the prelimbic area in the mouse brain across three tissue sections, 166 gene
[1]
latform to profile the prelimbic area in the mouse brain across three tissue sections, 166 gene
[2]
ors used the MERFISH platform to profile the mouse frontal cortex and striatum across 31 tissue
order_basis
paper_text_order:7468
id
assay:1
[1] object · 11 fields
role
analysis
definition_id
principal_component_analysis
definition_version
f2132e96ae6c7a4e
required_operations array · 1 item
[0]
pca_fit
support_state
supported
source_hashes object · 1 field
dsl_catalogue
f2132e96ae6c7a4e
evidence array · 1 item
[0]
PCA
order_basis
consumes_earlier_output
id
assay:2
Complete file
{"sci_version": "1.2", "schema": "https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json", "id": "pmid:40713795", "kind": "science-record", "revision": 2, "content_hash": "sha256:32c080d7345309979da9c73b1177414126cf391db885d37e151b90d2f1969de5", "created_at": "2026-11-01T20:30:48Z", "updated_at": "2026-11-01T21:35:31Z", "generator": {"name": "corpus-assay-engine", "run_id": "reading-sci-2026-11-01"}, "paper": {"state": "complete", "title": "Spatial mutual nearest neighbors for spatial transcriptomics data.", "doi": "10.1093/bioinformatics/btaf403", "pmid": "40713795", "authors": ["Haowen Zhou", "Pratibha Panwar", "Boyi Guo", "Caleb Hallinan", "Shila Ghazanfar", "Stephanie C Hicks"], "journal": "Bioinformatics (Oxford, England)", "year": 2025, "abstract": "MOTIVATION: Mutual nearest neighbors (MNN) is a widely used computational tool to perform batch correction for single-cell RNA-sequencing data. However, in applications such as spatial transcriptomics, it fails to take into account the 2D spatial information.\nRESULTS: Here, we present spatialMNN, an algorithm that integrates multiple spatial transcriptomic samples and identifies spatial domains. Our approach begins by building a k-nearest neighbors (kNN) graph based on the spatial coordinates, prunes noisy edges, and identifies niches to act as anchor points for each sample. Next, we construct a MNN graph across the samples to identify similar niches. Finally, the spatialMNN graph can be partitioned using existing algorithms, such as the Louvain algorithm to predict spatial domains across the tissue samples. We demonstrate the performance of spatialMNN using large datasets, including one with N = 31 10x Genomics Visium samples. We also evaluate the computing performance of spatialMNN to other popular spatial clustering methods.\nAVAILABILITY AND IMPLEMENTATION: Our software package is available on GitHub (https://github.com/Pixel-Dream/spatialMNN). The code is available on Zenodo (https://doi.org/10.5281/zenodo.15073963).", "claims": [{"id": "claim-method", "statement": "We used the ARI to compare the overlap of the manual annotations at a spot/cell resolution to a predicted cell type or spatial domain. An ARI of 0 corresponds to random labeling, and an ARI of 1 corresponds to perfect agreement. We used the adjustedRandIndex() function in the mclust R package (Scrucca et al. 2023) (version 6.0.0). We also used NMI to evaluate the accuracy using our simulated SRT samples. An NMI of 0 corresponds to no mutual information and 1 corresponds to perfect correlation. We used the NMI() function in the aricode R package (Chiquet et al. 2023) (version 1.0.3).", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:40713795", "locator": "sections[14] \"2.4.1 Performance metrics\" paragraph 2", "quote": "We used the ARI to compare the overlap of the manual annotations at a spot/cell resolution to a predicted cell type or spatial domain. An ARI of 0 corresponds to random labeling, and an ARI of 1 corresponds to perfect agreement. We used the adjustedRandIndex() function in the mclust R package (Scrucca et al. 2023) (version 6.0.0). We also used NMI to evaluate the accuracy using our simulated SRT samples. An NMI of 0 corresponds to no mutual information and 1 corresponds to perfect correlation. We used the NMI() function in the aricode R package (Chiquet et al. 2023) (version 1.0.3)."}], "state": "complete"}, {"id": "claim-data-access", "statement": "The complete code and data required to reproduce the analysis are available on Zenodo with the doi: 10.5281/zenodo.15073963. Supplementary data are available at Bioinformatics online.", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:40713795", "locator": "sections[17] \"2.5 Software availability\" paragraph 2", "quote": "The complete code and data required to reproduce the analysis are available on Zenodo with the doi: 10.5281/zenodo.15073963."}, {"asset": "source:pmid:40713795", "locator": "sections[30] \"Supplementary data\" paragraph 2", "quote": "Supplementary data are available at Bioinformatics online."}], "state": "complete"}], "gaps": []}, "experiment": {"state": "partial", "objective": "", "steps": [{"id": "read_published_estimate", "order": 1, "name": "Read the published estimate from the source", "kind": "other", "state": "complete", "blocked_on": null, "description": "The claim, method and evidence span published with the source article.", "duration_hours": null, "parameters": {}, "inputs": ["source:pmid:40713795"], "outputs": ["the published estimate and its evidence"], "instruments": [], "reagents": []}, {"id": "obtain_source_data", "order": 2, "name": "Obtain the source data from the named repository", "kind": "data-preparation", "state": "blocked", "blocked_on": "data:accession_absent", "description": "The GEO series accession resolves and its sample accessions are listed. This lane did not download the dataset or read its licence.", "duration_hours": null, "parameters": {}, "inputs": [], "outputs": ["the source data with its repository provenance"], "instruments": [], "reagents": []}, {"id": "run_analysis", "order": 3, "name": "Run the published analysis", "kind": "analysis", "state": "complete", "blocked_on": null, "description": "Apply the paper's statistical method to the resolved series and compare the result with the published target.", "duration_hours": null, "parameters": {}, "inputs": [], "outputs": ["the replicated result and its comparison"], "instruments": [], "reagents": []}], "materials": [], "instruments": [], "reagents": [], "conditions": {}, "gaps": ["step:obtain_source_data blocked on data:accession_absent"]}, "data": {"state": "partial", "assets": [{"id": "source:pmid:40713795", "role": "manuscript", "format": "xml", "media_type": "application/xml", "uri": "https://doi.org/10.1093/bioinformatics/btaf403", "sha256": "sha256:39dab853ce48719d64cc45336caf842b651a43f5e195abba09a4db6e28b8b815", "bytes": 54275, "access": "open", "state": "resolved", "reader": null, "reader_status": "reader_required", "identifier": "10.1093/bioinformatics/btaf403", "version": null, "note": "Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.", "structure": {"pmcid": "PMC12317746", "source": "europe_pmc_fulltext", "coverage": "whole_body", "text_hash_scope": "rendered_section_body"}}], "gaps": []}, "analysis": {"state": "partial", "methods": [{"id": "method-1", "family": "principal_component_analysis", "specific": "pca", "label": "Principal component analysis", "dsl_operations": ["pca_fit"], "missing_operations": [], "expressible": true, "parameters": {}, "data_shapes": ["wide_numeric_matrix"], "evidence": {"score": 0.8, "band": "high", "quote": "PCA"}}, {"id": "method-2", "family": null, "specific": null, "label": "Adjusted Rand Index (ARI) and Normalized Mutual Information (NMI)", "dsl_operations": [], "missing_operations": [], "expressible": null, "parameters": {}, "data_shapes": [], "evidence": {"score": 1.0, "band": "verbatim", "quote": "We used the ARI to compare the overlap of the manual annotations at a spot/cell resolution to a predicted cell type or spatial domain. An ARI of 0 corresponds to random labeling, and an ARI of 1 corresponds to perfect agreement. We used the adjustedRandIndex() function in the mclust R package (Scrucca et al. 2023) (version 6.0.0). We also used NMI to evaluate the accuracy using our simulated SRT samples. An NMI of 0 corresponds to no mutual information and 1 corresponds to perfect correlation. We used the NMI() function in the aricode R package (Chiquet et al. 2023) (version 1.0.3)."}}], "targets": [], "gaps": ["method.reader_named_unmapped"]}, "capability": {"state": "complete", "requirements": [{"capability_id": "capability:computational_analysis", "label": "Computational analysis platform", "assay_families": ["meta_analysis", "machine_learning", "survival_analysis", "statistical_regression", "pca", "molecular_docking", "network_analysis", "differential_expression", "gwas"], "availability_state": "owned", "tier_unlocked": "R1", "candidate": "Automated Assays Laravel application and simulated adapters"}], "gaps": []}, "readiness": {"state": "blocked", "tier": "R4", "blocking_axis": "data", "blocked_on": "data:accession_absent", "axes": {"method": {"tier": "R1", "expressible": true, "required_operations": ["pca_fit"], "missing_operations": [], "basis": "The paper names the method it used and the corpus's method extractor maps it onto the DSL catalogue: pca."}, "capability": {"tier": "R1", "capability_id": "capability:computational_analysis", "availability_state": "owned", "basis": "The computational analysis is owned. The physical bench the paper used is not, so a physical validation cannot be run here."}, "data": {"tier": "R4", "reachable": false, "accessions": [], "resolved_accessions": [], "statements": ["The complete code and data required to reproduce the analysis are available on Zenodo with the doi: 10.5281/zenodo.15073963. Supplementary data are available at Bioinformatics online."], "basis": "The paper names no accession to its source data, so the data has to come from the authors."}}, "can_run": {"dsl_operations": ["pca_fit"], "assets": ["source:pmid:40713795"], "steps": ["run_analysis"]}, "must_build": {"dsl_operations": [], "converters": [], "readers": [], "capabilities": [], "data_gaps": ["data:geo:None"]}, "gaps": ["data:accession_absent"]}, "review": {"state": "partial", "machine_critique": {"kind": "extraction_review", "reader": {"model": "MiniMax-M3.1-Flash", "provider": "minimax", "provider_family": "minimax", "read_at": "2026-11-01T19:57:49Z", "independence": "single_reader"}, "evidence_check": {"method": "verbatim", "availability": "reordered"}, "calls": 5, "usage": {"prompt_tokens": 15007, "completion_tokens": 1303, "cached_tokens": 256}}, "human_critique": null, "stages": [{"id": "extraction", "state": "complete", "reader": "MiniMax-M3.1-Flash", "provider": "minimax"}], "gaps": ["review.independent_reader", "review.machine_critique", "review.human_critique"]}, "execution": {"state": "absent", "status": "not_run", "mode": null, "runs": [], "gaps": ["execution.not_run"]}, "provenance": {"entities": [{"id": "pmid:40713795", "type": "paper", "label": "pmid:40713795"}, {"id": "source:pmid:40713795", "type": "manuscript", "label": "PMID 40713795 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "activities": [{"id": "activity-reading-sci-2026-11-01", "type": "classification", "used": [{"id": "pmid:40713795", "type": "paper", "label": "pmid:40713795"}, {"id": "source:pmid:40713795", "type": "manuscript", "label": "PMID 40713795 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "agent": "agent:corpus-assay-engine"}, {"id": "activity-read-40713795", "type": "extraction", "used": ["source:pmid:40713795"], "agent": "agent:minimax-reader"}, {"id": "activity-resolve-None", "type": "accession_resolution", "used": ["data:geo:None"], "agent": "agent:corpus-assay-engine"}], "agents": [{"id": "agent:corpus-assay-engine", "type": "software", "label": "Corpus assay engine"}, {"id": "agent:minimax-reader", "type": "software", "label": "MiniMax literature reader"}], "source_run_id": "reading-sci-2026-11-01", "dsl_catalogue_fingerprint": "343fb30756ba6ec3", "capability_table_fingerprint": "2cb3e42f047d2ecf", "snapshot_id": "ba34b49490d9bfaf"}, "lineage": {"parent_id": "pmid:40713795", "parent_hash": "sha256:a08ff92f8df596249c17ca5e0e7c3025c15b8b02466ccf5c38f32dea9fc57905", "fork_of": null, "generation": 1}, "gaps": ["execution.not_run", "method.reader_named_unmapped", "review.human_critique", "review.independent_reader", "review.machine_critique", "step:obtain_source_data blocked on data:accession_absent"], "assays": [{"role": "data_generation", "definition_id": "animal_model", "definition_version": "99e1195c7d6f", "definition_digest": null, "required_operations": [], "support_state": "partial", "source_hashes": {"assay_lexicon": "99e1195c7d6f"}, "confidence": 0.99, "evidence": ["ARmap platform to profile the prelimbic area in the mouse brain across three tissue sections, 166 gene", "latform to profile the prelimbic area in the mouse brain across three tissue sections, 166 gene", "ors used the MERFISH platform to profile the mouse frontal cortex and striatum across 31 tissue"], "order_basis": "paper_text_order:7468", "id": "assay:1"}, {"role": "analysis", "definition_id": "principal_component_analysis", "definition_version": "f2132e96ae6c7a4e", "definition_digest": null, "required_operations": ["pca_fit"], "support_state": "supported", "source_hashes": {"dsl_catalogue": "f2132e96ae6c7a4e"}, "confidence": 0.8, "evidence": ["PCA"], "order_basis": "consumes_earlier_output", "id": "assay:2"}]}