<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3-mathml3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ali="http://www.niso.org/schemas/ali/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.3" xml:lang="EN">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Pharmacol.</journal-id>
<journal-title-group>
<journal-title>Frontiers in Pharmacology</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Pharmacol.</abbrev-journal-title>
</journal-title-group>
<issn pub-type="epub">1663-9812</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1774128</article-id>
<article-id pub-id-type="doi">10.3389/fphar.2026.1774128</article-id>
<article-version article-version-type="Version of Record" vocab="NISO-RP-8-2008"/>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Original Research</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>MSAT: a FAERS-informed heterogeneous graph neural network for pharmacovigilance prediction of Chinese materia medica&#x2013;associated adverse drug reactions</article-title>
<alt-title alt-title-type="left-running-head">Shi et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fphar.2026.1774128">10.3389/fphar.2026.1774128</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" equal-contrib="yes">
<name>
<surname>Shi</surname>
<given-names>Bowen</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="author-notes" rid="fn001">
<sup>&#x2020;</sup>
</xref>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Conceptualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/conceptualization/">Conceptualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Formal analysis" vocab-term-identifier="https://credit.niso.org/contributor-roles/formal-analysis/">Formal Analysis</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Methodology" vocab-term-identifier="https://credit.niso.org/contributor-roles/methodology/">Methodology</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Software" vocab-term-identifier="https://credit.niso.org/contributor-roles/software/">Software</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; original draft" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-original-draft/">Writing - original draft</role>
</contrib>
<contrib contrib-type="author" equal-contrib="yes">
<name>
<surname>Li</surname>
<given-names>Xiaojie</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<xref ref-type="author-notes" rid="fn001">
<sup>&#x2020;</sup>
</xref>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Data curation" vocab-term-identifier="https://credit.niso.org/contributor-roles/data-curation/">Data curation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Investigation" vocab-term-identifier="https://credit.niso.org/contributor-roles/investigation/">Investigation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Visualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/visualization/">Visualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; original draft" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-original-draft/">Writing - original draft</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Validation" vocab-term-identifier="https://credit.niso.org/contributor-roles/validation/">Validation</role>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Fang</surname>
<given-names>Jinghao</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Data curation" vocab-term-identifier="https://credit.niso.org/contributor-roles/data-curation/">Data curation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Visualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/visualization/">Visualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &#x26; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/">Writing - review and editing</role>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Chen</surname>
<given-names>Jisheng</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Funding acquisition" vocab-term-identifier="https://credit.niso.org/contributor-roles/funding-acquisition/">Funding acquisition</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Supervision" vocab-term-identifier="https://credit.niso.org/contributor-roles/supervision/">Supervision</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Visualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/visualization/">Visualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &#x26; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/">Writing - review and editing</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Validation" vocab-term-identifier="https://credit.niso.org/contributor-roles/validation/">Validation</role>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Yang</surname>
<given-names>Jin</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/3325149"/>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Conceptualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/conceptualization/">Conceptualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Funding acquisition" vocab-term-identifier="https://credit.niso.org/contributor-roles/funding-acquisition/">Funding acquisition</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Project administration" vocab-term-identifier="https://credit.niso.org/contributor-roles/project-administration/">Project administration</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Resources" vocab-term-identifier="https://credit.niso.org/contributor-roles/resources/">Resources</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Supervision" vocab-term-identifier="https://credit.niso.org/contributor-roles/supervision/">Supervision</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &#x26; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/">Writing - review and editing</role>
</contrib>
</contrib-group>
<aff id="aff1">
<label>1</label>
<institution>School of Medical Information and Engineering, Guangdong Pharmaceutical University</institution>, <city>Guangzhou</city>, <state>Guangdong</state>, <country country="CN">China</country>
</aff>
<aff id="aff2">
<label>2</label>
<institution>Guangdong Province Precise Medicine Big Data of Traditional Chinese Medicine Engineering Technology Research Center</institution>, <city>Guangzhou</city>, <state>Guangdong</state>, <country country="CN">China</country>
</aff>
<aff id="aff3">
<label>3</label>
<institution>Key Specialty of Clinical Pharmacy, The First Affiliated Hospital of Guangdong Pharmaceutical University</institution>, <city>Guangdong</city>, <country country="CN">China</country>
</aff>
<author-notes>
<corresp id="c001">
<label>&#x2a;</label>Correspondence: Jisheng Chen, <email xlink:href="mailto:cjslym@163.com">cjslym@163.com</email>; Jin Yang, <email xlink:href="mailto:y.jin04@gdpu.edu.cn">y.jin04@gdpu.edu.cn</email>
</corresp>
<fn fn-type="equal" id="fn001">
<label>&#x2020;</label>
<p>These authors have contributed equally to this work</p>
</fn>
</author-notes>
<pub-date publication-format="electronic" date-type="pub" iso-8601-date="2026-02-26">
<day>26</day>
<month>02</month>
<year>2026</year>
</pub-date>
<pub-date publication-format="electronic" date-type="collection">
<year>2026</year>
</pub-date>
<volume>17</volume>
<elocation-id>1774128</elocation-id>
<history>
<date date-type="received">
<day>23</day>
<month>12</month>
<year>2025</year>
</date>
<date date-type="rev-recd">
<day>28</day>
<month>01</month>
<year>2026</year>
</date>
<date date-type="accepted">
<day>30</day>
<month>01</month>
<year>2026</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2026 Shi, Li, Fang, Chen and Yang.</copyright-statement>
<copyright-year>2026</copyright-year>
<copyright-holder>Shi, Li, Fang, Chen and Yang</copyright-holder>
<license>
<ali:license_ref start_date="2026-02-26">https://creativecommons.org/licenses/by/4.0/</ali:license_ref>
<license-p>This is an open-access article distributed under the terms of the <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution License (CC BY)</ext-link>. The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</license-p>
</license>
</permissions>
<abstract>
<sec>
<title>Background</title>
<p>Post-marketing safety surveillance of Chinese Materia Medica (CMM) is challenged by multi-component chemical heterogeneity and the limited mechanistic interpretability of signals derived solely from spontaneous reports. The FDA Adverse Event Reporting System (FAERS) provides large-scale pharmacovigilance evidence, yet it is noisy, susceptible to reporting bias, and weakly linked to underlying biological mechanisms. We aimed to develop an FAERS-informed, clinically oriented framework to predict CMM-associated adverse drug reactions (ADRs).</p>
</sec>
<sec>
<title>Methods</title>
<p>We constructed an evidence-rich heterogeneous graph integrating CMMs, compounds, protein targets, and ADRs. To differentiate pharmacovigilance-derived statistical associations from binary molecular interactions, we augmented each CMM&#x2013;ADR edge with a six-dimensional evidence feature vector (including semantic similarity, FAERS evidence as log-transformed report counts, source provenance, and topology-derived structural metrics) and used it to condition attention during message passing. We propose MSAT, a multi-scale heterogeneous graph neural network comprising: (i) an Evidence-Semantic Adaptive Gate to inject evidence-conditioned attention bias, (ii) a Hierarchical Signal Propagation layer to model cross-scale transduction from molecular mechanisms to clinical phenotypes, and (iii) a Hub-Calibrated Inference module to mitigate hub-driven bias. We evaluated MSAT using stratified 10-fold cross-validation, stress-tested robustness under increasing class imbalance up to a 1:10 positive:negative ratio, and assessed cold-start generalization. High-confidence predicted results were further examined via external database concordance and literature support.</p>
</sec>
<sec>
<title>Results</title>
<p>In stratified 10-fold cross-validation on 27,062 curated CMM&#x2013;ADR associations, MSAT achieved strong performance (AUC &#x3d; 0.9792, AUPRC &#x3d; 0.9766) and outperformed representative heterogeneous GNN baselines. MSAT remained robust under severe class imbalance (up to 1:10) and demonstrated favorable generalization in cold-start settings. Among the top 15 high-confidence predicted results absent from the labeled positives, 13/15 (86.7%) were supported by independent database or literature evidence. For example, MSAT prioritized a potential liver-injury signal for Aiye (<italic>Artemisia argyi</italic>) (predicted ADR: drug-induced liver injury, DILI), consistent with external evidence.</p>
</sec>
<sec>
<title>Conclusion</title>
<p>By unifying FAERS pharmacovigilance evidence with multi-scale biomedical mechanisms in a heterogeneous graph learning framework, MSAT enables robust prediction and prioritization of CMM-associated ADR risks. This framework can support hypothesis generation and risk triage for post-marketing safety surveillance of complex Chinese Materia Medica products.</p>
</sec>
</abstract>
<kwd-group>
<kwd>adverse drug reactions</kwd>
<kwd>Chinese materia medica</kwd>
<kwd>graph neural network</kwd>
<kwd>pharmacovigilance</kwd>
<kwd>traditional Chinese medicine</kwd>
</kwd-group>
<funding-group>
<funding-statement>The author(s) declared that financial support was received for this work and/or its publication. This research was funded by the Guangdong Provincial Basic and Applied Basic Research Foundation Project (Grant number 2023A1515220178), and the Guangzhou Municipal Science and Technology Bureau&#x2019;s City-University(Institute)-Enterprise Jointly Funded Project (Grant number 2025A03J3712).</funding-statement>
</funding-group>
<counts>
<fig-count count="6"/>
<table-count count="6"/>
<equation-count count="7"/>
<ref-count count="55"/>
<page-count count="20"/>
</counts>
<custom-meta-group>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Pharmacoepidemiology</meta-value>
</custom-meta>
</custom-meta-group>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<label>1</label>
<title>Introduction</title>
<p>Post-marketing safety surveillance of Chinese Materia Medica (CMM) remains challenging because each medicinal material contains diverse constituents and is often used in multi-component products with variable composition. Unlike single-ingredient small-molecule drugs, the multi-component and multi-target characteristics of CMM complicate both mechanistic attribution and systematic safety assessment (<xref ref-type="bibr" rid="B27">Ma et al., 2023</xref>; <xref ref-type="bibr" rid="B54">Zhang et al., 2024</xref>; <xref ref-type="bibr" rid="B11">Gao et al., 2019</xref>). With the expanding clinical use of CMM, particularly proprietary products and injections in routine care, reports of CMM-associated adverse drug reactions (ADRs) continue to accumulate and may include severe outcomes (<xref ref-type="bibr" rid="B51">Yan et al., 2022</xref>).</p>
<p>Spontaneous reporting systems (SRS) such as the FDA Adverse Event Reporting System (FAERS) provide indispensable real-world evidence for pharmacovigilance and early signal detection at scale (<xref ref-type="bibr" rid="B47">U.S. Food and Drug Administration, 2024</xref>; <xref ref-type="bibr" rid="B13">Harpaz et al., 2012</xref>). However, FAERS reports are inherently noisy and confounded by under-reporting, reporting bias, co-medication, and incomplete exposure information, which limits straightforward causal interpretation and weakens direct links to biological mechanisms (<xref ref-type="bibr" rid="B13">Harpaz et al., 2012</xref>). For complex CMM products, these limitations are further amplified by heterogeneous naming, formulation variability, and frequent concomitant use with conventional medications. A practical direction is therefore to integrate SRS evidence with mechanistic biomedical knowledge, enabling robust prioritization of safety signals and hypothesis generation for downstream assessment.</p>
<p>Modern computational pharmacology increasingly frames drug-safety prediction as a relational inference problem across interconnected biomedical entities. In this perspective, ADR risk emerges not only from isolated compounds but also from structured relationships among medicinal materials, chemical constituents, protein targets, and clinical phenotypes. These entities can be naturally organized as heterogeneous graphs, where link prediction supports systematic identification of unobserved associations. Graph-based learning has shown utility in modeling adverse effects in complex medication settings, including polypharmacy and multi-relational side-effect prediction (<xref ref-type="bibr" rid="B55">Zitnik et al., 2018</xref>). For heterogeneous biomedical graphs, relational graph neural networks (GNNs) and transformer-style architectures offer a principled mechanism to propagate information across typed nodes and edges (<xref ref-type="bibr" rid="B35">Schlichtkrull et al., 2018</xref>; <xref ref-type="bibr" rid="B14">Hu et al., 2020</xref>; <xref ref-type="bibr" rid="B25">Lv et al., 2021</xref>).</p>
<p>Nevertheless, applying heterogeneous graph learning to CMM pharmacovigilance introduces two under-addressed challenges. First, the constructed graph inevitably mixes semantically distinct edge types: molecular interactions (e.g., compound&#x2013;target) are typically binary and mechanistic, whereas CMM&#x2013;ADR associations derived from SRS and literature encode evidence with graded strength, provenance, and uncertainty. Many existing architectures process heterogeneous edges via uniform message passing or scalar weighting, which risks collapsing high-dimensional pharmacovigilance evidence into an underutilized auxiliary signal (<xref ref-type="bibr" rid="B9">Fang and Wu, 2023</xref>; <xref ref-type="bibr" rid="B33">Qin et al., 2021</xref>). Second, the path from molecular interactions to clinical phenotypes is intrinsically multi-scale and may require deep, long-range reasoning. Shallow propagation can suffer from over-smoothing, limiting the ability to model cross-scale signal transduction from targets to organism-level adverse outcomes (<xref ref-type="bibr" rid="B6">Chen et al., 2020</xref>).</p>
<p>Beyond algorithmic limitations, a translational gap constrains clinical utility. Model outputs are commonly expressed in regulatory terminologies such as the Medical Dictionary for Regulatory Activities (MedDRA) (<xref ref-type="bibr" rid="B1">Brown et al., 1999</xref>), which may not align with the diagnostic and decision frameworks used in traditional medicine practice, including Zang&#x2013;Fu functional concepts (<xref ref-type="bibr" rid="B46">Unschuld and Tessenow, 2011</xref>; <xref ref-type="bibr" rid="B24">Lu et al., 2012</xref>). This mismatch can reduce the actionability of computational alerts in clinical settings where syndrome differentiation guides prescription adjustment.</p>
<p>To address these challenges, we propose MSAT, an FAERS-informed heterogeneous graph learning framework for pharmacovigilance prediction of CMM-associated ADRs. We first construct an evidence-rich heterogeneous graph integrating CMMs, compounds, protein targets, and ADRs, and encode pharmacovigilance evidence and provenance as edge attributes to distinguish noisy reporting signals from mechanistic interactions. MSAT introduces an Evidence-Semantic Adaptive Gate to condition attention on evidence strength, a Hierarchical Signal Propagation layer to model cross-scale transduction across CMM&#x2013;compound&#x2013;target&#x2013;phenotype paths, and a Hub-Calibrated Inference module to mitigate degree-driven bias. We evaluate MSAT using stratified 10-fold cross-validation, stress tests under class imbalance up to <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and cold-start settings, and a qualitative evidence check for representative high-confidence predicted results via database concordance and literature support. Collectively, MSAT provides a clinically aligned framework for risk prioritization and hypothesis generation in post-marketing safety surveillance of complex Chinese Materia Medica products.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Related work</title>
<p>Graph representation learning has been increasingly adopted for drug-safety tasks, including polypharmacy side-effect prediction and related interaction modeling (e.g., DDI prediction) (<xref ref-type="bibr" rid="B55">Zitnik et al., 2018</xref>; <xref ref-type="bibr" rid="B43">Tanvir et al., 2024b</xref>; <xref ref-type="bibr" rid="B40">Tanvir et al., 2021</xref>). Recent heterogeneous architectures further enrich message passing with attention mechanisms or higher-order relational designs (<xref ref-type="bibr" rid="B42">Tanvir et al., 2024a</xref>; <xref ref-type="bibr" rid="B40">Tanvir et al., 2021</xref>). While these settings differ from spontaneous-report&#x2013;informed CMM pharmacovigilance, they motivate a common view of safety prediction as relational inference on heterogeneous biomedical networks. MSAT follows this perspective but is tailored to two practical issues in SRS-driven CMM&#x2013;ADR modeling. First, MSAT treats CMM&#x2013;ADR links as <italic>evidence-bearing</italic> edges and injects a multi-dimensional evidence vector into attention through ESA-Gate, rather than relying on topology or relation labels alone. Second, MSAT incorporates hub-calibrated inference to mitigate degree-driven bias that is pervasive in safety graphs (e.g., frequent ADRs and broadly connected entities), complementing heterogeneous attention with an explicit hub-bias correction mechanism. Together, these design choices address graded and uncertain pharmacovigilance evidence and reduce popularity-driven distortions in risk prioritization.</p>
</sec>
<sec sec-type="materials|methods" id="s3">
<label>3</label>
<title>Materials and methods</title>
<p>The overall methodological framework of MSAT is illustrated in <xref ref-type="fig" rid="F1">Figures 1</xref>&#x2013;<xref ref-type="fig" rid="F3">3</xref>. It forms an end-to-end pipeline with four stages: (I) data curation and featurization, where multi-source biomedical data are integrated to construct a heterogeneous CMM&#x2013;compound&#x2013;target&#x2013;ADR graph; (II) multi-scale representation learning with the MSAT model; (III) link prediction for CMM&#x2013;ADR associations; and (IV) mapping of predicted ADRs to TCM functional systems to support clinically aligned interpretation.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Data integration and heterogeneous graph construction. <bold>(a&#x2013;c)</bold> Entity/edge types and the heterogeneous graph schema. <bold>(d)</bold> Multi-source data integration for graph assembly. <bold>(e)</bold> Heterogeneous graph construction with evidence-augmented edges. <bold>(f)</bold> Node feature encoding.</p>
</caption>
<graphic xlink:href="fphar-17-1774128-g001.tif">
<alt-text content-type="machine-generated">Diagram outlining a heterogeneous graph-based biomedical data integration and encoding pipeline, showing entity types, edge types, schematic graph structures, multi-source data integration, graph construction with color-coded nodes and edges, and embeddings generated by ChemBERTa and BioBERT for compounds and biomedical text.</alt-text>
</graphic>
</fig>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>The MSAT representation learning module. <bold>(a,b)</bold> Inputs and embedding initialization. <bold>(c)</bold> Multi-Scale Attention layer (<inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mo>&#xd7;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>3). <bold>(d)</bold> Evidence-Semantic Adaptive Gate (ESA-Gate). <bold>(e)</bold> Hierarchical Signal Propagation layer (HSP-Layer).</p>
</caption>
<graphic xlink:href="fphar-17-1774128-g002.tif">
<alt-text content-type="machine-generated">Flowchart diagram illustrating a heterogeneous graph neural network model pipeline, including heterogeneous graph input, embedding generation, multi-scale attention layers with an ESA-Gate for edge attributes, HSP-layer for message aggregation, normalization, and final 72-dimensional embeddings output.</alt-text>
</graphic>
</fig>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Link prediction and clinically aligned interpretation. <bold>(a)</bold> Link prediction for CMM&#x2013;ADR associations. <bold>(b)</bold> Hub-Calibrated Inference module (HCI-Module). <bold>(c,d)</bold> Mapping predicted ADRs to TCM functional systems.</p>
</caption>
<graphic xlink:href="fphar-17-1774128-g003.tif">
<alt-text content-type="machine-generated">Flowchart detailing a multi-module architecture for predicting adverse drug reactions with Traditional Chinese Medicine (TCM) system mapping, including link prediction, HCI modules, prediction output, and a circular TCM functional system diagram with sixteen labeled body systems and organs.</alt-text>
</graphic>
</fig>
<sec id="s3-1">
<label>3.1</label>
<title>Data collection and processing</title>
<p>We constructed a comprehensive dataset by integrating pharmacological data from authoritative databases (<xref ref-type="bibr" rid="B52">Yang et al., 2023</xref>; <xref ref-type="bibr" rid="B3">Chandak et al., 2023</xref>; <xref ref-type="bibr" rid="B29">Ochoa et al., 2023</xref>) and real-world pharmacovigilance reports (<xref ref-type="bibr" rid="B47">U.S. Food and Drug Administration, 2024</xref>). As summarized in <xref ref-type="table" rid="T1">Table 1</xref>, molecular associations (e.g., Compound-Target, Target-Target) were curated from structured biological repositories to form the backbone of our heterogeneous graph.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Dataset statistics for the constructed heterogeneous graph.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Category</th>
<th align="left">Type</th>
<th align="center">Count</th>
<th align="left">Data source(s)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="5" align="left">Nodes</td>
<td align="left">CMM</td>
<td align="right">651</td>
<td align="left">ccTCM, ETCM, FAERS</td>
</tr>
<tr>
<td align="left">Compound</td>
<td align="right">1,498</td>
<td align="left">ccTCM</td>
</tr>
<tr>
<td align="left">Protein target</td>
<td align="right">21,393</td>
<td align="left">ADReCS, ccTCM, PrimeKG, T-ARDIS, ETCM, Open Targets</td>
</tr>
<tr>
<td align="left">ADR</td>
<td align="right">5,974</td>
<td align="left">FAERS, Literature, ADReCS, Open Targets, T-ARDIS</td>
</tr>
<tr>
<td align="left">
<italic>Total nodes</italic>
</td>
<td align="right">
<italic>29,516</italic>
</td>
<td align="left">&#x200b;</td>
</tr>
<tr>
<td rowspan="7" align="left">Edges</td>
<td align="left">CMM-Compound</td>
<td align="right">2,758</td>
<td align="left">ccTCM</td>
</tr>
<tr>
<td align="left">Compound-Target</td>
<td align="right">27,008</td>
<td align="left">ccTCM</td>
</tr>
<tr>
<td align="left">CMM-Target</td>
<td align="right">2,742</td>
<td align="left">ETCM</td>
</tr>
<tr>
<td align="left">Target-Target</td>
<td align="right">321,075</td>
<td align="left">PrimeKG</td>
</tr>
<tr>
<td align="left">Target-ADR</td>
<td align="right">30,170</td>
<td align="left">ADReCS, Open Targets, T-ARDIS</td>
</tr>
<tr>
<td align="left">CMM&#x2013;ADR</td>
<td align="right">27,062</td>
<td align="left">FAERS, Literature</td>
</tr>
<tr>
<td align="left">
<italic>Total edges</italic>
</td>
<td align="right">
<italic>410,815</italic>
</td>
<td align="left">&#x200b;</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>Data source: ccTCM (<xref ref-type="bibr" rid="B52">Yang et al., 2023</xref>); ETCM (<xref ref-type="bibr" rid="B50">Xu et al., 2019</xref>); FAERS (<xref ref-type="bibr" rid="B47">U.S., Food and Drug Administration, 2024</xref>); Open Targets (<xref ref-type="bibr" rid="B29">Ochoa et al., 2023</xref>); PrimeKG (<xref ref-type="bibr" rid="B3">Chandak et al., 2023</xref>); ADReCS (<xref ref-type="bibr" rid="B2">Cai et al., 2015</xref>); T-ARDIS (<xref ref-type="bibr" rid="B10">Galletti et al., 2021</xref>); Literature (<xref ref-type="bibr" rid="B21">Lin et al., 2013</xref>).</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>To capture post-marketing safety evidence, we mined the FDA Adverse Event Reporting System (FAERS) quarterly releases from Q1 2004 to Q1 2025. We parsed the FAERS quarterly DEMO, DRUG, and REAC tables. CMM exposure mentions were identified by matching reported product names in the DRUG table against our standardized CMM lexicon (harmonized to Latin scientific names as described below), and ADR terms were taken from the REAC table as MedDRA Preferred Terms. All analyses were conducted on a locked snapshot of FAERS (through Q1 2025), which ensures reproducibility of the reported results. <xref ref-type="fig" rid="F4">Figure 4</xref> summarizes the long-term reporting trend of CMM-related adverse event records. For comparability across calendar years, the trend is presented in an annualized form; data from 2025 include Q1 only and are therefore not shown in the year-level plot.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Temporal trend of CMM-related adverse event reports in FAERS (annualized, 2004&#x2013;2024). The observed annualized report counts (solid line; log scale) and an exponential fit (dashed line; <inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.873</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>) are shown. FAERS data were collected from Q1 2004 to Q1 2025; 2025 includes Q1 only and is therefore excluded from the annualized year-level plot.</p>
</caption>
<graphic xlink:href="fphar-17-1774128-g004.tif">
<alt-text content-type="machine-generated">Line graph showing the number of adverse drug reaction reports from 2004 to 2024 on a logarithmic scale, with a blue observed trend peaking at 153,175 in 2024 and a dashed orange exponential fit line (R squared equals 0.873).</alt-text>
</graphic>
</fig>
<p>Because spontaneous reporting data are noisy and heterogeneous, we applied a structured curation workflow before constructing CMM&#x2013;ADR signals. We harmonized CMM names using TCMBank (<xref ref-type="bibr" rid="B26">Lv et al., 2023</xref>) and the <xref ref-type="bibr" rid="B7">Chinese Pharmacopoeia Commission (2025)</xref>, and used standardized Latin scientific names as unique identifiers to reduce ambiguity introduced by synonyms and homonyms. Following common pharmacovigilance practice, we handled duplicate case versions by retaining the most recent version when applicable, and treated the resulting CMM&#x2013;ADR associations as signals for prioritization rather than causal confirmation.</p>
<p>Starting from 759,122 CMM-related FAERS report&#x2013;reaction records, we excluded non-medical or administrative entries by removing records mapped to 378 non-ADR MedDRA Preferred Terms (e.g., &#x201c;Product issues&#x201d;), which eliminated 70,120 records. We then aggregated the remaining records at the CMM&#x2013;ADR level to obtain 25,734 FAERS-derived CMM&#x2013;ADR associations, and supplemented them with 1,328 expert-curated associations from the literature (<xref ref-type="bibr" rid="B21">Lin et al., 2013</xref>). The resulting union constituted 27,062 curated positive CMM&#x2013;ADR associations used as ground truth for model development; consistent with pharmacovigilance practice, these associations should be interpreted as safety signals for prioritization rather than causal confirmation.</p>
</sec>
<sec id="s3-2">
<label>3.2</label>
<title>Heterogeneous graph construction</title>
<p>We modeled the pharmacological space as a heterogeneous graph <inline-formula id="inf4">
<mml:math id="m4">
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="script">V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="script">E</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> comprising four node types (CMM, Compound, Target, ADR) and six relation types. Node features were initialized using domain-specific pre-trained language models: textual nodes (CMM, Target, ADR) were encoded via BioBERT (<xref ref-type="bibr" rid="B20">Lee et al., 2020</xref>). For compound nodes, canonical SMILES strings were retrieved from PubChem. To ensure structural consistency, we performed chemical standardization using RDKit (version 2024.03). This process involved salt removal, charge neutralization, and tautomer canonicalization before encoding sequences via ChemBERTa (<xref ref-type="bibr" rid="B8">Chithrananda et al., 2020</xref>). All adverse reaction terms were systematically mapped to MedDRA (<xref ref-type="bibr" rid="B1">Brown et al., 1999</xref>), and target protein identifiers were unified to HGNC gene nomenclature (<xref ref-type="bibr" rid="B45">Tweedie et al., 2021</xref>).</p>
<p>To differentiate pharmacovigilance-derived signals from binary mechanistic relations, we augmented each CMM&#x2013;ADR edge with a six-dimensional evidence vector encoding: (1) semantic similarity between CMM and ADR descriptions (BioBERT cosine similarity); (2) FAERS evidence as log-transformed case report counts for the CMM&#x2013;ADR pair; (3) a source provenance indicator (FAERS-derived vs. literature-only); and (4&#x2013;6) topology-derived metrics including the CMM degree, ADR degree, and a meta-path connectivity score capturing the density of mechanistic CMM<inline-formula id="inf5">
<mml:math id="m5">
<mml:mrow>
<mml:mo>&#x2192;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>Compound<inline-formula id="inf6">
<mml:math id="m6">
<mml:mrow>
<mml:mo>&#x2192;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>Target<inline-formula id="inf7">
<mml:math id="m7">
<mml:mrow>
<mml:mo>&#x2192;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>ADR paths between the pair (log-transformed and normalized). For literature-only associations without FAERS support, the FAERS count feature was set to 0 and the provenance indicator was set accordingly, while the remaining features were computed in the same manner. This evidence vector is used to condition attention during message passing, allowing evidence strength and provenance to directly modulate information propagation rather than acting as an auxiliary covariate.</p>
<sec id="s3-2-1">
<label>3.2.1</label>
<title>On edge provenance and leakage control</title>
<p>To clarify potential leakage and confounding in our heterogeneous graph, we distinguish (i) <italic>pharmacovigilance-derived label edges</italic> versus (ii) <italic>independently curated mechanistic edges</italic>. Specifically, CMM&#x2013;ADR associations are mined from FAERS and supplemented by expert-curated literature and serve as the supervised link-prediction targets; these edges additionally carry evidence features (six-dimensional vectors) that encode signal strength and provenance. In contrast, mechanistic relations (CMM&#x2013;Compound, Compound&#x2013;Target, Target&#x2013;Target, and Target&#x2013;ADR) are curated from external biomedical resources and are not derived from FAERS evidence nor inferred from the CMM&#x2013;ADR supervision labels. For evaluation, we use a fold-wise inductive protocol: in each cross-validation fold, all held-out positive CMM&#x2013;ADR test edges are removed from the heterogeneous graph <italic>before</italic> training and inference, and removal is performed in both directions (CMM<inline-formula id="inf8">
<mml:math id="m8">
<mml:mrow>
<mml:mo>&#x2192;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>ADR and ADR<inline-formula id="inf9">
<mml:math id="m9">
<mml:mrow>
<mml:mo>&#x2192;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>CMM), with edge attributes deleted synchronously. This prevents trivial topology leakage through residual edges or evidence vectors.</p>
</sec>
</sec>
<sec id="s3-3">
<label>3.3</label>
<title>The multi-scale attention network</title>
<p>The core representation learning module utilizes a stack of three Multi-Scale Attention layers. Each layer is designed for evidence-rich heterogeneous graphs and combines edge-conditioned attention with an internal non-linear transformation that supports multi-scale signal propagation from molecular interactions to clinical phenotypes.</p>
<sec id="s3-3-1">
<label>3.3.1</label>
<title>Evidence-semantic adaptive gate (ESA-gate)</title>
<p>Standard message passing paradigms typically apply a uniform aggregation function within each relation type. To resolve the semantic disparity between quantitative CMM&#x2013;ADR edges and binary biological edges, we introduce ESA-Gate. For an edge feature vector <inline-formula id="inf10">
<mml:math id="m10">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, ESA-Gate generates an attention bias <inline-formula id="inf11">
<mml:math id="m11">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> via a learnable gating mechanism:<disp-formula id="e1">
<mml:math id="m12">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mtext>MLP</mml:mtext>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>
</p>
<p>Here, the gate <inline-formula id="inf12">
<mml:math id="m13">
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> dynamically balances two branches: a deep non-linear MLP branch, which extracts complex risk patterns from FAERS data; and a linear shortcut branch <inline-formula id="inf13">
<mml:math id="m14">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, which preserves raw statistical signals. In this way, ESA-Gate adapts its attention bias based on edge-type semantics, effectively functioning as a semantic filter for noisy pharmacovigilance signals. In practice, ESA-Gate outputs an <inline-formula id="inf14">
<mml:math id="m15">
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-dimensional vector <inline-formula id="inf15">
<mml:math id="m16">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, providing one scalar bias per attention head, which is added to the corresponding head&#x2019;s attention logit before softmax normalization. This bias is subsequently injected into the multi-head attention mechanism as:<disp-formula id="e2">
<mml:math id="m17">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>softmax</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>where <inline-formula id="inf16">
<mml:math id="m18">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf17">
<mml:math id="m19">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the query and key vectors, <inline-formula id="inf18">
<mml:math id="m20">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the dimension, and <inline-formula id="inf19">
<mml:math id="m21">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> modulates the attention logits before normalization, ensuring the model adaptively processes the diverse edge semantics described in <xref ref-type="sec" rid="s1">Section 1</xref>. Unlike common edge-feature encoders that concatenate edge attributes with node representations or transform them into messages, ESA-Gate produces an additive attention bias with an explicit linear preservation path, which helps retain the scale of quantitative pharmacovigilance evidence while still allowing non-linear pattern extraction.</p>
</sec>
<sec id="s3-3-2">
<label>3.3.2</label>
<title>Hierarchical signal propagation layer (HSP-layer)</title>
<p>To capture high-order hierarchical patterns from molecular binding to clinical phenotypes, we implement HSP-Layer, which mimics the hierarchical signal transduction from molecular targets to organism-level phenotypes. The aggregated message <inline-formula id="inf20">
<mml:math id="m22">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> undergoes an &#x201c;expand-and-compress&#x201d; transformation <inline-formula id="inf21">
<mml:math id="m23">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mi>d</mml:mi>
<mml:mo>&#x2192;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>H</mml:mi>
<mml:mi>d</mml:mi>
<mml:mo>&#x2192;</mml:mo>
<mml:mn>3</mml:mn>
<mml:mi>H</mml:mi>
<mml:mi>d</mml:mi>
<mml:mo>&#x2192;</mml:mo>
<mml:mi>H</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf22">
<mml:math id="m24">
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the number of attention heads and <inline-formula id="inf23">
<mml:math id="m25">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the per-head embedding dimension (in the default setting <inline-formula id="inf24">
<mml:math id="m26">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf25">
<mml:math id="m27">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>72</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, this corresponds to <inline-formula id="inf26">
<mml:math id="m28">
<mml:mrow>
<mml:mn>576</mml:mn>
<mml:mo>&#x2192;</mml:mo>
<mml:mn>1152</mml:mn>
<mml:mo>&#x2192;</mml:mo>
<mml:mn>1728</mml:mn>
<mml:mo>&#x2192;</mml:mo>
<mml:mn>576</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>), inspired by biological signal transduction motifs:<disp-formula id="e3">
<mml:math id="m29">
<mml:mrow>
<mml:mtext>HSP</mml:mtext>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
</p>
<p>This structure projects features into a high-dimensional manifold to disentangle the non-linear dependencies inherent in multi-component CMM formulations before projecting them back for residual connection. By increasing capacity within a single layer and keeping a residual pathway, HSP-Layer reduces the need for deeper stacking, which is often unstable in biomedical graphs due to over-smoothing and noisy long-range propagation.</p>
</sec>
</sec>
<sec id="s3-4">
<label>3.4</label>
<title>Link prediction and clinical alignment</title>
<p>The final stage of MSAT is designed to bridge the translational gap between computational outputs and clinical practice.</p>
<sec id="s3-4-1">
<label>3.4.1</label>
<title>Hub-calibrated inference module (HCI-module)</title>
<p>To capture association patterns that include both symmetric functional similarity and asymmetric directional mechanisms, we employ a multi-perspective prediction module. The module computes a probability score via the weighted fusion of three functions:<disp-formula id="e4">
<mml:math id="m30">
<mml:mrow>
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>final</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mspace width="2.77695pt" class="tmspace"/>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mtext>MLP</mml:mtext>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>CMM</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ADR</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>deg</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>CMM</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>deg</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ADR</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>CMM</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ADR</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>CMM</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2299;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>ADR</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
</p>
<p>Here, the MLP scorer incorporates node degrees <inline-formula id="inf27">
<mml:math id="m31">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>deg</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> to account for hub effects; the bilinear term <inline-formula id="inf28">
<mml:math id="m32">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> captures directional (asymmetric) association patterns; and DistMult <inline-formula id="inf29">
<mml:math id="m33">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>&#x2299;</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> models symmetric similarity. Placing degree information in the MLP scorer and learning fusion weights allows HCI-Module to calibrate hub effects at the scoring stage, complementing representation learning without forcing degree heuristics into message passing.</p>
<p>The complete algorithmic workflow of MSAT is summarized in <xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref>.</p>
<p>
<statement content-type="algorithm" id="Algorithm_1">
<label>Algorithm 1</label>
<title>Proposed MSAT framework.</title>
<p>
<list list-type="simple">
<list-item>
<p>
<bold>Require:</bold> Heterogeneous graph <inline-formula id="inf30">
<mml:math id="m34">
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>; training set <inline-formula id="inf31">
<mml:math id="m35">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>tr</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>tr</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>
<bold>Ensure:</bold> Clinically aligned predictions <inline-formula id="inf32">
<mml:math id="m36">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>&#x2003;1: <bold>procedure</bold> B<sc>uild</sc>MSAT(<inline-formula id="inf33">
<mml:math id="m37">
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>)</p>
</list-item>
<list-item>
<p>&#x2003;2: &#x2003;Encode nodes via BioBERT (CMM, Target, ADR)/ChemBERTa (Compound)</p>
</list-item>
<list-item>
<p>&#x2003;3: &#x2003;Project all node features to hidden dimension <inline-formula id="inf34">
<mml:math id="m38">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>&#x2003;4: &#x2003;<bold>for</bold>&#xa0;<inline-formula id="inf35">
<mml:math id="m39">
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf36">
<mml:math id="m40">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> <bold>do</bold>
</p>
</list-item>
<list-item>
<p>&#x2003;5: &#x2003;&#x2003;<inline-formula id="inf37">
<mml:math id="m41">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>ESA</mml:mtext>
<mml:mo>-</mml:mo>
<mml:mtext>Gate</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> &#x22b3; Equation 1</p>
</list-item>
<list-item>
<p>&#x2003;6: &#x2003;&#x2003;<inline-formula id="inf38">
<mml:math id="m42">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>Attention</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> &#x22b3; Equation 2</p>
</list-item>
<list-item>
<p>&#x2003;7: &#x2003;&#x2003;<inline-formula id="inf39">
<mml:math id="m43">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>LayerNorm</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mtext>HSP</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> &#x22b3; Equation 3</p>
</list-item>
<list-item>
<p>&#x2003;8: &#x2003;<bold>end for</bold>
</p>
</list-item>
<list-item>
<p>&#x2003;9: &#x2003;<bold>return</bold> Embeddings <inline-formula id="inf40">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and HCI predictor</p>
</list-item>
<list-item>
<p>&#x2003;10: <bold>end procedure</bold>
</p>
</list-item>
<list-item>
<p>&#x2003;11: <bold>procedure</bold> T<sc>rain</sc>(MSAT, <inline-formula id="inf41">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>tr</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf42">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>tr</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>)</p>
</list-item>
<list-item>
<p>&#x2003;12: &#x2003;Optimize via AdamW with BCE loss; early stop on validation AUC</p>
</list-item>
<list-item>
<p>&#x2003;13: <bold>end procedure</bold>
</p>
</list-item>
<list-item>
<p>&#x2003;14: <bold>procedure</bold> P<sc>redict</sc>(MSAT, <inline-formula id="inf43">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>val</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>)</p>
</list-item>
<list-item>
<p>&#x2003;15: &#x2003;<bold>for</bold> <inline-formula id="inf44">
<mml:math id="m48">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>val</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> <bold>do</bold>
</p>
</list-item>
<list-item>
<p>&#x2003;16: &#x2003;&#x2003;<inline-formula id="inf45">
<mml:math id="m49">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>HCI</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>deg</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>deg</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>; <inline-formula id="inf46">
<mml:math id="m50">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2190;</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> &#x22b3; Equation 4</p>
</list-item>
<list-item>
<p>&#x2003;17: &#x2003;&#x2003;Map ADR <inline-formula id="inf47">
<mml:math id="m51">
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to TCM functional system(s)</p>
</list-item>
<list-item>
<p>&#x2003;18: &#x2003;<bold>end for</bold>
</p>
</list-item>
<list-item>
<p>&#x2003;19:&#xa0;&#x2003;<bold>return</bold> <inline-formula id="inf48">
<mml:math id="m52">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> with probabilities and TCM mappings</p>
</list-item>
<list-item>
<p>&#x2003;20: <bold>end procedure</bold>
</p>
</list-item>
</list>
</p>
</statement>
</p>
</sec>
<sec id="s3-4-2">
<label>3.4.2</label>
<title>Ontology alignment with traditional medical systems</title>
<p>To translate computational predictions into clinically interpretable phenotypes, we implemented a rule-based ontology alignment layer. This layer maps the standardized MedDRA terminology to the Zang&#x2013;Fu functional ontology based on the MedDRA hierarchy. First, each MedDRA Preferred Term (PT) is mapped to its corresponding System Organ Class (SOC). Second, expert-defined mapping rules take both the PT and SOC as inputs to assign one or more TCM functional systems. This dual-input logic is critical: for example, within the Gastrointestinal disorders SOC, &#x201c;Jaundice&#x201d; is mapped to the Liver system, whereas &#x201c;Nausea&#x201d; is mapped to the Spleen and Stomach systems. Mapping rules were drafted and iteratively refined through expert consensus review by clinicians trained in traditional medicine, and all assignments were manually checked for internal consistency. The final schema comprises 16 functional systems (five Zang organs, six Fu organs, and the Body Surface, Chong-Ren meridians, Meridians and Collaterals, and Qi-Blood-Fluid systems), as summarized in <xref ref-type="fig" rid="F3">Figures 3c,d</xref>. This mapping enables MSAT to provide evidence-based risk assessments expressed directly in TCM diagnostic terms.</p>
</sec>
</sec>
<sec id="s3-5">
<label>3.5</label>
<title>Experimental setup</title>
<sec id="s3-5-1">
<label>3.5.1</label>
<title>Data splitting and cross-validation strategy</title>
<p>We employed stratified 10-fold cross-validation on the 27,062 CMM&#x2013;ADR associations to ensure robust performance evaluation and reduce the risk of overfitting. The dataset was randomly partitioned into ten folds with an approximately equal distribution of positive samples across folds. In each iteration, one fold served as the test set, and the remaining nine folds formed the development data. Within each development set (90% of the full dataset), we randomly allocated 90% of the samples for model training and 10% for validation, yielding an overall approximate 81:9:10 split across train/validation/test sets. The validation set was used to monitor model performance during training, and the checkpoint with the highest validation AUC was saved for final evaluation on the corresponding test fold.</p>
<p>For each fold, all positive CMM&#x2013;ADR edges in the held-out test split were removed from the heterogeneous graph before model training to prevent information leakage through graph topology during test evaluation; removal was performed in both directions and with edge attributes deleted synchronously.</p>
<sec id="s3-5-1-1">
<label>3.5.1.1</label>
<title>Negative sampling for sampled binary evaluation</title>
<p>For the main experiments, we constructed a sampled binary dataset with a fixed positive-to-negative ratio of <inline-formula id="inf49">
<mml:math id="m53">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> using <italic>type-constrained</italic> negative sampling: for each positive CMM&#x2013;ADR pair <inline-formula id="inf50">
<mml:math id="m54">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, we fixed the CMM <inline-formula id="inf51">
<mml:math id="m55">
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and sampled one alternative ADR <inline-formula id="inf52">
<mml:math id="m56">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> uniformly from the full ADR set to form a negative pair <inline-formula id="inf53">
<mml:math id="m57">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. To reduce false negatives, any sampled <inline-formula id="inf54">
<mml:math id="m58">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> that appeared in the union of known positives within the current fold (train/validation/test positives) was discarded, and duplicate negatives for the same positive were removed. To ensure fairness and reproducibility, negative samples were generated once per fold and per split (train/val/test) using a fixed random seed, saved, and reused across all models. For the end-to-end 1:10 imbalanced setting (<xref ref-type="table" rid="T4">Table 4</xref>), we applied the same type-constrained sampling and filtering rules, but sampled 10 negatives per positive for train, validation, and test splits. Importantly, sampled negatives correspond to unobserved CMM&#x2013;ADR pairs rather than confirmed non-associations; this evaluation setting reflects standard practice in link prediction under incomplete pharmacovigilance knowledge. As sensitivity analyses, we additionally evaluated MSAT under stricter FAERS-only supervision with increasing minimum report-count thresholds and under mechanism-aware hard-negative sampling. Performance remained stable across these stress-test settings (<xref ref-type="sec" rid="s13">Supplementary Tables S2&#x2013;S3</xref>).</p>
</sec>
<sec id="s3-5-1-2">
<label>3.5.1.2</label>
<title>Evaluation settings and why <inline-formula id="inf55">
<mml:math id="m59">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> is reported</title>
<p>We evaluated MSAT under three complementary settings.<list list-type="roman-lower">
<list-item>
<p>Balanced evaluation (<inline-formula id="inf56">
<mml:math id="m60">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> negative sampling): used to provide a controlled and comparable benchmark for model selection and ablation, mitigating metric inflation caused by extreme class skew.</p>
</list-item>
<list-item>
<p>Imbalance stress tests: we progressively increased the negative-to-positive ratio up to <inline-formula id="inf57">
<mml:math id="m61">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> at evaluation time to reflect real-world sparsity and assess robustness.</p>
</list-item>
<list-item>
<p>End-to-end imbalanced training and testing <inline-formula id="inf58">
<mml:math id="m62">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
<bold>:</bold> we further trained and evaluated models under <inline-formula id="inf59">
<mml:math id="m63">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> sampling throughout the pipeline, representing a more deployment-aligned scenario.</p>
</list-item>
</list>
</p>
<p>Therefore, the <inline-formula id="inf60">
<mml:math id="m64">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> setting is reported as a standardized reference point, while the <inline-formula id="inf61">
<mml:math id="m65">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> settings provide the deployment-oriented robustness evidence.</p>
</sec>
</sec>
<sec id="s3-5-2">
<label>3.5.2</label>
<title>Model training and hyperparameter configuration</title>
<p>All models (MSAT and nine baseline methods) were trained with consistent configurations to ensure fair comparison. MSAT employed the following hyperparameters: per-head embedding dimension <inline-formula id="inf62">
<mml:math id="m66">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>72</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> with eight attention heads (total multi-head message size <inline-formula id="inf63">
<mml:math id="m67">
<mml:mrow>
<mml:mn>8</mml:mn>
<mml:mi>d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>576</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>), three Multi-Scale Attention layers <inline-formula id="inf64">
<mml:math id="m68">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, dropout rate 0.18, and edge feature dimension six. The model was optimized using the AdamW optimizer with a learning rate of <inline-formula id="inf65">
<mml:math id="m69">
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, weight decay <inline-formula id="inf66">
<mml:math id="m70">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, and batch size 512. Training proceeded for a maximum of 1,000 epochs per fold with early stopping patience of 100 epochs (terminating if validation AUC did not improve for 100 consecutive epochs). Gradient clipping with a maximum norm of 1.0 was applied to prevent gradient explosion. A ReduceLROnPlateau scheduler with factor 0.6 and patience 15 was used to decrease the learning rate when validation AUC plateaued.</p>
<p>Baseline methods were configured with comparable model capacities where applicable. Graph neural network baselines (GCN (<xref ref-type="bibr" rid="B17">Kipf and Welling, 2017</xref>), GAT (<xref ref-type="bibr" rid="B48">Veli&#x10d;kovi&#x107; et al., 2018</xref>), R-GCN (<xref ref-type="bibr" rid="B35">Schlichtkrull et al., 2018</xref>), HGT (<xref ref-type="bibr" rid="B14">Hu et al., 2020</xref>), Simple-HGN (<xref ref-type="bibr" rid="B25">Lv et al., 2021</xref>), and HetGNN (<xref ref-type="bibr" rid="B53">Zhang et al., 2019</xref>)) used hidden dimensions and layer numbers adjusted to achieve similar parameter counts as MSAT. Traditional machine learning baselines (logistic regression (<xref ref-type="bibr" rid="B19">LaValley, 2008</xref>), random forest (<xref ref-type="bibr" rid="B34">Rigatti, 2017</xref>), XGBoost (<xref ref-type="bibr" rid="B4">Chen and Guestrin, 2016</xref>)) were trained on flattened node features and CMM&#x2013;ADR edge features without using graph structure. All models used identical train/validation/test splits and negative sampling strategies to eliminate confounding factors. Full hyperparameter configurations for all baseline models are detailed in Additional file 1.</p>
</sec>
<sec id="s3-5-3">
<label>3.5.3</label>
<title>Performance evaluation metrics and experimental protocols</title>
<p>Model performance was assessed using six complementary metrics. Let TP and TN denote the numbers of correctly predicted CMM&#x2013;ADR associations and non-associations, and FP and FN the numbers of false positives and false negatives, respectively. Precision and recall are defined as follows (<xref ref-type="disp-formula" rid="e5">Equation 5</xref>):<disp-formula id="e5">
<mml:math id="m71">
<mml:mrow>
<mml:mtext>Precision</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mspace width="1em"/>
<mml:mtext>Recall</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<p>The F1-score is the harmonic mean of precision and recall (<xref ref-type="disp-formula" rid="e6">Equation 6</xref>):<disp-formula id="e6">
<mml:math id="m72">
<mml:mrow>
<mml:mtext>F</mml:mtext>
<mml:mn>1</mml:mn>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mtext>Precision</mml:mtext>
<mml:mo>&#x22c5;</mml:mo>
<mml:mtext>Recall</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>Precision</mml:mtext>
<mml:mo>&#x2b;</mml:mo>
<mml:mtext>Recall</mml:mtext>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
<p>The Matthews correlation coefficient (MCC) provides a balanced summary of binary classification quality and takes values in <inline-formula id="inf67">
<mml:math id="m73">
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> (<xref ref-type="disp-formula" rid="e7">Equation 7</xref>):<disp-formula id="e7">
<mml:math id="m74">
<mml:mrow>
<mml:mtext>MCC</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>N</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>N</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
</p>
<p>AUC (AUROC; area under the receiver operating characteristic curve) evaluates discrimination across all decision thresholds, while AUPRC (area under the precision&#x2013;recall curve) is particularly informative under class imbalance by emphasizing the high-precision regime. Throughout the manuscript, we use AUC to denote AUROC.</p>
<sec id="s3-5-3-1">
<label>3.5.3.1</label>
<title>Thresholding protocol</title>
<p>We report threshold-independent metrics (AUC and AUPRC). For threshold-dependent metrics (Precision, Recall, F1-score, and MCC), we used two evaluation protocols. (i) Main experiments: predicted association probabilities were binarized using a fixed threshold of 0.5 for all models and all folds. (ii) Imbalanced and end-to-end <inline-formula id="inf68">
<mml:math id="m75">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> evaluations: the decision threshold <inline-formula id="inf69">
<mml:math id="m76">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> was selected solely on the validation set by maximizing the F1-score (ties broken by choosing the smaller threshold), and then applied unchanged to the matched test set. To support threshold selection under realistic imbalance, we additionally provide precision&#x2013;recall curves for the <inline-formula id="inf70">
<mml:math id="m77">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> proxy setting and mark the operating points corresponding to <inline-formula id="inf71">
<mml:math id="m78">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.5</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf72">
<mml:math id="m79">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> (<xref ref-type="sec" rid="s13">Supplementary Figure S3</xref>). The PR curves show the expected trade-off between alert burden (precision) and sensitivity (recall). Reporting both a fixed threshold and a validation-selected operating point provides a practical range for downstream pharmacovigilance triage without test-set tuning (<xref ref-type="sec" rid="s13">Supplementary Figure S3</xref>).</p>
<p>All results are reported as the mean <inline-formula id="inf73">
<mml:math id="m80">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> standard deviation across the ten cross-validation folds.</p>
<p>For statistical comparison of AUROC, we performed paired tests on sample-level out-of-fold prediction scores by concatenating the held-out predictions from all 10 folds (pooled out-of-fold evaluation). <inline-formula id="inf74">
<mml:math id="m81">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-values in <xref ref-type="table" rid="T2">Tables 2</xref> and <xref ref-type="table" rid="T3">3</xref> are computed by comparing each baseline against MSAT under identical splits, and are reported in a thresholded form (e.g., <inline-formula id="inf75">
<mml:math id="m82">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>) for compact presentation. Unless otherwise stated, statistical significance annotations (e.g., in <xref ref-type="fig" rid="F3">Figure 3</xref>) were computed using two-sided paired <inline-formula id="inf76">
<mml:math id="m83">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-tests on fold-wise metric values (paired by identical data splits).</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Performance of MSAT and baseline models for CMM&#x2013;ADR prediction.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Model</th>
<th align="center">Precision</th>
<th align="center">Recall</th>
<th align="center">F1-score</th>
<th align="center">AUC</th>
<th align="center">AUPRC</th>
<th align="center">MCC</th>
<th align="center">
<inline-formula id="inf77">
<mml:math id="m84">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> (AUC)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">LR</td>
<td align="center">0.833 <inline-formula id="inf78">
<mml:math id="m85">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.009</td>
<td align="center">0.873 <inline-formula id="inf79">
<mml:math id="m86">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.007</td>
<td align="center">0.852 <inline-formula id="inf80">
<mml:math id="m87">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
<td align="center">0.931 <inline-formula id="inf81">
<mml:math id="m88">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.004</td>
<td align="center">0.923 <inline-formula id="inf82">
<mml:math id="m89">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
<td align="center">0.699 <inline-formula id="inf83">
<mml:math id="m90">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.010</td>
<td align="center">
<inline-formula id="inf84">
<mml:math id="m91">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">RF</td>
<td align="center">0.841 <inline-formula id="inf85">
<mml:math id="m92">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.005</td>
<td align="center">0.869 <inline-formula id="inf86">
<mml:math id="m93">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.007</td>
<td align="center">0.854 <inline-formula id="inf87">
<mml:math id="m94">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.004</td>
<td align="center">0.920 <inline-formula id="inf88">
<mml:math id="m95">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.898 <inline-formula id="inf89">
<mml:math id="m96">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.007</td>
<td align="center">0.704 <inline-formula id="inf90">
<mml:math id="m97">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
<td align="center">
<inline-formula id="inf91">
<mml:math id="m98">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">XGBoost</td>
<td align="center">0.842 <inline-formula id="inf92">
<mml:math id="m99">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.007</td>
<td align="center">0.871 <inline-formula id="inf93">
<mml:math id="m100">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
<td align="center">0.856 <inline-formula id="inf94">
<mml:math id="m101">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.004</td>
<td align="center">0.933 <inline-formula id="inf95">
<mml:math id="m102">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
<td align="center">0.927 <inline-formula id="inf96">
<mml:math id="m103">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.004</td>
<td align="center">0.708 <inline-formula id="inf97">
<mml:math id="m104">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.007</td>
<td align="center">
<inline-formula id="inf98">
<mml:math id="m105">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">GCN</td>
<td align="center">0.930 <inline-formula id="inf99">
<mml:math id="m106">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
<td align="center">0.913 <inline-formula id="inf100">
<mml:math id="m107">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
<td align="center">0.921 <inline-formula id="inf101">
<mml:math id="m108">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.004</td>
<td align="center">0.968 <inline-formula id="inf102">
<mml:math id="m109">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.972 <inline-formula id="inf103">
<mml:math id="m110">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.844 <inline-formula id="inf104">
<mml:math id="m111">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.007</td>
<td align="center">
<inline-formula id="inf105">
<mml:math id="m112">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">GAT</td>
<td align="center">0.925 <inline-formula id="inf106">
<mml:math id="m113">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.009</td>
<td align="center">0.884 <inline-formula id="inf107">
<mml:math id="m114">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.010</td>
<td align="center">0.904 <inline-formula id="inf108">
<mml:math id="m115">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.005</td>
<td align="center">0.969 <inline-formula id="inf109">
<mml:math id="m116">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.965 <inline-formula id="inf110">
<mml:math id="m117">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.004</td>
<td align="center">0.813 <inline-formula id="inf111">
<mml:math id="m118">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.008</td>
<td align="center">
<inline-formula id="inf112">
<mml:math id="m119">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">R-GCN</td>
<td align="center">
<bold>0.945</bold> <inline-formula id="inf113">
<mml:math id="m120">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.006</bold>
</td>
<td align="center">0.771 <inline-formula id="inf114">
<mml:math id="m121">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.012</td>
<td align="center">0.849 <inline-formula id="inf115">
<mml:math id="m122">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.009</td>
<td align="center">0.944 <inline-formula id="inf116">
<mml:math id="m123">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.004</td>
<td align="center">0.945 <inline-formula id="inf117">
<mml:math id="m124">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.739 <inline-formula id="inf118">
<mml:math id="m125">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.012</td>
<td align="center">
<inline-formula id="inf119">
<mml:math id="m126">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">HGT</td>
<td align="center">0.932 <inline-formula id="inf120">
<mml:math id="m127">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
<td align="center">0.857 <inline-formula id="inf121">
<mml:math id="m128">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.008</td>
<td align="center">0.893 <inline-formula id="inf122">
<mml:math id="m129">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.005</td>
<td align="center">0.970 <inline-formula id="inf123">
<mml:math id="m130">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
<td align="center">0.968 <inline-formula id="inf124">
<mml:math id="m131">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.797 <inline-formula id="inf125">
<mml:math id="m132">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.008</td>
<td align="center">
<inline-formula id="inf126">
<mml:math id="m133">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">HetGNN</td>
<td align="center">0.870 <inline-formula id="inf127">
<mml:math id="m134">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.011</td>
<td align="center">0.924 <inline-formula id="inf128">
<mml:math id="m135">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.013</td>
<td align="center">0.896 <inline-formula id="inf129">
<mml:math id="m136">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.004</td>
<td align="center">0.949 <inline-formula id="inf130">
<mml:math id="m137">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.004</td>
<td align="center">0.948 <inline-formula id="inf131">
<mml:math id="m138">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.004</td>
<td align="center">0.788 <inline-formula id="inf132">
<mml:math id="m139">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.009</td>
<td align="center">
<inline-formula id="inf133">
<mml:math id="m140">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Simple-HGN</td>
<td align="center">0.937 <inline-formula id="inf134">
<mml:math id="m141">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.007</td>
<td align="center">0.858 <inline-formula id="inf135">
<mml:math id="m142">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.010</td>
<td align="center">0.896 <inline-formula id="inf136">
<mml:math id="m143">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
<td align="center">0.972 <inline-formula id="inf137">
<mml:math id="m144">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
<td align="center">0.971 <inline-formula id="inf138">
<mml:math id="m145">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
<td align="center">0.803 <inline-formula id="inf139">
<mml:math id="m146">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.010</td>
<td align="center">
<inline-formula id="inf140">
<mml:math id="m147">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">MSAT</td>
<td align="center">0.927 <inline-formula id="inf141">
<mml:math id="m148">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.005</td>
<td align="center">
<bold>0.934</bold> <inline-formula id="inf142">
<mml:math id="m149">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.005</bold>
</td>
<td align="center">
<bold>0.930</bold> <inline-formula id="inf143">
<mml:math id="m150">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.003</bold>
</td>
<td align="center">
<bold>0.979</bold> <inline-formula id="inf144">
<mml:math id="m151">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.001</bold>
</td>
<td align="center">
<bold>0.977</bold> <inline-formula id="inf145">
<mml:math id="m152">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.002</bold>
</td>
<td align="center">
<bold>0.860</bold> <inline-formula id="inf146">
<mml:math id="m153">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.005</bold>
</td>
<td align="center">&#x2013;</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>Values are reported as mean <inline-formula id="inf147">
<mml:math id="m154">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> standard deviation over stratified 10-fold cross-validation. <inline-formula id="inf148">
<mml:math id="m155">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-values indicate the significance of the performance difference between MSAT and each baseline (paired <inline-formula id="inf149">
<mml:math id="m156">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-test on AUC). Abbreviations: LR, logistic regression; RF, random forest.</p>
</fn>
<fn>
<p>
<inline-formula id="inf150">
<mml:math id="m157">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is computed from paired tests on pooled out-of-fold sample-level predictions (baseline vs. MSAT) and displayed in a thresholded form for compactness; &#x201c;&#x2013;&#x201d; indicates the reference model.</p>
</fn>
<fn>
<p>Bold values indicate the best performance for each evaluation metric.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Ablation study of MSAT components for CMM&#x2013;ADR prediction.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Variant</th>
<th align="center">Precision</th>
<th align="center">Recall</th>
<th align="center">F1-score</th>
<th align="center">AUC</th>
<th align="center">AUPRC</th>
<th align="center">MCC</th>
<th align="center">
<inline-formula id="inf151">
<mml:math id="m158">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> (AUC)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Full</td>
<td align="center">0.927 <inline-formula id="inf152">
<mml:math id="m159">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.005</td>
<td align="center">
<bold>0.934</bold> <inline-formula id="inf153">
<mml:math id="m160">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.005</bold>
</td>
<td align="center">
<bold>0.930</bold> <inline-formula id="inf154">
<mml:math id="m161">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.003</bold>
</td>
<td align="center">
<bold>0.979</bold> <inline-formula id="inf155">
<mml:math id="m162">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.001</bold>
</td>
<td align="center">
<bold>0.977</bold> <inline-formula id="inf156">
<mml:math id="m163">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.002</bold>
</td>
<td align="center">
<bold>0.860</bold> <inline-formula id="inf157">
<mml:math id="m164">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.005</bold>
</td>
<td align="center">&#x2013;</td>
</tr>
<tr>
<td align="left">w/o HCI-Module</td>
<td align="center">0.929 <inline-formula id="inf158">
<mml:math id="m165">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.005</td>
<td align="center">0.895 <inline-formula id="inf159">
<mml:math id="m166">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.020</td>
<td align="center">0.912 <inline-formula id="inf160">
<mml:math id="m167">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.010</td>
<td align="center">0.975 <inline-formula id="inf161">
<mml:math id="m168">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
<td align="center">0.972 <inline-formula id="inf162">
<mml:math id="m169">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
<td align="center">0.827 <inline-formula id="inf163">
<mml:math id="m170">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.017</td>
<td align="center">
<inline-formula id="inf164">
<mml:math id="m171">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">w/o HSP-Layer</td>
<td align="center">
<bold>0.939</bold> <inline-formula id="inf165">
<mml:math id="m172">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.007</bold>
</td>
<td align="center">0.838 <inline-formula id="inf166">
<mml:math id="m173">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.009</td>
<td align="center">0.885 <inline-formula id="inf167">
<mml:math id="m174">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.004</td>
<td align="center">0.965 <inline-formula id="inf168">
<mml:math id="m175">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
<td align="center">0.963 <inline-formula id="inf169">
<mml:math id="m176">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.788 <inline-formula id="inf170">
<mml:math id="m177">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
<td align="center">
<inline-formula id="inf171">
<mml:math id="m178">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">w/o ESA-Gate</td>
<td align="center">0.936 <inline-formula id="inf172">
<mml:math id="m179">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
<td align="center">0.849 <inline-formula id="inf173">
<mml:math id="m180">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.014</td>
<td align="center">0.890 <inline-formula id="inf174">
<mml:math id="m181">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.007</td>
<td align="center">0.968 <inline-formula id="inf175">
<mml:math id="m182">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>0.003</td>
<td align="center">0.966 <inline-formula id="inf176">
<mml:math id="m183">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>0.003</td>
<td align="center">0.794 <inline-formula id="inf177">
<mml:math id="m184">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>0.010</td>
<td align="center">
<inline-formula id="inf178">
<mml:math id="m185">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Only ESA-Gate</td>
<td align="center">0.922 <inline-formula id="inf179">
<mml:math id="m186">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>0.006</td>
<td align="center">0.909 <inline-formula id="inf180">
<mml:math id="m187">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>0.010</td>
<td align="center">0.915 <inline-formula id="inf181">
<mml:math id="m188">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>0.005</td>
<td align="center">0.973 <inline-formula id="inf182">
<mml:math id="m189">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>0.002</td>
<td align="center">0.970 <inline-formula id="inf183">
<mml:math id="m190">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>0.002</td>
<td align="center">0.832 <inline-formula id="inf184">
<mml:math id="m191">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>0.009</td>
<td align="center">
<inline-formula id="inf185">
<mml:math id="m192">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Only HSP-Layer</td>
<td align="center">0.918 <inline-formula id="inf186">
<mml:math id="m193">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>0.011</td>
<td align="center">0.908 <inline-formula id="inf187">
<mml:math id="m194">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.015</td>
<td align="center">0.913 <inline-formula id="inf188">
<mml:math id="m195">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
<td align="center">0.971 <inline-formula id="inf189">
<mml:math id="m196">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
<td align="center">0.968 <inline-formula id="inf190">
<mml:math id="m197">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.827 <inline-formula id="inf191">
<mml:math id="m198">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.011</td>
<td align="center">
<inline-formula id="inf192">
<mml:math id="m199">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Only HCI-Module</td>
<td align="center">0.934 <inline-formula id="inf193">
<mml:math id="m200">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.005</td>
<td align="center">0.834 <inline-formula id="inf194">
<mml:math id="m201">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.010</td>
<td align="center">0.881 <inline-formula id="inf195">
<mml:math id="m202">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.007</td>
<td align="center">0.961 <inline-formula id="inf196">
<mml:math id="m203">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.961 <inline-formula id="inf197">
<mml:math id="m204">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.004</td>
<td align="center">0.780 <inline-formula id="inf198">
<mml:math id="m205">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.012</td>
<td align="center">
<inline-formula id="inf199">
<mml:math id="m206">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>Values are reported as mean <inline-formula id="inf200">
<mml:math id="m207">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> standard deviation over stratified 10-fold cross-validation.</p>
</fn>
<fn>
<p>
<inline-formula id="inf201">
<mml:math id="m208">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">A</mml:mi>
<mml:mi mathvariant="normal">U</mml:mi>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is computed from paired tests on pooled out-of-fold sample-level predictions (baseline vs.&#xa0;MSAT) and displayed in a thresholded form for compactness; &#x201c;&#x2013;&#x201d; indicates the reference model.</p>
</fn>
<fn>
<p>Bold values indicate the best performance for each evaluation metric.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>We conducted a series of experiments to comprehensively evaluate MSAT, including (i) overall comparison with nine baseline methods under the standard balanced setting, (ii) robustness under varying class-imbalance ratios, (iii) cold-start generalization across data sources, (iv) degree-stratified bias analysis, and (v) parameter sensitivity and ablation studies. The detailed protocols for these experiments are provided in <xref ref-type="sec" rid="s3-5-4">Section 3.5.4</xref>.</p>
</sec>
</sec>
<sec id="s3-5-4">
<label>3.5.4</label>
<title>Robustness, generalization, and fairness protocols</title>
<p>Beyond the primary cross-validation experiments, we designed four additional protocols to evaluate the robustness, generalization, and fairness of MSAT in clinically realistic settings.<list list-type="roman-lower">
<list-item>
<p>Class-imbalance stress testing (clinical reality simulation). In real-world pharmacovigilance, true CMM-induced adverse reactions are rare relative to non-events. To mimic this sparsity, we constructed test sets with increasing negative-to-positive ratios of 1:1, 1:2, 1:5, and 1:10. For each cross-validation fold, the training data remained balanced at a 1:1 ratio as described in <xref ref-type="sec" rid="s3-5-1">Section 3.5.1</xref>. To create an imbalanced test set for a given ratio, we retained all positive CMM&#x2013;ADR pairs from the held-out fold and sampled additional negatives using the same type-constrained strategy (fixing the CMM and replacing the ADR), from the pool of unseen non-edges, avoiding any pair used in training or validation. For each model, ratio, and fold, we selected a decision threshold on the corresponding validation set by maximizing the F1-score, and then applied this ratio-specific threshold to the test set to evaluate precision, recall, F1, and MCC. AUC and AUPRC were calculated to characterize ranking robustness under varying imbalance levels. For each fold and each ratio, the sampled test negatives were generated once with a fixed seed and reused across all models.</p>
</list-item>
<list-item>
<p>Cold-start generalization across data sources (external validity). To assess whether MSAT can generalize across heterogeneous data sources, we designed a source-transfer experiment. The model was trained exclusively on noisy statistical associations between CMMs and ADRs mined from the FAERS pharmacovigilance database and evaluated on an expert-curated set of high-quality CMM&#x2013;ADR associations extracted from the literature, which were held out from training. This setting tests whether patterns learned from large-scale statistical signals can transfer to mechanistically plausible, expert-verified cases.</p>
</list-item>
<list-item>
<p>Degree-stratified bias analysis (hubness bias). Biomedical networks often exhibit highly skewed degree distributions, which can cause models to over-rely on popular, high-degree nodes. To examine whether MSAT disproportionately favors well-studied CMMs, we stratified test CMM nodes into three groups based on their degree in the CMM-centered subgraph: <italic>Head</italic> (top 20% by degree), <italic>Medium</italic> (middle 60%), and <italic>Tail</italic> (bottom 20%). We then reported all evaluation metrics separately for each group and compared performance gaps between head and tail CMMs to quantify degree-related bias.</p>
</list-item>
<list-item>
<p>Parameter sensitivity and ablation studies (internal validity). To disentangle architectural contributions from hyperparameter effects, we conducted sensitivity analysis over two key structural parameters: the per-head embedding dimension (<inline-formula id="inf202">
<mml:math id="m209">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>32,64,96,128</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>; with eight heads, the total multi-head message size is <inline-formula id="inf203">
<mml:math id="m210">
<mml:mrow>
<mml:mn>8</mml:mn>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) and the number of MSAT layers <inline-formula id="inf204">
<mml:math id="m211">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>1,2,3,4</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. For each configuration, we retrained MSAT under the same 10-fold protocol and reported all metrics. In addition, we performed stepwise ablation of MSAT&#x2019;s main components by removing the Evidence-Semantic Adaptive Gate (ESA-Gate), the Hierarchical Signal Propagation Layer (HSP-Layer), and the Hub-Calibrated Inference Module (HCI-Module), respectively. This allowed us to quantify the contribution of each module to overall performance and to verify that the observed improvements are attributable to the proposed architecture rather than incidental hyperparameter tuning. We further conducted data-source-level ablations that selectively remove (i) semantic node features (compound/target/ADR/CMM embeddings) or (ii) key mechanistic relations (e.g., target&#x2013;target PPI edges and target&#x2013;ADR edges) to quantify the marginal contribution of each heterogeneous information source (<xref ref-type="sec" rid="s13">Supplementary Tables S4</xref>). Among the examined sources, ablating phenotype (ADR) information yields the largest degradation, followed by target and compound information, whereas removing pathway/PPI edges has a comparatively smaller but non-negligible effect, supporting that MSAT benefits from both semantic embeddings and mechanistic connectivity.</p>
</list-item>
</list>
</p>
</sec>
<sec id="s3-5-5">
<label>3.5.5</label>
<title>Implementation details</title>
<p>Experiments were conducted on a computing system equipped with an NVIDIA L20 GPU (46&#xa0;GB memory). The model was implemented in Python 3.10 using PyTorch 2.4 with CUDA 12.1 for deep learning operations and PyTorch Geometric for heterogeneous graph neural network layers. Pre-trained BioBERT and ChemBERTa models were obtained from Hugging Face Transformers library. Statistical analyses and visualization were performed using NumPy, SciPy, Pandas, and Matplotlib. All experiments used random seed 42 for reproducibility. The complete source code is publicly available at <ext-link ext-link-type="uri" xlink:href="https://github.com/BowenShiGDPU/MSAT">https://github.com/BowenShiGDPU/MSAT</ext-link>.</p>
</sec>
<sec id="s3-5-6">
<label>3.5.6</label>
<title>Validation strategy for predicted results</title>
<p>To evaluate the plausibility of MSAT&#x2019;s ranked predicted results while addressing selection bias, we used a two-part validation design. First, for qualitative interpretability, we report the Top 15 highest-confidence predicted CMM&#x2013;ADR associations that were not included among labeled positives in the curated supervision. Second, to assess reliability beyond the extreme top of the ranking, we <italic>uniformly randomly sampled</italic> two additional sets of predictions from lower-confidence strata: 15 pairs from ranks 21&#x2013;100 and 15 pairs from ranks 101&#x2013;200. We intentionally describe these items as <italic>predicted results</italic> rather than &#x201c;new discoveries&#x201d;; the supervision signal (FAERS-derived labels supplemented by curated literature) is incomplete, and under-reporting as well as conservative term normalization/filtering can leave some clinically recognized effects unlabeled. All predictions were evaluated using the same two-channel validation protocol. (i) Database verification: we queried the Traditional Chinese Medicine and Active Ingredients Database (<xref ref-type="bibr" rid="B36">Shanghai Institute of Organic Chemistry, Chinese Academy of Sciences, 2024</xref>) and considered a prediction supported if the database listed an adverse phenotype that directly matched (or was a close synonym of) the predicted MedDRA Preferred Term. (ii) Literature/mechanistic support: we performed targeted literature review to identify either direct evidence linking the CMM to the ADR, or indirect mechanistic evidence linking known constituents/targets to the ADR phenotype. For a conservative screening-style definition aligned with pharmacovigilance triage, we count a prediction as <italic>validated</italic> if either channel provides support (logical OR). Full lists for the randomly sampled strata are provided in <xref ref-type="sec" rid="s13">Supplementary Tables S5&#x2013;S8</xref>.</p>
</sec>
</sec>
</sec>
<sec sec-type="results" id="s4">
<label>4</label>
<title>Results</title>
<sec id="s4-1">
<label>4.1</label>
<title>Overall predictive performance</title>
<p>We first compared MSAT with nine baseline methods using stratified 10-fold cross-validation on the CMM&#x2013;ADR prediction task. As shown in <xref ref-type="table" rid="T2">Table 2</xref>, MSAT achieved the best performance on every metric against all baseline models. It obtained the highest AUC, AUPRC, and Matthews correlation coefficient, indicating strong discriminative ability in ranking CMM&#x2013;ADR associations and a favorable balance between sensitivity and specificity. Compared with the strongest heterogeneous baseline (Simple-HGN) and the strongest homogeneous baseline (GCN), MSAT achieved higher recall and MCC, and the improvements in AUC were statistically significant across all baselines (<inline-formula id="inf205">
<mml:math id="m212">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>; <xref ref-type="table" rid="T2">Table 2</xref>).</p>
<p>In comparison to other models, MSAT showed different strengths. Against heterogeneous GNNs, MSAT achieved similar precision but substantially higher recall, indicating that standard heterogeneous models tend to under-predict true ADRs. Compared with homogeneous GNNs and traditional classifiers, MSAT had a clear performance margin, suggesting that casting CMM&#x2013;ADR prediction as a heterogeneous graph problem can help leverage biomedical context.</p>
</sec>
<sec id="s4-2">
<label>4.2</label>
<title>Ablation study on MSAT components</title>
<p>Removal of any single component degraded performance relative to the full model (<xref ref-type="table" rid="T3">Table 3</xref>). Notably, removing HSP-Layer caused the largest drop, suggesting that hierarchical signal propagation is important for modeling multi-scale patterns from molecular binding to clinical phenotypes. Dropping ESA-Gate also led to a clear performance decline, supporting the importance of adaptive edge encoding for heterogeneous edge semantics. The model without HCI-Module saw a smaller yet consistent reduction (mostly in recall and MCC), reflecting HCI-Module&#x2019;s role as a hub-calibrated inference mechanism.</p>
<p>The single-component variants further illustrate these roles. Variants with only ESA-Gate or only HSP-Layer performed better than only HCI-Module, but all three remained clearly inferior to the full MSAT model, and the differences in AUC relative to the full model were statistically significant <inline-formula id="inf206">
<mml:math id="m213">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.001</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. Overall, the ablation results indicate that ESA-Gate, HSP-Layer and HCI-Module provide complementary benefits, and their combined use yields the strongest performance for CMM&#x2013;ADR prediction in our evaluation.</p>
</sec>
<sec id="s4-3">
<label>4.3</label>
<title>Multi-dimensional robustness and generalization analysis</title>
<p>Beyond aggregate performance metrics, we carried out a multi-dimensional evaluation to assess MSAT&#x2019;s external validity, robustness to degree-related bias and computational efficiency, which are all relevant for potential clinical deployment.</p>
<sec id="s4-3-1">
<label>4.3.1</label>
<title>External validity in cold-start scenarios</title>
<p>To test inductive generalization, we evaluated MSAT on an independent literature-derived dataset in which 96.5% of CMM nodes were unseen during training (<xref ref-type="fig" rid="F5">Figure 5a</xref>). In this cold-start setting, baseline models showed marked drops in precision, whereas MSAT maintained substantially higher precision and MCC than all comparators, consistent with the use of heterogeneous pathways (e.g., compound&#x2013;target&#x2013;ADR) to support generalization beyond historical co-occurrence. On an additional 15% hold-out set from the FAERS-derived data (<xref ref-type="sec" rid="s13">Supplementary Figure S1</xref>), the ROC curve (AUC &#x3d; 0.936) further indicates stable out-of-sample discrimination within the same distribution.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Multi-dimensional evaluation of MSAT. <bold>(a)</bold> Cold-start generalization on a literature-derived validation set in which 96.5% of CMM nodes are unseen during training. Bars show Precision, MCC and AUC for MSAT and benchmark GNNs, with significance annotations (&#x2a;&#x2a;&#x2a; <inline-formula id="inf207">
<mml:math id="m214">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.001</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, &#x2a;&#x2a; <inline-formula id="inf208">
<mml:math id="m215">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.01</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, &#x2a; <inline-formula id="inf209">
<mml:math id="m216">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.05</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, ns not significant). <bold>(b)</bold> Degree-stratified AUC for Tail (low-degree), Medium and Head (high-degree) CMM nodes. <bold>(c,d)</bold> Sensitivity of test AUC to the per-head embedding dimension <inline-formula id="inf210">
<mml:math id="m217">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> (eight heads; total message size <inline-formula id="inf211">
<mml:math id="m218">
<mml:mrow>
<mml:mn>8</mml:mn>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) and the number of layers <inline-formula id="inf212">
<mml:math id="m219">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, respectively.</p>
</caption>
<graphic xlink:href="fphar-17-1774128-g005.tif">
<alt-text content-type="machine-generated">Figure contains four panels showing performance analysis of machine learning models. Panel a is a grouped bar chart comparing four models (MSAT, HGT, SimpleHGN, GAT) across Precision, MCC, and AUC with significant differences marked. Panel b is a grouped bar chart comparing AUC of MSAT and HGT by graph degree group (Tail, Medium, Head) with statistical significance indicated. Panel c is a line chart displaying test AUC sensitivity to per-head dimension with mean values and standard deviation shading. Panel d is a line chart showing test AUC sensitivity to model layers with mean and standard deviation.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s4-3-2">
<label>4.3.2</label>
<title>Robustness to degree bias</title>
<p>Biological and pharmacovigilance networks often follow heavy-tailed degree distributions, which can bias models towards high-degree entities. Degree-stratified analysis (<xref ref-type="fig" rid="F5">Figure 5b</xref>) revealed a &#x201c;head-hard&#x201d; pattern in our CMM&#x2013;ADR graph: high-degree CMMs (Head group) were more difficult to predict than low-degree ones (Tail group), likely due to noisy, poly-pharmacological interactions. MSAT alleviated this effect. Compared with HGT, MSAT achieved significantly higher AUC in the Head group <inline-formula id="inf213">
<mml:math id="m220">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.01</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> while maintaining comparable performance in the Tail group (ns), supporting the role of the Hub-Calibrated Inference (HCI) module in calibrating structural noise without degrading performance on long-tail medicines.</p>
</sec>
<sec id="s4-3-3">
<label>4.3.3</label>
<title>Computational efficiency and stability</title>
<p>For practical use, predictive performance must be balanced against computational cost. The efficiency trade-off analysis (<xref ref-type="sec" rid="s13">Supplementary Figure S2</xref>) shows test AUC as a function of training time per fold. Within the set of compared methods, MSAT provides a favorable accuracy&#x2013;efficiency trade-off, achieving the highest AUC with moderate training time, whereas some lighter models are faster but less accurate and HGT is substantially slower. Finally, parameter sensitivity analyses (<xref ref-type="fig" rid="F5">Figures 5c,d</xref>) indicate that MSAT is stable across a range of embedding sizes and layer depths: performance varies smoothly with narrow error bands, and the configuration used in the main experiments (<xref ref-type="sec" rid="s3-5-2">Section 3.5.2</xref>) represents a strong accuracy&#x2013;efficiency trade-off.</p>
<p>As an additional falsification test against shortcut learning via mechanistic Target&#x2013;ADR links, we repeated training after removing all Target&#x2013;ADR edges and after degree-preserving rewiring of Target&#x2013;ADR edges. Performance remained within fold-to-fold variability (<xref ref-type="sec" rid="s13">Supplementary Table S1</xref>), suggesting that the reported performance is not driven by a simple shortcut through Target&#x2013;ADR relations.</p>
</sec>
</sec>
<sec id="s4-4">
<label>4.4</label>
<title>Robustness to class imbalance</title>
<p>Real-world pharmacovigilance data are highly imbalanced, with far fewer confirmed ADRs than non-events. To assess robustness under different imbalance levels, we varied the positive:negative sampling ratio from 1:1 to 1:10 and evaluated MSAT alongside three representative GNN baselines (HGT, Simple-HGN and GAT) on the CMM&#x2013;ADR prediction task (<xref ref-type="fig" rid="F6">Figure 6</xref>).</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Effect of class imbalance on model performance. <bold>(a&#x2013;f)</bold> AUC, AUPRC, precision, recall, F1-score and MCC for MSAT and three baseline models (HGT, Simple-HGN, GAT) under different positive:negative sampling ratios (1:1, 1:2, 1:5, 1:10) on the CMM&#x2013;ADR prediction task.</p>
</caption>
<graphic xlink:href="fphar-17-1774128-g006.tif">
<alt-text content-type="machine-generated">Six-panel line chart comparing MSAT, HGT, SimpleHGN, and GAT across AUC, AUPRC, Precision, Recall, F1 Score, and MCC as positive:negative ratio shifts from one to ten; MSAT consistently outperforms other models in all metrics, with performance for all models decreasing as class imbalance increases.</alt-text>
</graphic>
</fig>
<p>Across all ratios, MSAT maintained the highest AUC, AUPRC, F1-score and MCC among the compared models. As the proportion of negative samples increased, the performance of all methods declined, but MSAT showed a smaller loss than the baselines, particularly in AUPRC and MCC. This indicates that MSAT degrades more gracefully under increasing class imbalance and is better suited to the skewed CMM&#x2013;ADR distributions encountered in practical pharmacovigilance settings.</p>
<p>While the above analysis evaluates robustness to test-set imbalance under balanced training, real-world pharmacovigilance must learn from inherently skewed data. We therefore performed an additional end-to-end imbalanced experiment where the training, validation, and test splits were all sampled at a 1:10 positive-to-negative ratio (<xref ref-type="table" rid="T4">Table 4</xref>). Under this setting, MSAT consistently ranked first and maintained a clear advantage over all baselines on AUC, AUPRC, and MCC (<xref ref-type="table" rid="T4">Table 4</xref>), indicating more reliable retrieval of rare adverse-reaction signals under end-to-end skew. Notably, R-GCN exhibited a high-precision but low-recall profile, suggesting an overly conservative strategy that would miss many true ADR signals in practice. In contrast, MSAT maintained a more balanced precision&#x2013;recall trade-off, which is preferable in pharmacovigilance where both missed signals and false alarms carry tangible clinical costs. Traditional tabular classifiers degraded markedly under this skew, highlighting the advantage of graph-based models that can exploit relational structure when labels are sparse.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>End-to-end performance comparison of all models under <inline-formula id="inf214">
<mml:math id="m221">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>:</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> negative sampling.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Model</th>
<th align="center">Precision</th>
<th align="center">Recall</th>
<th align="center">F1-score</th>
<th align="center">AUC</th>
<th align="center">AUPRC</th>
<th align="center">MCC</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Logistic Reg.</td>
<td align="center">0.385 <inline-formula id="inf215">
<mml:math id="m222">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.022</td>
<td align="center">0.488 <inline-formula id="inf216">
<mml:math id="m223">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.042</td>
<td align="center">0.429 <inline-formula id="inf217">
<mml:math id="m224">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
<td align="center">0.819 <inline-formula id="inf218">
<mml:math id="m225">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.005</td>
<td align="center">0.420 <inline-formula id="inf219">
<mml:math id="m226">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.007</td>
<td align="center">0.368 <inline-formula id="inf220">
<mml:math id="m227">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.007</td>
</tr>
<tr>
<td align="left">Random forest</td>
<td align="center">0.496 <inline-formula id="inf221">
<mml:math id="m228">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.011</td>
<td align="center">0.496 <inline-formula id="inf222">
<mml:math id="m229">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.009</td>
<td align="center">0.496 <inline-formula id="inf223">
<mml:math id="m230">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.005</td>
<td align="center">0.843 <inline-formula id="inf224">
<mml:math id="m231">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.005</td>
<td align="center">0.483 <inline-formula id="inf225">
<mml:math id="m232">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
<td align="center">0.445 <inline-formula id="inf226">
<mml:math id="m233">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
</tr>
<tr>
<td align="left">XGBoost</td>
<td align="center">0.567 <inline-formula id="inf227">
<mml:math id="m234">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.029</td>
<td align="center">0.518 <inline-formula id="inf228">
<mml:math id="m235">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.020</td>
<td align="center">0.540 <inline-formula id="inf229">
<mml:math id="m236">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.005</td>
<td align="center">0.860 <inline-formula id="inf230">
<mml:math id="m237">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.004</td>
<td align="center">0.555 <inline-formula id="inf231">
<mml:math id="m238">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.005</td>
<td align="center">0.497 <inline-formula id="inf232">
<mml:math id="m239">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.008</td>
</tr>
<tr>
<td align="left">GCN</td>
<td align="center">0.569 <inline-formula id="inf233">
<mml:math id="m240">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.019</td>
<td align="center">0.537 <inline-formula id="inf234">
<mml:math id="m241">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>0.024</td>
<td align="center">0.552 <inline-formula id="inf235">
<mml:math id="m242">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.009</td>
<td align="center">0.859 <inline-formula id="inf236">
<mml:math id="m243">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
<td align="center">0.582 <inline-formula id="inf237">
<mml:math id="m244">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.008</td>
<td align="center">0.509 <inline-formula id="inf238">
<mml:math id="m245">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.009</td>
</tr>
<tr>
<td align="left">GAT</td>
<td align="center">0.578 <inline-formula id="inf239">
<mml:math id="m246">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.022</td>
<td align="center">0.514 <inline-formula id="inf240">
<mml:math id="m247">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.019</td>
<td align="center">0.543 <inline-formula id="inf241">
<mml:math id="m248">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.007</td>
<td align="center">0.843 <inline-formula id="inf242">
<mml:math id="m249">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.006</td>
<td align="center">0.554 <inline-formula id="inf243">
<mml:math id="m250">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.007</td>
<td align="center">0.502 <inline-formula id="inf244">
<mml:math id="m251">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.008</td>
</tr>
<tr>
<td align="left">R-GCN</td>
<td align="center">
<bold>0.721</bold> <inline-formula id="inf245">
<mml:math id="m252">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.016</bold>
</td>
<td align="center">0.338 <inline-formula id="inf246">
<mml:math id="m253">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.016</td>
<td align="center">0.460 <inline-formula id="inf247">
<mml:math id="m254">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.013</td>
<td align="center">0.837 <inline-formula id="inf248">
<mml:math id="m255">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.005</td>
<td align="center">0.521 <inline-formula id="inf249">
<mml:math id="m256">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.009</td>
<td align="center">0.462 <inline-formula id="inf250">
<mml:math id="m257">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.010</td>
</tr>
<tr>
<td align="left">HGT</td>
<td align="center">0.547 <inline-formula id="inf251">
<mml:math id="m258">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.024</td>
<td align="center">0.563 <inline-formula id="inf252">
<mml:math id="m259">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.020</td>
<td align="center">0.554 <inline-formula id="inf253">
<mml:math id="m260">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.009</td>
<td align="center">0.858 <inline-formula id="inf254">
<mml:math id="m261">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.005</td>
<td align="center">0.567 <inline-formula id="inf255">
<mml:math id="m262">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.007</td>
<td align="center">0.509 <inline-formula id="inf256">
<mml:math id="m263">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.010</td>
</tr>
<tr>
<td align="left">HetGNN</td>
<td align="center">0.296 <inline-formula id="inf257">
<mml:math id="m264">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.017</td>
<td align="center">0.505 <inline-formula id="inf258">
<mml:math id="m265">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.041</td>
<td align="center">0.372 <inline-formula id="inf259">
<mml:math id="m266">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.012</td>
<td align="center">0.775 <inline-formula id="inf260">
<mml:math id="m267">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.007</td>
<td align="center">0.283 <inline-formula id="inf261">
<mml:math id="m268">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.014</td>
<td align="center">0.305 <inline-formula id="inf262">
<mml:math id="m269">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.015</td>
</tr>
<tr>
<td align="left">Simple-HGN</td>
<td align="center">0.622 <inline-formula id="inf263">
<mml:math id="m270">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.020</td>
<td align="center">0.472 <inline-formula id="inf264">
<mml:math id="m271">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.009</td>
<td align="center">0.537 <inline-formula id="inf265">
<mml:math id="m272">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.008</td>
<td align="center">0.856 <inline-formula id="inf266">
<mml:math id="m273">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.005</td>
<td align="center">0.576 <inline-formula id="inf267">
<mml:math id="m274">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.009</td>
<td align="center">0.503 <inline-formula id="inf268">
<mml:math id="m275">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.010</td>
</tr>
<tr>
<td align="left">MSAT</td>
<td align="center">0.569 <inline-formula id="inf269">
<mml:math id="m276">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.028</td>
<td align="center">
<bold>0.563</bold> <inline-formula id="inf270">
<mml:math id="m277">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.028</bold>
</td>
<td align="center">
<bold>0.565</bold> <inline-formula id="inf271">
<mml:math id="m278">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.007</bold>
</td>
<td align="center">
<bold>0.875</bold> <inline-formula id="inf272">
<mml:math id="m279">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.005</bold>
</td>
<td align="center">
<bold>0.603</bold> <inline-formula id="inf273">
<mml:math id="m280">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.008</bold>
</td>
<td align="center">
<bold>0.523</bold> <inline-formula id="inf274">
<mml:math id="m281">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.008</bold>
</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>Values are reported as mean <inline-formula id="inf275">
<mml:math id="m282">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> standard deviation over stratified 10-fold cross-validation.</p>
</fn>
<fn>
<p>Bold values indicate the best performance for each evaluation metric.</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
<sec id="s4-5">
<label>4.5</label>
<title>Validation of predicted results</title>
<p>To assess the plausibility of MSAT&#x2019;s ranked predicted results, we first reviewed the Top 15 highest-confidence predictions using the protocol in <xref ref-type="sec" rid="s3-5-6">Section 3.5.6</xref> (<xref ref-type="table" rid="T5">Table 5</xref>). Overall, 13 of 15 (86.7%) had support from either database verification or literature/mechanistic evidence. Because this assessment is defined relative to an incomplete labeled edge list (rather than a claim of real-world novelty), some clinically recognized effects can appear in the prediction list if they are unlabeled under FAERS-driven extraction and conservative term normalization/filtering. For example, Changshan (<italic>Dichroa febrifuga</italic> Lour.)&#x2013;vomiting is supported by the literature (<xref ref-type="bibr" rid="B39">Sun et al., 2022</xref>), yet it was not captured as a labeled positive under our curated supervision; we therefore interpret this instance as evidence of label incompleteness rather than as a &#x201c;new&#x201d; finding. To mitigate the selection bias inherent to a Top-<inline-formula id="inf287">
<mml:math id="m294">
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-only analysis, we further evaluated two <italic>uniformly randomly sampled</italic> strata of additional predictions. In the mid-confidence stratum (ranks 21&#x2013;100), 8 of 15 predictions (53.3%) were supported by at least one validation channel (<xref ref-type="sec" rid="s13">Supplementary Table S5</xref>). In the lower-confidence stratum (ranks 101&#x2013;200), 3 of 15 predictions (20.0%) were supported (<xref ref-type="sec" rid="s13">Supplementary Tables S7</xref>). This decline across strata is consistent with score-based prioritization: higher-ranked predictions are enriched for externally supported associations, whereas lower-ranked predictions increasingly reflect uncertain hypotheses. Mechanistic context can further aid interpretation when direct CMM-level evidence is sparse. For example, prior evidence suggests that salicylate constituents related to Ciwujia may contribute to tinnitus (<xref ref-type="bibr" rid="B37">Sheppard et al., 2014</xref>), offering a plausible rationale for the predicted phenotype. Together, these analyses suggest that MSAT can help prioritize candidate CMM&#x2013;ADR signals for downstream review, including associations not captured as labeled positives in our curated supervision.</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Predicted CMM&#x2013;ADR results: external evidence check for the Top 15 highest-confidence predictions.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">CMM Pinyin</th>
<th align="left">Scientific name</th>
<th align="left">Predicted ADR (MedDRA PT)</th>
<th align="left">MSAT score (%)</th>
<th align="left">Database verified</th>
<th align="left">Mechanistic support</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Huzhang</td>
<td align="left">
<italic>Polygonum cuspidatum</italic> Sieb. et Zucc.</td>
<td align="left">Vomiting</td>
<td align="left">99.943</td>
<td align="left">Yes</td>
<td align="left">
<inline-formula id="inf276">
<mml:math id="m283">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext>Yes</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Changshan</td>
<td align="left">
<italic>Dichroa febrifuga</italic> Lour.</td>
<td align="left">Vomiting</td>
<td align="left">99.941</td>
<td align="left">No</td>
<td align="left">
<inline-formula id="inf277">
<mml:math id="m284">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext>Yes</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Hongjingtian</td>
<td align="left">
<italic>Rhodiola crenulata</italic> (Hook.f. et Thomson) H.Ohba</td>
<td align="left">Palpitations</td>
<td align="left">99.893</td>
<td align="left">No</td>
<td align="left">No mechanistic evidence</td>
</tr>
<tr>
<td align="left">Muzei</td>
<td align="left">
<italic>Equisetum hyemale</italic> L.</td>
<td align="left">Vomiting</td>
<td align="left">99.890</td>
<td align="left">Yes</td>
<td align="left">
<inline-formula id="inf278">
<mml:math id="m285">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext>Yes</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Luole</td>
<td align="left">
<italic>Ocimum basilicum</italic> L.</td>
<td align="left">Acute pulmonary oedema</td>
<td align="left">99.868</td>
<td align="left">Yes</td>
<td align="left">No mechanistic evidence</td>
</tr>
<tr>
<td align="left">Aiye</td>
<td align="left">
<italic>Artemisia argyi</italic> Levl. et Vaniot</td>
<td align="left">Drug-induced liver injury</td>
<td align="left">99.710</td>
<td align="left">Yes</td>
<td align="left">
<inline-formula id="inf279">
<mml:math id="m286">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext>Yes</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Ezhu</td>
<td align="left">
<italic>Curcuma phaeocaulis</italic> Valeton</td>
<td align="left">Dermatitis</td>
<td align="left">99.593</td>
<td align="left">Yes</td>
<td align="left">
<inline-formula id="inf280">
<mml:math id="m287">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext>Yes</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Niubanggen</td>
<td align="left">
<italic>Arctium lappa</italic> L.</td>
<td align="left">Acute pulmonary oedema</td>
<td align="left">99.473</td>
<td align="left">Yes</td>
<td align="left">
<inline-formula id="inf281">
<mml:math id="m288">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext>Yes</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Shanglu</td>
<td align="left">
<italic>Phytolacca acinosa</italic> Roxb.</td>
<td align="left">Gastric haemorrhage</td>
<td align="left">99.393</td>
<td align="left">Yes</td>
<td align="left">
<inline-formula id="inf282">
<mml:math id="m289">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext>Yes</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Bajiao Huixiang</td>
<td align="left">
<italic>Illicium verum</italic> Hook.f.</td>
<td align="left">Pulmonary embolism</td>
<td align="left">99.153</td>
<td align="left">Yes</td>
<td align="left">No mechanistic evidence</td>
</tr>
<tr>
<td align="left">Yuanhua</td>
<td align="left">
<italic>Daphne genkwa</italic> Sieb. et Zucc.</td>
<td align="left">Small intestinal haemorrhage</td>
<td align="left">98.843</td>
<td align="left">Yes</td>
<td align="left">
<inline-formula id="inf283">
<mml:math id="m290">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext>Yes</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Ciwujia</td>
<td align="left">
<italic>Eleutherococcus senticosus</italic> (Rupr. et Maxim.) Maxim.</td>
<td align="left">Tinnitus</td>
<td align="left">98.742</td>
<td align="left">Yes</td>
<td align="left">
<inline-formula id="inf284">
<mml:math id="m291">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext>Yes</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Hei Shengma</td>
<td align="left">
<italic>Cimicifuga racemosa</italic> (L.) Nutt.</td>
<td align="left">Dizziness</td>
<td align="left">98.291</td>
<td align="left">No</td>
<td align="left">
<inline-formula id="inf285">
<mml:math id="m292">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext>Yes</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">Liangmianzhen</td>
<td align="left">
<italic>Zanthoxylum nitidum</italic> (Roxb.) DC.</td>
<td align="left">Hepatitis</td>
<td align="left">98.198</td>
<td align="left">No</td>
<td align="left">No mechanistic evidence</td>
</tr>
<tr>
<td align="left">Xishu</td>
<td align="left">
<italic>Camptotheca acuminata</italic> Decne.</td>
<td align="left">Tremor</td>
<td align="left">97.923</td>
<td align="left">Yes</td>
<td align="left">
<inline-formula id="inf286">
<mml:math id="m293">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext>Yes</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>Sorted by MSAT, score in descending order. Mechanistic literature support: <sup>a</sup>(<xref ref-type="bibr" rid="B23">Liu et al., 2018</xref>); <sup>b</sup>(<xref ref-type="bibr" rid="B39">Sun et al., 2022</xref>); <sup>c</sup>(<xref ref-type="bibr" rid="B28">Mishra et al., 2015</xref>); <sup>e</sup>(<xref ref-type="bibr" rid="B22">Liu et al., 2017</xref>); <sup>f</sup>(<xref ref-type="bibr" rid="B12">Gong et al., 2011</xref>); <sup>g</sup>(<xref ref-type="bibr" rid="B18">Kong et al., 2023</xref>); <sup>h</sup>(<xref ref-type="bibr" rid="B38">Solomons and Cochrane, 1984</xref>); <sup>i</sup>(<xref ref-type="bibr" rid="B16">Hung and Hsu, 1998</xref>); <sup>j</sup>(<xref ref-type="bibr" rid="B30">Ogawa et al., 1981</xref>); <sup>k</sup>(<xref ref-type="bibr" rid="B15">Hung, 2005</xref>); <sup>l</sup>(<xref ref-type="bibr" rid="B5">Chen et al., 2016</xref>); <sup>m</sup>(<xref ref-type="bibr" rid="B37">Sheppard et al., 2014</xref>); <sup>n</sup>(<xref ref-type="bibr" rid="B31">Oleszczuk et al., 2008</xref>); <sup>o</sup>(<xref ref-type="bibr" rid="B49">Woods, 1879</xref>).</p>
</fn>
</table-wrap-foot>
</table-wrap>
<sec id="s4-5-1">
<label>4.5.1</label>
<title>Interpretability case study (path tracing)</title>
<p>To provide a deeper, clinician-facing explanation of a representative prediction, we traced an explicit multi-hop path in the curated heterogeneous graph for the CMM&#x2013;ADR pair Zh&#x1d0; Sh&#xed; (<italic>Citrus aurantium</italic> L.) <inline-formula id="inf288">
<mml:math id="m295">
<mml:mrow>
<mml:mo>&#x2192;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> diarrhoea. This path is presented as an illustrative, <italic>post hoc</italic> mechanistic rationale available in the curated graph (rather than as a uniquely identified explanation from attention weights), and is intended to support hypothesis generation. A salient path highlights a plausible mechanism-oriented chain via nobiletin (PubChem CID 72344) and the transporter ABCG2 (BCRP), linking a CMM constituent to a target with GI-relevant adverse-event mechanisms discussed in prior literature (<xref ref-type="bibr" rid="B32">Pick et al., 2011</xref>; <xref ref-type="bibr" rid="B44">Tao and Chityala, 2021</xref>). This case study is intended for interpretability and hypothesis generation rather than causal attribution (<xref ref-type="sec" rid="s13">Supplementary Figure S5</xref>).</p>
</sec>
<sec id="s4-5-2">
<label>4.5.2</label>
<title>TCM functional system mapping validation</title>
<p>A primary objective of this study was to ensure computational predictions are interpretable within TCM clinical practice. We therefore applied the mapping framework established in <xref ref-type="sec" rid="s3-4-2">Section 3.4.2</xref> to translate the 15 high-confidence predicted MedDRA-coded ADRs (listed in <xref ref-type="table" rid="T5">Table 5</xref>) into the 16 TCM functional system categories. The results are presented in <xref ref-type="table" rid="T6">Table 6</xref>.</p>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>TCM functional system mapping validation results.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">CMM Pinyin</th>
<th align="left">Scientific name</th>
<th align="left">Predicted ADR (MedDRA PT)</th>
<th align="left">TCM system mapping</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Huzhang</td>
<td align="left">
<italic>Polygonum cuspidatum</italic> Sieb. et Zucc.</td>
<td align="left">Vomiting</td>
<td align="left">Stomach</td>
</tr>
<tr>
<td align="left">Changshan</td>
<td align="left">
<italic>Dichroa febrifuga</italic> Lour.</td>
<td align="left">Vomiting</td>
<td align="left">Stomach</td>
</tr>
<tr>
<td align="left">Hongjingtian</td>
<td align="left">
<italic>Rhodiola crenulata</italic> (Hook.f. et Thomson) H.Ohba</td>
<td align="left">Palpitations</td>
<td align="left">Heart</td>
</tr>
<tr>
<td align="left">Muzei</td>
<td align="left">
<italic>Equisetum hyemale</italic> L.</td>
<td align="left">Vomiting</td>
<td align="left">Stomach</td>
</tr>
<tr>
<td align="left">Luole</td>
<td align="left">
<italic>Ocimum basilicum</italic> L.</td>
<td align="left">Acute pulmonary oedema</td>
<td align="left">Lung&#x2b;Qi-Blood-Fluid</td>
</tr>
<tr>
<td align="left">Aiye</td>
<td align="left">
<italic>Artemisia argyi</italic> Levl. et Vaniot</td>
<td align="left">Drug-induced liver injury</td>
<td align="left">Liver&#x2b;Qi-Blood-Fluid</td>
</tr>
<tr>
<td align="left">Ezhu</td>
<td align="left">
<italic>Curcuma phaeocaulis</italic> Valeton</td>
<td align="left">Dermatitis</td>
<td align="left">Body Surface</td>
</tr>
<tr>
<td align="left">Niubanggen</td>
<td align="left">
<italic>Arctium lappa</italic> L.</td>
<td align="left">Acute pulmonary oedema</td>
<td align="left">Lung&#x2b;Qi-Blood-Fluid</td>
</tr>
<tr>
<td align="left">Shanglu</td>
<td align="left">
<italic>Phytolacca acinosa</italic> Roxb.</td>
<td align="left">Gastric haemorrhage</td>
<td align="left">Stomach&#x2b;Qi-Blood-Fluid</td>
</tr>
<tr>
<td align="left">Bajiao Huixiang</td>
<td align="left">
<italic>Illicium verum</italic> Hook.f.</td>
<td align="left">Pulmonary embolism</td>
<td align="left">Lung&#x2b;Qi-Blood-Fluid</td>
</tr>
<tr>
<td align="left">Yuanhua</td>
<td align="left">
<italic>Daphne genkwa</italic> Sieb. et Zucc.</td>
<td align="left">Small intestinal haemorrhage</td>
<td align="left">Small Intestine&#x2b;Qi-Blood-Fluid</td>
</tr>
<tr>
<td align="left">Ciwujia</td>
<td align="left">
<italic>Eleutherococcus senticosus</italic> (Rupr. et Maxim.) Maxim.</td>
<td align="left">Tinnitus</td>
<td align="left">Kidney</td>
</tr>
<tr>
<td align="left">Hei Shengma</td>
<td align="left">
<italic>Cimicifuga racemosa</italic> (L.) Nutt.</td>
<td align="left">Dizziness</td>
<td align="left">Liver</td>
</tr>
<tr>
<td align="left">Liangmianzhen</td>
<td align="left">
<italic>Zanthoxylum nitidum</italic> (Roxb.) DC.</td>
<td align="left">Hepatitis</td>
<td align="left">Liver&#x2b;Qi-Blood-Fluid</td>
</tr>
<tr>
<td align="left">Xishu</td>
<td align="left">
<italic>Camptotheca acuminata</italic> Decne.</td>
<td align="left">Tremor</td>
<td align="left">Body Surface</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>Sorted by MSAT, score in descending order.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>Overall, the mapped functional systems were consistent with common Zang&#x2013;Fu interpretations for the predicted phenotypes. ADRs with clear organ-system manifestations (e.g., vomiting) were mapped to the expected systems (e.g., Stomach).</p>
<p>Several mappings also reflected widely taught associations in traditional diagnostics: tinnitus was mapped to the Kidney system, consistent with Zang&#x2013;Fu doctrine describing the Kidney&#x2019;s relationship with the ears (<xref ref-type="bibr" rid="B46">Unschuld and Tessenow, 2011</xref>); dizziness was mapped to the Liver system, in line with commonly referenced interpretations such as liver-yang rising (<xref ref-type="bibr" rid="B46">Unschuld and Tessenow, 2011</xref>).</p>
<p>These results indicate that MSAT outputs can be rendered in a clinician-facing functional vocabulary, improving interpretability for TCM-oriented pharmacovigilance.</p>
</sec>
</sec>
</sec>
<sec sec-type="discussion" id="s5">
<label>5</label>
<title>Discussion</title>
<p>In this study, we propose MSAT, a clinically aligned heterogeneous graph learning framework for predicting adverse reactions associated with Chinese Materia Medica (CMM). MSAT integrates multi-source pharmacological and safety data into a heterogeneous CMM&#x2013;Compound&#x2013;Target&#x2013;ADR graph and combines three tailored components&#x2014;ESA-Gate, HSP-Layer, and HCI-Module&#x2014;designed for evidence-rich pharmacovigilance graphs. Across stratified 10-fold cross-validation, MSAT consistently outperformed a range of baseline models, including traditional machine-learning methods, homogeneous GNNs, and representative heterogeneous GNN baselines. Beyond aggregate performance, MSAT showed robust cold-start generalization, resilience to degree-related bias and class imbalance, and outputs that can be expressed in TCM functional system terms. Importantly, MSAT is intended for risk prioritization and hypothesis generation rather than causal attribution; its outputs should be interpreted in conjunction with clinical assessment and established pharmacovigilance workflows. We next discuss the implications of these findings, the contribution of the proposed architecture, and limitations that suggest directions for future work. Additional robustness and sensitivity analyses are reported in <xref ref-type="sec" rid="s13">Supplementary Tables S1&#x2013;S3</xref> and <xref ref-type="sec" rid="s13">Supplementary Figures S1, S3&#x2013;S4</xref>.</p>
<sec id="s5-1">
<label>5.1</label>
<title>Contribution of the MSAT architecture</title>
<p>A central motivation of this work was that accurate CMM&#x2013;ADR prediction requires models that reflect both the semantic heterogeneity of biomedical associations and the multi-scale structure of pharmacological mechanisms. The ablation study supports this view. In particular, removing HSP-Layer led to the largest performance drop, consistent with the need to model hierarchical and non-linear transduction from molecular binding to clinical phenotypes. As a hierarchical signal propagation mechanism, HSP-Layer appears important for capturing the long-range dependencies linking molecular components to clinical outcomes.</p>
<p>ESA-Gate&#x2019;s contribution suggests that evidence-bearing CMM&#x2013;ADR edges should be treated differently from binary biological links. By injecting edge evidence as an attention bias, ESA-Gate helps preserve quantitative FAERS signals that might otherwise be diluted by relation-level projections. Removing ESA-Gate reduced discrimination and recall, indicating that uniform transformations across edge types can underutilize the rich edge attributes. In our graph, CMM&#x2013;ADR edges carry multi-dimensional attributes derived from FAERS statistics, literature evidence, and structural context, which are fundamentally different from binary biological edges. ESA-Gate allows the model to adaptively balance non-linear transformation and direct information preservation, supporting detection of subtle but clinically meaningful risk signals.</p>
<p>HCI-Module provided a complementary benefit. Although removing HCI-Module had a smaller effect than removing HSP-Layer or ESA-Gate, the model&#x2019;s performance still declined (particularly in recall and MCC). This outcome aligns with HCI-Module&#x2019;s role as a hub-calibrated inference mechanism combining multiple scoring functions, capturing both symmetric similarity and directional (asymmetric) association patterns. The degree-aware weighting in HCI-Module further calibrates predictions for both high- and low-degree nodes. Overall, the ablation results suggest that MSAT&#x2019;s performance advantage arises from the combined action of these three components rather than from any single module in isolation.</p>
</sec>
<sec id="s5-2">
<label>5.2</label>
<title>Clinical and pharmacological implications</title>
<p>From a clinical perspective, an important contribution of this work is the mapping of predicted MedDRA-coded ADRs into sixteen TCM functional systems. Conventional pharmacovigilance models output signals in regulatory terminology that may not align with how TCM clinicians conceptualize organ systems and syndromes. By translating ADR predictions into categories based on Zang&#x2013;Fu organs and key functional systems (such as Qi-Blood-Fluid and meridian systems), MSAT produces outputs that can be more directly integrated into TCM decision-making.</p>
<p>The case analyses illustrate this potential. For example, predicted vomiting events for specific CMMs were correctly assigned to the Stomach system, and tinnitus was associated with the Kidney system, consistent with the classical principle that the Kidney &#x201c;opens into the ears.&#x201d; Similarly, dizziness mapped to the Liver system, aligning with patterns such as liver-yang rising in TCM theory. These examples suggest that, when MSAT identifies a potential ADR, the corresponding TCM system mapping can help clinicians interpret the signal within their diagnostic framework, guiding syndrome differentiation, formula adjustments, and targeted monitoring of high-risk organ systems.</p>
<p>Pharmacologically, MSAT recovered both well-documented and literature-reported CMM&#x2013;ADR associations and also produced high-confidence predicted signals for downstream review. This pattern suggests that heterogeneous pathways (e.g., compound&#x2013;target&#x2013;ADR chains) carry meaningful predictive information. The cold-start evaluation, in which most CMMs were unseen during training, is particularly relevant. In this setting, MSAT maintained high precision and MCC, suggesting that it can extrapolate risk patterns based on chemical and network context rather than relying solely on historical co-occurrence. This capability may be important for proactive safety assessment of emerging CMMs and formula components.</p>
<p>From a pharmacovigilance operations standpoint, MSAT is best positioned as a signal-triage and prioritization layer, rather than a replacement for standard disproportionality screening. In a periodic monitoring setting, MSAT can produce a ranked list of candidate CMM&#x2013;ADR signals that are supported by spontaneous reporting evidence and coherent with mechanistic paths in the heterogeneous graph (e.g., compound&#x2013;target&#x2013;ADR). Such rankings can help safety teams prioritize manual case review, targeted literature assessment, and downstream pharmacoepidemiological or experimental follow-up, particularly for long-tail CMMs where historical evidence is sparse and rule-based screening is less informative. Compared with marginal-count disproportionality analyses, MSAT incorporates FAERS-derived reporting evidence (log-transformed case report counts and provenance) as edge features while jointly modeling mechanistic connectivity, enabling context-aware prioritization under confounding and sparsity.</p>
</sec>
<sec id="s5-3">
<label>5.3</label>
<title>Methodological implications for graph-based pharmacovigilance</title>
<p>Methodologically, this work contributes to a growing line of research applying graph representation learning to pharmacovigilance. Existing heterogeneous GNNs such as R-GCN (<xref ref-type="bibr" rid="B35">Schlichtkrull et al., 2018</xref>), HGT (<xref ref-type="bibr" rid="B14">Hu et al., 2020</xref>), and Simple-HGN (<xref ref-type="bibr" rid="B25">Lv et al., 2021</xref>) provide strong baselines, but they are primarily designed around relation-type&#x2013;specific message passing on graph topology, with limited emphasis on high-dimensional edge attributes and degree-aware calibration. These results suggest that, in settings where edges carry semantically rich features and where degree distributions are highly skewed, explicit edge encoders and late fusion mechanisms can yield measurable gains.</p>
<p>Our multi-dimensional evaluation further highlights the importance of going beyond average test metrics. Degree-stratified analysis revealed a &#x201c;head-hard&#x201d; phenomenon in the CMM&#x2013;ADR graph: high-degree CMMs were more difficult to predict, likely due to noisy and heterogeneous interaction patterns. MSAT improved performance in this head group without sacrificing accuracy on long-tail CMMs, suggesting a pathway to fairer and more robust graph models in other biomedical domains with similar degree distributions. Likewise, robustness across class-imbalance ratios suggests that MSAT is relatively stable under the skewed positive&#x2013;negative ratios that characterize many real-world safety datasets.</p>
<p>Although this study focuses on CMM&#x2013;ADR prediction, the underlying ideas of ESA-Gate, HSP-Layer and HCI-Module are more general. Similar architectures could be explored for tasks such as drug&#x2013;drug interaction (DDI) prediction, target deconvolution, or adverse event forecasting in other complementary and integrative medicine systems, where heterogeneous evidence and theory-specific clinical frameworks coexist.</p>
</sec>
<sec id="s5-4">
<label>5.4</label>
<title>Limitations and future work</title>
<p>Several limitations should be acknowledged. First, the ground-truth CMM&#x2013;ADR associations are derived primarily from FAERS and other spontaneous reporting sources, supplemented by expert-curated literature. Such data are prone to under-reporting, stimulated reporting, indication and channeling bias, co-medication confounding, and duplicate or incomplete reports, and they do not provide causal confirmation (<xref ref-type="bibr" rid="B13">Harpaz et al., 2012</xref>). Moreover, FAERS lacks exposure denominators, so the predicted scores should be interpreted as relative signal strength for prioritization rather than incidence or absolute risk. Co-medication and indication-related confounding are particularly salient in FAERS. We do not perform causal adjustment in this study. As a report-level sensitivity analysis, we restricted to monotherapy-dominant TCM-containing reports (defined as reports with exactly one unique drug in the exported table). Under this proxy definition, the strongest CMM&#x2013;ADR report-count edges remained highly stable relative to the full set (<xref ref-type="sec" rid="s13">Supplementary Figure S4</xref>), suggesting that the most prominent signals are not solely driven by polypharmacy. In addition, a single standardized CMM name can correspond to heterogeneous commercial preparations and formulations with variable constituent profiles in FAERS, which can dilute attribution and introduce label noise. Finally, curated resources used to instantiate mechanistic edges (e.g., Target&#x2013;ADR) may be semantically correlated with FAERS-derived signals. We interpret this as real-world knowledge overlap and residual confounding rather than cross-validation leakage under our fold-wise, bidirectional test-edge removal protocol. Second, our supervised evaluation relies on type-constrained negative sampling, where negatives represent unobserved CMM&#x2013;ADR pairs rather than confirmed non-associations; while standard in link prediction, this setting may not fully reflect real-world decision thresholds. For comparability, we retain uniform type-constrained negatives in the main protocol and additionally report a mechanism-aware hard-negative sensitivity analysis (<xref ref-type="sec" rid="s13">Supplementary Table S3</xref>). More principled hard-negative construction that incorporates richer exposure or covariate information remains an important direction for future work. Third, because FAERS often lacks reliable dosage and formulation details for CMM products, MSAT currently focuses on hazard identification (signal detection) rather than dose-response or risk characterization. We encoded FAERS evidence primarily via report-count&#x2013;based features; incorporating classical disproportionality metrics (e.g., ROR/PRR) will be explored in future work to further characterize signal strength under confounding. Future work should incorporate complementary data sources (e.g., electronic health records, prospective registries, or active surveillance systems) and temporal analyses to strengthen validation and enable more clinically actionable risk stratification.</p>
<p>The TCM functional system mapping is based on expert-defined rules and authoritative references, and was evaluated using a limited number of case studies. The current mapping operates at the level of organ and functional systems rather than full syndrome patterns. Constrained by the granularity of the source data, it does not account for inter-individual variability, formula composition, or dosing regimens. Extending the mapping to finer-grained TCM entities (e.g., syndrome patterns and meridians) and validating it in clinical cohorts will be important steps toward routine use in practice.</p>
<p>Regarding interpretability, although MSAT improves clinical alignment at the level of outputs, the internal reasoning process of the model remains only partially transparent. This work did not systematically apply <italic>post hoc</italic> explanation techniques for GNNs, and therefore cannot fully characterize which specific pathways (e.g., particular compounds, targets, or subgraphs) drive individual predictions. Future research could integrate pathway-level explanation methods or attention-based path-tracing techniques to highlight the most influential components in each CMM&#x2013;ADR association and to generate mechanistic hypotheses.</p>
<p>Finally, the present study focuses on single CMMs. In clinical practice, CMMs are most often used as part of multi-CMM formulas following principles such as Jun&#x2013;Chen&#x2013;Zuo&#x2013;Shi (sovereign, minister, assistant, and courier), and interactions among ingredients can alter both efficacy and safety. Extending the heterogeneous graph to include formula nodes and explicit formula&#x2013;CMM relationships would enable MSAT-like architectures to predict ADRs at the formula level and to study how different combinations modify risk. Incorporating patient-level covariates and temporal information would further support personalized and dynamic safety assessment.</p>
<p>Overall, this work illustrates how clinically aligned machine learning can connect computational pharmacovigilance with traditional medicine frameworks. While further validation and refinement are needed, especially in prospective and formula-level settings, our results suggest a practical template: combining semantic edge encoding, multi-scale representation learning, and theory-grounded clinical mapping can move models beyond black-box prediction toward outputs that are more interpretable in clinical context. Such alignment between data-driven modeling and domain knowledge may help support translation of safety informatics into integrative medicine practice.</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s6">
<label>6</label>
<title>Conclusion</title>
<p>We have presented MSAT, a heterogeneous graph neural network framework explicitly designed for the safety assessment of Chinese Materia Medica. MSAT integrates multi-scale biomedical data with tailored architectural components to model the pathways from medicinal materials to clinical adverse reactions. In stratified 10-fold cross-validation, the framework demonstrated superior discriminative performance compared to both shallow baselines and state-of-the-art heterogeneous graph models.</p>
<p>Beyond overall accuracy, MSAT recovered a high proportion of literature-supported CMM&#x2013;ADR associations and proposed additional pharmacologically plausible risks. The framework also links predicted adverse reactions to sixteen TCM functional systems, which allows the outputs to be understood within familiar Zang&#x2013;Fu concepts and related functional categories.</p>
<p>Taken together, these results show that MSAT provides a practical tool for modern TCM pharmacovigilance. It offers a foundation grounded in data for prioritizing safety signals, supports hypothesis generation about potential mechanisms and organ systems, and facilitates the integration of computational drug-safety research with traditional clinical decision-making.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s7">
<title>Data availability statement</title>
<p>Publicly available datasets were analyzed in this study. This data can be found here: Zenodo, identification number 10.5281/zenodo.17933842 (<ext-link ext-link-type="uri" xlink:href="https://zenodo.org/records/17933842">https://zenodo.org/records/17933842</ext-link>); GitHub, direct URL <ext-link ext-link-type="uri" xlink:href="https://github.com/BowenShiGDPU/MSAT">https://github.com/BowenShiGDPU/MSAT</ext-link>; FDA Adverse Event Reporting System (FAERS), direct URL: <ext-link ext-link-type="uri" xlink:href="https://www.fda.gov/drugs/surveillance/fdas-adverse-event-reporting-system-faers">https://www.fda.gov/drugs/surveillance/fdas-adverse-event-reporting-system-faers</ext-link>.</p>
</sec>
<sec sec-type="author-contributions" id="s8">
<title>Author contributions</title>
<p>BS: Conceptualization, Formal Analysis, Methodology, Software, Writing &#x2013; original draft. XL: Data curation, Investigation, Visualization, Writing &#x2013; original draft, Validation. JF: Data curation, Visualization, Writing &#x2013; review and editing. JC: Funding acquisition, Supervision, Visualization, Writing &#x2013; review and editing, Validation. JY: Conceptualization, Funding acquisition, Project administration, Resources, Supervision, Writing &#x2013; review and editing.</p>
</sec>
<ack>
<title>Acknowledgements</title>
<p>The authors thank the members of the Guangdong Province Precise Medicine Big Data of Traditional Chinese Medicine Engineering Technology Research Center for their technical support and valuable discussions.</p>
</ack>
<sec sec-type="COI-statement" id="s10">
<title>Conflict of interest</title>
<p>The author(s) declared that this work was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="ai-statement" id="s11">
<title>Generative AI statement</title>
<p>The author(s) declared that generative AI was not used in the creation of this manuscript.</p>
<p>Any alternative text (alt text) provided alongside figures in this article has been generated by Frontiers with the support of artificial intelligence and reasonable efforts have been made to ensure accuracy, including review by the authors wherever possible. If you identify any issues, please contact us.</p>
</sec>
<sec sec-type="disclaimer" id="s12">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<sec sec-type="supplementary-material" id="s13">
<title>Supplementary material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/fphar.2026.1774128/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/fphar.2026.1774128/full&#x23;supplementary-material</ext-link>
</p>
<supplementary-material xlink:href="DataSheet1.pdf" id="SM1" mimetype="application/pdf" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Brown</surname>
<given-names>E. G.</given-names>
</name>
<name>
<surname>Wood</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Wood</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>1999</year>). <article-title>The medical dictionary for regulatory activities (MedDRA)</article-title>. <source>Drug Saf.</source> <volume>20</volume>, <fpage>109</fpage>&#x2013;<lpage>117</lpage>. <pub-id pub-id-type="doi">10.2165/00002018-199920020-00002</pub-id>
<pub-id pub-id-type="pmid">10082069</pub-id>
</mixed-citation>
</ref>
<ref id="B2">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cai</surname>
<given-names>M.-C.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Pan</surname>
<given-names>Y.-J.</given-names>
</name>
<name>
<surname>Pan</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Ji</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y. B.</given-names>
</name>
<etal/>
</person-group> (<year>2015</year>). <article-title>ADReCS: an ontology database for aiding standardization and hierarchical classification of adverse drug reaction terms</article-title>. <source>Nucleic Acids Res.</source> <volume>43</volume>, <fpage>D907</fpage>&#x2013;<lpage>D913</lpage>. <pub-id pub-id-type="doi">10.1093/nar/gku1066</pub-id>
<pub-id pub-id-type="pmid">25361966</pub-id>
</mixed-citation>
</ref>
<ref id="B3">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chandak</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Zitnik</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Building a knowledge graph to enable precision medicine</article-title>. <source>Sci. Data</source> <volume>10</volume>, <fpage>67</fpage>. <pub-id pub-id-type="doi">10.1038/s41597-023-01960-3</pub-id>
<pub-id pub-id-type="pmid">36732524</pub-id>
</mixed-citation>
</ref>
<ref id="B4">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Guestrin</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>XGBoost: a scalable tree boosting system</article-title>,&#x201d; in <source>Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining</source>, <fpage>785</fpage>&#x2013;<lpage>794</lpage>. <pub-id pub-id-type="doi">10.1145/2939672.2939785</pub-id>
</mixed-citation>
</ref>
<ref id="B5">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Duan</surname>
<given-names>J. A.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Shang</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Qian</surname>
<given-names>Y.</given-names>
</name>
<etal/>
</person-group> (<year>2016</year>). <article-title>Yuanhuapine-induced intestinal and hepatotoxicity were correlated with disturbance of amino acids, lipids, carbohydrate metabolism and gut microflora function: a rat urine metabonomic study</article-title>. <source>J. Chromatogr. B</source> <volume>1026</volume>, <fpage>183</fpage>&#x2013;<lpage>192</lpage>. <pub-id pub-id-type="doi">10.1016/j.jchromb.2015.08.024</pub-id>
<pub-id pub-id-type="pmid">26341729</pub-id>
</mixed-citation>
</ref>
<ref id="B6">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Wei</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Simple and deep graph convolutional networks</article-title>,&#x201d; in <source>Proceedings of the 37th international conference on machine learning (ICML 2020). vol. 119 of proceedings of machine learning research</source>, <fpage>1725</fpage>&#x2013;<lpage>1735</lpage>.</mixed-citation>
</ref>
<ref id="B7">
<mixed-citation publication-type="book">
<collab>Chinese Pharmacopoeia Commission</collab> (<year>2025</year>). <source>Pharmacopoeia of the people&#x2019;s Republic of China, 2025 edition</source>. <publisher-loc>Beijing</publisher-loc>: <publisher-name>China Medical Science Press</publisher-name>.</mixed-citation>
</ref>
<ref id="B8">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chithrananda</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Grand</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Ramsundar</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>ChemBERTa: large-scale self-supervised pretraining for molecular property prediction</article-title>. <source>arXiv preprint ArXiv:2010.09885</source>. <pub-id pub-id-type="doi">10.48550/arXiv.2010.09885</pub-id>
</mixed-citation>
</ref>
<ref id="B9">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Fang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2023</year>). &#x201c;<article-title>HES: edge sampling for heterogeneous graphs</article-title>,&#x201d; in <source>Proceedings of the 2023 international joint conference on neural networks (IJCNN) (IEEE)</source>, <fpage>1</fpage>&#x2013;<lpage>8</lpage>. <pub-id pub-id-type="doi">10.1109/IJCNN54540.2023.10192005</pub-id>
</mixed-citation>
</ref>
<ref id="B10">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Galletti</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Bota</surname>
<given-names>P. M.</given-names>
</name>
<name>
<surname>Oliva</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Fernandez-Fuentes</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Mining drug&#x2013;target and drug&#x2013;adverse drug reaction databases to identify target&#x2013;adverse drug reaction relationships</article-title>. <source>Database</source> <volume>2021</volume>, <fpage>baab068</fpage>. <pub-id pub-id-type="doi">10.1093/database/baab068</pub-id>
<pub-id pub-id-type="pmid">34679164</pub-id>
</mixed-citation>
</ref>
<ref id="B11">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liang</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Fan</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Hao</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Safety research in traditional Chinese medicine&#x2014;review: methods, applications, and outlook</article-title>. <source>Engineering</source> <volume>5</volume>, <fpage>74</fpage>&#x2013;<lpage>82</lpage>. <pub-id pub-id-type="doi">10.1016/j.eng.2018.11.019</pub-id>
</mixed-citation>
</ref>
<ref id="B12">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gong</surname>
<given-names>Y. S.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y. N.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>The research of oxidative damage mechanism in hepatical toxical injury caused by different components from folium artemisiae argyi in mice</article-title>. <source>Chin. J. Pharmacovigil.</source> <volume>8</volume>, <fpage>407</fpage>.</mixed-citation>
</ref>
<ref id="B13">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Harpaz</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>DuMouchel</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Shah</surname>
<given-names>N. H.</given-names>
</name>
<name>
<surname>Madigan</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Ryan</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Friedman</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Novel data-mining methodologies for adverse drug event discovery and analysis</article-title>. <source>Clin. Pharmacol. Ther.</source> <volume>91</volume>, <fpage>1010</fpage>&#x2013;<lpage>1021</lpage>. <pub-id pub-id-type="doi">10.1038/clpt.2012.50</pub-id>
<pub-id pub-id-type="pmid">22549283</pub-id>
</mixed-citation>
</ref>
<ref id="B14">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Hu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Dong</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Heterogeneous graph transformer</article-title>,&#x201d; in <source>Proceedings of the web conference (WWW)</source>, <fpage>2704</fpage>&#x2013;<lpage>2710</lpage>. <pub-id pub-id-type="doi">10.1145/3366423.3380027</pub-id>
</mixed-citation>
</ref>
<ref id="B15">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hung</surname>
<given-names>C.-R.</given-names>
</name>
</person-group> (<year>2005</year>). <article-title>Modulation of gastric hemorrhage and ulceration by oxidative stress and histamine release in <italic>Salmonella typhimurium</italic>-infected rats</article-title>. <source>Inflammopharmacology</source> <volume>13</volume>, <fpage>235</fpage>&#x2013;<lpage>248</lpage>. <pub-id pub-id-type="doi">10.1163/156856005774423827</pub-id>
<pub-id pub-id-type="pmid">16259743</pub-id>
</mixed-citation>
</ref>
<ref id="B16">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hung</surname>
<given-names>C. R.</given-names>
</name>
<name>
<surname>Hsu</surname>
<given-names>D. Z.</given-names>
</name>
</person-group> (<year>1998</year>). <article-title>Roles of histamine receptors and oxyradicals in aggravation of acid-induced gastric haemorrhagic ulcers in endotoxaemic rats</article-title>. <source>Inflammopharmacology</source> <volume>6</volume>, <fpage>339</fpage>&#x2013;<lpage>355</lpage>. <pub-id pub-id-type="doi">10.1007/s10787-998-0017-1</pub-id>
<pub-id pub-id-type="pmid">17657630</pub-id>
</mixed-citation>
</ref>
<ref id="B17">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Kipf</surname>
<given-names>T. N.</given-names>
</name>
<name>
<surname>Welling</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2017</year>). &#x201c;<article-title>Semi-supervised classification with graph convolutional networks</article-title>,&#x201d; in <source>5th international conference on learning representations, ICLR 2017</source>, <conf-loc>toulon, France</conf-loc>, <conf-date>April 24&#x2013;26, 2017</conf-date>, <comment>conference track proceedings</comment> (<publisher-name>OpenReview.net</publisher-name>).</mixed-citation>
</ref>
<ref id="B18">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kong</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Yuan</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Yuan</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Research progress on chemical components, pharmacological effects and clinical application of curcuma zedoary oil injection</article-title>. <source>Chin. Tradit. Herb. Drugs</source> <volume>54</volume>, <fpage>4053</fpage>&#x2013;<lpage>4060</lpage>. <pub-id pub-id-type="doi">10.7501/j.issn.0253-2670.2023.12.031</pub-id>
</mixed-citation>
</ref>
<ref id="B19">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>LaValley</surname>
<given-names>M. P.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>Logistic regression</article-title>. <source>Circulation</source> <volume>117</volume>, <fpage>2395</fpage>&#x2013;<lpage>2399</lpage>. <pub-id pub-id-type="doi">10.1161/CIRCULATIONAHA.106.682658</pub-id>
<pub-id pub-id-type="pmid">18458181</pub-id>
</mixed-citation>
</ref>
<ref id="B20">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lee</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yoon</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Kim</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Kim</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>So</surname>
<given-names>C. H.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>BioBERT: a pre-trained biomedical language representation model for biomedical text mining</article-title>. <source>Bioinformatics</source> <volume>36</volume>, <fpage>1234</fpage>&#x2013;<lpage>1240</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/btz682</pub-id>
<pub-id pub-id-type="pmid">31501885</pub-id>
</mixed-citation>
</ref>
<ref id="B21">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Lin</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Ou</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2013</year>). <source>Common drug adverse reactions and treatment: Chinese medicine volume</source>. <publisher-loc>Beijing</publisher-loc>: <publisher-name>Military Medical Sciences Press</publisher-name>.</mixed-citation>
</ref>
<ref id="B22">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhan</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
<etal/>
</person-group> (<year>2017</year>). <article-title>Molecular network-based analysis of the mechanism of liver injury induced by volatile oils from <italic>Artemisiae argyi</italic> folium</article-title>. <source>BMC Complement. Altern. Med.</source> <volume>17</volume>, <fpage>491</fpage>. <pub-id pub-id-type="doi">10.1186/s12906-017-1997-4</pub-id>
<pub-id pub-id-type="pmid">29145837</pub-id>
</mixed-citation>
</ref>
<ref id="B23">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>L.</given-names>
</name>
<etal/>
</person-group> (<year>2018</year>). <article-title>Analysis of clinical application and adverse reactions of <italic>Polygonum cuspidatum</italic> based on ancient and modern literature of traditional Chinese medicine</article-title>. <source>Chin. J. Pharmacovigil.</source> <volume>15</volume>, <fpage>348</fpage>&#x2013;<lpage>353</lpage>.</mixed-citation>
</ref>
<ref id="B24">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lu</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Bian</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Bridging the traditional Chinese medicine pattern classification and biomedical disease diagnosis with systems biology</article-title>. <source>Chin. J. Integr. Med.</source> <volume>18</volume>, <fpage>883</fpage>&#x2013;<lpage>890</lpage>. <pub-id pub-id-type="doi">10.1007/s11655-012-1290-6</pub-id>
<pub-id pub-id-type="pmid">23238995</pub-id>
</mixed-citation>
</ref>
<ref id="B25">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Lv</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Feng</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>S.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). &#x201c;<article-title>Are we really making much progress? Revisiting, benchmarking and refining heterogeneous graph neural networks</article-title>,&#x201d; in <source>Proceedings of the 27th ACM SIGKDD conference on knowledge discovery and data mining</source> (<publisher-name>KDD</publisher-name>) <conf-loc>Virtual Event, Singapore</conf-loc>, <publisher-loc>Association for Computing Machinery: New York, NY</publisher-loc>, <fpage>1150</fpage>&#x2013;<lpage>1160</lpage>. <pub-id pub-id-type="doi">10.1145/3447548.3467350</pub-id>
</mixed-citation>
</ref>
<ref id="B26">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lv</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>H.-Y.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>TCMBank: bridges between the largest herbal medicines, chemical ingredients, target proteins, and associated diseases with intelligence text mining</article-title>. <source>Chem. Sci.</source> <volume>14</volume>, <fpage>10684</fpage>&#x2013;<lpage>10701</lpage>. <pub-id pub-id-type="doi">10.1039/D3SC02139D</pub-id>
<pub-id pub-id-type="pmid">37829020</pub-id>
</mixed-citation>
</ref>
<ref id="B27">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ma</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Hui</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Qu</surname>
<given-names>P.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>Machine learning in TCM with natural products and molecules: current status and future perspectives</article-title>. <source>Chin. Med.</source> <volume>18</volume>, <fpage>43</fpage>. <pub-id pub-id-type="doi">10.1186/s13020-023-00741-9</pub-id>
<pub-id pub-id-type="pmid">37076902</pub-id>
</mixed-citation>
</ref>
<ref id="B28">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mishra</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Chaturvedi</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Datta</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Sinukumar</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Joshi</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Garg</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Harmful effects of nicotine</article-title>. <source>Indian J. Med. Paediatr. Oncol.</source> <volume>36</volume>, <fpage>24</fpage>&#x2013;<lpage>31</lpage>. <pub-id pub-id-type="doi">10.4103/0971-5851.151771</pub-id>
<pub-id pub-id-type="pmid">25810571</pub-id>
</mixed-citation>
</ref>
<ref id="B29">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ochoa</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Hercules</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Carmona</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Suveges</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Baker</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Malangone</surname>
<given-names>C.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>The next-generation open targets platform: reimagined, redesigned, rebuilt</article-title>. <source>Nucleic Acids Res.</source> <volume>51</volume>, <fpage>D1353</fpage>&#x2013;<lpage>D1359</lpage>. <pub-id pub-id-type="doi">10.1093/nar/gkac1046</pub-id>
<pub-id pub-id-type="pmid">36399499</pub-id>
</mixed-citation>
</ref>
<ref id="B30">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ogawa</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Kodama</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Ito</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Kodama</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Kato</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Matsuyama</surname>
<given-names>T.</given-names>
</name>
<etal/>
</person-group> (<year>1981</year>). <article-title>Experimental studies on developmental mechanism of acute hemorrhagic gastric ulcers with emphasis on the effects of histamine</article-title>. <source>Hiroshima J. Med. Sci.</source> <volume>30</volume>, <fpage>191</fpage>&#x2013;<lpage>201</lpage>.<pub-id pub-id-type="pmid">6170607</pub-id>
</mixed-citation>
</ref>
<ref id="B31">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Oleszczuk</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Leszczy&#x144;ska-Gorzelak</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Kanadys</surname>
<given-names>W. M.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>Efficacy and safety of black cohosh (<italic>Actaea/Cimicifuga racemosa</italic>) in the treatment of vasomotor symptoms: review of clinical trials</article-title>. <source>Ginekol. Pol.</source> <volume>79</volume>, <fpage>287</fpage>&#x2013;<lpage>296</lpage>.<pub-id pub-id-type="pmid">18592868</pub-id>
</mixed-citation>
</ref>
<ref id="B32">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pick</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>M&#xfc;ller</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Mayer</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Haenisch</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Pajeva</surname>
<given-names>I. K.</given-names>
</name>
<name>
<surname>Weigt</surname>
<given-names>M.</given-names>
</name>
<etal/>
</person-group> (<year>2011</year>). <article-title>Structure&#x2013;activity relationships of flavonoids as inhibitors of breast cancer resistance protein (bcrp)</article-title>. <source>Bioorg. Med. Chem.</source> <volume>19</volume>, <fpage>2090</fpage>&#x2013;<lpage>2102</lpage>. <pub-id pub-id-type="doi">10.1016/j.bmc.2010.12.043</pub-id>
<pub-id pub-id-type="pmid">21354800</pub-id>
</mixed-citation>
</ref>
<ref id="B33">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Qin</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Sheikh</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Reinwald</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Relation-aware graph attention model with adaptive self-adversarial training</article-title>. <source>Proc. AAAI Conf. Artif. Intell.</source> <volume>35</volume>, <fpage>9368</fpage>&#x2013;<lpage>9376</lpage>. <pub-id pub-id-type="doi">10.1609/aaai.v35i11.17129</pub-id>
</mixed-citation>
</ref>
<ref id="B34">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rigatti</surname>
<given-names>S. J.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Random forest</article-title>. <source>J. Insur Med.</source> <volume>47</volume>, <fpage>31</fpage>&#x2013;<lpage>39</lpage>. <pub-id pub-id-type="doi">10.17849/insm-47-01-31-39.1</pub-id>
<pub-id pub-id-type="pmid">28836909</pub-id>
</mixed-citation>
</ref>
<ref id="B35">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Schlichtkrull</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Kipf</surname>
<given-names>T. N.</given-names>
</name>
<name>
<surname>Bloem</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>van den Berg</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Titov</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Welling</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>Modeling relational data with graph convolutional networks</article-title>,&#x201d; in <source>Proceedings of the European Semantic Web Conference (ESWC)</source>, <fpage>593</fpage>&#x2013;<lpage>607</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-93417-4_38</pub-id>
</mixed-citation>
</ref>
<ref id="B36">
<mixed-citation publication-type="web">
<collab>Shanghai Institute of Organic Chemistry, Chinese Academy of Sciences</collab> (<year>2024</year>). <article-title>Traditional Chinese medicine toxic side effects database, chemistry database</article-title>. <comment>Available online at: <ext-link ext-link-type="uri" xlink:href="https://organchem.csdb.cn">https://organchem.csdb.cn</ext-link> (Accessed October 13, 2024)</comment>.</mixed-citation>
</ref>
<ref id="B37">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sheppard</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Hayes</surname>
<given-names>S. H.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>G. D.</given-names>
</name>
<name>
<surname>Ralli</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Salvi</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Review of salicylate-induced hearing loss, neurotoxicity, tinnitus and neuropathophysiology</article-title>. <source>Acta Otorhinolaryngol. Ital.</source> <volume>34</volume>, <fpage>79</fpage>&#x2013;<lpage>93</lpage>.<pub-id pub-id-type="pmid">24843217</pub-id>
</mixed-citation>
</ref>
<ref id="B38">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Solomons</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Cochrane</surname>
<given-names>J. W. C.</given-names>
</name>
</person-group> (<year>1984</year>). <article-title>Formaldehyde toxicity&#x2014;part II. Reviews of acute and chronic effects on health</article-title>. <source>S Afr. Med. J.</source> <volume>66</volume>, <fpage>103</fpage>&#x2013;<lpage>106</lpage>.<pub-id pub-id-type="pmid">6377526</pub-id>
</mixed-citation>
</ref>
<ref id="B39">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Xia</surname>
<given-names>X. H.</given-names>
</name>
<name>
<surname>Xiao</surname>
<given-names>X. H.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Pharmacological effects and attenuating toxicity of dichroae radix and febrifugine</article-title>. <source>Mod. Chin. Med.</source>, <fpage>1</fpage>&#x2013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.13313/j.issn.1673-4890.20220325004</pub-id>
</mixed-citation>
</ref>
<ref id="B40">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Tanvir</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Islam</surname>
<given-names>M. I.</given-names>
</name>
<name>
<surname>Akbas</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2021</year>). &#x201c;<article-title>Predicting drug-drug interactions using meta-path based similarities</article-title>,&#x201d; in <source>2021 IEEE conference on computational intelligence in bioinformatics and computational biology (CIBCB)</source> (<publisher-loc>Melbourne</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x2013;<lpage>8</lpage>. <pub-id pub-id-type="doi">10.1109/CIBCB49929.2021.9562802</pub-id>
</mixed-citation>
</ref>
<ref id="B41">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tanvir</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Saifuddin</surname>
<given-names>K. M.</given-names>
</name>
<name>
<surname>Akbas</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Ddi prediction <italic>via</italic> heterogeneous graph attention networks</article-title>. <pub-id pub-id-type="doi">10.48550/arXiv.2207.05672</pub-id>
</mixed-citation>
</ref>
<ref id="B42">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Tanvir</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Saifuddin</surname>
<given-names>K. M.</given-names>
</name>
<name>
<surname>Hossain</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Bagavathi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Akbas</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2024a</year>). &#x201c;<article-title>HeTAN: heterogeneous graph triplet attention network for drug repurposing</article-title>,&#x201d; in <source>2024 IEEE 11th international conference on data science and advanced analytics (DSAA)</source> (<publisher-loc>San Diego, CA</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>208</fpage>&#x2013;<lpage>217</lpage>. <pub-id pub-id-type="doi">10.1109/DSAA61799.2024.10722832</pub-id>
</mixed-citation>
</ref>
<ref id="B43">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Tanvir</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Saifuddin</surname>
<given-names>K. M.</given-names>
</name>
<name>
<surname>Islam</surname>
<given-names>M. I. K.</given-names>
</name>
<name>
<surname>Akbas</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2024b</year>). <source>DDI prediction with heterogeneous information network - meta-path based approach</source>. <publisher-name>IEEE/ACM Trans Comput Biol Bioinform</publisher-name>. <pub-id pub-id-type="doi">10.1109/TCBB.2024.3417715</pub-id>
</mixed-citation>
</ref>
<ref id="B44">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tao</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Chityala</surname>
<given-names>P. K.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Epidermal growth factor receptor inhibitor-induced diarrhea: clinical incidence, toxicological mechanism, and management</article-title>. <source>Toxicol. Res.</source> <volume>10</volume>, <fpage>476</fpage>&#x2013;<lpage>486</lpage>. <pub-id pub-id-type="doi">10.1093/toxres/tfab026</pub-id>
<pub-id pub-id-type="pmid">34141161</pub-id>
</mixed-citation>
</ref>
<ref id="B45">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tweedie</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Braschi</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Gray</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Jones</surname>
<given-names>T. E. M.</given-names>
</name>
<name>
<surname>Seal</surname>
<given-names>R. L.</given-names>
</name>
<name>
<surname>Yates</surname>
<given-names>B.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Genenames.org: the HGNC and VGNC resources in 2021</article-title>. <source>Nucleic Acids Res.</source> <volume>49</volume>, <fpage>D939</fpage>&#x2013;<lpage>D946</lpage>. <pub-id pub-id-type="doi">10.1093/nar/gkaa980</pub-id>
<pub-id pub-id-type="pmid">33152070</pub-id>
</mixed-citation>
</ref>
<ref id="B46">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Unschuld</surname>
<given-names>P. U.</given-names>
</name>
<name>
<surname>Tessenow</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2011</year>). <source>Huang Di Nei Jing Su Wen: an Annotated Translation of Huang Di&#x2019;s Inner Classic&#x2014;Basic Questions</source>, <volume>1&#x2013;2</volume>. <publisher-loc>Berkeley, CA</publisher-loc>: <publisher-name>University of California Press</publisher-name>.</mixed-citation>
</ref>
<ref id="B47">
<mixed-citation publication-type="web">
<collab>U.S. Food and Drug Administration</collab> (<year>2024</year>). <article-title>FDA adverse event reporting system (FAERS)</article-title>. <comment>Available online at: <ext-link ext-link-type="uri" xlink:href="https://www.fda.gov/drugs/surveillance/questions-and-answers-fdas-adverse-event-reporting-system-faers">https://www.fda.gov/drugs/surveillance/questions-and-answers-fdas-adverse-event-reporting-system-faers</ext-link> (Accessed October 13, 2024)</comment>.</mixed-citation>
</ref>
<ref id="B48">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Veli&#x10d;kovi&#x107;</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Cucurull</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Casanova</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Romero</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Li&#xf2;</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Bengio</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>Graph attention networks</article-title>,&#x201d; in <source>6th international conference on learning representations, ICLR 2018</source>, <conf-loc>Vancouver, BC, Canada</conf-loc>, <conf-date>April 30&#x2013;May 3, 2018</conf-date>, <comment>conference track proceedings</comment> (<publisher-name>OpenReview.net</publisher-name>).</mixed-citation>
</ref>
<ref id="B49">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Woods</surname>
<given-names>C. R.</given-names>
</name>
</person-group> (<year>1879</year>). <article-title>On the use of salicylic acid and the salicylates</article-title>. <source>Dublin J. Med. Sci.</source> <volume>68</volume>, <fpage>119</fpage>&#x2013;<lpage>124</lpage>. <pub-id pub-id-type="doi">10.1007/bf02966882</pub-id>
</mixed-citation>
</ref>
<ref id="B50">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xu</surname>
<given-names>H.-Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y.-Q.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Z.-M.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Lv</surname>
<given-names>C. Y.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>S. H.</given-names>
</name>
<etal/>
</person-group> (<year>2019</year>). <article-title>ETCM: an encyclopaedia of traditional Chinese medicine</article-title>. <source>Nucleic Acids Res.</source> <volume>47</volume>, <fpage>D976</fpage>&#x2013;<lpage>D982</lpage>. <pub-id pub-id-type="doi">10.1093/nar/gky987</pub-id>
<pub-id pub-id-type="pmid">30365030</pub-id>
</mixed-citation>
</ref>
<ref id="B51">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yan</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Feng</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Jiao</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Feng</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Safety of using traditional Chinese medicine injections in primary medical institutions: based on the spontaneous reporting system 2016&#x2013;2020 in Henan province, China</article-title>. <source>Front. Pharmacol.</source> <volume>13</volume>, <fpage>761097</fpage>. <pub-id pub-id-type="doi">10.3389/fphar.2022.761097</pub-id>
<pub-id pub-id-type="pmid">35496316</pub-id>
</mixed-citation>
</ref>
<ref id="B52">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Yao</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Gu</surname>
<given-names>L.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>ccTCM: a quantitative component and compound platform for promoting the research of traditional Chinese medicine</article-title>. <source>Comput. Struct. Biotechnol. J.</source> <volume>21</volume>, <fpage>5807</fpage>&#x2013;<lpage>5817</lpage>. <pub-id pub-id-type="doi">10.1016/j.csbj.2023.11.030</pub-id>
<pub-id pub-id-type="pmid">38213899</pub-id>
</mixed-citation>
</ref>
<ref id="B53">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Swami</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Chawla</surname>
<given-names>N. V.</given-names>
</name>
</person-group> (<year>2019</year>). &#x201c;<article-title>Heterogeneous graph neural network</article-title>,&#x201d; in <source>Proceedings of the 25th ACM SIGKDD international conference on knowledge discovery and data mining</source>, <fpage>793</fpage>&#x2013;<lpage>803</lpage>. <pub-id pub-id-type="doi">10.1145/3292500.3330961</pub-id>
</mixed-citation>
</ref>
<ref id="B54">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>T.</given-names>
</name>
<etal/>
</person-group> (<year>2024</year>). <article-title>Network pharmacology: towards the artificial intelligence-based precision traditional Chinese medicine</article-title>. <source>Brief. Bioinform</source> <volume>25</volume>, <fpage>bbad518</fpage>. <pub-id pub-id-type="doi">10.1093/bib/bbad518</pub-id>
<pub-id pub-id-type="pmid">38197310</pub-id>
</mixed-citation>
</ref>
<ref id="B55">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zitnik</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Agrawal</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Leskovec</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Modeling polypharmacy side effects with graph convolutional networks</article-title>. <source>Bioinformatics</source> <volume>34</volume>, <fpage>i457</fpage>&#x2013;<lpage>i466</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/bty294</pub-id>
<pub-id pub-id-type="pmid">29949996</pub-id>
</mixed-citation>
</ref>
</ref-list>
<fn-group>
<fn fn-type="custom" custom-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/3012293/overview">Jingqi Zeng</ext-link>, Bejing University of Chinese Medicine, China</p>
</fn>
<fn fn-type="custom" custom-type="reviewed-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1406860/overview">Jiacheng Xiong</ext-link>, Chinese Academy of Sciences (CAS), China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/3145217/overview">Farhan Tanvir</ext-link>, Georgia State University, United States</p>
</fn>
</fn-group>
</back>
</article>