Transcriptional signatures of the cortical morphometric similarity network gradient in left temporal lobe epilepsy with different seizure symptoms.
The 3 matches
- [1] § Materials and methods › Gene expression data preprocessing ↔ abagen/cli/run.py, lines 59–123 · score 0.80 · microarray probes, right hemisphere, tissue samples, left hemisphere, boundary, filtering
- [2] § Materials and methods › Gene expression data preprocessing ↔ abagen/probes_.py, lines 193–256 · score 0.74 · regional variation, multiple probes, gene symbols, filtering, Abagen, intensity
- [3] § Materials and methods › Construction of MS gradients ↔ abagen/correct.py, lines 438–529 · score 0.64 · gray matter volume, cortical surface, Space, connectivity, correlation, mapped
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
Python · 417 lines · 23 KB · BSD-3-Clause · 1 match
- # -*- coding: utf-8 -*-
- import argparse
- import logging
- import os
- from pathlib import Path
- from typing import Iterable
- import sys
- LGR = logging.getLogger('abagen')
- def isiterable(val):
- """ Helper function to check whether value is iterable (but not string)
- """
- return isinstance(val, Iterable) and not isinstance(val, str)
- def _resolve_path(path):
- """ Helper function for get_parser() to resolve paths
- """
- if path is not None:
- if isiterable(path):
- return [_resolve_path(p) for p in path]
- try:
- return str(Path(path).expanduser().resolve())
- except FileNotFoundError:
- return os.path.abspath(os.path.expanduser(path))
- def _resolve_none(inp):
- """ Helper function to allow 'None' as input from argparse
- """
- if inp == "None":
- return
- return inp
- class CheckExists(argparse.Action):
- """ Helper class to check that provided paths exist
- """
- def __call__(self, parser, namespace, values, option_string=None):
- values = self.type(values)
- missing = False
- if isiterable(values):
- missing = any(not os.path.exists(val) for val in values)
- if len(values) == 1:
- values = values[0]
- else:
- missing = not os.path.exists(values)
- if missing:
- parser.error('Provided value for {} does not exist: {}'
- .format(option_string, values))
- setattr(namespace, self.dest, values)
- def get_parser():
- """ Gets command-line arguments for primary get_expression_data workflow
- """
- from .. import __version__
- from ..correct import NORMALIZATION_METHODS
- from ..probes_ import SELECTION_METHODS
- verstr = 'abagen {}'.format(__version__)
- parser = argparse.ArgumentParser(
- formatter_class=argparse.RawDescriptionHelpFormatter,
- description="""
- Assigns microarray expression data to ROIs defined in the specified `atlas`
- This command aims to provide a workflow for generating pre-processed microarray
- expression data from the Allen Human Brain Atlas for arbitrary atlas
- designations. First, some basic filtering of genetic probes is performed,
- including:
- 1. Intensity-based filtering of microarray probes to remove probes that do
- not exceed a certain level of background noise (specified via the
- `--ibf_threshold` parameter),
- 2. Selection of a single, representative probe (or collapsing across
- probes) for each gene, specified via the `--probe_selection` parameter
- (and influenced by the `--donor_probes` parameter), and
- 3. Optional mirroring of the tissue samples across the left/right
- hemisphere boundary, as specified via the `--lr_mirror` parameter
- (turned off by default).
- Tissue samples are then matched to parcels in the defined `atlas` for each
- donor. If `--atlas_info` is provided then this matching is constrained by both
- hemisphere and tissue class designation (e.g., cortical samples from the left
- hemisphere are only matched to ROIs in the left cortex, subcortical samples
- from the right hemisphere are only matched to ROIs in the left subcortex); see
- the `atlas_info` parameter description for more information.
- Matching of microarray samples to parcels in `atlas` is done via a multi-step
- process:
- 1. Determine if the sample falls directly within a parcel,
- 2. Check to see if there are nearby parcels by slowly expanding the search
- space to include nearby voxels, up to a specified distance (specified
- via the `--tolerance` parameter),
- 3. If there are multiple nearby parcels, the sample is assigned to the
- closest parcel, as determined by the parcel centroid.
- If at any step a sample can be assigned to a parcel the matching process is
- terminated. When the provided atlas is not volumetric (i.e., is surface-based)
- the samples are simply matched to the nearest vertex, and `--tolerance` is used
- as a standard deviation threshold. More control over the sample matching can be
- obtained by setting the `--missing` parameter.
- Once all samples have been matched to parcels for all supplied donors, the
- microarray expression data are optionally normalized via the provided
- `--sample_norm` and `--gene_norm` functions (which are influenced by the
- `--norm_matched` and `--norm_structures` parameters) before being aggregated
- across donors via the supplied `--region_agg` and `--agg_metric` parameters.
- """
- )
- parser.add_argument('atlas', action=CheckExists, type=_resolve_path,
- nargs='+',
- help='A NIFTI image in MNI152 space or two GIFTI '
- 'images in fsaverage5 space, where each parcel '
- 'is identified by a unique integer ID.')
- # because I like consistency in capitalization and punctuation...
- for act in parser._actions:
- if isinstance(act, argparse._HelpAction):
- act.help = act.help.capitalize() + '.'
- break
- parser.add_argument('--version', action='version', version=verstr,
- help='Show program version and exit.')
- parser.add_argument('-v', '--verbose', action='count', default=0,
- help='Increase verbosity of status messages to '
- 'display during workflow.')
- parser.add_argument('--debug', action='store_true', help=argparse.SUPPRESS)
- a_data = parser.add_argument_group('Options to specify information about '
- 'the atlas used')
- a_data.add_argument('--atlas_info', '--atlas-info', action=CheckExists,
- type=_resolve_path, default=None, metavar='PATH',
- help='Filepath to CSV file containing information '
- 'about `atlas`. The CSV file must have at least '
- 'columns ["id", "hemisphere", "structure"] which '
- 'contain information mapping the atlas IDs to '
- 'hemispheres (i.e, "L", "R", or "B") and broad '
- 'structural groups (i.e., "cortex", "subcortex/'
- 'brainstem", "cerebellum"). If provided, this '
- 'will constrain matching of tissue samples to '
- 'regions in `atlas`. If the supplied `atlas` is '
- 'a pair of GIFTI files with valid label tables '
- 'this information will be intuited.')
- g_data = parser.add_argument_group('Options to specify which AHBA data to '
- 'use during processing')
- g_data.add_argument('--donors', action='store', nargs='+',
- default='all', metavar='DONOR_ID',
- help='List of donors to use as sources of expression '
- 'data. Specified IDs can be either donor numbers '
- '(i.e., 9861, 10021) or UIDs (i.e., H0351.2001). '
- 'Can specify "all" to use all available donors. '
- 'Default: "all"')
- g_data.add_argument('--data_dir', '--data-dir', action=CheckExists,
- type=_resolve_path, metavar='PATH',
- help='Directory where expression data should be '
- 'downloaded to (if it does not already exist) / '
- 'loaded from. If not specified this will check '
- 'the environmental variable $ABAGEN_DATA, the '
- '$HOME/abagen-data directory, and the current '
- 'working directory. If data does not already '
- 'exist at one of those locations then it will be '
- 'downloaded to the first of these location that '
- 'exists and for which write access is enabled.')
- g_data.add_argument('--n_proc', '--n-proc', action='store', type=int,
- default=1,
- help='Number of processors to use to download AHBA '
- 'data. Can paralellize up to six times if all '
- 'donors are requested. Default: 1')
- w_data = parser.add_argument_group('Options to specify processing options')
- w_data.add_argument('--ibf_threshold', '--ibf-threshold', action='store',
- default=0.5, metavar='THRESHOLD',
- help='Threshold for intensity-based filtering of '
- 'probes. This number should specify the ratio of '
- 'samples, across all supplied donors, for which '
- 'a probe must have signal above background noise '
- 'in order to be retained. Default: 0.5')
- w_data.add_argument('--probe_selection', '--probe-selection',
- action='store', default='diff_stability',
- metavar='METHOD', choices=sorted(SELECTION_METHODS),
- help='Selection method for subsetting (or collapsing '
- 'across) probes that index the same gene. Must '
- 'be one of {"average", "mean", "max_intensity", '
- '"max_variance", "pc_loading", "corr_variance", '
- '"corr_intensity", "diff_stability", "rnaseq"}. '
- 'Default: "diff_stability"')
- w_data.add_argument('--lr_mirror', '--lr-mirror', metavar='METHOD',
- type=_resolve_none, default=None, choices=(
- None, 'bidirectional', 'leftright', 'rightleft'),
- help='Whether to mirror microarray expression samples '
- 'across hemispheres to increase spatial coverage.'
- ' Using "bidirectional" will mirror samples '
- 'across both hemispheres, "leftright" will '
- 'mirror samples in the left hemisphere to the '
- 'right, and "rightleft" will mirror the right to '
- 'the left. Default: None')
- w_data.add_argument('--sim_threshold', '--sim-threshold',
- type=_resolve_none, default=None, metavar='THRESHOLD',
- help='Threshold for inter-areal similarity filtering. '
- 'Samples are correlated across probes and those '
- 'samples with a total correlation less than the '
- 'the provided threshold s.d. below the mean '
- 'across samples are excluded from futher'
- 'analysis. If not specified no filtering is '
- 'performed. Default: None')
- w_data.add_argument('--missing', dest='missing', metavar='METHOD',
- type=_resolve_none, default=None, choices=(
- None, 'centroids', 'interpolate'),
- help='How to handle regions in `atlas` that are not '
- 'assigned any tissue samples. If "centroids", '
- 'any empty regions will be assigned the '
- 'expression value of the nearest tissue sample '
- '(defined as the sample with the closest '
- 'Euclidean distance to the parcel centroid). If '
- '"interpolate", expression values will be '
- 'interpolated in the empty regions by assigning '
- 'every node in the region the expression of the '
- 'nearest sample and taking a weighted (inverse '
- 'distance) average. If not specified empty '
- 'regions will be returned with expression values '
- 'of NaN. Default: None')
- w_data.add_argument('--tol', '--tolerance', dest='tolerance',
- action='store', type=float, default=2,
- help='Distance (in mm) that a sample can be from a '
- 'parcel for it to be matched to that parcel. If '
- '`atlas` is GIFTI files then this measure is a '
- 'standard deviation threshold (i.e., samples '
- 'greater than `tolerance` SDs away from the mean '
- 'matched distance are ignored). Default: 2')
- w_data.add_argument('--sample_norm', '--sample-norm', action='store',
- default='srs', metavar='METHOD', type=_resolve_none,
- choices=sorted(NORMALIZATION_METHODS) + ['None', None],
- help='Method by which to normalize microarray '
- 'expression values for each sample prior to '
- 'collapsing into regions in `atlas`. Expression '
- 'values are normalized separately for each '
- 'sample and donor across genes. If None is '
- 'specified then no normalization is performed. '
- 'Default: "srs"')
- w_data.add_argument('--gene_norm', '--gene-norm', action='store',
- default='srs', metavar='METHOD', type=_resolve_none,
- choices=sorted(NORMALIZATION_METHODS) + ['None', None],
- help='Method by which to normalize microarray '
- 'expression values for each donor prior to '
- 'collapsing across donors. Expression values are '
- 'normalized separately for each gene for each '
- 'donor across all expression samples. If None is '
- 'specified then no normalization is performed. '
- 'Default: "srs"')
- w_data.add_argument('--norm_all', '--norm-all', dest='norm_matched',
- action='store_false', default=True,
- help='Whether to perform gene normalization '
- '(`gene_norm`) across all available samples '
- 'instead of only across samples that were '
- 'matched to regions in `atlas`. If `atlas` is '
- 'very small (i.e., only a few regions of '
- 'interest) using `--norm_all` is suggested.')
- w_data.add_argument('--norm_structures', '--norm-structures',
- action='store_true', default=False,
- help='Whether to perform gene normalization '
- '(`gene_norm`) within structural classes (i.e., '
- '"cortex", "subcortex/brainstem", "cerebellum") '
- 'instead of across all available samples.')
- w_data.add_argument('--region_agg', '--region-agg', action='store',
- default='donors', metavar='METHOD',
- choices=['donors', 'samples'],
- help='When multiple samples are identified as '
- 'belonging to a region in `atlas` this '
- 'determines how they are aggegated. If '
- '\'samples\', expression data from all samples '
- 'for all donors assigned to a given region are '
- 'combined. If \'donors\', expression values for '
- 'all samples assigned to a given region are '
- 'combined independently for each donor before '
- 'being combined across donors. See `agg_metric` '
- 'for mechanism by which samples are combined. '
- 'Default: \'donors\'')
- w_data.add_argument('--agg_metric', '--agg-metric', action='store',
- default='mean', metavar='METHOD',
- choices=['mean', 'median'],
- help='Mechanism by which to (1) reduce expression '
- 'data of multiple samples in the same `atlas` '
- 'region, and (2) reduce donor-level expression '
- 'data into a single "group" expression '
- 'dataframe. Must be one of {"mean", "median"}. '
- 'Default: "mean"')
- p_data = parser.add_argument_group('Options to modify the AHBA data used')
- p_data.add_argument('--no-reannotated', '--no_reannotated',
- dest='reannotated', action='store_false', default=True,
- help='Whether to use the original probe information '
- 'from the AHBA dataset instead of the '
- 'reannotated probe information from '
- 'Arnatkevic̆iūtė et al., 2019. Using reannotated '
- 'probe information discards probes that could '
- 'not be reliably matched to genes. Default: '
- 'False (i.e., use reannotations)')
- p_data.add_argument('--no-corrected-mni', '--no_corrected_mni',
- dest='corrected_mni', action='store_false',
- default=True,
- help='Whether to use the original MNI coordinates '
- 'provided with the AHBA data instead of the '
- '"corrected" MNI coordinates shipped with the '
- '`alleninf` package when matching tissue samples '
- 'to anatomical regions. Default: False (i.e., '
- 'use corrected coordinates)')
- o_data = parser.add_argument_group('Options to modify how data are output')
- o_data.add_argument('--stdout', action='store_true',
- help='Generated region x gene dataframes will be '
- 'printed to stdout for piping to other things. '
- 'You should REALLY consider just using --output-'
- 'file instead and working with the generated '
- 'CSV file(s). Incompatible with `--save-counts` '
- 'and `--save-donors` (i.e., this will override '
- 'those options). Default: False')
- o_data.add_argument('--output-file', '--output_file', action='store',
- type=_resolve_path, metavar='PATH',
- default='abagen_expression.csv',
- help='Path to desired output file. The generated '
- 'region x gene dataframe will be saved here. '
- 'Default: $PWD/abagen_expression.csv')
- o_data.add_argument('--save-counts', '--save_counts', action='store_true',
- help='Whether to save dataframe containing number of '
- 'samples from each donor that were assigned '
- 'to each region in `atlas`. If specified, will '
- 'be saved to the path specified by '
- '`output-file`, appending "counts" to the end of '
- 'the filename. Default: False')
- o_data.add_argument('--save-donors', '--save_donors', action='store_true',
- help='Whether to save donor-level expression '
- 'dataframes instead of aggregating expression '
- 'across donors with provided `agg_metric`. If '
- 'specified, dataframes will be saved to path '
- 'specified by `output-file`, appending donor IDs '
- 'to the end of the filename. Default: False')
- return parser
- def main(args=None):
- """ Runs primary get_expression_data workflow
- """
- from ..allen import get_expression_data
- opts = get_parser().parse_args(args)
- # debugging is fun
- if opts.debug:
- print(opts)
- return
- # run the workflow
- expression = get_expression_data(atlas=opts.atlas,
- atlas_info=opts.atlas_info,
- ibf_threshold=opts.ibf_threshold,
- probe_selection=opts.probe_selection,
- sim_threshold=opts.sim_threshold,
- lr_mirror=opts.lr_mirror,
- missing=opts.missing,
- tolerance=opts.tolerance,
- sample_norm=opts.sample_norm,
- gene_norm=opts.gene_norm,
- norm_matched=opts.norm_matched,
- norm_structures=opts.norm_structures,
- region_agg=opts.region_agg,
- agg_metric=opts.agg_metric,
- corrected_mni=opts.corrected_mni,
- reannotated=opts.reannotated,
- return_counts=opts.save_counts,
- return_donors=opts.save_donors,
- donors=opts.donors,
- data_dir=opts.data_dir,
- verbose=opts.verbose,
- n_proc=opts.n_proc)
- output_path = os.path.dirname(opts.output_file)
- fname_pref = os.path.splitext(os.path.basename(opts.output_file))[0]
- # WHY?!?
- if opts.stdout and not (opts.save_counts or opts.save_donors):
- expression.to_csv(sys.stdout)
- return
- # expand the tuple, if needed
- if opts.save_counts:
- expression, counts = expression
- counts_fname = os.path.join(output_path, fname_pref + '_counts.csv')
- LGR.info('Saving samples counts to {}'.format(counts_fname))
- counts.to_csv(counts_fname)
- # determine how best to save expression output files
- if opts.save_donors:
- # save each donor dataframe as a separate file
- for donor, exp in expression.items():
- exp_fname = os.path.join(output_path,
- fname_pref + '_{}.csv'.format(donor))
- LGR.info('Saving donor {} info to {}'.format(donor, exp_fname))
- exp.to_csv(exp_fname)
- else:
- expression.to_csv(opts.output_file)
- if __name__ == '__main__':
- raise RuntimeError('abagen/cli/run.py should not be run directly.\nPlease '
- '`pip install` abagen and use the `abagen` command.')
run.py at commit dc4a007, under BSD-3-Clause · at the source
Overview
- Fuzong Teaching Hospital of Fujian University of Traditional Chinese Medicine, Fuzhou, China
- 900th Hospital of PLA Joint Logistic Support Force, Fuzhou, China
Abstract
Background: Temporal lobe epilepsy (TLE) manifests with diverse seizure symptoms, including focal to bilateral tonic—clonic seizures (FBTCS), linked to widespread brain network disruptions. The role of cortical morphometric similarity (MS) network gradients and their relationship with gene expression in TLE remains unclear.
Methods: We studied MS network gradient abnormalities through group comparisons among 87 left TLE patients (48 FBTCS−, 39 FBTCS+) and 63 healthy controls (HC). In addition, partial least squares (PLS) regression analysis was performed to investigate the association between gradient changes and whole-brain gene expression in left FBTCS+ TLE patients.
Results: FBTCS+ patients showed significant reductions in the principal MS network gradient within default mode network (DMN) regions compared to healthy controls, while FBTCS− patients exhibited no such abnormalities. Gradient alterations in FBTCS+ were linked to whole-brain expression of genes involved in neurobiological pathways, cell types, and cortical layers.
Conclusion: FBTCS+ TLE is associated with distinct MS network gradient alterations, which may reflect underlying molecular mechanisms contributing to structural changes linked to severe seizure symptoms.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 3 matches between paragraphs and lines of code.
rmarkello/abagen
dc4a007e4e902e51f97251390c8d1bbf7e58c6d3, 29 September 2023Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
55 files
- abagen/
__init__.py , Python, 26 lines - abagen/
_version.py , Python, 683 lines - abagen/
allen.py , Python, 817 lines - abagen/
cli/ , Python, 1 line__init__.py - abagen/
cli/ , Python, 417 lines, 1 matchrun.py - abagen/
correct.py , Python, 626 lines, 1 match - abagen/
datasets/ , Python, 17 lines__init__.py - abagen/
datasets/ , Python, 546 linesfetchers.py - abagen/
datasets/ , Python, 604 linesutils.py - abagen/
images.py , Python, 586 lines - abagen/
info.py , Python, 164 lines - abagen/
io.py , Python, 430 lines - abagen/
matching.py , Python, 620 lines - abagen/
mouse/ , Python, 13 lines__init__.py - abagen/
mouse/ , Python, 120 linesgene.py - abagen/
mouse/ , Python, 178 linesio.py - abagen/
mouse/ , Python, 268 linesmouse.py - abagen/
mouse/ , Python, 171 linesstructure.py - abagen/
mouse/ , Python, 83 linesutils.py - abagen/
probes_.py , Python, 763 lines, 1 match - abagen/
reporting.py , Python, 625 lines - abagen/
samples_.py , Python, 491 lines - abagen/
surfaces.py , Python, 231 lines - abagen/
tests/ , Python, 1 line__init__.py - abagen/
tests/ , Python, 1 linecli/ __init__.py - abagen/
tests/ , Python, 118 linescli/ test_run.py - abagen/
tests/ , Python, 46 linesconftest.py - abagen/
tests/ , Python, 1 linedatasets/ __init__.py - abagen/
tests/ , Python, 198 linesdatasets/ test_fetchers.py - abagen/
tests/ , Python, 43 linesdatasets/ test_utils.py - abagen/
tests/ , Python, 1 linemouse/ __init__.py - abagen/
tests/ , Python, 37 linesmouse/ test_gene.py - abagen/
tests/ , Python, 52 linesmouse/ test_io.py - abagen/
tests/ , Python, 102 linesmouse/ test_mouse.py - abagen/
tests/ , Python, 66 linesmouse/ test_structure.py - abagen/
tests/ , Python, 136 linestest_allen.py - abagen/
tests/ , Python, 257 linestest_correct.py - abagen/
tests/ , Python, 266 linestest_images.py - abagen/
tests/ , Python, 128 linestest_io.py - abagen/
tests/ , Python, 183 linestest_matching.py - abagen/
tests/ , Python, 276 linestest_probes.py - abagen/
tests/ , Python, 58 linestest_reporting.py - abagen/
tests/ , Python, 322 linestest_samples.py - abagen/
tests/ , Python, 60 linestest_surfaces.py - abagen/
tests/ , Python, 56 linestest_transforms.py - abagen/
tests/ , Python, 88 linestest_utils.py - abagen/
transforms.py , Python, 185 lines - abagen/
utils.py , Python, 221 lines - docs/
conf.py , Python, 129 lines - setup.py, Python, 14 lines
- tools/
update_changes.sh , Shell, 54 lines - tools/
update_readme.py , Python, 33 lines - versioneer.py, Python, 2,277 lines
- LICENSE, License, 29 lines
- README.rst, Text, 163 lines
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:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 53 scripts, each with its path and the digest of its content;
- 3 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
No dataset and no data link were found in the paper.
Data availability statement
The original contributions presented in the study are included in the article/
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, 27 September 2026: the first record
Recorded: type, language, journal, volume, pages, dates, 10 authors, 5 keywords, 64 references.
Cite
This paper
Lin, K., Zeng, T., Zhang, P., Li, H., Yang, P., Huang, Z., Chen, N., Wang, X., Fu, L., & Xu, S. (2026). Transcriptional signatures of the cortical morphometric similarity network gradient in left temporal lobe epilepsy with different seizure symptoms. Frontiers in neuroscience, 20, 1833695. https://
BibTeX
@article{lin2026transcri
author = {Lin, Kanlin and Zeng, Taipeng and Zhang, Pan and Li, Hui and Yang, Pengfan and Huang, Zhifeng and Chen, Nuozhen and Wang, Xiaoyang and Fu, Liyuan and Xu, Shangwen},
title = {{Transcriptional signatures of the cortical morphometric similarity network gradient in left temporal lobe epilepsy with different seizure symptoms}},
journal = {Frontiers in neuroscience},
year = {2026},
month = jun,
volume = {20},
pages = {1833695},
publisher = {Frontiers Media SA},
issn = {1662-4548},
doi = {10.3389/
url = {https://
pmid = {42318194},
pmcid = {PMC13273452}
}
RIS
TY - JOUR
AU - Lin, Kanlin
AU - Zeng, Taipeng
AU - Zhang, Pan
AU - Li, Hui
AU - Yang, Pengfan
AU - Huang, Zhifeng
AU - Chen, Nuozhen
AU - Wang, Xiaoyang
AU - Fu, Liyuan
AU - Xu, Shangwen
TI - Transcriptional signatures of the cortical morphometric similarity network gradient in left temporal lobe epilepsy with different seizure symptoms
T2 - Frontiers in neuroscience
J2 - Front Neurosci
PY - 2026
DA - 2026/
VL - 20
SP - 1833695
SN - 1662-4548
PB - Frontiers Media SA
DO - 10.3389/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.3389/
"type": "article-journal",
"title": "Transcriptional signatures of the cortical morphometric similarity network gradient in left temporal lobe epilepsy with different seizure symptoms",
"container-title": "Frontiers in neuroscience",
"author": [
{
"family": "Lin",
"given": "Kanlin"
},
{
"family": "Zeng",
"given": "Taipeng"
},
{
"family": "Zhang",
"given": "Pan"
},
{
"family": "Li",
"given": "Hui"
},
{
"family": "Yang",
"given": "Pengfan"
},
{
"family": "Huang",
"given": "Zhifeng"
},
{
"family": "Chen",
"given": "Nuozhen"
},
{
"family": "Wang",
"given": "Xiaoyang"
},
{
"family": "Fu",
"given": "Liyuan"
},
{
"family": "Xu",
"given": "Shangwen"
}
],
"container-title-short":
"volume": "20",
"page": "1833695",
"DOI": "10.3389/
"PMID": "42318194",
"PMCID": "PMC13273452",
"ISSN": "1662-4548",
"publisher": "Frontiers Media SA",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
6,
3
]
]
}
}
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.1017/s003329172610405x [code]
- Cortical morphometric inverse divergence in attention-deficit/
hyperactivity disorder correlates with cell-type-specific, laminar-specific and developmental transcriptomic signatures. Journal: Psychological medicineIn common: NiBabel, pandas, SciPy, 1 other tool, structural MRI / diffusion, 9 references - [2] doi:10.1038/s42003-026-09956-6 [code]
- Linking changes in sulcal morphometry to cognitive development from childhood to adolescence.Journal: Communications biologyIn common: abagen, NiBabel, pandas, 2 other tools, structural MRI / diffusion, 4 references
- [3] doi:10.1017/s0033291726104838 [code]
- Variations of structural-functional coupling in post-traumatic stress disorder are associated with underlying molecular and transcriptional features.Journal: Psychological medicineIn common: abagen, NiBabel, pandas, 2 other tools, structural MRI / diffusion, 4 references
- [4] doi:10.1038/s41467-026-74153-2 [code]
- Regional, functional and transcriptomic decoding of multidimensional brain structure alterations in obsessive-compulsive disorder.Journal: Nature communicationsIn common: abagen, NiBabel, pandas, 2 other tools, 4 references
- [5] doi:10.1162/imag.a.1342 [code]
- Hyperpolarized &
lt;sup& gt;13& lt;/ sup& gt;C-bicarbonate production correlates with excitatory neuron distribution in the human brain. Journal: Imaging neuroscience (Cambridge, Mass.)In common: abagen, pandas, SciPy, 1 other tool, structural MRI / diffusion, 5 references - [6] doi:10.1186/s12916-026-04903-y [code]
- Structural connectome architecture and biological vulnerability shape cortical atrophy in cocaine use disorder.Journal: BMC medicineIn common: pandas, SciPy, NumPy, structural MRI / diffusion, 7 references
- [7] doi:10.1038/s42003-025-09444-3 [code]
- Decoupling of neurophysiological activity from structure mirrors global microarchitectural and neuromodulatory trends.Journal: Communications biologyIn common: abagen, NiBabel, pandas, 2 other tools, 4 references
- [8] doi:10.1038/s41467-026-71719-y [code]
- Brain functional-structural gradient coupling reflects development, behavior and genetic influences.Journal: Nature communicationsIn common: abagen, NiBabel, pandas, 2 other tools, 4 references
- [9] doi:10.1002/hbm.70605 [code]
- BrainEnrich: Revealing Biological Insights for Imaging-Derived Phenotypes Through Transcriptomic Enrichment.Journal: Human brain mappingIn common: NiBabel, pandas, SciPy, 1 other tool, 5 references
- [10] doi:10.1038/s41531-026-01354-3 [code]
- Neuromodulation-induced normalization of cortical metastable dynamics signatures in Parkinson's disease.Journal: NPJ Parkinson's diseaseIn common: abagen, NiBabel, pandas, 2 other tools, 3 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: 1 repository of the authors' code, each at its verified commit and with its license, 53 scripts, and 3 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:9bc5f918615883c0…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
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: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
