technology 1,805 words KG: Biomarker
Contents

Artificial Intelligence in Neurodegeneration Research

No AI portrait yet

Knowledge Graph

Agent Input

Related Hypotheses (143)

CYP46A1 Overexpression Gene Therapy
Score: 0.98
SASP-Mediated Complement Cascade Amplification
Score: 0.98
Selective Acid Sphingomyelinase Modulation Therapy
Score: 0.98
Nutrient-Sensing Epigenetic Circuit Reactivation
Score: 0.97
Transcriptional Autophagy-Lysosome Coupling
Score: 0.92
Circadian Glymphatic Entrainment via Targeted Orexin Recepto
Score: 0.86
AMPK hypersensitivity in astrocytes creates enhanced mitocho
Score: 0.82
Selective APOE4 Degradation via Proteolysis Targeting Chimer
Score: 0.79
Senescent Microglia Resolution via Maresins-Senolytics Combi
Score: 0.79
Competitive APOE4 Domain Stabilization Peptides
Score: 0.78
SASP-Driven Aquaporin-4 Dysregulation
Score: 0.78
Selective HDAC3 Inhibition with Cognitive Enhancement
Score: 0.78
Dual-Domain Antibodies with Engineered Fc-FcRn Affinity Modu
Score: 0.77
Chromatin Accessibility Restoration via BRD4 Modulation
Score: 0.77
APOE4 Allosteric Rescue via Small Molecule Chaperones
Score: 0.76
SASP-Mediated Cholinergic Synapse Disruption
Score: 0.76
Circadian Clock-Autophagy Synchronization
Score: 0.76
Targeted APOE4-to-APOE3 Base Editing Therapy
Score: 0.76
Multi-Modal Stress Response Harmonization
Score: 0.76
Senescence-Activated NAD+ Depletion Rescue
Score: 0.76
pg 1/8Next →

Related Analyses (30)

Tau propagation mechanisms and therapeutic interception poin
neurodegeneration · archived
Selective vulnerability of entorhinal cortex layer II neuron
neurodegeneration · archived
4R-tau strain-specific spreading patterns in PSP vs CBD
neurodegeneration · archived
TDP-43 phase separation therapeutics for ALS-FTD
neurodegeneration · archived
Astrocyte reactivity subtypes in neurodegeneration
neurodegeneration · archived

Related Experiments (30)

