A computational pipeline for a neurotransmitter-centric analysis of the effects of psychiatric medication on EEG spectral power.
The 5 matches · 1 of them tie a paragraph to a whole file, not to given lines: a weak match, whose lines are not tinted
- [1] § Methods › Computational pipeline workflow ↔ fitMixedModel.m, lines 1–62 · score 0.93 · TotalAcetylcholine, TotalDopamine, TotalHistamine, TotalNorepinephrine, TotalSerotonin, ElectrodeLocation
- [2] § Methods › Computational pipeline workflow ↔ visualizeEEGData.m, lines 160–220 · score 0.72 · clean_artifacts, power spectral density, EEGLAB, overlapping, channel, gamma
- [3] § Methods › Computational pipeline workflow ↔ functionsForEDFFiles.m, lines 79–165 · score 0.65 · power spectral density, EEGLAB, amplitude, frequency bands, epochs, 100 Hz
- [4] § Methods › Computational pipeline workflow ↔ fitMixedModel.m, lines 1–62 · score 0.52 · electrode location, fitted, frequency band, acetylcholine, norepinephrine, histamine
- [5] § Methods › Psychopharmacological data extraction and coding ↔ CreateTableWithReceptorProperties.m, the whole file · a weak match · score 0.51 · Drug receptor properties, Mirtazapine, profile, mixed, modeling
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
MATLAB · 94 lines · 4.6 KB · BSD-2-Clause · 2 matches
- %fits different mixed model
- clear;
- file="D:/Results/FullTableMixedModelNormal.csv";
- table = readtable(file);
- table=table(:,{'PatientNr', 'FrequencyBand', 'ElectrodeLocation', 'Power', 'Antidepressant', 'Antipsychotic', 'TotalSerotonin', 'TotalDopamine', 'TotalNorepinephrine', 'TotalHistamine', 'TotalAcetylcholine' });
- %set if columns are categorical
- table.PatientNr = categorical(table.PatientNr);
- table.Antidepressant = categorical(table.Antidepressant);
- table.Antipsychotic = categorical(table.Antipsychotic);
- table.ElectrodeLocation = categorical(table.ElectrodeLocation);
- table.FrequencyBand = categorical(table.FrequencyBand);
- table.TotalSerotonin = categorical(table.TotalSerotonin);
- table.TotalDopamine = categorical(table.TotalDopamine);
- table.TotalNorepinephrine = categorical(table.TotalNorepinephrine);
- table.TotalHistamine = categorical(table.TotalHistamine);
- table.TotalAcetylcholine = categorical(table.TotalAcetylcholine);
- %fit different mixed models
- %lme = fitlme(table,"Power ~ FrequencyBand*ElectrodeLocation*Antipsychotic*Antidepressant+ (1|SessionNr) + (1|ElectrodeLocation:Side:Electrode)");
- %lme = fitlm(table,"Power ~ Antidepressant + ElectrodeLocation + FrequencyBand + PatientNr");
- %lme = fitlm(table,"Power ~ Risperidone*Olanzapine*Quetiapine*Aripiprazole*Ziprasidone*Haloperidol*Fluphenazine*Perphenazine*Clozapin*Citalopram*Escitalopram*Sertraline*Paroxetine*Fluoxetine*Bupropion*Venlafaxine*Mirtazapine*Trazodone*Amitriptyline*Clomipramin*Doxepin*Duloxetin*Nortriptylin*Lithium + ElectrodeLocation + FrequencyBand + PatientNr");
- %lme = fitlme(table,"Power ~ (Risperidone+Olanzapine+Quetiapine+Aripiprazole+Ziprasidone+Haloperidol+Fluphenazine+Perphenazine+Clozapin+Citalopram+Escitalopram+Sertraline+Paroxetine+Fluoxetine+Bupropion+Venlafaxine+Mirtazapine+Trazodone+Amitriptyline+Clomipramin+Doxepin+Duloxetin+Nortriptylin+Lithium|Antidepressant) + ElectrodeLocation + FrequencyBand + PatientNr");
- %lme = fitlme(table,"Power ~ Risperidone + Olanzapine + ElectrodeLocation + FrequencyBand + PatientNr + (1|Antidepressant)");
- %Model 1
- %lme = fitlme(table,"Power ~ Antidepressant + Side + FrequencyBand + (1|PatientNr)");
- %lme = fitlme(table,"Power ~ Antidepressant + Side + FrequencyBand + (1+Antidepressant + ElectrodeLocation + FrequencyBand|PatientNr)");
- %Model 2
- %lme = fitlme(table,"Power ~ Antidepressant + Side + FrequencyBand + (1|PatientNr) + (1|PatientNr:SessionNr)");
- %lme = fitlme(table,"Power ~ Antidepressant + Side + FrequencyBand + (1|PatientNr) + (1|PatientNr:SessionNr)+ (1|PatientNr:SessionNr:FileNr)");%Model 6
- %Model 3
- %lme = fitlme(table,"Power ~ Side + FrequencyBand + TotalSerotonin + TotalDopamine + TotalNorepinephrine + TotalHistamine + TotalAcetylcholine + (1|PatientNr)");
- %Model 4: did not work, not enough data for this complexitiy
- %lme2 = fitlme(table,"Power ~ Side + FrequencyBand * TotalSerotonin * TotalDopamine * TotalNorepinephrine * TotalHistamine * TotalAcetylcholine + (1|PatientNr)");
- %Model 5
- %lme = fitlme(table,"Power ~ Side + FrequencyBand*TotalSerotonin + FrequencyBand*TotalDopamine + FrequencyBand*TotalNorepinephrine + FrequencyBand*TotalHistamine + FrequencyBand*TotalAcetylcholine + (1|PatientNr)");
- %Model 6
- %lme = fitlme(table,"Power ~ ElectrodeLocation + FrequencyBand*TotalSerotonin + FrequencyBand*TotalDopamine + FrequencyBand*TotalNorepinephrine + FrequencyBand*TotalHistamine + FrequencyBand*TotalAcetylcholine + (1|PatientNr)");
- %Model 7
- %lme2 = fitlme(table,"Power ~ ElectrodeLocation*FrequencyBand*TotalSerotonin + ElectrodeLocation*FrequencyBand*TotalDopamine + ElectrodeLocation*FrequencyBand*TotalNorepinephrine + ElectrodeLocation*FrequencyBand*TotalHistamine + ElectrodeLocation*FrequencyBand*TotalAcetylcholine + (1|PatientNr)");
- %Model 8
- lme = fitlme(table,"Power ~ ElectrodeLocation*FrequencyBand*Antidepressant + ElectrodeLocation*FrequencyBand*Antipsychotic + (1|PatientNr)");
- lme
- %%%%%%%%%%%%%%%%%%%%%compare models%%%%%%%%%%%%%%%%%%%%%%%%%%
- %compare(lme, lme2)
- %%%%%%%%%%%%%%%%%%%%F-test%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %pVal = coefTest(lme);
- %pVal
- %anova(lme)
- %%%%%%%%%%%%%%%%%%%estimated marginal means%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %done in R
- %%%%%%%%%%%%%%%%%%Plot fitted response vs observed response%%%%%%%%%%%%%%%%
- % F = fitted(lme);
- % R = response(lme);
- % figure();
- % plot(R,F,'rx')
- % xlabel('Response')
- % ylabel('Fitted')
- %%%%%%%%%%% plot residuals %%%%%%%%%%%%%%%%%%%%%%%%%
- % figure();
- % plotResiduals(lme,'fitted')
- %%%%%%%%%%%%%%save output in file %%%%%%%%%%%%%%%%%%%%%%%
- % mdlOutput = evalc('disp(lme2)');
- % fid = fopen("Results\Model6.txt",'wt');
- % fprintf(fid,'%s',mdlOutput);
- % fclose(fid);
fitMixedModel.m at commit f216ea9, under BSD-2-Clause · at the source
Overview
- Department of Psychiatry, Psychotherapy and Psychosomatics, Faculty of Medicine, RWTH Aachen University, Aachen, Germany
- Joint Research Center for Computational Biomedicine, Faculty of Medicine, RWTH Aachen University, Aachen, Germany
- Scientific Center for Neuropathic Pain Aachen, Faculty of Medicine, RWTH Aachen University, Aachen, Germany
- Center for Human Genetics and Genomic Medicine, Faculty of Medicine, RWTH Aachen University, Aachen, Germany
- Institute for Biomedical Informatics, Faculty of Medicine and University Hospital Cologne, University of Cologne, Cologne, Germany
- Institute for Neurophysiology, Faculty of Medicine, RWTH Aachen University, Aachen, Germany
Abstract
Introduction: Traditional pharmaco-electroencephal
Methods: We analyzed 4,128 EEG sessions from 2,083 patients in the Temple University Hospital EEG Corpus, a large heterogeneous dataset. EEG data were preprocessed and segmented into canonical frequency bands (delta, theta, alpha, beta, and gamma). Psychotropic medication data were systematically extracted and coded at the receptor level for serotonin, dopamine, norepinephrine, histamine, and acetylcholine systems using the Neuroscience-based Nomenclature framework. Receptor profiles were summarized to represent each patient’s overall neurotransmitter engagement (agonistic, neutral, antagonistic, or mixed). Linear mixed-effects models were applied to assess relationships between neurotransmitter profiles and log-transformed spectral power while controlling for electrode location and patient-level variability.
Results: Frequency- and region-specific EEG patterns were identified across neurotransmitter systems. Dopamine antagonists were associated with higher delta and theta power at central electrode locations and lower alpha power at occipital and temporal locations, whereas dopamine agonists were associated with higher delta activity at occipital locations and increased frontal gamma power. Serotonin antagonists showed associations with elevated slow-wave and alpha power, while serotonin agonists were linked to increased frontal alpha, decreased occipital alpha, and enhanced temporal gamma power. Both norepinephrine antagonists and agonists showed positive relationships with delta power, with a broader topographical pattern for antagonists. Theta power was positively associated with norepinephrine antagonists and negatively associated with norepinephrine agonists. Norepinephrine antagonists were related to lower temporal alpha and higher frontal and parietal gamma power. Histamine antagonists and mixed histaminergic agents were associated with lower delta, theta, and alpha power. Acetylcholine antagonists were linked to higher delta, theta, and alpha power across electrode locations.
Discussion: Modeling psychotropic medication effects on EEG at the neurotransmitter receptor level offers a biologically grounded and clinically relevant improvement over traditional drug class-based approaches. This neurotransmitter-centric
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 5 matches between paragraphs and lines of code.
rwth-imi/Drug_induced_spectral_changes_TUH
f216ea90f696bc2cf6740d8a49651927b5ee55b4, 12 July 2024Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
35 files
- AbstractFeatureExtractio
n.m , MATLAB, 25 lines - CacheTUH.m, MATLAB, 14 lines
- CalculateStatisticalPowe
r.m , MATLAB, 17 lines - CreateTableWithReceptorP
roperties.m , MATLAB, 101 lines, 1 match - DoFigures.m, MATLAB, 56 lines
- FeatureExtractionManager
.m , MATLAB, 103 lines - InformationExtraxtor.m, MATLAB, 110 lines
- MedvsMed.m, MATLAB, 65 lines
- PlotFaceForPosition.m, MATLAB, 59 lines
- PlotLegend.m, MATLAB, 93 lines
- PlotLegendDots.m, MATLAB, 111 lines
- WaveletExtraction.m, MATLAB, 70 lines
- cleanData.m, MATLAB, 55 lines
- concatNormalAndFullTable
.m , MATLAB, 49 lines - createPSForMixedModel.m, MATLAB, 55 lines
- createTableMixedModel.m, MATLAB, 154 lines
- doStatistics.m, MATLAB, 67 lines
- doStatisticsGroupWOmed.m
, MATLAB, 77 lines - downloadEDFForCertainMed
icine.m , MATLAB, 113 lines - downloadNormalData.m, MATLAB, 39 lines
- drugGroups.m, MATLAB, 64 lines
- fitMixedModel.m, MATLAB, 94 lines, 2 matches
- functionsForEDFFiles.m, MATLAB, 705 lines, 1 match
- functionsForTUHData.m, MATLAB, 469 lines
- functionsTuhDownload.m, MATLAB, 296 lines
- prepareData.m, MATLAB, 52 lines
- prepareDataGroups.m, MATLAB, 69 lines
- prepareDataGroupsWOmed.m
, MATLAB, 69 lines - prepareNormalData.m, MATLAB, 134 lines
- psSingleDrug.m, MATLAB, 189 lines
- scriptWorkWithExcelData.
m , MATLAB, 345 lines - visualizeEEGData.m, MATLAB, 1,246 lines, 1 match
- xlscol.m, MATLAB, 77 lines
- license.txt, License, 24 lines
- readme.txt, Text, 181 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:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 33 scripts, each with its path and the digest of its content;
- 5 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.
Data Availability Statement
All code used for data analysis can be retrieved from https://
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 2, 28 September 2026
- Funding: added RWTH Aachen University
Version 1, 27 September 2026: the first record
Recorded: type, language, journal, volume, pages, dates, 7 authors, 8 keywords, 78 references.
Cite
This paper
Zekerallah, S. S., Maxion, A. A., Zweerings, J., Teucher, P., Mathiak, K., Kutafina, E., & Gaebler, A. J. (2026). A computational pipeline for a neurotransmitter-centric
BibTeX
@article{zekerallah2026c
author = {Zekerallah, Samar Samy and Maxion, Anna Alexandra and Zweerings, Jana and Teucher, Paula and Mathiak, Klaus and Kutafina, Ekaterina and Gaebler, Arnim Johannes},
title = {{A computational pipeline for a neurotransmitter-centric
journal = {Frontiers in psychiatry},
year = {2026},
month = jun,
volume = {17},
pages = {1737357},
publisher = {Frontiers Media SA},
issn = {1664-0640},
doi = {10.3389/
url = {https://
pmid = {42404718},
pmcid = {PMC13328094}
}
RIS
TY - JOUR
AU - Zekerallah, Samar Samy
AU - Maxion, Anna Alexandra
AU - Zweerings, Jana
AU - Teucher, Paula
AU - Mathiak, Klaus
AU - Kutafina, Ekaterina
AU - Gaebler, Arnim Johannes
TI - A computational pipeline for a neurotransmitter-centric
T2 - Frontiers in psychiatry
J2 - Front Psychiatry
PY - 2026
DA - 2026/
VL - 17
SP - 1737357
SN - 1664-0640
PB - Frontiers Media SA
DO - 10.3389/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.3389/
"type": "article-journal",
"title": "A computational pipeline for a neurotransmitter-centric
"container-title": "Frontiers in psychiatry",
"author": [
{
"family": "Zekerallah",
"given": "Samar Samy"
},
{
"family": "Maxion",
"given": "Anna Alexandra"
},
{
"family": "Zweerings",
"given": "Jana"
},
{
"family": "Teucher",
"given": "Paula"
},
{
"family": "Mathiak",
"given": "Klaus"
},
{
"family": "Kutafina",
"given": "Ekaterina"
},
{
"family": "Gaebler",
"given": "Arnim Johannes"
}
],
"container-title-short":
"volume": "17",
"page": "1737357",
"DOI": "10.3389/
"PMID": "42404718",
"PMCID": "PMC13328094",
"ISSN": "1664-0640",
"publisher": "Frontiers Media SA",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
6,
19
]
]
}
}
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.ebiom.2026.106375 [code]
- Brainwaves under medication: revealing class-specific neural signatures of psychotropic medication from 24,000 EEGs.Journal: EBioMedicineIn common: EEGLAB, Statistics and Machine Learning Toolbox, EEG, 6 references
- [2] doi:10.1038/s41398-026-04055-w [code]
- Diminished variability of alpha and beta band-limited power as a neural signature in schizophrenia.Journal: Translational psychiatryIn common: EEGLAB, Signal Processing Toolbox, Statistics and Machine Learning Toolbox, EEG, 2 references
- [3] doi:10.1038/s41467-026-71458-0 [code]
- Early differential impact of MeCP2 mutations on functional networks in Rett syndrome patient-derived human cortical organoids.Journal: Nature communicationsIn common: Deep Learning Toolbox, Wavelet Toolbox, Signal Processing Toolbox, 1 other tool
- [4] doi:10.1371/journal.pbio.3003938 [code]
- Theta oscillations tag episodic memories for sleep-dependent consolidation.Journal: PLoS biologyIn common: Wavelet Toolbox, EEGLAB, Signal Processing Toolbox, 1 other tool, EEG
- [5] doi:10.7554/elife.107088 [code]
- Development of auditory and spontaneous movement responses to music over the first postnatal year.Journal: eLifeIn common: Wavelet Toolbox, EEGLAB, Signal Processing Toolbox, 1 other tool, EEG
- [6] doi:10.1162/imag.a.1229 [code]
- 40 Hz audiovisual stimulation improves sustained attention and related brain oscillations.Journal: Imaging neuroscience (Cambridge, Mass.)In common: Wavelet Toolbox, EEGLAB, Signal Processing Toolbox, 1 other tool, EEG
- [7] doi:10.1111/psyp.70265 [code]
- Neurocognitive Dynamics of Translating Information From a Spatial Map Into Action.Journal: PsychophysiologyIn common: EEGLAB, Signal Processing Toolbox, Statistics and Machine Learning Toolbox, EEG, 2 references
- [8] doi:10.1523/eneuro.0032-26.2026 [code]
- Deep Learning Discriminates Seizures from Normal Brain Oscillations in the Electroencephalogram of a Rat Model of Post-traumatic Epilepsy.Journal: eNeuroIn common: Deep Learning Toolbox, Wavelet Toolbox, Signal Processing Toolbox, EEG
- [9] doi:10.1162/imag.a.105 [code]
- Right posterior theta reflects human parahippocampal phase resetting by salient cues during goal-directed navigationJournal: n/aIn common: Wavelet Toolbox, EEGLAB, Statistics and Machine Learning Toolbox, EEG, 1 reference
- [10] doi:10.1038/s41598-026-49900-6 [code]
- Global neural oscillations underlie performance variability and attentional state fluctuations in humans.Journal: Scientific reportsIn common: Wavelet Toolbox, EEGLAB, Signal Processing Toolbox, 1 other tool
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, 33 scripts, and 5 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:08253daa64f175b9…
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.
