<i>In vivo</i> genome editing of central nervous system SIV reservoirs in ART-suppressed rhesus macaques.
The 4 matches
- [1] § Materials and methods › Nanopore sequence analysis ↔ bin/filter_reads.py, lines 222–230 · score 0.69 · internal deletion, deletion tolerant, mis, threshold, filter, query
- [2] § Materials and methods › Nanopore sequence analysis ↔ bin/parse_clusters.py, lines 389–464 · score 0.67 · pairwise edit distance, UMI tag, subclustering, filter, sequenced
- [3] § Materials and methods › Nanopore sequence analysis ↔ bin/parse_cluster_alignment.py, lines 32–116 · score 0.57 · reference sequence, CIGAR, flagged, segments, alignment, parsed
- [4] § Materials and methods › Amplicon barcode sequencing and clonal diversity analysis ↔ outerspace/cli/commands/collapse.py, lines 1–24 · score 0.52 · UMI tools, corrected barcodes, collapsed
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 · 413 lines · 12 KB · MPL-2.0 · 1 match
- """
- This is a modified version of the code present in:
- https://github.com/nanoporetech/pipeline-umi-amplicon/blob/master/lib/umi_amplicon_tools/filter_reads.py
- """
- import argparse
- import logging
- import os
- import sys
- import pysam
- def parse_args(argv):
- """
- Commandline parser
- :param argv: Command line arguments
- :type argv: List
- """
- usage = "Command line interface to telemap"
- parser = argparse.ArgumentParser(
- description=usage, formatter_class=argparse.RawDescriptionHelpFormatter
- )
- parser.add_argument(
- "-l",
- "--log",
- dest="log",
- choices=[
- "DEBUG",
- "INFO",
- "WARNING",
- "ERROR",
- "CRITICAL",
- "debug",
- "info",
- "warning",
- "error",
- "critical",
- ],
- default="INFO",
- help="Print debug information",
- )
- parser.add_argument(
- "-t", "--threads", dest="THREADS", type=int, default=1, help="Number of threads."
- )
- parser.add_argument(
- "--min_overlap",
- dest="MIN_OVERLAP",
- type=float,
- default=0.9,
- help="Min overlap with target region",
- )
- parser.add_argument(
- "--adapter_length",
- dest="ADAPTER_LENGTH",
- type=int,
- default=200,
- help="Length of adapter",
- )
- parser.add_argument(
- "--max_query_length",
- dest="MAX_QUERY_LENGTH",
- type=int,
- default=None,
- help=(
- "Maximum length to pass the long-read filter "
- "(default: region_length * (2 - min_overlap) + 2 * adapter_length). "
- "Use a higher value for long Nanopore amplicon reads."
- ),
- )
- parser.add_argument(
- "--include_secondary_reads",
- dest="INCL_SEC",
- action="store_true",
- help="Include secondary alignments",
- )
- parser.add_argument(
- "-o",
- "--output",
- dest="OUT",
- type=str,
- required=False,
- help="Output folder"
- )
- parser.add_argument(
- "--output_filename",
- dest="OUT_FILENAME",
- type=str,
- required=False,
- help="Output filename"
- )
- parser.add_argument(
- "--tsv",
- dest="TSV",
- action="store_true",
- help="Write tsv file containing filtering stats"
- )
- parser.add_argument("BED", type=str, nargs=1, help="BED file")
- parser.add_argument(
- "BAM", type=str, nargs="?", default="/dev/stdin", help="BAM file"
- )
- parser.add_argument(
- "--output_format",
- dest="OUT_FORMAT",
- type=str,
- help="Choose fastq or fasta",
- default="fasta"
- )
- parser.add_argument(
- "--split_read_filter_mode",
- dest="SPLIT_READ_FILTER_MODE",
- type=str,
- choices=["strict", "deletion_tolerant"],
- default="strict",
- help="strict: require query alignment span vs BED length; "
- "deletion_tolerant: require reference overlap with BED instead",
- )
- args = parser.parse_args(argv)
- return args
- def parse_bed(bed_regions):
- with open(bed_regions) as fh:
- for line in fh:
- line = line.strip()
- if not line:
- continue
- cols = line.split("\t")
- if len(cols) < 4:
- logging.warning("Ignoring BED entry: {}".format(line))
- continue
- region = {
- "chr": cols[0],
- "start": int(cols[1]),
- "end": int(cols[2]),
- "name": cols[3],
- }
- return region
- def write_read(read, output, type, format):
- output_fastx = os.path.join(
- output, "{}.{}".format(type, format)
- )
- # see if appending line is no problem by running it with nextflow (Otherwise delete files before appending for the first time)
- with open(output_fastx, "a") as out_f:
- if format == "fasta":
- write_fasta(read, out_f)
- elif format == "fastq":
- write_fastq(read, out_f)
- else:
- raise RuntimeError("specified format incorrect: {}".format(format))
- def write_fasta(read, out_f):
- read_strand = "-"
- if read.is_reverse:
- print(
- ">{};strand={}".format(read.query_name, read_strand), file=out_f
- )
- print(read.get_forward_sequence(), file=out_f)
- else:
- read_strand = "+"
- print(
- ">{};strand={}".format(read.query_name, read_strand), file=out_f
- )
- print(read.query_sequence, file=out_f)
- def write_fastq(read, out_f):
- read_strand = "-"
- if read.is_reverse:
- print(
- "@{};strand={}".format(read.query_name, read_strand), file=out_f
- )
- print(read.get_forward_sequence(), file=out_f)
- print("+", file=out_f)
- print(pysam.qualities_to_qualitystring(
- read.get_forward_qualities()), file=out_f)
- else:
- read_strand = "+"
- print(
- "@{};strand={}".format(read.query_name, read_strand), file=out_f
- )
- print(read.query_sequence, file=out_f)
- print("+", file=out_f)
- print(pysam.qualities_to_qualitystring(
- read.query_qualities), file=out_f)
- def bed_overlap_bp(read, region):
- """Reference bases of the alignment overlapping the BED interval."""
- if read.reference_start is None or read.reference_end is None:
- return 0
- overlap_start = max(read.reference_start, region["start"])
- overlap_end = min(read.reference_end, region["end"])
- return max(0, overlap_end - overlap_start)
- def is_short_read(read, region, region_length, min_overlap, filter_mode):
- if filter_mode == "deletion_tolerant":
- return bed_overlap_bp(read, region) < (region_length * min_overlap)
- return read.query_alignment_length < (region_length * min_overlap)
- def is_long_read(read, long_threshold, filter_mode):
- """
- strict: full query length vs long_threshold (often max_query_length override).
- deletion_tolerant: aligned span on the query only — not full read length,
- so internal-deletion ONT reads are not mis-binned as long.
- """
- if filter_mode == "deletion_tolerant":
- return read.query_alignment_length > long_threshold
- return read.query_length > long_threshold
- def filter_reads(args):
- bed_regions = args.BED[0]
- bam_file = args.BAM
- adapter_length = args.ADAPTER_LENGTH
- min_overlap = args.MIN_OVERLAP
- max_query_length = args.MAX_QUERY_LENGTH
- filter_mode = args.SPLIT_READ_FILTER_MODE
- incl_sec = args.INCL_SEC
- output = args.OUT
- out_format = args.OUT_FORMAT
- tsv = args.TSV
- output_filename = "{}_filtered".format(args.OUT_FILENAME)
- stats_out_filename = "{}_umi_filter_reads_stats".format(args.OUT_FILENAME)
- n_non_reads = 0
- n_unmapped = 0
- n_concatamer = 0
- n_short = 0
- n_ontarget = 0
- n_reads_region = 0
- n_supplementary = 0
- n_secondary = 0
- n_total = 0
- n_long = 0
- with pysam.AlignmentFile(bam_file, "rb") as bam:
- region = parse_bed(bed_regions)
- region_length = region["end"] - region["start"]
- long_threshold = (
- max_query_length
- if max_query_length is not None
- else region_length * (2 - min_overlap) + 2 * adapter_length
- )
- logging.info("Region: {}".format(region["name"]))
- logging.info("Long-read threshold: {} bp ({})".format(
- long_threshold, filter_mode))
- for read in bam.fetch(
- contig=region["chr"], start=region["start"], stop=region["end"], until_eof=True
- ):
- if (read.query_sequence is None):
- n_non_reads += 1
- continue
- n_total += 1
- if read.is_unmapped:
- n_unmapped += 1
- write_read(read, output, "unmapped", out_format)
- continue
- if read.is_secondary:
- n_secondary += 1
- if not incl_sec:
- write_read(read, output, "secondary", out_format)
- continue
- if read.is_supplementary:
- n_supplementary += 1
- write_read(read, output, "supplementary", out_format)
- continue
- n_ontarget += 1
- if read.query_alignment_length < (read.query_length - 2 * adapter_length):
- n_concatamer += 1
- write_read(read, output, "concatamer", out_format)
- continue
- if is_short_read(read, region, region_length, min_overlap, filter_mode):
- n_short += 1
- write_read(read, output, "short", out_format)
- continue
- if is_long_read(read, long_threshold, filter_mode):
- n_long += 1
- write_read(read, output, "long", out_format)
- continue
- n_reads_region += 1
- write_read(read, output, output_filename, out_format)
- if tsv:
- stats_out_filename = os.path.join(
- output, "{}.tsv".format(stats_out_filename))
- write_tsv(n_total, n_unmapped, n_secondary, n_supplementary, n_ontarget,
- n_concatamer, n_short, n_long, n_reads_region, incl_sec, stats_out_filename, region)
- def write_tsv(n_total, n_unmapped, n_secondary, n_supplementary, n_ontarget, n_concatamer, n_short, n_long, n_reads_region, incl_sec, stats_out_filename, region):
- concatermer_perc = 0
- short_perc = 0
- long_perc = 0
- if n_total > 0:
- if incl_sec:
- filtered_perc = 100 * n_reads_region // n_total
- else:
- filtered_perc = 100 * (n_secondary + n_reads_region) // n_total
- unmapped_perc = 100 * n_unmapped // n_total
- secondary_perc = 100 * n_secondary // n_total
- supplementary_perc = 100 * n_supplementary // n_total
- ontarget_perc = 100 * n_ontarget // n_total
- if ontarget_perc > 0:
- concatermer_perc = 100 * n_concatamer // n_ontarget
- short_perc = 100 * n_short // n_ontarget
- long_perc = 100 * n_long // n_ontarget
- with open(stats_out_filename, "a") as out_f:
- print(
- "format",
- "region",
- "reads_found",
- "reads_unmapped",
- "reads_secondary",
- "reads_supplementary",
- "reads_on_target",
- "reads_concatamer",
- "reads_short",
- "reads_long",
- "reads_filtered",
- "include_secondary",
- sep="\t",
- file=out_f
- )
- print(
- "count",
- region["name"],
- n_total,
- n_unmapped,
- n_secondary,
- n_supplementary,
- n_ontarget,
- n_concatamer,
- n_short,
- n_long,
- n_reads_region,
- incl_sec,
- sep="\t",
- file=out_f
- )
- print(
- "%",
- region["name"],
- "100",
- unmapped_perc,
- secondary_perc,
- supplementary_perc,
- ontarget_perc,
- concatermer_perc,
- short_perc,
- long_perc,
- filtered_perc,
- incl_sec,
- sep="\t",
- file=out_f
- )
- def main(argv=sys.argv[1:]):
- """
- Basic command line interface to telemap.
- :param argv: Command line arguments
- :type argv: list
- :return: None
- :rtype: NoneType
- """
- args = parse_args(argv=argv)
- numeric_level = getattr(logging, args.log.upper(), None)
- if not isinstance(numeric_level, int):
- raise ValueError("Invalid log level: %s" % args.log.upper())
- logging.basicConfig(level=numeric_level, format="%(message)s")
- filter_reads(args)
- if __name__ == "__main__":
- main()
filter_reads.py at commit 19f7d47, under MPL-2.0 · at the source
Overview
- Center for Neurovirology and Gene Editing, Department of Microbiology, Immunology and Inflammation, Lewis Katz School of Medicine at Temple University, 3500 N. Broad Street, 7th Floor, Philadelphia, PA 19140, USA
- Excision BioTherapeutics, Inc., 499 Jackson Street, San Francisco, CA 94111, USA
- Center for Molecular Virology and Translational Neuroscience, Institute for Molecular Medicine and Infectious Disease, Department of Microbiology and Immunology, Drexel University College of Medicine, 2900 W Queen Ln, Philadelphia, PA 19129, USA
- Rutgers Institute for Translational Medicine and Science, Robert Wood Johnson Medical School, Rutgers, The State University of New Jersey, 89 French Street, Suite 4275, New Brunswick, NJ 08901, USA
- Bioqual, Inc., 9600 Medical Center Drive, #101, Rockville, MD 20850, USA
Abstract
Latent human immunodeficiency virus type 1 (HIV-1) reservoirs in the central nervous system (CNS) may sustain viral persistence and neuroinflammation contributing to HIV-associated neurocognitive disorders (HAND) despite suppressive ART. AAV9-delivered CRISPR has successfully edited SIV proviral DNA in peripheral tissues with acceptable safety profiles, but the extent of in vivo genome editing in the brain remains unclear. Using SIV-infected rhesus macaques, we mapped intact proviral DNA across CNS regions and tested systemic AAV9-CRISPR-Cas9 targeting conserved sites within Ψ packaging signal and Gag region. Ten adult rhesus macaques were infected with genetically barcoded SIVmac239, suppressed with ART, then randomized to receive intravenous AAV9-SaCas9 with dual gRNAs (Ψ + Gag) or a Cas9-only control. At necropsy after viral rebound, SIV genomes were detected in multiple brain regions as well as lymphoid tissues, confirming the CNS as a persistent reservoir during ART. Barcode analysis revealed region-specific patterns consistent with compartmentalized CNS persistence. In CRISPR-treated animals, proviral editing was measurable across anatomically distinct CNS sites. These findings demonstrate that intact and potentially replication-competent virus persists in the primate brain under ART and that systemic AAV9-CRISPR can reach and edit proviral DNA in this sanctuary, supporting genome editing as a strategy toward durable remission of CNS reservoirs.
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 4 matches between paragraphs and lines of code.
DamLabResources/umi-pipeline-nf-HIV
19f7d479d716e7152439fe6c05e3496b751b91c1, 4 June 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
15 files
- bin/
clean.sh , Shell, 3 lines - bin/
cluster_report.py , Python, 55 lines - bin/
extract_umis.py , Python, 532 lines - bin/
filter_reads.py , Python, 413 lines, 1 match - bin/
parse_cluster_alignment. , Python, 134 lines, 1 matchpy - bin/
parse_clusters.py , Python, 541 lines, 1 match - bin/
reformat_consensus.py , Python, 106 lines - bin/
summarize_split_read_sta , Python, 81 linests.py - bin/
summarize_umi_stats.py , Python, 74 lines - bin/
summary_cluster_report.p , Python, 66 linesy - live_demo/
src/ , Shell, 101 linesrun_live_demo.sh - scripts/
build_sivmac_test_fixtur , Python, 191 lineses.py - tests/
test_filter_reads_sivmac , Python, 80 lines.py - LICENSE.md, License, 361 lines
- README.md, Text, 202 lines
DamLabResources/outerspace
df4a034411f4a767161f782922f2dcf0f0878b34, 20 January 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
78 files
- docs/
tutorials/ , Shell, 121 linescrispr-screen/ run_tutorial.sh - docs/
tutorials/ , Shell, 121 linessiv-barcoding/ run_tutorial.sh - outerspace/
__init__.py , Python, 6 lines - outerspace/
align.py , Python, 135 lines - outerspace/
cli/ , Python, 6 lines__init__.py - outerspace/
cli/ , Python, 14 linescommands/ __init__.py - outerspace/
cli/ , Python, 713 linescommands/ align.py - outerspace/
cli/ , Python, 328 linescommands/ base.py - outerspace/
cli/ , Python, 935 lines, 1 matchcommands/ collapse.py - outerspace/
cli/ , Python, 472 linescommands/ count.py - outerspace/
cli/ , Python, 642 linescommands/ findseq.py - outerspace/
cli/ , Python, 137 linescommands/ merge.py - outerspace/
cli/ , Python, 664 linescommands/ pipeline.py - outerspace/
cli/ , Python, 337 linescommands/ stats.py - outerspace/
cli/ , Python, 325 linescommands/ subsample.py - outerspace/
cli/ , Python, 53 linescommands/ visualize.py - outerspace/
cli/ , Python, 151 lineslogging_config.py - outerspace/
cli/ , Python, 201 linesmain.py - outerspace/
cli/ , Python, 1 lineutils/ __init__.py - outerspace/
config.py , Python, 302 lines - outerspace/
nearest.py , Python, 507 lines - outerspace/
pattern.py , Python, 369 lines - outerspace/
read.py , Python, 371 lines - outerspace/
stats/ , Python, 55 lines__init__.py - outerspace/
stats/ , Python, 409 linesbase.py - outerspace/
stats/ , Python, 424 linesdifferential.py - outerspace/
stats/ , Python, 455 linesmulti.py - outerspace/
stats/ , Python, 1,191 linessingle.py - outerspace/
stats/ , Python, 61 linesutils.py - outerspace/
umi.py , Python, 658 lines - tests/
__init__.py , Python, 1 line - tests/
conftest.py , Python, 93 lines - tests/
pkgtest/ , Python, 1 line__init__.py - tests/
pkgtest/ , Python, 27 linesutils.py - tests/
test_align.py , Python, 161 lines - tests/
test_cli/ , Python, 907 linestest_commands/ test_align.py - tests/
test_cli/ , Python, 1,162 linestest_commands/ test_collapse.py - tests/
test_cli/ , Python, 521 linestest_commands/ test_count.py - tests/
test_cli/ , Python, 307 linestest_commands/ test_findseq.py - tests/
test_cli/ , Python, 284 linestest_commands/ test_merge.py - tests/
test_cli/ , Python, 592 linestest_commands/ test_pipeline.py - tests/
test_cli/ , Python, 282 linestest_commands/ test_stats.py - tests/
test_cli/ , Python, 381 linestest_commands/ test_subsample.py - tests/
test_cli/ , Python, 86 linestest_commands/ test_visualize.py - tests/
test_cli/ , Python, 760 linestest_functional_iterativ e.py - tests/
test_cli/ , Python, 137 linestest_functional_pipeline .py - tests/
test_cli/ , Python, 21 linestest_main.py - tests/
test_config.py , Python, 390 lines - tests/
test_nearest.py , Python, 531 lines - tests/
test_pattern.py , Python, 1,196 lines - tests/
test_read.py , Python, 560 lines - tests/
test_revpat.py , Python, 37 lines - tests/
test_stats/ , Python, 1 line__init__.py - tests/
test_stats/ , Python, 113 linesconftest.py - tests/
test_stats/ , Python, 112 linestest_differential/ test_mann_whitney.py - tests/
test_stats/ , Python, 203 linestest_differential/ test_paired_ttest.py - tests/
test_stats/ , Python, 111 linestest_differential/ test_single_sample.py - tests/
test_stats/ , Python, 112 linestest_pairwise.py - tests/
test_stats/ , Python, 79 linestest_pairwise/ test_bray_curtis.py - tests/
test_stats/ , Python, 75 linestest_pairwise/ test_fold_change.py - tests/
test_stats/ , Python, 53 linestest_pairwise/ test_jaccard.py - tests/
test_stats/ , Python, 76 linestest_pairwise/ test_spearman.py - tests/
test_stats/ , Python, 108 linestest_single.py - tests/
test_stats/ , Python, 89 linestest_single/ test_efficiency.py - tests/
test_stats/ , Python, 52 linestest_single/ test_gini.py - tests/
test_stats/ , Python, 119 linestest_single/ test_hill.py - tests/
test_stats/ , Python, 57 linestest_single/ test_recovery.py - tests/
test_stats/ , Python, 70 linestest_single/ test_shannon.py - tests/
test_stats/ , Python, 61 linestest_single/ test_simpson.py - tests/
test_stats/ , Python, 366 linestest_stepwise.py - tests/
test_umi.py , Python, 378 lines - workflow/
wrappers/ , Python, 34 linescollapse/ wrapper.py - workflow/
wrappers/ , Python, 33 linescount/ wrapper.py - workflow/
wrappers/ , Python, 40 linesfindseq/ wrapper.py - workflow/
wrappers/ , Python, 35 linesmerge/ wrapper.py - workflow/
wrappers/ , Python, 56 linesstats/ wrapper.py - workflow/
wrappers/ , Python, 51 linessubsample/ wrapper.py - README.md, Text, 71 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:
- 2 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 90 scripts, each with its path and the digest of its content;
- 4 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 and code availability
The data supporting the findings of this study are available within the article and its supplemental materials. Additional data are available from the corresponding author upon reasonable request.
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 2, 28 September 2026
- Authors: added Chen Chen (0000-0001-8218-1965); Mackenzie E Collins (0009-0005-0519-9113); Tricia H Burdo (0000-0002-4224-7381); Mark Lewis (0000-0001-7852-0135); Cheri A Lee (0009-0004-2540-8245); Kamel Khalili (0000-0002-6819-5217); removed Chen Chen; Mackenzie E Collins; Tricia H Burdo; Mark Lewis; Cheri A Lee; Kamel Khalili
Version 1, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 18 authors, 10 keywords, 2 funders, 46 references.
Cite
This paper
Liu, H., Liao, S., Chen, C., Huo, W., Safaei, Z., Rocchi, A., Huang, Y., Sariyer, I. K., Collins, M. E., Lawrence, J. M., Dampier, W., Nonnemacher, M. R., Wigdahl, B., Burdo, T. H., Gordon, J., Lewis, M., Lee, C. A., & Khalili, K. (2026). &
BibTeX
@article{liu2026lt,
author = {Liu, Hong and Liao, Shuren and Chen, Chen and Huo, Wenwen and Safaei, Zahra and Rocchi, Angela and Huang, Yuru and Sariyer, Ilker K and Collins, Mackenzie E and Lawrence, Jill M and Dampier, Will and Nonnemacher, Michael R and Wigdahl, Brian and Burdo, Tricia H and Gordon, Jennifer and Lewis, Mark and Lee, Cheri A and Khalili, Kamel},
title = {{\&
journal = {Molecular therapy. Nucleic acids},
year = {2026},
month = aug,
volume = {37},
number = {3},
pages = {103063},
publisher = {American Society of Gene \& Cell Therapy},
issn = {2162-2531},
doi = {10.1016/
url = {https://
pmid = {42724751},
pmcid = {PMC13560538}
}
RIS
TY - JOUR
AU - Liu, Hong
AU - Liao, Shuren
AU - Chen, Chen
AU - Huo, Wenwen
AU - Safaei, Zahra
AU - Rocchi, Angela
AU - Huang, Yuru
AU - Sariyer, Ilker K
AU - Collins, Mackenzie E
AU - Lawrence, Jill M
AU - Dampier, Will
AU - Nonnemacher, Michael R
AU - Wigdahl, Brian
AU - Burdo, Tricia H
AU - Gordon, Jennifer
AU - Lewis, Mark
AU - Lee, Cheri A
AU - Khalili, Kamel
TI - &
T2 - Molecular therapy. Nucleic acids
J2 - Mol Ther Nucleic Acids
PY - 2026
DA - 2026/
VL - 37
IS - 3
SP - 103063
SN - 2162-2531
PB - American Society of Gene & Cell Therapy
DO - 10.1016/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1016/
"type": "article-journal",
"title": "&
"container-title": "Molecular therapy. Nucleic acids",
"author": [
{
"family": "Liu",
"given": "Hong"
},
{
"family": "Liao",
"given": "Shuren"
},
{
"family": "Chen",
"given": "Chen"
},
{
"family": "Huo",
"given": "Wenwen"
},
{
"family": "Safaei",
"given": "Zahra"
},
{
"family": "Rocchi",
"given": "Angela"
},
{
"family": "Huang",
"given": "Yuru"
},
{
"family": "Sariyer",
"given": "Ilker K"
},
{
"family": "Collins",
"given": "Mackenzie E"
},
{
"family": "Lawrence",
"given": "Jill M"
},
{
"family": "Dampier",
"given": "Will"
},
{
"family": "Nonnemacher",
"given": "Michael R"
},
{
"family": "Wigdahl",
"given": "Brian"
},
{
"family": "Burdo",
"given": "Tricia H"
},
{
"family": "Gordon",
"given": "Jennifer"
},
{
"family": "Lewis",
"given": "Mark"
},
{
"family": "Lee",
"given": "Cheri A"
},
{
"family": "Khalili",
"given": "Kamel"
}
],
"container-title-short":
"volume": "37",
"issue": "3",
"page": "103063",
"DOI": "10.1016/
"PMID": "42724751",
"PMCID": "PMC13560538",
"ISSN": "2162-2531",
"publisher": "American Society of Gene & Cell Therapy",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
8,
14
]
]
}
}
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.1016/j.celrep.2026.117073 [code]
- Single-cell epigenomics uncovers heterochromatin instability and transcription factor dysfunction during mouse brain aging.Journal: Cell reportsIn common: Snakemake, pysam, NetworkX, 4 other tools, cellular / molecular
- [2] doi:10.1186/s13059-026-04177-w [code]
- Genomic sequence evolution underlying human neocortical interareal diversification.Journal: Genome biologyIn common: Snakemake, pysam, pandas, 3 other tools, non-human primate, cellular / molecular
- [3] doi:10.1038/s44400-026-00094-8 [code]
- Haplotype-resolved DNA methylation at the &
lt;i& gt;APOE& lt;/ i& gt; locus identifies allele-specific epigenetic signatures relevant to Alzheimer's disease risk. Journal: NPJ dementiaIn common: Snakemake, pysam, pandas, 3 other tools, cellular / molecular - [4] doi:10.1038/s41467-026-71790-5 [code]
- Recurrent DNA break clusters drive replication-stress-induc
ed copy number variants and genome diversification. Journal: Nature communicationsIn common: Snakemake, pysam, pandas, 3 other tools, cellular / molecular - [5] doi:10.1016/j.celrep.2026.117110 [code]
- Single-nucleus multiome analysis in the human prefrontal cortex identifies gene expression and cis-regulatory elements associated with aging.Journal: Cell reportsIn common: Snakemake, pysam, pandas, 3 other tools, cellular / molecular
- [6] doi:10.21203/rs.3.rs-9927928/v1 [code]
- Genome-wide and allele-resolved maps of the radial architecture of the mouse genomeJournal: Research Square (preprint)In common: Nextflow, pysam, pandas, 3 other tools
- [7] doi:10.1093/genetics/iyag107 [code]
- Neural posterior estimation for population genetics.Journal: GeneticsIn common: Snakemake, pysam, pandas, 3 other tools
- [8] doi:10.1016/j.xcrm.2026.102766 [code]
- A longitudinal single-cell and spatial multiomic atlas of pediatric high-grade glioma.Journal: Cell reports. MedicineIn common: pysam, NetworkX, pandas, 3 other tools, cellular / molecular
- [9] doi:10.1038/s41467-026-76675-1 [code]
- Long-read proteogenomic atlas of human neuronal differentiation reveals isoform diversity informing neurodevelopmental risk mechanisms.Journal: Nature communicationsIn common: pysam, NetworkX, pandas, 3 other tools
- [10] doi:10.1038/s42003-026-10462-y [code]
- SpaDC enables sequence-based integrative analysis and regulatory inference of spatial chromatin accessibility data.Journal: Communications biologyIn common: pysam, NetworkX, pandas, 3 other tools
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: 2 repositories of the authors' code, each at its verified commit and with its license, 90 scripts, and 4 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:acf32ffda58ea9c5…
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.