ER-Golgi Secretory Pathway Dysfunction in PD - Experiment De
clinical · proposed · Score: 0.40
s:** - Biochemical binding assays measuring PROTAC selectivi
falsification · proposed · Score: 0.40
Proposed experiment from debate on Epigenetic clocks and bio
falsification · proposed · Score: 0.40
Proposed experiment from debate on Microglia activate astroc
falsification · proposed · Score: 0.40
Proposed experiment from debate on Astrocytes adopt A1 (neur
falsification · completed · Score: 0.40

See Also (15)

Beta-Propeller Protein-Associated Neurodegeneration (BP
disease · Pages share 139 hypotheses
China Neurodegeneration Epidemiology
disease · Pages share 139 hypotheses
Neuroimaging for Parkinsonian Syndromes (NCT03872102)
clinical · Pages share 27 hypotheses
Synaptic Biomarkers in Neurodegeneration
biomarker · Pages share 139 hypotheses
Olfactory Mucosa, Blood and Urine for Identification of
clinical · Pages share 139 hypotheses

Knowledge Graph (12 edges)

Biomarker biomarker_for Thyroid Cancer
HMGB1 biomarker_for Biomarker
Biomarker correlates_with Disease Trajectory
Biomarker biomarker_for Septic Shock
Biomarker involved_in Sepsis Diagnosis
Disease-Associated Microglia biomarker_for Biomarker
h-var-3049fa9ae4 targets Biomarker
Biomarker targeted_by h-var-3049fa9ae4
ai-tool-4paradigm-biomed describes Biomarker
Biomarker biomarker_for Prostate Cancer

Community Feedback

0 0 upvotes · 0 downvotes
💬 0 comments ⚠ 0 flags ✏ 0 edit suggestions

No comments yet. Be the first to comment!

View all feedback (JSON)

\n\n[@neurowiki2026]: https://neurowiki.org (NeuroWiki Editorial Board)\n\n## Background\n\nThe study of Artificial Intelligence In Neurodegeneration Research has evolved significantly over the past decades. Research in this area has revealed important insights into the underlying mechanisms of neurodegeneration and continues to drive therapeutic development.\n\nHistorical context and key discoveries in this field have shaped our current understanding and will continue to guide future research directions.\n\n## References\n\n1. Unknown, NeuroWiki. (2026). Reference. Retrieved from NeuroWiki.## External Links (2026)"; const refs = {"neurowiki2026": {"year": 2026, "title": "NeuroWiki. (2026). Reference. Retrieved from NeuroWiki.## External Links"}}; const citationOrder = []; const citationMap = {}; // refs_json may be EITHER a dict keyed by cite-key (16k pages) OR an // array of papers (1.4k pages where the enrichment pipeline wrote the // raw PubMed list without a key map). Normalize to a single lookup // object so `[@key]` resolution works in both cases. let refsDict = {}; if (Array.isArray(refs)) { refs.forEach(function(r, i) { if (!r || typeof r !== 'object') return; // Derive a sensible cite-key from author+year (matches the // BibTeX-style keys hand-curated pages use, like "kang1987"). if (r.authors) { const firstAuth = String(r.authors) .replace(/[\x5b\x5d'"\\]/g, '') .split(',')[0].trim().split(/\s+/)[0].toLowerCase(); const year = r.year || ''; if (firstAuth && year) { const k = firstAuth + year; if (!refsDict[k]) refsDict[k] = r; } } // Also index by PMID (so `[@pmid:12345]` works) and array index. if (r.pmid) refsDict['pmid' + r.pmid] = r; refsDict[String(i)] = r; }); } else if (refs && typeof refs === 'object') { refsDict = refs; } const hasRefs = Object.keys(refsDict).length > 0; // Replace [@key] markers with superscript HTML BEFORE markdown-it renders. // Matched citations get a numbered superscript that links to the // generated References section. Unmatched ones get a discrete grey // [?] superscript so the page never shows raw `[@kang1987]` text — // they still hover to reveal the cite-key + a PubMed search link. raw = raw.replace(/\s*\x5b@([a-zA-Z0-9_:]+)\x5d/g, function(match, key) { const r = refsDict[key]; if (r) { if (!(key in citationMap)) { citationOrder.push(key); citationMap[key] = citationOrder.length; } const num = citationMap[key]; const tip = (r.authors || '') + ' (' + (r.year || '') + ')'; return '' + '' + '[' + num + ']'; } // Unmatched citation — discrete fallback. Still hoverable via the // popover handler below; that handler reads data-ref-missing="1" // and shows a "Search PubMed for: " card. return '' + '[?]'; }); // Hand the normalized dict to downstream code (the popover handler // and the References section builder both read this). const refsForRender = refsDict; const contentEl = document.getElementById('wiki-content'); contentEl.innerHTML = md.render(raw); // --- Build References section from refs_json (authoritative source) --- if (citationOrder.length > 0) { // Remove any existing reference-like sections (we regenerate from refs_json) contentEl.querySelectorAll('h2').forEach(h2 => { const t = h2.textContent.trim().toLowerCase(); if (t === 'references' || t.startsWith('references (') || t === 'key publications' || t === 'additional references' || t === 'key references' || t === 'selected publications' || t === 'research publications') { // Remove the heading and all content until next h1/h2 let sib = h2.nextElementSibling; while (sib && !sib.matches('h1,h2')) { const next = sib.nextElementSibling; sib.remove(); sib = next; } h2.remove(); } }); const refsSection = document.createElement('div'); refsSection.id = 'references-section'; const h2 = document.createElement('h2'); h2.textContent = 'References'; refsSection.appendChild(h2); const ol = document.createElement('ol'); ol.style.cssText = 'padding-left:1.5rem;font-size:0.9rem;line-height:1.7;color:#ccc'; citationOrder.forEach((key, i) => { const r = refsForRender[key]; const li = document.createElement('li'); li.id = 'ref-' + (i + 1); li.style.cssText = 'margin-bottom:0.6rem;padding-left:0.3rem'; let h = ''; if (r.authors) h += '' + r.authors + ' '; if (r.year) h += '(' + r.year + ') '; if (r.title) { const t = r.title.replace(/^'|'$/g, '').replace(//g,'>'); const url = r.doi ? 'https://doi.org/' + r.doi : r.pmid ? 'https://pubmed.ncbi.nlm.nih.gov/' + r.pmid + '/' : r.url || ''; if (url) h += '' + t + '. '; else h += '' + t + '. '; } if (r.journal) h += '' + r.journal + ''; if (!r.title && (r.doi || r.pmid)) { const url = r.doi ? 'https://doi.org/' + r.doi : 'https://pubmed.ncbi.nlm.nih.gov/' + r.pmid + '/'; h += ' ' + (r.doi ? 'DOI' : 'PubMed') + ''; } li.innerHTML = h; ol.appendChild(li); }); refsSection.appendChild(ol); contentEl.appendChild(refsSection); } // --- Rich citation hover popover --- (function() { const popover = document.createElement('div'); popover.id = 'cite-popover'; popover.style.cssText = 'position:fixed;display:none;background:#1a1a2e;color:#e0e0e0;' + 'border:1px solid rgba(79,195,247,0.35);border-radius:8px;padding:0.75rem 1rem;' + 'font-size:0.82rem;max-width:380px;z-index:10000;pointer-events:none;' + 'box-shadow:0 6px 20px rgba(0,0,0,0.5);line-height:1.5;opacity:0;' + 'transition:opacity 0.12s ease;'; document.body.appendChild(popover); let showTimer = null, hideTimer = null, currentKey = null; function showPopover(a, key) { if (key === currentKey) return; currentKey = key; const isMissing = a.getAttribute('data-ref-missing') === '1'; const r = isMissing ? null : (refsForRender[key] || {}); const num = a.textContent.replace(/[\x5b\x5d?]/g,''); let html = ''; if (isMissing) { // Unmatched citation — show the cite-key and a PubMed search // link so the user can resolve it themselves and the page // doesn't read as broken. const safeKey = key.replace(//g,'>'); html = '
[?] ' + safeKey + '
' + '
' + 'This citation has not yet been linked to a reference. ' + 'It may have been an in-text mention before the page got curated, or the ' + 'matching paper is missing from refs_json.
' + '
' + '' + 'Search PubMed →
'; } else { const url = r.pmid ? 'https://pubmed.ncbi.nlm.nih.gov/' + r.pmid + '/' : r.doi ? 'https://doi.org/' + r.doi : ''; html = '
[' + num + '] '; if (r.authors) html += r.authors.split(',')[0].trim() + ' et al.'; if (r.year) html += ' (' + r.year + ')'; if (r.journal) html += ' · ' + r.journal + ''; html += '
'; if (r.title) { const clean = r.title.replace(/^["']|["']$/g,'').replace(//g,'>'); html += '
' + clean + '
'; } if (r.claim) { html += '
' + '↳ ' + r.claim.replace(//g,'>') + '
'; } if (r.excerpt) { const ex = r.excerpt.replace(//g,'>'); html += '
“' + ex + '”'; if (r.figure_ref) html += ' — ' + r.figure_ref + ''; html += '
'; } if (url) { html += '
' + '' + (r.pmid ? 'PubMed' : 'DOI') + ' →
'; } } popover.innerHTML = html; popover.style.pointerEvents = 'auto'; const rect = a.getBoundingClientRect(); popover.style.display = 'block'; const pw = popover.offsetWidth; const left = Math.max(8, Math.min(rect.left, window.innerWidth - pw - 8)); const top = rect.bottom + 6; popover.style.left = left + 'px'; popover.style.top = top + 'px'; popover.style.opacity = '1'; } function hidePopover() { currentKey = null; popover.style.opacity = '0'; setTimeout(function() { if (!currentKey) popover.style.display = 'none'; }, 120); } contentEl.addEventListener('mouseover', function(e) { const a = e.target.closest('a.ref-link'); if (!a) return; const key = a.getAttribute('data-ref-key'); if (!key) return; // Allow unmatched citations (data-ref-missing="1") to popover too // so the user gets a "search PubMed" card instead of nothing. const isMissing = a.getAttribute('data-ref-missing') === '1'; if (!isMissing && !refsForRender[key]) return; clearTimeout(hideTimer); showTimer = setTimeout(function() { showPopover(a, key); }, 150); }); contentEl.addEventListener('mouseout', function(e) { const a = e.target.closest('a.ref-link'); if (!a) return; clearTimeout(showTimer); hideTimer = setTimeout(hidePopover, 300); }); popover.addEventListener('mouseover', function() { clearTimeout(hideTimer); }); popover.addEventListener('mouseout', function() { hideTimer = setTimeout(hidePopover, 300); }); })(); // Convert mermaid code blocks to divs (wiki.js html-mermaid approach) // markdown-it wraps all highlight output in
, breaking mermaid.
    contentEl.querySelectorAll('pre > code.language-mermaid').forEach(code => {
        const pre = code.parentElement;
        const div = document.createElement('div');
        div.className = 'mermaid';
        div.textContent = code.textContent;
        pre.replaceWith(div);
    });

    // Dark mode fix: strip light-mode inline backgrounds from infoboxes/divs
    contentEl.querySelectorAll('.infobox, [class*="infobox"], [class*="quick-ref"]').forEach(el => {
        el.style.background = '#151525';
        el.style.borderColor = 'rgba(79,195,247,0.2)';
        el.style.color = '#e0e0e0';
        el.style.borderRadius = '8px';
        // Fix child elements too
        el.querySelectorAll('*').forEach(child => {
            if (child.style.color && (child.style.color.includes('#000') || child.style.color.includes('#333') || child.style.color.includes('rgb(0')))
                child.style.color = '#e0e0e0';
            if (child.style.background && (child.style.background.includes('#f') || child.style.background.includes('#e') || child.style.background.includes('#d') || child.style.background.includes('white')))
                child.style.background = 'transparent';
            if (child.style.borderColor && (child.style.borderColor.includes('#d') || child.style.borderColor.includes('#c')))
                child.style.borderColor = 'rgba(255,255,255,0.08)';
        });
    });

    // Also catch any div with light inline background that isn't classed
    contentEl.querySelectorAll('div[style]').forEach(el => {
        const bg = el.style.background || el.style.backgroundColor || '';
        if (bg.match(/#f[0-9a-f]|#e[0-9a-f]|#d[0-9a-f]|white|#fff/i)) {
            el.style.background = '#151525';
            el.style.borderColor = 'rgba(79,195,247,0.2)';
            el.style.color = '#e0e0e0';
            el.style.borderRadius = '8px';
        }
    });

    // Style blockquotes with classes
    contentEl.querySelectorAll('blockquote').forEach(bq => {
        const t = bq.textContent.toLowerCase();
        if (t.startsWith('warning') || t.startsWith('caution')) bq.classList.add('is-warning');
        else if (t.startsWith('danger') || t.startsWith('error')) bq.classList.add('is-danger');
        else if (t.startsWith('success') || t.startsWith('tip')) bq.classList.add('is-success');
    });

    // Syntax highlighting
    Prism.highlightAllUnder(contentEl);

    // Mermaid diagrams — initialize then render all blocks
    mermaid.initialize({ theme: 'base', startOnLoad: false, securityLevel: 'loose', flowchart: { htmlLabels: true, useMaxWidth: false, wrappingWidth: 200, padding: 15 }, themeVariables: { primaryColor: '#1e3a4a', primaryTextColor: '#e0e0e0', primaryBorderColor: '#4fc3f7', lineColor: '#4fc3f7', secondaryColor: '#1a3a2a', tertiaryColor: '#2a1a3a', secondaryTextColor: '#e0e0e0', tertiaryTextColor: '#e0e0e0', clusterBorder: '#4fc3f7', edgeLabelBackground: '#151525', clusterBkg: '#12122a', nodeBorder: '#4fc3f7', mainBkg: '#1e3a4a', nodeTextColor: '#e0e0e0', background: '#151525', fontSize: '14px', fontFamily: 'system-ui' } });
    // Dark-mode color map: rewrite light/bright fills to dark equivalents
    const _dm = {
        // Light blues
        '#e1f5fe':'#0d2137','#e3f2fd':'#0d2137','#bbdefb':'#0d2137',
        '#4fc3f7':'#0d3b54','#03a9f4':'#01579b','#b3e5fc':'#0d2137',
        // Light oranges / yellows
        '#fff3e0':'#3e2200','#ffe0b2':'#3e2200','#ffcc80':'#3e2200',
        '#ffd54f':'#3a3000','#ffca28':'#3a3000','#ffc107':'#3a3000',
        '#fff9c4':'#3a3000','#ffecb3':'#3a3000','#fff8e1':'#3a3000',
        '#ff9800':'#4e2d00','#ffb74d':'#3e2200','#ff8a65':'#4a1500',
        // Light reds / pinks
        '#ffcdd2':'#3b1114','#fce4ec':'#3b1114','#ffebee':'#3b1114',
        '#ef5350':'#7f1d1d','#f44336':'#7f1d1d','#e53935':'#7f1d1d',
        '#ef9a9a':'#5c1515','#ff6b6b':'#7f1d1d','#ff6666':'#7f1d1d',
        '#f99':'#5c1515','#ffb6c1':'#5c1525',
        // Light greens
        '#c8e6c9':'#0e2e10','#e8f5e9':'#0e2e10','#a5d6a7':'#0e2e10',
        '#81c784':'#1b4d1e','#4caf50':'#1b5e20','#66bb6a':'#1b5e20',
        '#8bc34a':'#33691e','#9f9':'#0e2e10',
        // Light purples
        '#f3e5f5':'#2a0e3a','#e8eaf6':'#2a0e3a',
        '#ce93d8':'#4a1a6b','#b39ddb':'#311b6b',
        '#99f':'#2a0e3a','#bbf':'#2a1a5a',
        // Greys / browns
        '#efebe9':'#2a2320','#d7ccc8':'#2a2320',
        '#e0e0e0':'#252535','#f5f5f5':'#252535','#b0bec5':'#263238',
        // Already-dark fills: keep as-is (no entry needed)
    };
    function _darkify(txt) {
        // Replace light/bright fill colors with dark equivalents, fix text color
        return txt.replace(/fill:#[0-9a-fA-F]{3,6}/gi, m => {
            const c = m.slice(5).toLowerCase();
            const dk = _dm['#'+c] || _dm[c];
            return dk ? 'fill:'+dk : m;
        }).replace(/,color:#000/g,',color:#e0e0e0')
          .replace(/,color:#333/g,',color:#ddd')
          .replace(/color:#000/g,'color:#e0e0e0')
          .replace(/color:#333/g,'color:#ddd');
    }
    const mermaidEls = contentEl.querySelectorAll('.mermaid');
    if (mermaidEls.length > 0) {
        // Render each mermaid block individually so one failure doesn't break all
        for (const el of mermaidEls) {
            try {
                const id = 'mermaid-' + Math.random().toString(36).substr(2, 9);
                const { svg } = await mermaid.render(id, _darkify(el.textContent.trim()));
                el.innerHTML = svg;
                if (window.SciDexMermaid) window.SciDexMermaid.enhanceElement(el);
                // Fix foreignObject clipping: measure actual content and resize
                el.querySelectorAll('foreignObject').forEach(fo => {
                    const div = fo.querySelector('div');
                    if (!div) return;
                    const actual = div.scrollHeight || div.offsetHeight;
                    const foH = parseFloat(fo.getAttribute('height') || 0);
                    if (actual > foH + 2) {
                        const diff = actual - foH + 8;
                        fo.setAttribute('height', actual + 8);
                        // Also grow the parent node rect/shape
                        const node = fo.closest('.node,.label');
                        if (node) {
                            const rect = node.querySelector('rect,polygon,circle,ellipse');
                            if (rect && rect.getAttribute('height')) {
                                rect.setAttribute('height', parseFloat(rect.getAttribute('height')) + diff);
                            }
                        }
                    }
                });
            } catch(e) {
                el.innerHTML = '
Diagram error: ' + e.message + '
'; } } } // Build TOC from rendered headings. // markdown-it-anchor adds slug-based IDs at render time using _slugify. // The TOC just reads h.id. For content with manually-authored anchor // links (e.g. [Parkinson's](#old-slug)), we also build a map and // create secondary anchors so both old and new slugs work. const _anchorMap = {}; contentEl.querySelectorAll('a[href^="#"]').forEach(a => { const frag = a.getAttribute('href').slice(1); const text = a.textContent.trim().toLowerCase(); if (frag && text) _anchorMap[text] = frag; }); const tocEl = document.getElementById('toc'); const headings = contentEl.querySelectorAll('h1,h2,h3,h4'); headings.forEach((h, i) => { // markdown-it-anchor should have set h.id already; fall back to _slugify if (!h.id) h.id = _slugify(h.textContent) || ('heading-' + i); const id = h.id; // If content has a different anchor slug for this heading, create a // hidden anchor so BOTH the canonical slug AND the old slug work. const hText = h.textContent.trim().toLowerCase(); const oldSlug = _anchorMap[hText]; if (oldSlug && oldSlug !== id) { const span = document.createElement('span'); span.id = oldSlug; h.parentNode.insertBefore(span, h); } const a = document.createElement('a'); a.href = '#' + id; a.textContent = h.textContent; if (h.tagName === 'H3' || h.tagName === 'H4') a.classList.add('toc-h3'); a.onclick = function(e) { e.preventDefault(); h.scrollIntoView({ behavior: 'smooth', block: 'start' }); history.replaceState(null, '', '#' + id); }; tocEl.appendChild(a); }); // On page load, scroll to the anchor if present in URL if (window.location.hash) { const target = document.getElementById(window.location.hash.slice(1)); if (target) setTimeout(() => target.scrollIntoView({ block: 'start' }), 100); } // Highlight current TOC item on scroll const tocLinks = tocEl.querySelectorAll('a'); const observer = new IntersectionObserver(entries => { entries.forEach(entry => { if (entry.isIntersecting) { tocLinks.forEach(l => l.classList.remove('active')); const active = tocEl.querySelector('a[href="#' + entry.target.id + '"]'); if (active) active.classList.add('active'); } }); }, { rootMargin: '-80px 0px -80% 0px' }); headings.forEach(h => observer.observe(h)); })();