Astrocyte-enriched and cilia-related genetic signatures in dementia: A whole-exome sequencing study.
The 4 matches
- [1] § MATERIALS AND METHODS › Variant annotation and deleteriousness prediction ↔ bcbio/variation/prioritize.py, lines 66 to 89 · score 0.73 · AA, AFR, AMR, EA, EUR, NFE · Report a mismatch
- [2] § MATERIALS AND METHODS › Variant filtering ↔ bcbio/variation/freebayes.py, lines 102 to 144 · score 0.60 · bcftools filter, bcftools view, heterozygosity, genotype, indel, quality · Report a mismatch
- [3] § MATERIALS AND METHODS › Whole‐exome sequencing and variant calling ↔ bcbio/variation/vfilter.py, lines 185 to 217 · score 0.58 · HaplotypeCaller, GATK Best Practices, Mapped, quality, score, variants · Report a mismatch
- [4] § MATERIALS AND METHODS › Variant filtering ↔ bcbio/variation/gatkfilter.py, lines 187 to 230 · score 0.53 · Variant quality score, VQSR, recalibration, sensitivity, filtering · 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
Python · 205 lines · 8.9 KB · MIT · 1 match
- """Prioritization scheme for identifying follow up variants in tumor-only samples.
- Generalizes the filtering scheme used in VarDict post-processing:
- https://github.com/AstraZeneca-NGS/VarDict/blob/9ffec9168e91534fac5fb74b3ec7bdd2badd3464/vcf2txt.pl#L190
- The goal is to build up a standard set of prioritization filters based on known
- data. Uses GEMINI to load a database of variants with associated third party
- query information. Makes use of ExAC, dbSNP, 1000 genomes, clinvar, cosmic and
- effects annotations. The general idea is to prioritize deleterious variants
- missing or present at a low frequency in the population, or secondarily identified
- in external databases like COSMIC and ClinVar.
- """
- import collections
- import csv
- import re
- from bcbio import utils
- from bcbio.distributed.transaction import file_transaction
- from bcbio.pipeline import datadict as dd
- from bcbio.provenance import do
- from bcbio.variation import population, vcfutils
- geneimpacts = utils.LazyImport("geneimpacts")
- cyvcf2 = utils.LazyImport("cyvcf2")
- def handle_vcf_calls(vcf_file, data, orig_items):
- """Prioritize VCF calls based on external annotations supplied through GEMINI.
- """
- if not _do_prioritize(orig_items):
- return vcf_file
- else:
- ann_vcf = population.run_vcfanno(vcf_file, data)
- if ann_vcf:
- priority_file = _prep_priority_filter_vcfanno(ann_vcf, data)
- return _apply_priority_filter(ann_vcf, priority_file, data)
- # No data available for filtering, return original file
- else:
- return vcf_file
- def _apply_priority_filter(in_file, priority_file, data):
- """Annotate variants with priority information and use to apply filters.
- """
- out_file = "%s-priority%s" % utils.splitext_plus(in_file)
- if not utils.file_exists(out_file):
- with file_transaction(data, out_file) as tx_out_file:
- header = ('##INFO=<ID=EPR,Number=.,Type=String,'
- 'Description="Somatic prioritization based on external annotations, '
- 'identify as likely germline">')
- header_file = "%s-repeatheader.txt" % utils.splitext_plus(tx_out_file)[0]
- with open(header_file, "w") as out_handle:
- out_handle.write(header)
- if "tumoronly_germline_filter" in dd.get_tools_on(data):
- filter_cmd = ("bcftools filter -m '+' -s 'LowPriority' "
- """-e "EPR[0] != 'pass'" |""")
- else:
- filter_cmd = ""
- # bcftools 1.13+ requires to skip TO
- cmd = ("bcftools annotate -a {priority_file} -h {header_file} "
- "-c CHROM,FROM,-,REF,ALT,INFO/EPR {in_file} | "
- "{filter_cmd} bgzip -c > {tx_out_file}")
- do.run(cmd.format(**locals()), "Run external annotation based prioritization filtering")
- vcfutils.bgzip_and_index(out_file, data["config"])
- return out_file
- def _prep_priority_filter_vcfanno(in_vcf, data):
- """Prepare tabix file with priority filters based on vcfanno annotations.
- """
- pops = ['af_adj_exac_afr', 'af_adj_exac_amr', 'af_adj_exac_eas',
- 'af_adj_exac_fin', 'af_adj_exac_nfe', 'af_adj_exac_oth', 'af_adj_exac_sas',
- 'af_exac_all', 'max_aaf_all',
- "af_esp_ea", "af_esp_aa", "af_esp_all", "af_1kg_amr", "af_1kg_eas",
- "af_1kg_sas", "af_1kg_afr", "af_1kg_eur", "af_1kg_all"]
- known = ["cosmic_ids", "cosmic_id", "clinvar_sig"]
- out_file = "%s-priority.tsv" % utils.splitext_plus(in_vcf)[0]
- if not utils.file_exists(out_file) and not utils.file_exists(out_file + ".gz"):
- with file_transaction(data, out_file) as tx_out_file:
- with open(tx_out_file, "w") as out_handle:
- writer = csv.writer(out_handle, dialect="excel-tab")
- header = ["#chrom", "start", "end", "ref", "alt", "filter"]
- writer.writerow(header)
- vcf_reader = cyvcf2.VCF(in_vcf)
- impact_info = _get_impact_info(vcf_reader)
- for rec in vcf_reader:
- row = _prepare_vcf_rec(rec, pops, known, impact_info)
- cur_filter = _calc_priority_filter(row, pops)
- writer.writerow([rec.CHROM, rec.start, rec.end, rec.REF, ",".join(rec.ALT), cur_filter])
- return vcfutils.bgzip_and_index(out_file, data["config"],
- tabix_args="-0 -c '#' -s 1 -b 2 -e 3")
- def _get_impact_info(vcf_reader):
- """Retrieve impact parsing information from INFO header.
- """
- ImpactInfo = collections.namedtuple("ImpactInfo", "header, gclass, id")
- KEY_2_CLASS = {
- 'CSQ': geneimpacts.VEP,
- 'ANN': geneimpacts.SnpEff,
- 'BCSQ': geneimpacts.BCFT}
- for l in (x.strip() for x in _from_bytes(vcf_reader.raw_header).split("\n")):
- if l.startswith("##INFO"):
- patt = re.compile(r"(\w+)=(\"[^\"]+\"|[^,]+)")
- stub = l.split("=<")[1].rstrip(">")
- d = dict(patt.findall(_from_bytes(stub)))
- if d["ID"] in KEY_2_CLASS:
- return ImpactInfo(_parse_impact_header(d), KEY_2_CLASS[d["ID"]], d["ID"])
- def _from_bytes(s):
- if isinstance(s, bytes):
- import locale
- ENC = locale.getpreferredencoding()
- try:
- return s.decode(ENC)
- except UnicodeDecodeError:
- return s.decode('utf8')
- return s
- def _parse_impact_header(hdr_dict):
- """Parse fields for impact, taken from vcf2db
- """
- desc = hdr_dict["Description"]
- if hdr_dict["ID"] == "ANN":
- parts = [x.strip("\"'") for x in re.split("\s*\|\s*", desc.split(":", 1)[1].strip('" '))]
- elif hdr_dict["ID"] == "EFF":
- parts = [x.strip(" [])'(\"") for x in re.split("\||\(", desc.split(":", 1)[1].strip())]
- elif hdr_dict["ID"] == "CSQ":
- parts = [x.strip(" [])'(\"") for x in re.split("\||\(", desc.split(":", 1)[1].strip())]
- elif hdr_dict["ID"] == "BCSQ":
- parts = desc.split(']', 1)[1].split(']')[0].replace('[','').split("|")
- else:
- raise Exception("don't know how to use %s as annotation" % hdr_dict["ID"])
- return parts
- def _prepare_vcf_rec(rec, pops, known, impact_info):
- """Parse a vcfanno output into a dictionary of useful attributes.
- """
- out = {}
- for k in pops + known:
- out[k] = rec.INFO.get(k)
- if impact_info:
- cur_info = rec.INFO.get(impact_info.id)
- if cur_info:
- cur_impacts = [impact_info.gclass(e, impact_info.header) for e in _from_bytes(cur_info).split(",")]
- top = geneimpacts.Effect.top_severity(cur_impacts)
- if isinstance(top, list):
- top = top[0]
- out["impact_severity"] = top.effect_severity
- return out
- def _calc_priority_filter(row, pops):
- """Calculate the priority filter based on external associated data.
- - Pass high/medium impact variants not found in population databases
- - Pass variants found in COSMIC or Clinvar provided they don't have two
- additional reasons to filter (found in multiple external populations)
- """
- filters = []
- passes = []
- passes.extend(_find_known(row))
- filters.extend(_known_populations(row, pops))
- if len(filters) == 0 or (len(passes) > 0 and len(filters) < 2):
- passes.insert(0, "pass")
- return ",".join(passes + filters)
- def _known_populations(row, pops):
- """Find variants present in substantial frequency in population databases.
- """
- cutoff = 0.01
- out = set([])
- for pop, base in [("esp", "af_esp_all"), ("1000g", "af_1kg_all"),
- ("exac", "af_exac_all"), ("anypop", "max_aaf_all")]:
- for key in [x for x in pops if x.startswith(base)]:
- val = row[key]
- if val and val > cutoff:
- out.add(pop)
- return sorted(list(out))
- def _find_known(row):
- """Find variant present in known pathogenic databases.
- """
- out = []
- clinvar_no = set(["unknown", "untested", "non-pathogenic", "probable-non-pathogenic",
- "uncertain_significance", "uncertain_significance", "not_provided",
- "benign", "likely_benign"])
- if row["cosmic_ids"] or row["cosmic_id"]:
- out.append("cosmic")
- if row["clinvar_sig"] and not row["clinvar_sig"].lower() in clinvar_no:
- out.append("clinvar")
- return out
- def _do_prioritize(items):
- """Determine if we should perform prioritization.
- Currently done on tumor-only input samples and feeding into PureCN
- which needs the germline annotations.
- """
- if not any("tumoronly-prioritization" in dd.get_tools_off(d) for d in items):
- if vcfutils.get_paired_phenotype(items[0]):
- has_tumor = False
- has_normal = False
- for sub_data in items:
- if vcfutils.get_paired_phenotype(sub_data) == "tumor":
- has_tumor = True
- elif vcfutils.get_paired_phenotype(sub_data) == "normal":
- has_normal = True
- return has_tumor and not has_normal
prioritize.py at commit 594339f, under MIT · at the source
Overview
- Shanghai Mental Health Center, Shanghai Jiao Tong University School of Medicine, School of Biomedical Engineering, Shanghai Jiao Tong University, Shanghai, China
- School of Biomedical Sciences, Li Ka Shing Faculty of Medicine, The University of Hong Kong, Hong Kong, China
- Shanghai Key Laboratory of Mental Disorders Translational Research, Shanghai, China
Abstract
Background: Alzheimer's disease (AD), the most prevalent form of dementia, is highly heritable, yet much of its genetic basis remains unexplained. Most genetic studies have focused on European populations, with limited data from under‐represented groups. Whole‐exome sequencing (WES) in the Han Chinese population may help identify novel rare variants and population‐specific genetic risk factors.
Aims: This study aims to use WES to identify potential candidate genes associated with dementia and AD in the Han Chinese population.
Methods: In this exploratory pilot study, we performed WES in 63 Han Chinese patients with dementia, including 43 with AD and 20 with non‐AD dementia (including one with dementia with Lewy bodies, one with Parkinson's dementia, four with frontotemporal dementia and 14 with mixed dementia), to identify rare coding variants. Gene‐based case–control burden analyses using public gnomAD controls were conducted in the overall dementia cohort and the AD subgroup. Protein–protein interaction, functional enrichment, weighted gene coexpression network analysis (WGCNA) and gene set variation analysis (GSVA) using single‐nucleus RNA sequencing (snRNA‐seq) datasets were performed to evaluate biological relevance and cell‐type‐specific activity. Cell‐type marker enrichment analysis was used to identify relevant neuronal subtypes. Multilevel evidence was integrated to prioritise candidate risk genes.
Results: We identified suggestive rare variant signals in genes involved in cilia‐related pathways, with stronger signals in the AD subgroup. These candidate genes were enriched in WGCNA modules associated with ageing, microtubule organisation and dementia pathology. GSVA showed increased activity of candidate genes in astrocytes using the snRNA‐seq dataset. Cell‐type marker analysis revealed strong enrichment in Ex6 excitatory neurons. Finally, integration of multilevel evidence prioritised 10 candidate genes.
Conclusions: This pilot study provides preliminary evidence that cilia‐related pathways may be involved in dementia, especially AD susceptibility in the Han Chinese population. Further validation in larger independent cohorts with ancestry‐matched controls and in functional experiments is required. Larger sample sizes for each dementia subtype will improve the detection of both dementia‐shared and subtype‐specific signals.
Reproduced under the paper's license (CC BY-NC), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 4 matches between paragraphs and lines of code.
bcbio/bcbio-nextgen
594339fd1a9694c8f8ed61084e2bd5740cfd59b0, 24 August 2024Availability: 2 checks, the latest on 2 November 2026: the link answers
- 2 November 2026: the link answers
- 3 October 2026: the link answers
318 files
- bcbio/
__init__.py , Python, 2 lines - bcbio/
bam/ , Python, 635 lines__init__.py - bcbio/
bam/ , Python, 374 linescallable.py - bcbio/
bam/ , Python, 66 linescounts.py - bcbio/
bam/ , Python, 148 linescoverage.py - bcbio/
bam/ , Python, 67 linescram.py - bcbio/
bam/ , Python, 42 linesfasta.py - bcbio/
bam/ , Python, 317 linesfastq.py - bcbio/
bam/ , Python, 121 linesreadstats.py - bcbio/
bam/ , Python, 26 linesref.py - bcbio/
bam/ , Python, 82 linesskewer.py - bcbio/
bam/ , Python, 267 linestrim.py - bcbio/
bed/ , Python, 70 lines__init__.py - bcbio/
broad/ , Python, 598 lines__init__.py - bcbio/
broad/ , Python, 502 linesmetrics.py - bcbio/
broad/ , Python, 310 linespicardrun.py - bcbio/
chipseq/ , Python, 212 lines__init__.py - bcbio/
chipseq/ , Python, 45 linesantibodies.py - bcbio/
chipseq/ , Python, 301 linesatac.py - bcbio/
chipseq/ , Python, 111 linesmacs2.py - bcbio/
chipseq/ , Python, 376 linespeaks.py - bcbio/
cwl/ , Python, 2 lines__init__.py - bcbio/
cwl/ , Python, 903 linescreate.py - bcbio/
cwl/ , Python, 266 linescwlutils.py - bcbio/
cwl/ , Python, 683 linesdefs.py - bcbio/
cwl/ , Python, 550 lineshpc.py - bcbio/
cwl/ , Python, 101 linesinspect.py - bcbio/
cwl/ , Python, 12 linesmain.py - bcbio/
cwl/ , Python, 369 linestool.py - bcbio/
cwl/ , Python, 495 linesworkflow.py - bcbio/
distributed/ , Python, 2 lines__init__.py - bcbio/
distributed/ , Python, 29 linesclargs.py - bcbio/
distributed/ , Python, 34 linesclusterk.py - bcbio/
distributed/ , Python, 141 linesipython.py - bcbio/
distributed/ , Python, 617 linesipythontasks.py - bcbio/
distributed/ , Python, 89 linesmulti.py - bcbio/
distributed/ , Python, 482 linesmultitasks.py - bcbio/
distributed/ , Python, 712 linesobjectstore.py - bcbio/
distributed/ , Python, 69 linesprun.py - bcbio/
distributed/ , Python, 234 linesresources.py - bcbio/
distributed/ , Python, 649 linesrunfn.py - bcbio/
distributed/ , Python, 143 linessplit.py - bcbio/
distributed/ , Python, 159 linestransaction.py - bcbio/
dragen/ , Python, 1 line__init__.py - bcbio/
dragen/ , Python, 86 linesdragen.py - bcbio/
galaxy/ , Python, 2 lines__init__.py - bcbio/
galaxy/ , Python, 82 linesapi.py - bcbio/
galaxy/ , Python, 88 linesloc.py - bcbio/
galaxy/ , Python, 189 linesnglims.py - bcbio/
graph/ , Python, 3 lines__init__.py - bcbio/
graph/ , Python, 312 linescollectl.py - bcbio/
graph/ , Python, 455 linesgraph.py - bcbio/
heterogeneity/ , Python, 146 lines__init__.py - bcbio/
heterogeneity/ , Python, 501 linesbubbletree.py - bcbio/
heterogeneity/ , Python, 95 lineschromhacks.py - bcbio/
heterogeneity/ , Python, 434 linesloh.py - bcbio/
heterogeneity/ , Python, 265 linesphylowgs.py - bcbio/
heterogeneity/ , Python, 221 linestheta.py - bcbio/
hla/ , Python, 32 lines__init__.py - bcbio/
hla/ , Python, 89 linesbwakit.py - bcbio/
hla/ , Python, 564 linesgroups.py - bcbio/
hla/ , Python, 148 linesoptitype.py - bcbio/
hmmer/ , Python, 2 lines__init__.py - bcbio/
hmmer/ , Python, 96 linessearch.py - bcbio/
illumina/ , Python, 2 lines__init__.py - bcbio/
illumina/ , Python, 51 linesdemultiplex.py - bcbio/
illumina/ , Python, 81 linesflowcell.py - bcbio/
illumina/ , Python, 176 linesmachine.py - bcbio/
illumina/ , Python, 133 linessamplesheet.py - bcbio/
illumina/ , Python, 46 linestransfer.py - bcbio/
install.py , Python, 824 lines - bcbio/
log/ , Python, 165 lines__init__.py - bcbio/
log/ , Python, 134 lineslogbook_zmqpush.py - bcbio/
ngsalign/ , Python, 2 lines__init__.py - bcbio/
ngsalign/ , Python, 726 linesalignprep.py - bcbio/
ngsalign/ , Python, 39 linesbbmap.py - bcbio/
ngsalign/ , Python, 157 linesbismark.py - bcbio/
ngsalign/ , Python, 74 linesbowtie.py - bcbio/
ngsalign/ , Python, 152 linesbowtie2.py - bcbio/
ngsalign/ , Python, 52 linesbsmap.py - bcbio/
ngsalign/ , Python, 359 linesbwa.py - bcbio/
ngsalign/ , Python, 146 lineshisat2.py - bcbio/
ngsalign/ , Python, 51 linesminimap2.py - bcbio/
ngsalign/ , Python, 92 linesmosaik.py - bcbio/
ngsalign/ , Python, 148 linesnovoalign.py - bcbio/
ngsalign/ , Python, 337 linespostalign.py - bcbio/
ngsalign/ , Python, 100 linesrtg.py - bcbio/
ngsalign/ , Python, 86 linessnap.py - bcbio/
ngsalign/ , Python, 333 linesstar.py - bcbio/
ngsalign/ , Python, 370 linestophat.py - bcbio/
picard/ , Python, 2 lines__init__.py - bcbio/
picard/ , Python, 2 linesmetrics.py - bcbio/
picard/ , Python, 2 linesutils.py - bcbio/
pipeline/ , Python, 14 lines__init__.py - bcbio/
pipeline/ , Python, 173 linesalignment.py - bcbio/
pipeline/ , Python, 31 linesarchive.py - bcbio/
pipeline/ , Python, 161 linescleanbam.py - bcbio/
pipeline/ , Python, 492 linesconfig_utils.py - bcbio/
pipeline/ , Python, 434 linesdatadict.py - bcbio/
pipeline/ , Python, 167 linesdisambiguate/ __init__.py - bcbio/
pipeline/ , Python, 352 linesdisambiguate/ run.py - bcbio/
pipeline/ , Python, 140 linesfastq.py - bcbio/
pipeline/ , Python, 285 linesgenome.py - bcbio/
pipeline/ , Python, 533 linesmain.py - bcbio/
pipeline/ , Python, 131 linesmerge.py - bcbio/
pipeline/ , Python, 411 linesqcsummary.py - bcbio/
pipeline/ , Python, 189 linesregion.py - bcbio/
pipeline/ , Python, 608 linesrnaseq.py - bcbio/
pipeline/ , Python, 1,165 linesrun_info.py - bcbio/
pipeline/ , Python, 427 linessample.py - bcbio/
pipeline/ , Python, 302 linesshared.py - bcbio/
pipeline/ , Python, 135 linessra.py - bcbio/
pipeline/ , Python, 37 linestools.py - bcbio/
pipeline/ , Python, 171 linesvariation.py - bcbio/
provenance/ , Python, 2 lines__init__.py - bcbio/
provenance/ , Python, 39 linesdata.py - bcbio/
provenance/ , Python, 77 linesdiagnostics.py - bcbio/
provenance/ , Python, 157 linesdo.py - bcbio/
provenance/ , Python, 12 linesprofile.py - bcbio/
provenance/ , Python, 289 linesprograms.py - bcbio/
provenance/ , Python, 224 linessystem.py - bcbio/
provenance/ , Python, 97 linesversioncheck.py - bcbio/
qc/ , Python, 2 lines__init__.py - bcbio/
qc/ , Python, 6 linesatac.py - bcbio/
qc/ , Python, 21 linesatropos.py - bcbio/
qc/ , Python, 84 lineschipseq.py - bcbio/
qc/ , Python, 113 linescontamination.py - bcbio/
qc/ , Python, 118 linescoverage.py - bcbio/
qc/ , Python, 27 linesdamage.py - bcbio/
qc/ , Python, 135 linesfastqc.py - bcbio/
qc/ , Python, 95 lineskraken.py - bcbio/
qc/ , Python, 616 linesmultiqc.py - bcbio/
qc/ , Python, 40 linespicard.py - bcbio/
qc/ , Python, 152 linespreseq.py - bcbio/
qc/ , Python, 194 linesqsignature.py - bcbio/
qc/ , Python, 399 linesqualimap.py - bcbio/
qc/ , Python, 82 linessamtools.py - bcbio/
qc/ , Python, 72 linessrna.py - bcbio/
qc/ , Python, 76 linesumi.py - bcbio/
qc/ , Python, 154 linesvariant.py - bcbio/
qc/ , Python, 107 linesviral.py - bcbio/
rnaseq/ , Python, 2 lines__init__.py - bcbio/
rnaseq/ , Python, 72 linesannotate_gtf.py - bcbio/
rnaseq/ , Python, 65 linesarriba.py - bcbio/
rnaseq/ , Python, 191 linesbcbiornaseq.py - bcbio/
rnaseq/ , Python, 83 linescount.py - bcbio/
rnaseq/ , Python, 152 linescpat.py - bcbio/
rnaseq/ , Python, 266 linescufflinks.py - bcbio/
rnaseq/ , Python, 106 linesdexseq.py - bcbio/
rnaseq/ , Python, 174 linesericscript.py - bcbio/
rnaseq/ , Python, 97 linesexpress.py - bcbio/
rnaseq/ , Python, 183 linesfeatureCounts.py - bcbio/
rnaseq/ , Python, 444 linesgtf.py - bcbio/
rnaseq/ , Python, 198 lineskallisto.py - bcbio/
rnaseq/ , Python, 189 linesoncofuse.py - bcbio/
rnaseq/ , Python, 124 linespizzly.py - bcbio/
rnaseq/ , Python, 66 linesqc.py - bcbio/
rnaseq/ , Python, 102 linesrapmap.py - bcbio/
rnaseq/ , Python, 61 linesrsem.py - bcbio/
rnaseq/ , Python, 213 linessailfish.py - bcbio/
rnaseq/ , Python, 268 linessalmon.py - bcbio/
rnaseq/ , Python, 77 linessinglecellexperiment.py - bcbio/
rnaseq/ , Python, 115 linesspikein.py - bcbio/
rnaseq/ , Python, 121 linesstringtie.py - bcbio/
rnaseq/ , Python, 522 linesumi.py - bcbio/
rnaseq/ , Python, 207 linesvariation.py - bcbio/
scripts/ , R, 67 linesR/ bcbio2se.R - bcbio/
scripts/ , R, 262 linesR/ se2qc.Rmd - bcbio/
server/ , Python, 2 lines__init__.py - bcbio/
server/ , Python, 132 linesbackground.py - bcbio/
server/ , Python, 41 linesmain.py - bcbio/
server/ , Python, 87 linesrun.py - bcbio/
setpath.py , Python, 89 lines - bcbio/
srna/ , Python, 4 lines__init__.py - bcbio/
srna/ , Python, 221 linesgroup.py - bcbio/
srna/ , Python, 105 linesmirdeep.py - bcbio/
srna/ , Python, 80 linesmirge.py - bcbio/
srna/ , Python, 4 linesqc.py - bcbio/
srna/ , Python, 337 linessample.py - bcbio/
srna/ , Python, 88 linesumis.py - bcbio/
structural/ , Python, 395 lines__init__.py - bcbio/
structural/ , Python, 101 linesannotate.py - bcbio/
structural/ , Python, 130 linesbattenberg.py - bcbio/
structural/ , Python, 226 linescn_mops.py - bcbio/
structural/ , Python, 768 linescnvkit.py - bcbio/
structural/ , Python, 94 linesconvert.py - bcbio/
structural/ , Python, 188 linesdelly.py - bcbio/
structural/ , Python, 336 linesgatkcnv.py - bcbio/
structural/ , Python, 113 linesgridss.py - bcbio/
structural/ , Python, 162 lineshydra.py - bcbio/
structural/ , Python, 232 lineslumpy.py - bcbio/
structural/ , Python, 180 linesmanta.py - bcbio/
structural/ , Python, 59 linesmetasv.py - bcbio/
structural/ , Python, 155 linespindel.py - bcbio/
structural/ , Python, 116 linesplot.py - bcbio/
structural/ , Python, 217 linesprioritize.py - bcbio/
structural/ , Python, 446 linespurecn.py - bcbio/
structural/ , Python, 337 linespurple.py - bcbio/
structural/ , Python, 503 linesregions.py - bcbio/
structural/ , Python, 37 linesscramble.py - bcbio/
structural/ , Python, 394 linesseq2c.py - bcbio/
structural/ , Python, 331 linesshared.py - bcbio/
structural/ , Python, 257 linestitancna.py - bcbio/
structural/ , Python, 402 linesvalidate.py - bcbio/
structural/ , Python, 87 lineswham.py - bcbio/
upload/ , Python, 963 lines__init__.py - bcbio/
upload/ , Python, 87 linesfilesystem.py - bcbio/
upload/ , Python, 188 linesgalaxy.py - bcbio/
upload/ , Python, 49 linesirods.py - bcbio/
upload/ , Python, 98 liness3.py - bcbio/
upload/ , Python, 17 linesshared.py - bcbio/
utils.py , Python, 1,050 lines - bcbio/
variation/ , Python, 2 lines__init__.py - bcbio/
variation/ , Python, 174 linesannotation.py - bcbio/
variation/ , Python, 132 linesbamprep.py - bcbio/
variation/ , Python, 266 linesbedutils.py - bcbio/
variation/ , Python, 332 linescortex.py - bcbio/
variation/ , Python, 278 linescoverage.py - bcbio/
variation/ , Python, 94 linesdamage.py - bcbio/
variation/ , Python, 78 linesdeepvariant.py - bcbio/
variation/ , Python, 451 lineseffects.py - bcbio/
variation/ , Python, 265 linesensemble.py - bcbio/
variation/ , Python, 372 lines, 1 matchfreebayes.py - bcbio/
variation/ , Python, 268 linesgatk.py - bcbio/
variation/ , Python, 309 lines, 1 matchgatkfilter.py - bcbio/
variation/ , Python, 187 linesgatkjoint.py - bcbio/
variation/ , Python, 486 linesgenotype.py - bcbio/
variation/ , Python, 262 linesgermline.py - bcbio/
variation/ , Python, 237 linesjoint.py - bcbio/
variation/ , Python, 271 linesmulti.py - bcbio/
variation/ , Python, 245 linesmutect.py - bcbio/
variation/ , Python, 270 linesmutect2.py - bcbio/
variation/ , Python, 173 linesnaming.py - bcbio/
variation/ , Python, 130 linesnormalize.py - bcbio/
variation/ , Python, 161 linesoctopus.py - bcbio/
variation/ , Python, 159 linespeddy.py - bcbio/
variation/ , Python, 73 linespisces.py - bcbio/
variation/ , Python, 72 linesplatypus.py - bcbio/
variation/ , Python, 95 linesploidy.py - bcbio/
variation/ , Python, 425 linespopulation.py - bcbio/
variation/ , Python, 205 lines, 1 matchprioritize.py - bcbio/
variation/ , Python, 233 linesqsnp.py - bcbio/
variation/ , Python, 99 linesrealign.py - bcbio/
variation/ , Python, 182 linesrecalibrate.py - bcbio/
variation/ , Python, 111 linessamtools.py - bcbio/
variation/ , Python, 201 linesscalpel.py - bcbio/
variation/ , Python, 185 linessentieon.py - bcbio/
variation/ , Python, 44 linessmcounter2.py - bcbio/
variation/ , Python, 37 linessplit.py - bcbio/
variation/ , Python, 401 linesstrelka2.py - bcbio/
variation/ , Python, 746 linesvalidate.py - bcbio/
variation/ , Python, 388 linesvalidateplot.py - bcbio/
variation/ , Python, 392 linesvardict.py - bcbio/
variation/ , Python, 327 linesvarscan.py - bcbio/
variation/ , Python, 192 linesvcfanno.py - bcbio/
variation/ , Python, 738 linesvcfutils.py - bcbio/
variation/ , Python, 232 lines, 1 matchvfilter.py - bcbio/
wgbsseq/ , Python, 1 line__init__.py - bcbio/
wgbsseq/ , Python, 87 linesalign.py - bcbio/
wgbsseq/ , Python, 262 linescpg_caller.py - bcbio/
wgbsseq/ , Python, 48 linesdeduplication.py - bcbio/
wgbsseq/ , Python, 12 lineskits.py - bcbio/
wgbsseq/ , Python, 82 linestrimming.py - bcbio/
workflow/ , Python, 12 lines__init__.py - bcbio/
workflow/ , Python, 73 linesstormseq.py - bcbio/
workflow/ , Python, 606 linestemplate.py - bcbio/
workflow/ , Python, 79 linesxprize.py - config/
examples/ , Shell, 23 linesHCC2218-sv-getdata.sh - config/
examples/ , Shell, 22 linesNA12878-exome-methodcmp- getdata.sh - config/
examples/ , Shell, 19 linesNA12878-hg38-validate-ge tdata.sh - config/
examples/ , Shell, 25 linesNA12878-sv-getdata.sh - config/
examples/ , Shell, 10 linesNA12878-trio-wgs-validat e-getdata.sh - config/
examples/ , Shell, 32 linesNA12878.validate.sh - config/
examples/ , Shell, 35 linesNA24385-10x-getdata.sh - config/
examples/ , Shell, 13 linesarchived/ NA12878-trio-sv-getdata. sh - config/
examples/ , Shell, 28 linescancer-dream-syn3-getdat a.sh - config/
examples/ , Shell, 30 linescancer-giab-na12878-na24 385-getdata.sh - config/
examples/ , Shell, 23 linesgiab-validate-setup.sh - config/
examples/ , Shell, 23 linesrnaseq-seqc-getdata.sh - config/
teaching/ , Shell, 17 linescancer-syn3-chr6-prep.sh - docs/
conf.py , Python, 82 lines - scripts/
bcbio_fastq_umi_prep.py , Python, 278 lines - scripts/
bcbio_nextgen.py , Python, 245 lines - scripts/
bcbio_nextgen_install.py , Python, 306 lines - scripts/
bcbio_prepare_samples.py , Python, 196 lines - scripts/
bcbio_setup_genome.py , Python, 366 lines - scripts/
cwl/ , Python, 114 linesarvados_bcbio_runtimes.p y - scripts/
cwltool2wdl.py , Python, 328 lines - scripts/
vagrant.sh , Shell, 16 lines - setup.py, Python, 28 lines
- tests/
__init__.py , Python, 1 line - tests/
bcbio_vm/ , Python, 91 linestest_docker.py - tests/
conftest.py , Python, 170 lines - tests/
integration/ , Python, 1 line__init__.py - tests/
integration/ , Python, 1 linernaseq/ __init__.py - tests/
integration/ , Python, 137 linesrnaseq/ test_ericscript.py - tests/
integration/ , Python, 40 linestest_S3_pipelines.py - tests/
integration/ , Python, 42 linestest_SequencingDump.py - tests/
integration/ , Python, 223 linestest_automated_analysis. py - tests/
integration/ , Python, 139 linestest_pipeline.py - tests/
run_tests.sh , Shell, 33 lines - tests/
scripts/ , Shell, 2 linesgoofys_logs.sh - tests/
scripts/ , Shell, 33 linesmount.sh - tests/
unit/ , Python, 1 line__init__.py - tests/
unit/ , Python, 39 linesconftest.py - tests/
unit/ , Python, 246 linesdata.py - tests/
unit/ , Python, 1 linedistributed/ __init__.py - tests/
unit/ , Python, 237 linesdistributed/ test_transaction.py - tests/
unit/ , Python, 1 linepipeline/ __init__.py - tests/
unit/ , Python, 14 linespipeline/ test_datadict.py - tests/
unit/ , Python, 41 linespipeline/ test_rnaseq.py - tests/
unit/ , Python, 1 linernaseq/ __init__.py - tests/
unit/ , Python, 61 linesrnaseq/ test_ericscript.py - tests/
unit/ , Python, 13 linestest_alignprep.py - tests/
unit/ , Python, 1 lineupload/ __init__.py - tests/
unit/ , Python, 35 linesupload/ test_upload.py - LICENSE.txt, License, 20 lines
- README.md, Text, 84 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;
- 316 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
Datasets cited
- geo:GSE252921, at NCBI GEO; found in the text, “snRNA‐seq analysis”
Other data links
- ncbi.nlm.nih.gov/
geo , NCBI; found in the text, “snRNA‐seq analysis”
Data availability statement
All data needed to evaluate the conclusions in the paper are present in the paper and/
Reproduced under the paper's license (CC BY-NC), 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, 25 October 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 10 authors, 4 keywords, 112 references.
Cite
This paper
Deng, M., Chen, Y., Zhao, L., Song, W., Qiu, Q., Sun, L., Lin, X., Wang, W., Lin, G. N., & Li, X. (2026). Astrocyte-enriched and cilia-related genetic signatures in dementia: A whole-exome sequencing study. General psychiatry, 39(5), e70062. https://
BibTeX
@article{deng2026astrocy
author = {Deng, Miaohan and Chen, Yucan and Zhao, Lu and Song, Weichen and Qiu, Qi and Sun, Lin and Lin, Xiang and Wang, Weidi and Lin, Guan Ning and Li, Xia},
title = {{Astrocyte-enriched and cilia-related genetic signatures in dementia: A whole-exome sequencing study}},
journal = {General psychiatry},
year = {2026},
month = oct,
volume = {39},
number = {5},
pages = {e70062},
publisher = {Shanghai Mental Health Center},
issn = {2517-729X},
doi = {10.1002/
url = {https://
pmid = {42910247},
pmcid = {PMC13685676}
}
RIS
TY - JOUR
AU - Deng, Miaohan
AU - Chen, Yucan
AU - Zhao, Lu
AU - Song, Weichen
AU - Qiu, Qi
AU - Sun, Lin
AU - Lin, Xiang
AU - Wang, Weidi
AU - Lin, Guan Ning
AU - Li, Xia
TI - Astrocyte-enriched and cilia-related genetic signatures in dementia: A whole-exome sequencing study
T2 - General psychiatry
J2 - Gen Psychiatr
PY - 2026
DA - 2026/
VL - 39
IS - 5
SP - e70062
SN - 2517-729X
PB - Shanghai Mental Health Center
DO - 10.1002/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1002/
"type": "article-journal",
"title": "Astrocyte-enriched and cilia-related genetic signatures in dementia: A whole-exome sequencing study",
"container-title": "General psychiatry",
"author": [
{
"family": "Deng",
"given": "Miaohan"
},
{
"family": "Chen",
"given": "Yucan"
},
{
"family": "Zhao",
"given": "Lu"
},
{
"family": "Song",
"given": "Weichen"
},
{
"family": "Qiu",
"given": "Qi"
},
{
"family": "Sun",
"given": "Lin"
},
{
"family": "Lin",
"given": "Xiang"
},
{
"family": "Wang",
"given": "Weidi"
},
{
"family": "Lin",
"given": "Guan Ning"
},
{
"family": "Li",
"given": "Xia"
}
],
"container-title-short":
"volume": "39",
"issue": "5",
"page": "e70062",
"DOI": "10.1002/
"PMID": "42910247",
"PMCID": "PMC13685676",
"ISSN": "2517-729X",
"publisher": "Shanghai Mental Health Center",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
10,
21
]
]
}
}
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-59949-y [code]
- Whole-genome sequencing analyses suggest novel genetic factors associated with Alzheimer's disease and a cumulative effects model for risk liability.Journal: Nature communicationsIn common: BCFtools, pysam, BEDTools, 8 other tools, Alzheimer's / dementia, genetics / omics, 7 references
- [2] doi:10.1016/j.isci.2025.111835 [code]
- Pangenome reconstruction in rats enhances genotype-phenotype mapping and variant discovery.Journal: iScienceIn common: BCFtools, pysam, Biopython, 10 other tools, genetics / omics, 3 references
- [3] doi:10.1002/dad2.70103 [code]
- Association of RDoC dimensions with &
lt;i& gt;post mortem& lt;/ i& gt; brain transcriptional profiles in Alzheimer's disease. Journal: Alzheimer's & dementia (Amsterdam, Netherlands)In common: BCFtools, pysam, Biopython, 11 other tools, Alzheimer's / dementia, cellular / molecular, 2 references - [4] doi:10.1002/alz.71271 [code]
- Intracellular protein GBF1 displays significant associations with amyloid pathology in Alzheimer's disease.Journal: Alzheimer's & dementia : the journal of the Alzheimer's AssociationIn common: BCFtools, pysam, Biopython, 11 other tools, Alzheimer's / dementia, cellular / molecular, 1 reference
- [5] doi:10.1038/s41467-025-57751-4 [code]
- Cross-ancestry genome-wide association study identifies implications of SORL1 in cerebral beta-amyloid deposition.Journal: Nature communicationsIn common: BCFtools, BEDTools, SAMtools, 8 other tools, Alzheimer's / dementia, genetics / omics, cellular / molecular, 5 references
- [6] 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, Biopython, BEDTools, 9 other tools, genetics / omics, 4 references
- [7] doi:10.1038/s41467-024-52463-7 [code]
- A cell type-aware framework for nominating non-coding variants in Mendelian regulatory disorders.Journal: Nature communicationsIn common: BCFtools, pysam, BEDTools, 8 other tools, genetics / omics, cellular / molecular, 4 references
- [8] doi:10.1038/s41467-023-43062-z [code]
- Mutation of key signaling regulators of cerebrovascular development in vein of Galen malformations.Journal: Nature communicationsIn common: BCFtools, pysam, Biopython, 7 other tools, genetics / omics, cellular / molecular, 4 references
- [9] doi:10.3389/fnins.2025.1633386 [code]
- Differential susceptibility to prenatal stress exposure in serotonin transporter-deficient female mice-an epigenetic exploration.Journal: Frontiers in neuroscienceIn common: BCFtools, pysam, Biopython, 11 other tools, genetics / omics
- [10] doi:10.1038/s41467-023-41715-7 [code]
- Mapping the spatial transcriptomic signature of the hippocampus during memory consolidation.Journal: Nature communicationsIn common: BCFtools, pysam, Biopython, 11 other tools, genetics / omics
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, 316 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:de90e5803bc8e65f…
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.1002/gps3.70062)
<!-- oscr-badge:end -->reStructuredText
.. oscr-badge:start
.. image:: https://openscicode.org/badge/doi/10.1002/gps3.70062.svg
:target: https://openscicode.org/badge/doi/10.1002/gps3.70062
:alt: OSCR
.. oscr-badge:endHTML
<!-- oscr-badge:start -->
<a href="https://openscicode.org/badge/doi/10.1002/gps3.70062"><img src="https://openscicode.org/badge/doi/10.1002/gps3.70062.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".
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.
