<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Pharmacol.</journal-id>
<journal-title>Frontiers in Pharmacology</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Pharmacol.</abbrev-journal-title>
<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">1257842</article-id>
<article-id pub-id-type="doi">10.3389/fphar.2023.1257842</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Pharmacology</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Graph generative and adversarial strategy-enhanced node feature learning and self-calibrated pairwise attribute encoding for prediction of drug-related side effects</article-title>
<alt-title alt-title-type="left-running-head">Xuan 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.2023.1257842">10.3389/fphar.2023.1257842</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Xuan</surname>
<given-names>Ping</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/630397/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Xu</surname>
<given-names>Kai</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Cui</surname>
<given-names>Hui</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/758705/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Nakaguchi</surname>
<given-names>Toshiya</given-names>
</name>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Zhang</surname>
<given-names>Tiangang</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff5">
<sup>5</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Department of Computer Science</institution>, <institution>School of Engineering</institution>, <institution>Shantou University</institution>, <addr-line>Shantou</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>School of Computer Science and Technology</institution>, <institution>Heilongjiang University</institution>, <addr-line>Harbin</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>Department of Computer Science and Information Technology</institution>, <institution>La Trobe University</institution>, <addr-line>Melbourne</addr-line>, <addr-line>VI</addr-line>, <country>Australia</country>
</aff>
<aff id="aff4">
<sup>4</sup>
<institution>Center for Frontier Medical Engineering</institution>, <institution>Chiba University</institution>, <addr-line>Chiba</addr-line>, <country>Japan</country>
</aff>
<aff id="aff5">
<sup>5</sup>
<institution>School of Mathematical Science</institution>, <institution>Heilongjiang University</institution>, <addr-line>Harbin</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/12494/overview">Thomas Hartung</ext-link>, Johns Hopkins University, United States</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/931513/overview">Wen Zhang</ext-link>, Huazhong Agricultural University, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/502629/overview">Li Peng</ext-link>, Shanxi Agricultural University, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Tiangang Zhang, <email>zhang@hlju.edu.cn</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>04</day>
<month>09</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>14</volume>
<elocation-id>1257842</elocation-id>
<history>
<date date-type="received">
<day>13</day>
<month>07</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>17</day>
<month>08</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Xuan, Xu, Cui, Nakaguchi and Zhang.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Xuan, Xu, Cui, Nakaguchi and Zhang</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). 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.</p>
</license>
</permissions>
<abstract>
<p>
<bold>Background:</bold> Inferring drug-related side effects is beneficial for reducing drug development cost and time. Current computational prediction methods have concentrated on graph reasoning over heterogeneous graphs comprising the drug and side effect nodes. However, the various topologies and node attributes within multiple drug&#x2013;side effect heterogeneous graphs have not been completely exploited.</p>
<p>
<bold>Methods:</bold> We proposed a new drug-side effect association prediction method, GGSC, to deeply integrate the diverse topologies and attributes from multiple heterogeneous graphs and the self-calibration attributes of each drug-side effect node pair. First, we created two heterogeneous graphs comprising the drug and side effect nodes and their related similarity and association connections. Since each heterogeneous graph has its specific topology and node attributes, a node feature learning strategy was designed and the learning for each graph was enhanced from a graph generative and adversarial perspective. We constructed a generator based on a graph convolutional autoencoder to encode the topological structure and node attributes from the whole heterogeneous graph and then generate the node features embedding the graph topology. A discriminator based on multilayer perceptron was designed to distinguish the generated topological features from the original ones. We also designed representation-level attention to discriminate the contributions of topological representations from multiple heterogeneous graphs and adaptively fused them. Finally, we constructed a self-calibration module based on convolutional neural networks to guide pairwise attribute learning through the features of the small latent space.</p>
<p>
<bold>Results:</bold> The comparison experiment results showed that GGSC had higher prediction performance than several state-of-the-art prediction methods. The ablation experiments demonstrated the effectiveness of topological enhancement learning, representation-level attention, and self-calibrated pairwise attribute learning. In addition, case studies over five drugs demonstrated GGSC&#x2019;s ability in discovering the potential drug-related side effect candidates.</p>
<p>
<bold>Conclusion:</bold> We proposed a drug-side effect association prediction method, and the method is beneficial for screening the reliable association candidates for the biologists to discover the actual associations.</p>
</abstract>
<kwd-group>
<kwd>graph generative and adversarial strategy</kwd>
<kwd>topologies and attributes from heterogeneous graphs</kwd>
<kwd>graph convolutional autoencoder</kwd>
<kwd>self-calibrated pairwise attributes</kwd>
<kwd>representation-level attention</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Predictive Toxicology</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>Drug-related side effects are harmful outcomes that go beyond the therapeutic expectations of a drug&#x2019;s application, which can result in its failure during clinical studies (<xref ref-type="bibr" rid="B7">Ding et al., 2018</xref>; <xref ref-type="bibr" rid="B3">Cakir et al., 2021</xref>; <xref ref-type="bibr" rid="B38">Zhang et al., 2021</xref>). Therefore, recognizing drugs&#x2019; adverse effects might help to minimize drug development cost and time (<xref ref-type="bibr" rid="B13">Jiang et al., 2018</xref>; <xref ref-type="bibr" rid="B26">Sachdev and Gupta, 2020</xref>). Computational prediction methods have proven helpful in selecting suitable drug-related side effect candidates for biological testing.</p>
<p>Existing studies can be grouped into three main categories. The first category uses drug-related biological data to forecast potential side effects. Francesco et al. and Wishart et al. exploited the similarity of gene expression profiles of multiple drug-treated cell lines to predict unexpected adverse drug reactions (<xref ref-type="bibr" rid="B12">Iorio et al., 2010</xref>; <xref ref-type="bibr" rid="B17">Li et al., 2016</xref>). However, these two methods are limited by unknown molecular differences (<xref ref-type="bibr" rid="B33">Wishart et al., 2008</xref>). Therefore, applying such methods on a large scale to predict reliable drug-related side effect candidates is difficult (<xref ref-type="bibr" rid="B22">Ma et al., 2003</xref>; <xref ref-type="bibr" rid="B25">Pauwels et al., 2011</xref>; <xref ref-type="bibr" rid="B28">Sawada et al., 2015</xref>).</p>
<p>The second category uses machine learning-based models to predict associations between drug use and adverse effects. Pauwels et al. used four machine learning methods to build prediction models: support vector machine, k-nearest neighbor (KNN), ordinary canonical correlation analysis, and sparse canonical correlation analysis (<xref ref-type="bibr" rid="B2">Bresso et al., 2013</xref>). A feature-derived graph regularization matrix decomposition method was proposed to predict side effects not found based on accessible drug attributes and known drug&#x2013;side effect connections in medications at present (<xref ref-type="bibr" rid="B5">Dimitri and Li&#xf3;, 2017</xref>). Decision trees and inductive logic methods were introduced by Bresso et al. (<xref ref-type="bibr" rid="B31">Uner et al., 2019</xref>). Zhang et al. inferred potential side effect associations for drugs using a feature selection-based multi-label KNN method (<xref ref-type="bibr" rid="B34">Xu et al., 2022</xref>). In addition, Cakir et al. and Dimitri et al. used random forest and Bayesian algorithms to predict drugs&#x2019; potential side effects, respectively (<xref ref-type="bibr" rid="B29">Seo et al., 2020</xref>; <xref ref-type="bibr" rid="B14">Joshi et al., 2022</xref>). However, these methods are shallow predictive models that cannot effectively learn deeper correlations between nodes.</p>
<p>The category uses deep learning to combine more detailed information between nodes and enhance model forecast performance. Uner et al. developed four prediction models using a multilayer perceptron (MLP), multi-modal neural networks, multi-task neural networks, and simplified molecular input line entry system convolutional neural networks, respectively (<xref ref-type="bibr" rid="B16">Lee et al., 2017</xref>; <xref ref-type="bibr" rid="B44">Zheng et al., 2019</xref>). Some studies have combined similarity data between drugs and their side effects and estimated the frequency of pharmacological side effects using deep neural (<xref ref-type="bibr" rid="B36">Yang et al., 2009</xref>) and graph attention neural (<xref ref-type="bibr" rid="B20">Luo et al., 2011</xref>; <xref ref-type="bibr" rid="B19">Liu et al., 2012</xref>; <xref ref-type="bibr" rid="B23">Mizutani et al., 2012</xref>) networks. However, these methods disregard the value of heterogeneous graphs comprising several associations between drugs and side effects when attempting to anticipate potentially important pharmacological side effects (<xref ref-type="bibr" rid="B39">Zhang et al., 2015</xref>; <xref ref-type="bibr" rid="B6">Ding et al., 2019</xref>). They proposed a graph convolutional neural network combining graph and node embedding to improve model prediction performance. In addition, adverse drug reactions have also been predicted using deep neural networks based on knowledge graph embedding (<xref ref-type="bibr" rid="B40">Zhang et al., 2018</xref>; <xref ref-type="bibr" rid="B43">Zhao et al., 2018</xref>; <xref ref-type="bibr" rid="B11">Hu et al., 2019</xref>). However, this approach ignores the extraction of enhanced topological representations through adversarial learning and the learning of attributes of node pairs after self-calibration.</p>
<p>In this study, we present a new drug-related side effect prediction method, GGSC, which learns the topological features of drug and side effect nodes enhanced by the generative and adversarial strategy and integrates the self-calibration attributes of each drug&#x2013;side effect node pair. The contributions of our prediction method are listed as follows.</p>
<p>First, for each heterogeneous graph, a generative adversarial-based strategy is designed to learn the topological representations of the drug and side effect nodes. In this way, these representations are learned and enhanced from the whole graph perspective.</p>
<p>Second, the generator comprises a graph convolutional encoder and decoder to generate a false topological embedding of all the drug and side effect nodes. The encoder based on graph convolutional neural network encodes the topological structure and node attributes of each heterogeneous graph.</p>
<p>Third, the decoder generates the false topological embedding according to the encoded feature map. The discriminator contains multilayer perceptron to determine whether the topological embedding is the original feature one or the generated false one. The encoded topological features and node attributes of the drug and side effect nodes are enhanced by the generative and adversarial strategy.</p>
<p>Finally, a self-calibrating convolutional neural network (SCC)-based module is constructed to learn the attributes of each drug&#x2013;side effect node pair from multiple heterogeneous graphs. More global information is obtained through greater receptive field in a small latent feature space, and it is utilized to guide the pairwise feature learning in an original feature space.</p>
</sec>
<sec sec-type="materials|methods" id="s2">
<title>2 Materials and methods</title>
<p>Our primary goal is to predict a drug&#x2019;s probable relevant side effects. We built a GGSC model comprising an SCC and a generative adversarial network (GAN) with a representational-level attention mechanism based on information from many sources about drugs and their adverse effects. The model comprises two branches. To thoroughly understand the topological representation of nodes, we first built two distinct bilayer heterogeneous networks based on two drug similarities, side effect similarities, and drug&#x2013;side effect associations (<xref ref-type="fig" rid="F1">Figure 1A</xref>). In the first branch, we learn the topological representation of network-level enhancements in the two heterogeneous graphs based on GANs. The learned topological representation is then integrated using a novel attention method, and drug&#x2013;side effect node pairs are extracted to obtain association prediction scores via convolution and fully connected layers. We used an SCC to encode the specifics and characteristics of the other branch&#x2019;s self-calibrated drug&#x2013;side effect node pairs (<xref ref-type="fig" rid="F2">Figure 2</xref>). The prediction scores of the last two branches were combined by weighting to obtain the final association score, which reflects the likelihood of the drug having the corresponding side effects.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Framework of the proposed GGSC model. <bold>(A)</bold> Two drug&#x2013;side effect heterogeneous graphs constructed based on two kinds of drug similarities. <bold>(B)</bold> Enhanced topological representation learning via generative and adversarial networks based on graph convolutional autoencoders. <bold>(C)</bold> Topological fusion based on representation-level attention. <bold>(D)</bold> Pairwise attribute representation learning by self-calibrated convolutional neural networks.</p>
</caption>
<graphic xlink:href="fphar-14-1257842-g001.tif"/>
</fig>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Illustration of pairwise attribute learning based on self-calibrated convolutional neural networks.</p>
</caption>
<graphic xlink:href="fphar-14-1257842-g002.tif"/>
</fig>
<sec id="s2-1">
<title>2.1 Dataset</title>
<p>Datasets were obtained from the work of <xref ref-type="bibr" rid="B8">Galeano et al. (2020</xref>), <xref ref-type="bibr" rid="B9">Guo et al. (2020</xref>), and <xref ref-type="bibr" rid="B42">Zhao et al. (2021</xref>), originally collected from the side effect resource (SIDER) and comparative toxicogenomics databases. They include drug similarities, drug&#x2013;side effect associations, and drug&#x2013;disease relationships. We examined 4,192 side effects from 708 drugs, representing 80,164 known pairs of associations in the SIDER database. We extracted 199,214 drug&#x2013;disease pairs from the comparative toxicogenomics database, representing 708 drugs and 5,603 diseases. Drug similarity was based on chemical substructure calculations.</p>
</sec>
<sec id="s2-2">
<title>2.2 Matrix expressions of multi-source data about the drugs and side effects</title>
<sec id="s2-2-1">
<title>2.2.1 Drug&#x2013;side effect heterogeneous graph</title>
<p>Two separate drug&#x2013;side effect heterogeneous graphs were created for two drugs with similar chemical properties based on chemical substructures and drug-related disorders. The two graphs are denoted as <italic>G</italic>
<sup>
<italic>chem</italic>
</sup> &#x3d; (<italic>V</italic>
<sup>
<italic>chem</italic>
</sup>, <italic>E</italic>
<sup>
<italic>chem</italic>
</sup>) and <italic>G</italic>
<sup>
<italic>dise</italic>
</sup> &#x3d; (<italic>V</italic>
<sup>
<italic>dise</italic>
</sup>, <italic>E</italic>
<sup>
<italic>dise</italic>
</sup>), where the set of nodes <italic>V</italic> &#x3d; {<italic>V</italic>
<sup>
<italic>m</italic>
</sup> &#x222a; <italic>V</italic>
<sup>
<italic>s</italic>
</sup>} comprises the set of drug nodes <italic>V</italic>
<sup>
<italic>m</italic>
</sup> and the set of side effect nodes <italic>V</italic>
<sup>
<italic>s</italic>
</sup>. The edge set <italic>E</italic> comprises the edges between nodes, with the edges between nodes <italic>v</italic>
<sub>
<italic>i</italic>
</sub> and <italic>v</italic>
<sub>
<italic>j</italic>
</sub> denoted by <italic>e</italic>
<sub>
<italic>ij</italic>
</sub> &#x2208; <italic>E</italic>. The heterogeneous graphs <italic>G</italic>
<sup>
<italic>chem</italic>
</sup> and <italic>G</italic>
<sup>
<italic>dise</italic>
</sup> contain three edge types: drug&#x2013;drug similarity linkage edges, side effect&#x2013;side effect similarity linkage edges, and drug&#x2013;side effect association edges.</p>
</sec>
<sec id="s2-2-2">
<title>2.2.2 Expressions of the similarities and associations among the drugs and side effects</title>
<sec id="s2-2-2-1">
<title>Drug similarity matrix</title>
<p>Based on the drug&#x2019;s chemical makeup and associated disorders, we obtained two drug similarity matrices, defined as follows,<disp-formula id="e1">
<mml:math id="m1">
<mml:msup>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="">
<mml:mrow>
<mml:mtable class="cases">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msup>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</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>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msup>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</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>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(1)</label>
</disp-formula>where <italic>N</italic>
<sub>
<italic>r</italic>
</sub> is the number of drugs and <italic>M</italic>
<sup>
<italic>k</italic>
</sup>(<italic>k</italic> &#x3d; <italic>chem</italic>, <italic>dise</italic>) is the degree of similarity determined based on the drug&#x2019;s chemical makeup and the disease it treats.</p>
<p>When two drugs <italic>r</italic>
<sub>
<italic>i</italic>
</sub> and <italic>r</italic>
<sub>
<italic>j</italic>
</sub> have more common chemical substructures, their functions are usually more similar. Based on this biological premise, the previous methods (<xref ref-type="bibr" rid="B18">Liang et al., 2017</xref>; <xref ref-type="bibr" rid="B41">Zhao et al., 2022</xref>) calculated the drug similarities by the cosine similarity measure on their chemical substructures. When calculating <italic>M</italic>
<sup>
<italic>dise</italic>
</sup>, two drugs share more associated diseases and have a higher similarity. Using Wang et al.&#x2019;s method, taking drugs <italic>r</italic>
<sub>
<italic>i</italic>
</sub> and <italic>r</italic>
<sub>
<italic>j</italic>
</sub> as an example, we first obtain the disease set <inline-formula id="inf1">
<mml:math id="m2">
<mml:msub>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22ef;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> associated with <italic>r</italic>
<sub>
<italic>i</italic>
</sub> and the disease set <inline-formula id="inf2">
<mml:math id="m3">
<mml:msub>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22ef;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> associated with <italic>r</italic>
<sub>
<italic>j</italic>
</sub>. We then take the similarity between <italic>D</italic>
<sub>
<italic>ri</italic>
</sub> and <italic>D</italic>
<sub>
<italic>rj</italic>
</sub> as the similarity between drugs <italic>r</italic>
<sub>
<italic>i</italic>
</sub> and <italic>r</italic>
<sub>
<italic>i</italic>
</sub>.</p>
<p>The matrix <italic>S</italic> depicts the side effect similarities.<disp-formula id="e2">
<mml:math id="m4">
<mml:mi>S</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</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>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:math>
<label>(2)</label>
</disp-formula>where <italic>N</italic>
<sub>
<italic>s</italic>
</sub> represents the number of nodes with side effects. Side effects <italic>s</italic>
<sub>
<italic>i</italic>
</sub> and <italic>s</italic>
<sub>
<italic>j</italic>
</sub> are more likely to be similar when they share more associated drugs. Therefore, using the technique of Wang et al., first of all, we obtained the drug sets <italic>M</italic>
<sub>
<italic>si</italic>
</sub> and <italic>M</italic>
<sub>
<italic>sj</italic>
</sub> associated with side effects <italic>s</italic>
<sub>
<italic>i</italic>
</sub> and <italic>s</italic>
<sub>
<italic>j</italic>
</sub>. Then, we calculated the similarity between the drug sets <italic>M</italic>
<sub>
<italic>si</italic>
</sub> and <italic>M</italic>
<sub>
<italic>sj</italic>
</sub>, and the outcome served as a measure of how closely side effects <italic>s</italic>
<sub>
<italic>i</italic>
</sub> and <italic>s</italic>
<sub>
<italic>j</italic>
</sub> are related. The side effect similarity matrix was then obtained. (<italic>S</italic>)<sub>
<italic>ij</italic>
</sub> indicates the degree of similarity between <italic>s</italic>
<sub>
<italic>i</italic>
</sub> and <italic>s</italic>
<sub>
<italic>j</italic>
</sub>, varying from 0 to 1; the higher the value, the higher the corresponding similarity.</p>
<p>The matrix <italic>O</italic> represents the known relationship between a drug and a side effect.<disp-formula id="e3">
<mml:math id="m5">
<mml:mi>O</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>O</mml:mi>
</mml:mrow>
</mml:mfenced>
</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>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:math>
<label>(3)</label>
</disp-formula>where <italic>N</italic>
<sub>
<italic>r</italic>
</sub> drugs have been associated with <italic>N</italic>
<sub>
<italic>s</italic>
</sub> side effects based on observed drug&#x2013;side effect correlations. Each row is a drug, and each column is a side effect. (<italic>O</italic>)<sub>
<italic>ij</italic>
</sub> is set to 1 if the drug <italic>r</italic>
<sub>
<italic>i</italic>
</sub> is associated with the side effect <italic>s</italic>
<sub>
<italic>j</italic>
</sub> and 0 otherwise.</p>
<p>To integrate the multiple associations between drug side effects, we constructed two heterogeneous graphs and denoted their adjacency matrices as <italic>A</italic>
<sup>
<italic>chem</italic>
</sup> and <italic>A</italic>
<sup>
<italic>dise</italic>
</sup>. We built edges based on instances of known drug&#x2013;side effect correlations, connecting <italic>N</italic>
<sub>
<italic>r</italic>
</sub> drugs and <italic>N</italic>
<sub>
<italic>s</italic>
</sub> side effect nodes based on the cases of known drug&#x2013;side effect relationships. When (<italic>O</italic>)<sub>
<italic>ij</italic>
</sub> &#x3d; 1, we connect <italic>r</italic>
<sub>
<italic>i</italic>
</sub> to <italic>s</italic>
<sub>
<italic>j</italic>
</sub>.<disp-formula id="e4">
<mml:math id="m6">
<mml:msup>
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi>O</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mi>O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi>S</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:math>
<label>(4)</label>
</disp-formula>where <italic>N</italic>
<sub>
<italic>v</italic>
</sub> denotes the total number of nodes for drugs and side effects <italic>N</italic>
<sub>
<italic>v</italic>
</sub> &#x3d; <italic>N</italic>
<sub>
<italic>r</italic>
</sub> &#x2b; <italic>N</italic>
<sub>
<italic>s</italic>
</sub>. The transposed matrix of <italic>O</italic> is defined as <italic>O</italic>
<sup>
<italic>T</italic>
</sup>. The similarities and associations associated with a drug or side effect node can be considered its attributes. Therefore, it can be considered an attribute matrix, denoted <italic>H</italic>
<sup>
<italic>k</italic>
</sup>.</p>
</sec>
</sec>
</sec>
<sec id="s2-3">
<title>2.3 Network-level enhanced topological representation learning</title>
<p>We built a drug&#x2013;side effect association prediction model with an SCC and GAN with a representation-level attention (RLA) method. Modules based on GAN and SCC are used to learn the topological representation of network-level enhancements in drug&#x2013;side effect heterogeneous graphs and the self-calibrated node&#x2013;pair attribute representation, respectively.</p>
<sec id="s2-3-1">
<title>2.3.1 Enhanced topological representation learning based on GAN</title>
<p>Given two drug&#x2013;side effects heterogeneous graphs, each network has its own unique characteristics, and we suggest an independent graph convolutional generation adversarial learning technique to individually encode the topological information of each heterogeneous graph. The module comprises the generator <italic>G</italic> and the discriminator <italic>D</italic> (<xref ref-type="fig" rid="F1">Figure 1B</xref>). Adversarial learning between generators and discriminators forms a topological representation. Since the learning strategies are similar for drug&#x2013;side effect heterogeneous graphs <italic>G</italic>
<sup>
<italic>chem</italic>
</sup> and <italic>G</italic>
<sup>
<italic>dise</italic>
</sup>, we describe <italic>G</italic>
<sup>
<italic>chem</italic>
</sup> as an example.</p>
<sec id="s2-3-1-1">
<title>Generators based on graph convolutional selfencoders</title>
<p>We consider the attribute matrix <inline-formula id="inf3">
<mml:math id="m7">
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mo>H</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2227;</mml:mo>
</mml:mrow>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
<sup>
<italic>chem</italic>
</sup> generated by the generator comprising all nodes as a false sample. The primary purpose of the generator is to make the generated matrices as close as possible to the original attribute matrix <italic>H</italic>
<sup>
<italic>chem</italic>
</sup>. As shown in <xref ref-type="fig" rid="F1">Figure 1</xref>, the generator <italic>G</italic> encodes the provided attribute matrix.</p>
</sec>
<sec id="s2-3-1-2">
<title>Encoder</title>
<p>First, <italic>A</italic>
<sup>
<italic>chem</italic>
</sup> is an adjacency matrix with node self-connections. <inline-formula id="inf4">
<mml:math id="m8">
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> can be obtained by Laplace normalization.<disp-formula id="e5">
<mml:math id="m9">
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mfrac>
<mml:mrow>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mfrac>
<mml:mrow>
<mml:mn mathvariant="normal">1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:math>
<label>(5)</label>
</disp-formula>where <inline-formula id="inf5">
<mml:math id="m10">
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</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="normal">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> and <italic>D</italic>
<sup>
<italic>chem</italic>
</sup> is the degree matrix of <italic>A</italic>
<sup>
<italic>chem</italic>
</sup>. In order to learn the topological representation of network-level enhancements, the normalized adjacency matrix <inline-formula id="inf6">
<mml:math id="m11">
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> and the original attribute matrix <italic>H</italic>
<sup>
<italic>chem</italic>
</sup> are fed together into the <italic>L</italic>-<italic>th</italic> coding layer of the generator, denoted as<disp-formula id="e6">
<mml:math id="m12">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c6;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(6)</label>
</disp-formula>
<disp-formula id="e7">
<mml:math id="m13">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c6;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(7)</label>
</disp-formula>where <italic>L</italic> &#x2208; [2, <italic>L</italic>
<sub>
<italic>en</italic>
</sub>], where <italic>L</italic>
<sub>
<italic>en</italic>
</sub> represents the overall number of coding layers, and <italic>&#x3c6;</italic> represents the rectified linear unit (ReLU), the activation function. The weight matrices for the first and <italic>L</italic>-<italic>th</italic> layer graph convolution encoders are denoted <inline-formula id="inf7">
<mml:math id="m14">
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf8">
<mml:math id="m15">
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, respectively. In addition, <inline-formula id="inf9">
<mml:math id="m16">
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf10">
<mml:math id="m17">
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> are the corresponding coded outputs for layers 1 and <italic>L</italic>, respectively. The output of the final coding layer is <inline-formula id="inf11">
<mml:math id="m18">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, where <italic>N</italic>
<sub>
<italic>f</italic>
</sub> is the dimension of the dimensionality of the reduced feature vector, which contains the representative information of all nodes, denoted <inline-formula id="inf12">
<mml:math id="m19">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>.</p>
</sec>
<sec id="s2-3-1-3">
<title>Decoder</title>
<p>Decoder is a graph convolutional neural network-based framework for reconstructing the original matrix of drug side effect nodes. We mapped the topology representation back to the original space using a decoder. We then calculated the loss between the reconstructed matrix <inline-formula id="inf13">
<mml:math id="m20">
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mo>H</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2227;</mml:mo>
</mml:mrow>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
<sup>
<italic>chem</italic>
</sup> and the original matrix <italic>H</italic>
<sup>
<italic>chem</italic>
</sup> to obtain a better encoding for predicting drug&#x2013;side effect associations. The decoding matrices <inline-formula id="inf14">
<mml:math id="m21">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf15">
<mml:math id="m22">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> of the first and <italic>L</italic>-<italic>th</italic> layers are represented as follows:<disp-formula id="e8">
<mml:math id="m23">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c6;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(8)</label>
</disp-formula>
<disp-formula id="e9">
<mml:math id="m24">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c6;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(9)</label>
</disp-formula>where <inline-formula id="inf16">
<mml:math id="m25">
<mml:mi>L</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> and <italic>L</italic>
<sub>
<italic>de</italic>
</sub> represent the overall quantity of the decoding layers. The weight matrices for the first and <italic>L</italic>-<italic>th</italic> decoding layers are denoted as <inline-formula id="inf17">
<mml:math id="m26">
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf18">
<mml:math id="m27">
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, respectively. <inline-formula id="inf19">
<mml:math id="m28">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf20">
<mml:math id="m29">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> are the outputs of the corresponding decoding layers. The output of the final decoding layer <inline-formula id="inf21">
<mml:math id="m30">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is renamed <inline-formula id="inf22">
<mml:math id="m31">
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mo>H</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2227;</mml:mo>
</mml:mrow>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
<sup>
<italic>chem</italic>
</sup>.</p>
</sec>
<sec id="s2-3-1-4">
<title>Discriminator based on MLP</title>
<p>The original matrix <italic>H</italic>
<sup>
<italic>chem</italic>
</sup> and the reconstructed matrix <inline-formula id="inf23">
<mml:math id="m32">
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:mo>H</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2227;</mml:mo>
</mml:mrow>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
<sup>
<italic>chem</italic>
</sup> generated by the generator are provided as input to the discriminator <italic>D</italic> and are considered true and false samples, respectively. The discriminator attempts to distinguish between true and false samples, enabling the generator to obtain a more accurate topology representation of <inline-formula id="inf24">
<mml:math id="m33">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>. The discriminator essentially evaluates the likelihood that the input sample is true or false. The discriminator should assign a high score to true samples and a low score to false samples. Let <inline-formula id="inf25">
<mml:math id="m34">
<mml:msubsup>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> represent the discriminator&#x2019;s hidden layer output. The input is flattened to obtain a vector <italic>h</italic>
<sup>
<italic>chem</italic>
</sup> to feed into the discriminator to obtain the score distribution of the input samples.<disp-formula id="e10">
<mml:math id="m35">
<mml:msubsup>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c6;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(10)</label>
</disp-formula>
<disp-formula id="e11">
<mml:math id="m36">
<mml:msubsup>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c6;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(11)</label>
</disp-formula>where <italic>L</italic>
<sub>D</sub> is the total number of hidden layers in the discriminator, <inline-formula id="inf26">
<mml:math id="m37">
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf27">
<mml:math id="m38">
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> are the layer&#x2019;s weight matrix and bias vector, respectively, and <inline-formula id="inf28">
<mml:math id="m39">
<mml:msubsup>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf29">
<mml:math id="m40">
<mml:msubsup>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> are the output of the corresponding hidden layer, respectively. The final layer&#x2019;s activation function is <italic>soft</italic>&#x2009;max, while <italic>&#x3c6;</italic> represents the ReLU activation function.</p>
</sec>
<sec id="s2-3-1-5">
<title>Optimization</title>
<p>The optimization goal of learning topological representation based on GANs is that the generator generates a reconstruction matrix as close to the original matrix as possible, the discriminator more accurately distinguishes the original matrix from the reconstruction matrix, and both form an adversarial relationship. Their optimization functions are as follows:<disp-formula id="e12">
<mml:math id="m41">
<mml:mtable class="array">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:munder>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:munder>
<mml:munder>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mi>V</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x223c;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>log</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>D</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x223c;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>log</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>D</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(12)</label>
</disp-formula>where <bold>E</bold> represents the expectation and <italic>P</italic>
<sub>
<italic>data</italic>
</sub> represents the probability distribution of nodes in the original and reconstructed matrices. By maximizing the loss from the discriminator and minimizing the loss from the generator, they can achieve adversity with shared loss. The first expectation <inline-formula id="inf30">
<mml:math id="m42">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x223c;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mi>log</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> represents when the input is a true sample, and the second <inline-formula id="inf31">
<mml:math id="m43">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x223c;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>-</mml:mo>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> represents when the input is a false sample generated by the generator. The algorithm <italic>Adam</italic> is used to improve the loss function. The two heterogeneous graphs are fed into separate GANs to learn the corresponding topological representation matrices <inline-formula id="inf32">
<mml:math id="m44">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf33">
<mml:math id="m45">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, respectively.</p>
</sec>
</sec>
<sec id="s2-3-2">
<title>2.3.2 Attention mechanism at the representation level</title>
<p>Given the topological representation matrices <inline-formula id="inf34">
<mml:math id="m46">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf35">
<mml:math id="m47">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> of the nodes, the <italic>i</italic>-<italic>th</italic> row of <inline-formula id="inf36">
<mml:math id="m48">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> (<inline-formula id="inf37">
<mml:math id="m49">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>) is the topological vector of the node <italic>v</italic>
<sub>
<italic>i</italic>
</sub>. Different aspects of <inline-formula id="inf38">
<mml:math id="m50">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> contribute to the prediction of potentially important information. As the multiple topological representations have various contributions for the drug&#x2013;side effect association prediction, we designed an attention at the representation level to obtain the informative representations. The attention scores of the <italic>N</italic>
<sub>
<italic>f</italic>
</sub> features of the node <italic>v</italic>
<sub>
<italic>i</italic>
</sub> form a score vector <inline-formula id="inf39">
<mml:math id="m51">
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>.<disp-formula id="e13">
<mml:math id="m52">
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>y</mml:mi>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi>L</mml:mi>
<mml:mi>U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">fea</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2217;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">fea</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(13)</label>
</disp-formula>where <inline-formula id="inf40">
<mml:math id="m53">
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> represents the importance of the different features, <italic>Leaky</italic>ReLU represents the activation function, and <inline-formula id="inf41">
<mml:math id="m54">
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">fea</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf42">
<mml:math id="m55">
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">fea</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> represent the learnable weight matrix and bias vector, respectively. <italic>&#x3b1;</italic>
<sub>
<italic>ij</italic>
</sub> is the normalized attention score of the <italic>j</italic>-<italic>th</italic> feature in <inline-formula id="inf43">
<mml:math id="m56">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>.<disp-formula id="e14">
<mml:math id="m57">
<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:mfrac>
<mml:mrow>
<mml:mi>exp</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>exp</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
<p>Similarly, each feature of the vector <inline-formula id="inf44">
<mml:math id="m58">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is assigned an attention weight to form <inline-formula id="inf45">
<mml:math id="m59">
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, which is defined as<disp-formula id="e15">
<mml:math id="m60">
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>k</mml:mi>
<mml:mi>y</mml:mi>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi>L</mml:mi>
<mml:mi>U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">fea</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2217;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">fea</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(15)</label>
</disp-formula>where <italic>&#x3b2;</italic>
<sub>
<italic>ij</italic>
</sub> is the normalized attention weight of <inline-formula id="inf46">
<mml:math id="m61">
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>.<disp-formula id="e16">
<mml:math id="m62">
<mml:msub>
<mml:mrow>
<mml:mi>&#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:mfrac>
<mml:mrow>
<mml:mi>exp</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>exp</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:math>
<label>(16)</label>
</disp-formula>
</p>
<p>Therefore, the feature vector <italic>v</italic>
<sub>
<italic>i</italic>
</sub> obtained by augmenting the node with the attention mechanism can be expressed as <italic>h</italic>
<sub>
<italic>i</italic>
</sub>.<disp-formula id="e17">
<mml:math id="m63">
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2297;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2297;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(17)</label>
</disp-formula>where &#x201c;&#x2297;&#x201d; represents the element-by-element product operator. We perform an attention fusion operation on the feature vectors of each node in <inline-formula id="inf47">
<mml:math id="m64">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf48">
<mml:math id="m65">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> to generate an enhanced topological representation <inline-formula id="inf49">
<mml:math id="m66">
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> throughout the network. Obtaining the topological embedding of the pharmacological side effect nodes for <italic>r</italic>
<sub>
<italic>i</italic>
</sub>-<italic>s</italic>
<sub>
<italic>j</italic>
</sub>, we extract the vectors corresponding to the <italic>r</italic>
<sub>
<italic>i</italic>
</sub> and <italic>s</italic>
<sub>
<italic>j</italic>
</sub> in <italic>H</italic>
<sub>
<italic>en</italic>
</sub>, which are termed <italic>x</italic>
<sub>1</sub> and <italic>x</italic>
<sub>2</sub>, respectively. As shown in <xref ref-type="fig" rid="F1">Figure 1D</xref>, <italic>x</italic>
<sub>1</sub> and <italic>x</italic>
<sub>2</sub> form an <italic>r</italic>
<sub>
<italic>i</italic>
</sub>-<italic>s</italic>
<sub>
<italic>j</italic>
</sub> enhanced topological embedding by stacking them on top and bottom.<disp-formula id="e18">
<mml:math id="m67">
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">topo</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:math>
<label>(18)</label>
</disp-formula>
</p>
<p>We obtain the topological representation <italic>Z</italic>
<sub>
<italic>topo</italic>
</sub> of <italic>r</italic>
<sub>
<italic>i</italic>
</sub>-<italic>s</italic>
<sub>
<italic>j</italic>
</sub> by convolving <italic>X</italic>
<sub>
<italic>topo</italic>
</sub> fed into the two convolution-pooling layers.</p>
</sec>
</sec>
<sec id="s2-4">
<title>2.4 Pairwise attribute learning based on self-calibrated convolutional neural networks</title>
<sec id="s2-4-1">
<title>2.4.1 Embedding construction of a pair of drug and side effect nodes</title>
<p>Given the similarity of the two drugs, we propose a strategy to form an embedding of the nodes&#x2019; attributes. The embedding process is depicted in <xref ref-type="fig" rid="F1">Figure 1D</xref> using the example of <italic>r</italic>
<sub>
<italic>i</italic>
</sub> and <italic>s</italic>
<sub>
<italic>j</italic>
</sub>. Given the matrices <italic>M</italic>
<sup>
<italic>chem</italic>
</sup>, <italic>S</italic>, and <italic>O</italic>, we first splice the <italic>i</italic>-<italic>th</italic> row <inline-formula id="inf50">
<mml:math id="m68">
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> of <italic>M</italic>
<sup>
<italic>chem</italic>
</sup> and the <italic>i</italic>-<italic>th</italic> row <inline-formula id="inf51">
<mml:math id="m69">
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>O</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> of <italic>O</italic> to form the attribute vector <inline-formula id="inf52">
<mml:math id="m70">
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, which is denoted as<disp-formula id="e19">
<mml:math id="m71">
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>O</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:math>
<label>(19)</label>
</disp-formula>where <inline-formula id="inf53">
<mml:math id="m72">
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> represents how similar a drug&#x2019;s chemical structure is to all others. <inline-formula id="inf54">
<mml:math id="m73">
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>O</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> provides details on how each adverse effect is related to the drug <italic>r</italic>
<sub>
<italic>i</italic>
</sub>. &#x201c;&#x2016;&#x201d; is a splicing operation.</p>
<p>Then, the <italic>j</italic>-<italic>th</italic> row <inline-formula id="inf55">
<mml:math id="m74">
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> of <italic>O</italic>
<sup>
<italic>T</italic>
</sup> and the <italic>j</italic>-<italic>th</italic> row <inline-formula id="inf56">
<mml:math id="m75">
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> of <italic>S</italic> are spliced to form the attribute vector <italic>x</italic>
<sub>2</sub>, which is denoted as<disp-formula id="e20">
<mml:math id="m76">
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:math>
<label>(20)</label>
</disp-formula>where <inline-formula id="inf57">
<mml:math id="m77">
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and <inline-formula id="inf58">
<mml:math id="m78">
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> represent the relationship between <italic>s</italic>
<sub>
<italic>j</italic>
</sub> and all drugs and the similarity between <italic>s</italic>
<sub>
<italic>j</italic>
</sub> and all side effects, respectively. Finally, we stack <inline-formula id="inf59">
<mml:math id="m79">
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <italic>x</italic>
<sub>2</sub> to obtain the embedding matrix <italic>x</italic>
<sub>
<italic>chem</italic>
</sub>.<disp-formula id="e21">
<mml:math id="m80">
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">chem</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2217;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:math>
<label>(21)</label>
</disp-formula>
</p>
<p>Similarly, given a drug similarity matrix <italic>M</italic>
<sup>
<italic>dise</italic>
</sup>, a side effect similarity matrix <italic>S</italic>, and a drug&#x2013;side effect association matrix <italic>O</italic>, a second <italic>r</italic>
<sub>
<italic>i</italic>
</sub>-<italic>s</italic>
<sub>
<italic>j</italic>
</sub> pairwise attribute embedding matrix <inline-formula id="inf60">
<mml:math id="m81">
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">dise</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2217;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> is obtained using the same embedding strategy. Finally, <italic>X</italic>
<sub>
<italic>chem</italic>
</sub> and <italic>X</italic>
<sub>
<italic>dise</italic>
</sub> are stacked to form the attribute embedding matrix <inline-formula id="inf61">
<mml:math id="m82">
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2217;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>&#x2217;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>.</p>
</sec>
<sec id="s2-4-2">
<title>2.4.2 Self-calibrated pairwise attribute learning</title>
<p>For a pair of drug and side effect nodes, such as the drug <italic>r</italic>
<sub>
<italic>i</italic>
</sub> and the side effect <italic>s</italic>
<sub>
<italic>j</italic>
</sub>, each feature of the node pair has the context relationship with the features around it. To capture the context relationship, a self-calibrated convolution-based attribute learning module was constructed. The module obtained the attribute embedding in a small latent space by utilizing convolution with larger receptive fields, and then, the embedding was used to guide the pairwise attribute learning in the original features space.</p>
<p>
<italic>X</italic>
<sub>
<italic>att</italic>
</sub> undergoes average pooling to form a low-dimensional embedding of node pairs <italic>L</italic>.<disp-formula id="e22">
<mml:math id="m83">
<mml:mi>L</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mi>P</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>l</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(22)</label>
</disp-formula>
</p>
<p>The feature transformation of <italic>L</italic> uses convolution operations.<disp-formula id="e23">
<mml:math id="m84">
<mml:msubsup>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>B</mml:mi>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2217;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(23)</label>
</disp-formula>where <italic>B</italic>[&#x22c5;] is a bilinear interpolation operation that maps the convolved feature map from the latent space back to the original space, &#x201c;&#x2a;&#x201d; represents the convolution process, and <italic>&#x3c6;</italic> represents the activation function ReLU. <italic>W</italic>
<sub>
<italic>L</italic>
</sub> and <italic>b</italic>
<sub>
<italic>L</italic>
</sub> represent the weight matrix and deviation vector, respectively. The feature graph <inline-formula id="inf62">
<mml:math id="m85">
<mml:msubsup>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> obtained in the latent space is used to calibrate the feature embedding <italic>X</italic>
<sub>
<italic>att</italic>
</sub> in the original space, forming the calibration weight <italic>Y</italic>
<sub>
<italic>cal</italic>
</sub>.<disp-formula id="e24">
<mml:math id="m86">
<mml:msub>
<mml:mrow>
<mml:mi>Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">cal</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">cal</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2217;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">cal</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2297;</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2295;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(24)</label>
</disp-formula>where <italic>&#x3c3;</italic> is the activation function. &#x2295; and &#x2297; represent the element-by-element addition and multiplication operations, respectively. <italic>Y</italic>
<sub>
<italic>cal</italic>
</sub> passes through a convolution-pooling layer to deeply fuse the calibrated features to form <italic>Y</italic>
<sub>
<italic>att</italic>
</sub>.<disp-formula id="e25">
<mml:math id="m87">
<mml:msub>
<mml:mrow>
<mml:mi>Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</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:mi mathvariant="italic">cal</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2217;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">cal</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">cal</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(25)</label>
</disp-formula>
</p>
<p>The original feature embedding <italic>X</italic>
<sub>
<italic>att</italic>
</sub> is convolved to form the original feature graph, comprising the original feature information. <italic>X</italic>
<sub>
<italic>att</italic>
</sub> is not padded to preserve and learn its edge information, and <italic>Y</italic>
<sub>
<italic>ori</italic>
</sub> is obtained after two convolutional layers. Finally, <italic>Y</italic>
<sub>
<italic>att</italic>
</sub> and <italic>Y</italic>
<sub>
<italic>ori</italic>
</sub> are joined to form the calibrated <italic>r</italic>
<sub>
<italic>i</italic>
</sub> &#x2212; <italic>s</italic>
<sub>
<italic>j</italic>
</sub> attribute embedding matrix <italic>Z</italic>
<sub>
<italic>att</italic>
</sub>.<disp-formula id="e26">
<mml:math id="m88">
<mml:msub>
<mml:mrow>
<mml:mi>Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">ori</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(26)</label>
</disp-formula>
</p>
</sec>
</sec>
<sec id="s2-5">
<title>2.5 Final fusion and loss function</title>
<p>The learned topological representation <italic>Z</italic>
<sub>
<italic>topo</italic>
</sub> is first flattened into a vector <italic>z</italic>
<sub>
<italic>topo</italic>
</sub> and fed into the fully connected layer and <italic>soft</italic>&#x2009;max layer to obtain the association probability distribution of the drug <italic>r</italic>
<sub>
<italic>i</italic>
</sub> and the side effect <italic>s</italic>
<sub>
<italic>j</italic>
</sub>.<disp-formula id="e27">
<mml:math id="m89">
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">topo</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">topo</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">topo</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">topo</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(27)</label>
</disp-formula>where <italic>W</italic>
<sub>
<italic>topo</italic>
</sub> and <italic>b</italic>
<sub>
<italic>topo</italic>
</sub> are the weight matrix and deviation vector, respectively, and <italic>soft</italic>&#x2009;max is the activation function. In <inline-formula id="inf63">
<mml:math id="m90">
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">topo</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">topo</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">topo</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf64">
<mml:math id="m91">
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">topo</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and <inline-formula id="inf65">
<mml:math id="m92">
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">topo</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> represent the presence and absence of probabilities for an association between <italic>r</italic>
<sub>
<italic>i</italic>
</sub> and <italic>s</italic>
<sub>
<italic>j</italic>
</sub>, respectively. There is a loss of cross entropy between the true label of the drug&#x2013;side effect association and the expected likelihood <italic>score</italic>
<sub>
<italic>topo</italic>
</sub>, which is defined as<disp-formula id="e28">
<mml:math id="m93">
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">topo</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">label</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>log</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">topo</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">label</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">topo</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(28)</label>
</disp-formula>where <italic>T</italic> is a collection of training samples and <italic>y</italic>
<sub>
<italic>label</italic>
</sub> is the actual association between the nodes. <italic>y</italic>
<sub>
<italic>label</italic>
</sub> equals 1 if <italic>r</italic>
<sub>
<italic>i</italic>
</sub> is known to be associated with <italic>s</italic>
<sub>
<italic>j</italic>
</sub> and 0 otherwise.</p>
<p>The self-calibrating pairwise property representation <italic>Z</italic>
<sub>
<italic>att</italic>
</sub> is flattened into a vector <italic>z</italic>
<sub>
<italic>att</italic>
</sub> and fed into the fully connected and <italic>soft</italic>&#x2009;max layers. This module&#x2019;s prediction score <italic>score</italic>
<sub>
<italic>att</italic>
</sub> and the loss function <italic>loss</italic>
<sub>
<italic>att</italic>
</sub> are defined as follows:<disp-formula id="e29">
<mml:math id="m94">
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>max</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>Z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(29)</label>
</disp-formula>
<disp-formula id="e30">
<mml:math id="m95">
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:munderover accentunder="false" accent="true">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">label</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">label</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(30)</label>
</disp-formula>where <inline-formula id="inf66">
<mml:math id="m96">
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and <inline-formula id="inf67">
<mml:math id="m97">
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> represent the <italic>r</italic>
<sub>
<italic>i</italic>
</sub>-<italic>s</italic>
<sub>
<italic>j</italic>
</sub> correlation and non-correlation probabilities, respectively. The <italic>Adam</italic> algorithm was used to optimize the loss <italic>loss</italic>
<sub>
<italic>topo</italic>
</sub> and <italic>loss</italic>
<sub>
<italic>att</italic>
</sub>. Finally, we weighted <italic>score</italic>
<sub>
<italic>topo</italic>
</sub> and <italic>score</italic>
<sub>
<italic>att</italic>
</sub> and fused them to obtain the final correlation prediction score.<disp-formula id="e31">
<mml:math id="m98">
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">topo</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>s</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">att</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(31)</label>
</disp-formula>where hyperparameter <italic>&#x3bb;</italic>(<italic>&#x3bb;</italic> &#x2208; [0, 1]) is used to moderate the extent to which <italic>score</italic>
<sub>
<italic>topo</italic>
</sub> and <italic>score</italic>
<sub>
<italic>att</italic>
</sub> contribute to the final score.</p>
</sec>
</sec>
<sec id="s3">
<title>3 Experimental evaluations and discussion</title>
<sec id="s3-1">
<title>3.1 Evaluation metrics and parameter settings</title>
<p>The prediction performance of our model and other comparator models was assessed through five-fold cross validation. If a drug was observed to associate with a side effect by the biological experiments, the drug&#x2013;side effect node pair may be regarded as a positive sample. On the other hand, all the unobserved drug&#x2013;side effect node pairs are the negative samples. The number of positive samples and that of negative samples are 80,164 and 2,887,772, respectively, and their ratio is about 1:36. Thus, there is serious class imbalance for the positive samples and the negative ones. Five subsets of positive samples&#x2014;four used for training and one for testing&#x2014;were created by randomly equalizing all positive example samples. The same number of negative samples as the positive samples was selected for training, with the remainder used for testing.</p>
<p>The measures used in the evaluation process included the area under the receiver operating characteristic (ROC) curve (AUC), the area under the precision-recall curve (AUPR), and the recall rate for the top <italic>k</italic> candidates. The AUC is widely used to assess the performance of prediction models. Since there are much fewer negative than positive samples and the distribution is imbalanced, AUPR is more informative than AUC and helps assess the model&#x2019;s performance. We separately calculated the AUC and AUPR of each fold during cross validation, and the final findings were calculated using the five-fold cross validation&#x2019;s average AUC and AUPR. Typically, biologists choose the best candidates for additional validation. Therefore, we calculated the recall of the top <italic>k</italic> candidates (<italic>k</italic> &#x2208; [30, 60, &#x2026; , 240]); the higher the recall, the more positive samples the prediction model correctly identifies.</p>
<p>The filter size within all the convolutional operations and the window size are 2 &#xd7; 2. The GCN encoder has two encoding layers, and their feature dimensions are 2,500 and 1,500, respectively. The feature dimensions of the two decoding layers in the GCN decoder are set to 2,500 and 4,900, respectively. The dimensions of two hidden layers in the discriminator are 2,500 and 1,200. The topology representation fusion module contains two convolutional layers which have 16 and 32 filters. In the self-calibrated convolutional module, for the small feature space, the two convolutional layers have 1 and 32 filters, respectively. In terms of original feature space, the numbers of filters are 16 and 32, respectively. GGSC was developed on the PyTorch framework, and the server has a Nvidia GeForce GTX 2080Ti graphic card with 11 GB graphic memory.</p>
</sec>
<sec id="s3-2">
<title>3.2 Comparison with other methods</title>
<p>Six cutting-edge approaches for predicting pharmacological side effects were compared with GGSC, graph convolutional network-based risk stratification (GCRS), SDPred, Galeaon&#x2019;s method, random walk on a signed heterogeneous information network (RW-SHIN), Ding&#x2019;s method, and feature-derived graph regularized matrix factorization (FGRMF). In the cross-validation process, GGSC uses the same training and test sets as all comparison methods to compare the results more convincingly.</p>
<p>The average ROC and precision&#x2013;recall (PR) curves for all methods using 708 drugs are shown in <xref ref-type="fig" rid="F3">Figure 3</xref>. The average AUC of 0.969 of our GGSC model was 1.2% higher than that of the suboptimal GCRS, 2.3% higher than that of SDPred, 5.7% higher than Galeon&#x2019;s method, 7.7% higher than RW-SHIN, 2.4% higher than Ding&#x2019;s method, and 5.0% higher than FGRMF, respectively. Using 708 drugs, GGSC had the highest mean AUPR of 0.340, 6.8%, 11.4%, 20.9%, 24.1%, 14.9%, and 16.1% higher than GCRS, SDPred, and other methods, respectively.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>ROC curves and PR curves of our method and the compared methods for drug-side effect association prediction. <bold>(A)</bold> ROC curves <bold>(B)</bold> PR curves.</p>
</caption>
<graphic xlink:href="fphar-14-1257842-g003.tif"/>
</fig>
<p>After five-fold cross validation, we could obtain the average AUC and AUPR for each of the 708 drugs. We performed a Wilcoxon test on the 708 AUCs and AUPRs to determine whether performance differed significantly among methods (<xref ref-type="table" rid="T1">Table 1</xref>). These results showed that our method GGSC significantly outperformed the other prediction methods, when the <italic>p</italic>-value is always less than 0.05.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Results of the paired Wilcoxon test on the AUCs and AUPRs over all the 708 drugs by comparing GGSC and other methods.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">
</th>
<th align="center">GCRS</th>
<th align="center">SDPred</th>
<th align="center">Galeaon&#x2019;s method</th>
<th align="center">RW-SHIN</th>
<th align="center">Ding&#x2019;s method</th>
<th align="center">FGRMF</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">
<italic>p</italic>-value of AUC</td>
<td align="center">1.7687-10</td>
<td align="center">6.0316e-12</td>
<td align="center">9.3621e-36</td>
<td align="center">2.6478e-37</td>
<td align="center">5.1475e-42</td>
<td align="center">4.6142e-54</td>
</tr>
<tr>
<td align="center">
<italic>p</italic>-value of AUPR</td>
<td align="center">6.2487e-14</td>
<td align="center">6.3164e-15</td>
<td align="center">3.2266e-32</td>
<td align="center">7.3184e-42</td>
<td align="center">8.2642e-46</td>
<td align="center">7.3242e-58</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Among the compared methods, our GGSC method performed best, followed by GCRS. SDPred and Ding&#x2019;s method integrate multiple drug similarities but ignore the heterogeneous graph&#x2019;s topological information, so they do not perform as well as our GGSC method. FGRMF and Galeaon&#x2019;s method are shallow prediction models that use matrix decomposition to predict drug-related side effects, which cannot effectively learn the deep associations between drug and side effect nodes, resulting in slightly worse performance. These findings show that RW-SHIN performs worse than other methods because it learns the topological information of medication nodes but not of side effect nodes. GGSC method&#x2019;s better performance is mainly attributed to adversarial learning to obtain topological information and self-calibration learning to obtain node&#x2013;pair properties. A higher recall of the top <italic>k</italic> candidate drug&#x2013;side effect associations indicates that more true associations are correctly identified. <xref ref-type="fig" rid="F4">Figure 4</xref> shows that the GGSC method had consistently higher recall than the other methods for different values of <italic>k</italic>. When considering <italic>k</italic> &#x3d; 30, GGSC had the highest recall (52.5%) and GCRS the second highest (47.0%).</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Recall rates of all the prediction methods at various top <italic>k</italic> values.</p>
</caption>
<graphic xlink:href="fphar-14-1257842-g004.tif"/>
</fig>
<p>Other methods had recall rates of 41.8%, 32.2%, 23.7%, 35.4%, and 32.8%, respectively. GGSC still performed best at values of <italic>k</italic> of 60, 90, and 120, with recall rates of 64.6%, 70.9%, and 75.2%, respectively. The second best performing method was GCRS, with recall rates of 59.6%, 66.8%, and 71.8%, respectively. The third best performing method was SDPred, with recall rates of 54.9%, 62.3%, and 67.4%, respectively. Ding&#x2019;s method (48.1%, 56.2%, and 62.1%, respectively) and FGRMF (45.2%, 52.5%, and 58.1%, respectively) consistently outperformed Galeaon&#x2019;s method (43.6%, 51.6%, and 56.8%, respectively). RW-SHIN consistently performed the worst, with recall rates of 34.3%, 41.2%, and 47.1%, respectively.</p>
</sec>
<sec id="s3-3">
<title>3.3 Ablation studies</title>
<p>We performed ablation experiments to confirm the contributions of the main innovations, including topological representation learning based on generative adversarial (TGA), RLA, and self-calibrated pairwise attribute (SCPA) learning (<xref ref-type="table" rid="T2">Table 2</xref>). The complete model, GGSC with TGA, RLA, and SCPA, performed best, with an AUC of 0.969 and AUPR of 0.340. For the model without TGA, the AUC and AUPR decreased by 1.5% and 3.8%, respectively, compared to the full model. These results show that topological representation learning helps to improve the model&#x2019;s prediction performance. For the model without RLA, the AUC and AUPR fell by 1.0% and 4.2%, respectively, compared to the full model. The possible reason is that RLA assigns more weight to topological representations that are more informative, which helps the model capture more important features. For the model without SCPA, the AUC and AUPR declined by 2.6% and 3.1%, respectively, compared to the full prediction model. The main reason was that self-calibration enables learning more comprehensive information about the nodes&#x2019; neighboring nodes. This analysis demonstrates the respective contributions of TGA, RLA, and SCPA. The ablation experiment results show that SCPA learning provided the greatest enhancement to the drug&#x2013;side effect association prediction model.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Ablation study results of our method.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">TGA</th>
<th align="center">RLA</th>
<th align="center">SCPA</th>
<th align="center">Average AUC</th>
<th align="center">Average AUPR</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">&#xd7;</td>
<td align="center">&#xd7;</td>
<td align="center">
<italic>&#x2713;</italic>
</td>
<td align="center">0.954</td>
<td align="center">0.302</td>
</tr>
<tr>
<td align="center">
<italic>&#x2713;</italic>
</td>
<td align="center">&#xd7;</td>
<td align="center">
<italic>&#x2713;</italic>
</td>
<td align="center">0.959</td>
<td align="center">0.298</td>
</tr>
<tr>
<td align="center">
<italic>&#x2713;</italic>
</td>
<td align="center">
<italic>&#x2713;</italic>
</td>
<td align="center">&#xd7;</td>
<td align="center">0.943</td>
<td align="center">0.309</td>
</tr>
<tr>
<td align="center">
<italic>&#x2713;</italic>
</td>
<td align="center">
<italic>&#x2713;</italic>
</td>
<td align="center">
<italic>&#x2713;</italic>
</td>
<td align="center">
<bold>0.969</bold>
</td>
<td align="center">
<bold>0.340</bold>
</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>The bold value means the highest AUC (AUPR).</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
<sec id="s3-4">
<title>3.4 Case studies on five drugs and prediction of novel drug-related side effects</title>
<p>To further demonstrate our GGSC model&#x2019;s ability to detect potentially relevant pharmacological adverse effects, we conducted case studies on five drugs: fluoxetine, lenalidomide, sumatriptan, risperidone, and aripiprazole. We obtained the drug&#x2019;s associated candidate side effects and corresponding association scores, and all candidates were sorted in descending order. <xref ref-type="table" rid="T3">Tables 3</xref>&#x2013;<xref ref-type="table" rid="T7">7</xref> list the top 15 probable side effects for each of these five drugs.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Top 15 candidate side effects of fluoxetine.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Drug</th>
<th align="center">Rank</th>
<th align="left">Side effect</th>
<th align="left">Evidence</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="15" align="center">Fluoxetine</td>
<td align="center">1</td>
<td align="left">Anorexia</td>
<td align="left">Drugcentral, MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">2</td>
<td align="left">Thrombocythemia</td>
<td align="left">Rxlist</td>
</tr>
<tr>
<td align="center">3</td>
<td align="left">Colonorrhagia</td>
<td align="left">MetaADEDB, SIDER</td>
</tr>
<tr>
<td align="center">4</td>
<td align="left">Cataract</td>
<td align="left">Drugcentral, MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">5</td>
<td align="left">Hyponatremia</td>
<td align="left">MetaADEDB, Rxlist</td>
</tr>
<tr>
<td align="center">6</td>
<td align="left">Hypoventilation</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">7</td>
<td align="left">Fibroids</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">8</td>
<td align="left">Ecchymosis</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">9</td>
<td align="left">Abdominal syndrome acute</td>
<td align="left">Rxlist</td>
</tr>
<tr>
<td align="center">10</td>
<td align="left">Neuritis</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">11</td>
<td align="left">Optic neuritis</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">12</td>
<td align="left">Purpura</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">13</td>
<td align="left">Osteomyelitis</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">14</td>
<td align="left">Hypertensive</td>
<td align="left">Rxlist</td>
</tr>
<tr>
<td align="center">15</td>
<td align="left">Somnolence</td>
<td align="left">Drugcentral, MetaADEDB, Rxlist, SIDER</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Top 15 candidate side effects of lenalidomide.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Drug</th>
<th align="center">Rank</th>
<th align="left">Side effect</th>
<th align="left">Evidence</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="15" align="center">Lenalidomide</td>
<td align="center">1</td>
<td align="left">Supraventricular arrhythmia</td>
<td align="left">Rxlist</td>
</tr>
<tr>
<td align="center">2</td>
<td align="left">Thrombophlebitis superficial</td>
<td align="left">Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">3</td>
<td align="left">Dermatitis</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">4</td>
<td align="left">Pemphigus</td>
<td align="left">Drugcentral</td>
</tr>
<tr>
<td align="center">5</td>
<td align="left">Abdominal pain</td>
<td align="left">Drugcentral, MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">6</td>
<td align="left">Dysarthria</td>
<td align="left">Drugcentral, MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">7</td>
<td align="left">Easy bruising</td>
<td align="left">Rxlist</td>
</tr>
<tr>
<td align="center">8</td>
<td align="left">Febrile neutropenia</td>
<td align="left">Drugcentral, MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">9</td>
<td align="left">Abdominal tenderness</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">10</td>
<td align="left">Stiffness</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">11</td>
<td align="left">Allergic rhinitis</td>
<td align="left">Drugcentral, Rxlist</td>
</tr>
<tr>
<td align="center">12</td>
<td align="left">Angioedema</td>
<td align="left">Drugcentral, MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">13</td>
<td align="left">Asthma</td>
<td align="left">Drugcentral, MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">14</td>
<td align="left">Conjunctivitis</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">15</td>
<td align="left">Dyspepsia</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Top 15 candidate side effects of sumatriptan.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Drug</th>
<th align="center">Rank</th>
<th align="left">Side effect</th>
<th align="left">Evidence</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="15" align="center">Sumatriptan</td>
<td align="center">1</td>
<td align="left">Abnormal pulse</td>
<td align="left">Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">2</td>
<td align="left">Flatulence</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">3</td>
<td align="left">Dehydration</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">4</td>
<td align="left">Viral infection</td>
<td align="left">Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">5</td>
<td align="left">Apathy</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">6</td>
<td align="left">Keratitis</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">7</td>
<td align="left">Sedation</td>
<td align="left">Rxlist</td>
</tr>
<tr>
<td align="center">8</td>
<td align="left">Chest pressure</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">9</td>
<td align="left">Retinal vascular occlusion</td>
<td align="left">MetaADEDB, SIDER</td>
</tr>
<tr>
<td align="center">10</td>
<td align="left">Optic neuropathy</td>
<td align="left">MetaADEDB, Rxlist</td>
</tr>
<tr>
<td align="center">11</td>
<td align="left">Panic disorder</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">12</td>
<td align="left">Enzymatic abnormality</td>
<td align="left">MetaADEDB</td>
</tr>
<tr>
<td align="center">13</td>
<td align="left">Discomfort</td>
<td align="left">Drugcentral, MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">14</td>
<td align="left">Ulcer</td>
<td align="left">MetaADEDB, Rxlist</td>
</tr>
<tr>
<td align="center">15</td>
<td align="left">Convulsions</td>
<td align="left">Rxlist</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>Top 15 candidate side effects of risperidone.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Drug</th>
<th align="center">Rank</th>
<th align="left">Side effect</th>
<th align="left">Evidence</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="15" align="center">Risperidone</td>
<td align="center">1</td>
<td align="left">Vomiting</td>
<td align="left">Drugcentral, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">2</td>
<td align="left">Transient blindness</td>
<td align="left">Drugcentral, MetaADEDB</td>
</tr>
<tr>
<td align="center">3</td>
<td align="left">Bradycardia</td>
<td align="left">Drugcentral, MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">4</td>
<td align="left">Apnea</td>
<td align="left">Rxlist</td>
</tr>
<tr>
<td align="center">5</td>
<td align="left">Nightmares</td>
<td align="left">Rxlist</td>
</tr>
<tr>
<td align="center">6</td>
<td align="left">Mediastinal disorders</td>
<td align="left">Drugcentral, MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">7</td>
<td align="left">Superficial phlebitis</td>
<td align="left">Rxlist</td>
</tr>
<tr>
<td align="center">8</td>
<td align="left">Hyperglycemia</td>
<td align="left">MetaADEDB, Rxlist</td>
</tr>
<tr>
<td align="center">9</td>
<td align="left">Rectal hemorrhage</td>
<td align="left">Rxlist</td>
</tr>
<tr>
<td align="center">10</td>
<td align="left">Female breast pain</td>
<td align="left">MetaADEDB, Rxlist</td>
</tr>
<tr>
<td align="center">11</td>
<td align="left">Flu</td>
<td align="left">Rxlist</td>
</tr>
<tr>
<td align="center">12</td>
<td align="left">Cyst</td>
<td align="left">Drugcentral, MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">13</td>
<td align="left">Supraventricular extrasystoles</td>
<td align="left">Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">14</td>
<td align="left">Generalized edema</td>
<td align="left">Rxlist</td>
</tr>
<tr>
<td align="center">15</td>
<td align="left">Dysphagia</td>
<td align="left">Drugcentral, Rxlist, SIDER</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T7" position="float">
<label>TABLE 7</label>
<caption>
<p>Top 15 candidate side effects of aripiprazole.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Drug</th>
<th align="center">Rank</th>
<th align="left">Side effect</th>
<th align="left">Evidence</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="15" align="center">Aripiprazole</td>
<td align="center">1</td>
<td align="left">Dry eyes</td>
<td align="left">Rxlist</td>
</tr>
<tr>
<td align="center">2</td>
<td align="left">Decreased appetite</td>
<td align="left">Drugcentral, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">3</td>
<td align="left">Inguinal hernia</td>
<td align="left">SIDER</td>
</tr>
<tr>
<td align="center">4</td>
<td align="left">Anger</td>
<td align="left">Drugcentral, MetaADEDB, SIDER</td>
</tr>
<tr>
<td align="center">5</td>
<td align="left">Neuroleptic malignant</td>
<td align="left">Drugcentral, MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">6</td>
<td align="left">Reflux</td>
<td align="left">Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">7</td>
<td align="left">Thrombocythemia</td>
<td align="left">MetaADEDB</td>
</tr>
<tr>
<td align="center">8</td>
<td align="left">Dysphemia</td>
<td align="left">Drugcentral, MetaADEDB, SIDER</td>
</tr>
<tr>
<td align="center">9</td>
<td align="left">Groin pain</td>
<td align="left">Drugcentral, MetaADEDB, Rxlist</td>
</tr>
<tr>
<td align="center">10</td>
<td align="left">Hypoglycemic reaction</td>
<td align="left">MetaADEDB, Drugcentral, Rxlist</td>
</tr>
<tr>
<td align="center">11</td>
<td align="left">Conjunctivitis</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">12</td>
<td align="left">Formication</td>
<td align="left">MetaADEDB, SIDER</td>
</tr>
<tr>
<td align="center">13</td>
<td align="left">Thrombophlebitis</td>
<td align="left">MetaADEDB, Rxlist, SIDER</td>
</tr>
<tr>
<td align="center">14</td>
<td align="left">Weight fluctuation</td>
<td align="left">Drugcentral, MetaADEDB, Rxlist</td>
</tr>
<tr>
<td align="center">15</td>
<td align="left">Abnormal dreams</td>
<td align="left">MetaADEDB, Rxlist</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Online database MetaADEDB containing comprehensive information on adverse drug events (ADEs), covering 744,709 associations between 8,498 drugs and 13,193 ADEs confirmed by clinical trials (<xref ref-type="bibr" rid="B15">Kuhn et al., 2016</xref>; <xref ref-type="bibr" rid="B21">Luo et al., 2017</xref>; <xref ref-type="bibr" rid="B35">Xuan et al., 2022</xref>). DrugCentral contains 4,927 drugs approved by regulatory authorities such as the European Medicines Agency, providing a resource for information on ADEs, indications, and more (<xref ref-type="bibr" rid="B24">Nair and Hinton, 2010</xref>; <xref ref-type="bibr" rid="B32">Wang et al., 2010</xref>; <xref ref-type="bibr" rid="B4">Davis et al., 2021</xref>). RxList contains information on drug descriptions and side effects in physicians&#x2019; articles and authoritative websites and supports <inline-formula id="inf68">
<mml:math id="m99">
<mml:mo>&#x3e;</mml:mo>
</mml:math>
</inline-formula> 5,000 drugs online (<xref ref-type="bibr" rid="B10">Hajian-Tilaki, 2013</xref>; <xref ref-type="bibr" rid="B27">Saito and Rehmsmeier, 2015</xref>). SIDER contains information on 1,430 drugs that have been marketed and their recorded ADEs from public documents and package inserts (<xref ref-type="bibr" rid="B30">Steigerwalt, 2015</xref>; <xref ref-type="bibr" rid="B1">Avram et al., 2021</xref>; <xref ref-type="bibr" rid="B37">Yu et al., 2021</xref>). <xref ref-type="table" rid="T3">Tables 3</xref>&#x2013;<xref ref-type="table" rid="T7">7</xref> show that 45 candidate side effects were recorded in MetaADEDB, 21 in DrugCentral, 60 in RxList, and 50 in SIDER. This result suggests that the drug candidates are associated with the corresponding side effects. The five drug case studies demonstrate GGSC&#x2019;s ability to identify drugs&#x2019; potentially relevant side effects.</p>
<p>Following a thorough evaluation of the GGSC model&#x2019;s performance, we used the training model to forecast 708 potential drug-associated side effects. <xref ref-type="sec" rid="s10">Supplementary Table ST1</xref> lists the top 30 potential side effects for each drug predicted by our model to aid biologists in their ongoing efforts to identify new side effects for drugs through biological testing.</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s4">
<title>4 Conclusion</title>
<p>We proposed a method to encode and fuse multiple types of similarities and associations from multiple heterogeneous graphs to predict drug-related candidate side effects. The constructed two drug&#x2013;side effect heterogeneous graphs facilitate the formation of their specific topological embeddings based on the generative and adversarial strategy. The generator and the discriminator were constructed based on graph convolutional autoencoder and MLP, and then, the enhanced topological representations of the drug and side effect nodes were learned. The representation level attention was designed to assign higher weights to those more important topological representations. In the constructed self-calibrated convolutional neural network module, the pairwise features extracted from the small latent feature space are able to guide the feature learning in the original feature space. The cross-validation experimental results indicated that GGSC outperformed the compared prediction models in terms of both AUC and AUPR. Additionally, GGSC retrieved more realistic drug&#x2013;side effect associations in the top-ranked candidate list, which makes it be more attractive to the biologists. GGSC&#x2019;s ability in discovering the potential drug&#x2013;side effect association candidates was further shown through case studies on five drug-related candidates.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s5">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/<xref ref-type="sec" rid="s10">Supplementary Material</xref>; further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s6">
<title>Author contributions</title>
<p>PX: writing&#x2013;original draft and methodology. KX: writing&#x2013;original draft and software. HC: writing&#x2013;review and editing. TN: writing&#x2013;review and editing, supervision, and validation. TZ: writing&#x2013;review and editing, methodology, and supervision.</p>
</sec>
<sec id="s7">
<title>Funding</title>
<p>The authors declare that financial support was received for the research, authorship, and/or publication of this article. This work was supported by the Natural Science Foundation of China (61972135 and 62172143), STU Scientific Research Initiation Grant (NTF22032), and the Natural Science Foundation of Heilongjiang Province (LH2023F044).</p>
</sec>
<sec sec-type="COI-statement" id="s8">
<title>Conflict of interest</title>
<p>The authors declare that the research 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="disclaimer" id="s9">
<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 id="s10">
<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.2023.1257842/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/fphar.2023.1257842/full&#x23;supplementary-material</ext-link>
</p>
<supplementary-material xlink:href="Table1.XLS" id="SM1" mimetype="application/XLS" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Avram</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Bologa</surname>
<given-names>C. G.</given-names>
</name>
<name>
<surname>Holmes</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Bocci</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Wilson</surname>
<given-names>T. B.</given-names>
</name>
<name>
<surname>Nguyen</surname>
<given-names>D.-T.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Drugcentral 2021 supports drug discovery and repositioning</article-title>. <source>Nucleic acids Res.</source> <volume>49</volume>, <fpage>D1160</fpage>&#x2013;<lpage>D1169</lpage>. <pub-id pub-id-type="doi">10.1093/nar/gkaa997</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bresso</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Grisoni</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Marchetti</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Karaboga</surname>
<given-names>A. S.</given-names>
</name>
<name>
<surname>Souchet</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Devignes</surname>
<given-names>M.-D.</given-names>
</name>
<etal/>
</person-group> (<year>2013</year>). <article-title>Integrative relational machine-learning for understanding drug side-effect profiles</article-title>. <source>BMC Bioinforma.</source> <volume>14</volume>, <fpage>207</fpage>&#x2013;<lpage>211</lpage>. <pub-id pub-id-type="doi">10.1186/1471-2105-14-207</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cakir</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Tuncer</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Taymaz-Nikerel</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Ulucan</surname>
<given-names>O.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Side effect prediction based on drug-induced gene expression profiles and random forest with iterative feature selection</article-title>. <source>Pharmacogenomics J.</source> <volume>21</volume>, <fpage>673</fpage>&#x2013;<lpage>681</lpage>. <pub-id pub-id-type="doi">10.1038/s41397-021-00246-4</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Davis</surname>
<given-names>A. P.</given-names>
</name>
<name>
<surname>Grondin</surname>
<given-names>C. J.</given-names>
</name>
<name>
<surname>Johnson</surname>
<given-names>R. J.</given-names>
</name>
<name>
<surname>Sciaky</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Wiegers</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wiegers</surname>
<given-names>T. C.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Comparative toxicogenomics database (ctd): update 2021</article-title>. <source>Nucleic Acids Res.</source> <volume>49</volume>, <fpage>D1138</fpage>&#x2013;<lpage>D1143</lpage>. <pub-id pub-id-type="doi">10.1093/nar/gkaa891</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dimitri</surname>
<given-names>G. M.</given-names>
</name>
<name>
<surname>Li&#xf3;</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Drugclust: a machine learning approach for drugs side effects prediction</article-title>. <source>Comput. Biol. Chem.</source> <volume>68</volume>, <fpage>204</fpage>&#x2013;<lpage>210</lpage>. <pub-id pub-id-type="doi">10.1016/j.compbiolchem.2017.03.008</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ding</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Identification of drug-side effect association via multiple information integration with centered kernel alignment</article-title>. <source>Neurocomputing</source> <volume>325</volume>, <fpage>211</fpage>&#x2013;<lpage>224</lpage>. <pub-id pub-id-type="doi">10.1016/j.neucom.2018.10.028</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ding</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Identification of drug-side effect association via semisupervised model and multiple kernel learning</article-title>. <source>IEEE J. Biomed. Health Inf.</source> <volume>23</volume>, <fpage>2619</fpage>&#x2013;<lpage>2632</lpage>. <pub-id pub-id-type="doi">10.1109/JBHI.2018.2883834</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Galeano</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Gerstein</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Paccanaro</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Predicting the frequencies of drug side effects</article-title>. <source>Nat. Commun.</source> <volume>11</volume>, <fpage>4575</fpage>. <pub-id pub-id-type="doi">10.1038/s41467-020-18305-y</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Guo</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A novel triple matrix factorization method for detecting drug-side effect association based on kernel target alignment</article-title>. <source>BioMed Res. Int.</source> <volume>2020</volume>, <fpage>4675395</fpage>. <pub-id pub-id-type="doi">10.1155/2020/4675395</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hajian-Tilaki</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Receiver operating characteristic (roc) curve analysis for medical diagnostic test evaluation</article-title>. <source>Casp. J. Intern. Med.</source> <volume>4</volume>, <fpage>627</fpage>&#x2013;<lpage>635</lpage>.</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hu</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Drug side-effect prediction via random walk on the signed heterogeneous drug network</article-title>. <source>Molecules</source> <volume>24</volume>, <fpage>3668</fpage>. <pub-id pub-id-type="doi">10.3390/molecules24203668</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Iorio</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Bosotti</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Scacheri</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Belcastro</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Mithbaokar</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Ferriero</surname>
<given-names>R.</given-names>
</name>
<etal/>
</person-group> (<year>2010</year>). <article-title>Discovery of drug mode of action and drug repositioning from transcriptional responses</article-title>. <source>Proc. Natl. Acad. Sci.</source> <volume>107</volume>, <fpage>14621</fpage>&#x2013;<lpage>14626</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.1000138107</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jiang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Qiu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Hou</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Cheng</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Yim</surname>
<given-names>M. Y.</given-names>
</name>
<name>
<surname>Ching</surname>
<given-names>W.-K.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Drug side-effect profiles prediction: from empirical to structural risk minimization</article-title>. <source>IEEE/ACM Trans. Comput. Biol. Bioinforma.</source> <volume>17</volume>, <fpage>402</fpage>&#x2013;<lpage>410</lpage>. <pub-id pub-id-type="doi">10.1109/TCBB.2018.2850884</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Joshi</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Masilamani</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Mukherjee</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A knowledge graph embedding based approach to predict the adverse drug reactions using a deep neural network</article-title>. <source>J. Biomed. Inf.</source> <volume>132</volume>, <fpage>104122</fpage>. <pub-id pub-id-type="doi">10.1016/j.jbi.2022.104122</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kuhn</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Letunic</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Jensen</surname>
<given-names>L. J.</given-names>
</name>
<name>
<surname>Bork</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>The sider database of drugs and side effects</article-title>. <source>Nucleic Acids Res.</source> <volume>44</volume>, <fpage>D1075</fpage>&#x2013;<lpage>D1079</lpage>. <pub-id pub-id-type="doi">10.1093/nar/gkv1075</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lee</surname>
<given-names>W.-P.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>J.-Y.</given-names>
</name>
<name>
<surname>Chang</surname>
<given-names>H.-H.</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>K.-T.</given-names>
</name>
<name>
<surname>Lai</surname>
<given-names>C.-T.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Predicting drug side effects using data analytics and the integration of multiple data sources</article-title>. <source>IEEE Access</source> <volume>5</volume>, <fpage>20449</fpage>&#x2013;<lpage>20462</lpage>. <pub-id pub-id-type="doi">10.1109/access.2017.2755045</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Butte</surname>
<given-names>A. J.</given-names>
</name>
<name>
<surname>Swamidass</surname>
<given-names>S. J.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>A survey of current trends in computational drug repositioning</article-title>. <source>Briefings Bioinforma.</source> <volume>17</volume>, <fpage>2</fpage>&#x2013;<lpage>12</lpage>. <pub-id pub-id-type="doi">10.1093/bib/bbv020</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Yan</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Fu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Peng</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Qu</surname>
<given-names>L.</given-names>
</name>
<etal/>
</person-group> (<year>2017</year>). <article-title>Lrssl: predict and interpret drug&#x2013;disease associations based on data integration using sparse subspace learning</article-title>. <source>Bioinformatics</source> <volume>33</volume>, <fpage>1187</fpage>&#x2013;<lpage>1196</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/btw770</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>X.-w.</given-names>
</name>
<etal/>
</person-group> (<year>2012</year>). <article-title>Large-scale prediction of adverse drug reactions using chemical, biological, and phenotypic properties of drugs</article-title>. <source>J. Am. Med. Inf. Assoc.</source> <volume>19</volume>, <fpage>e28</fpage>&#x2013;<lpage>e35</lpage>. <pub-id pub-id-type="doi">10.1136/amiajnl-2011-000699</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Luo</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Mikailov</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>K.</given-names>
</name>
<etal/>
</person-group> (<year>2011</year>). <article-title>Drar-cpi: a server for identifying drug repositioning potential and adverse drug reactions via the chemical&#x2013;protein interactome</article-title>. <source>Nucleic Acids Res.</source> <volume>39</volume>, <fpage>W492</fpage>&#x2013;<lpage>W498</lpage>. <pub-id pub-id-type="doi">10.1093/nar/gkr299</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Luo</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Kuang</surname>
<given-names>W.</given-names>
</name>
<etal/>
</person-group> (<year>2017</year>). <article-title>A network integration approach for drug-target interaction prediction and computational drug repositioning from heterogeneous information</article-title>. <source>Nat. Commun.</source> <volume>8</volume>, <fpage>573</fpage>. <pub-id pub-id-type="doi">10.1038/s41467-017-00680-8</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ma</surname>
<given-names>X.-J.</given-names>
</name>
<name>
<surname>Salunga</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Tuggle</surname>
<given-names>J. T.</given-names>
</name>
<name>
<surname>Gaudet</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Enright</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>McQuary</surname>
<given-names>P.</given-names>
</name>
<etal/>
</person-group> (<year>2003</year>). <article-title>Gene expression profiles of human breast cancer progression</article-title>. <source>Proc. Natl. Acad. Sci.</source> <volume>100</volume>, <fpage>5974</fpage>&#x2013;<lpage>5979</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.0931261100</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mizutani</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Pauwels</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Stoven</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Goto</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Yamanishi</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Relating drug&#x2013;protein interaction network with drug side effects</article-title>. <source>Bioinformatics</source> <volume>28</volume>, <fpage>i522</fpage>&#x2013;<lpage>i528</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/bts383</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Nair</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Hinton</surname>
<given-names>G. E.</given-names>
</name>
</person-group> (<year>2010</year>). &#x201c;<article-title>Rectified linear units improve restricted boltzmann machines</article-title>,&#x201d; in <conf-name>Proceedings of the 27th international conference on machine learning (ICML-10)</conf-name>, <fpage>807</fpage>&#x2013;<lpage>814</lpage>.</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pauwels</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Stoven</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Yamanishi</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Predicting drug side-effect profiles: a chemical fragment-based approach</article-title>. <source>BMC Bioinforma.</source> <volume>12</volume>, <fpage>169</fpage>&#x2013;<lpage>213</lpage>. <pub-id pub-id-type="doi">10.1186/1471-2105-12-169</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sachdev</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Gupta</surname>
<given-names>M. K.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A comprehensive review of computational techniques for the prediction of drug side effects</article-title>. <source>Drug Dev. Res.</source> <volume>81</volume>, <fpage>650</fpage>&#x2013;<lpage>670</lpage>. <pub-id pub-id-type="doi">10.1002/ddr.21669</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Saito</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Rehmsmeier</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>The precision-recall plot is more informative than the roc plot when evaluating binary classifiers on imbalanced datasets</article-title>. <source>PloS one</source> <volume>10</volume>, <fpage>e0118432</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0118432</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sawada</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Iwata</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Mizutani</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Yamanishi</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Target-based drug repositioning using large-scale chemical&#x2013;protein interactome data</article-title>. <source>J. Chem. Inf. Model.</source> <volume>55</volume>, <fpage>2717</fpage>&#x2013;<lpage>2730</lpage>. <pub-id pub-id-type="doi">10.1021/acs.jcim.5b00330</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Seo</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Kim</surname>
<given-names>M.-h.</given-names>
</name>
<name>
<surname>Yoon</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Prediction of side effects using comprehensive similarity measures</article-title>. <source>BioMed Res. Int.</source> <volume>2020</volume>, <fpage>1357630</fpage>. <pub-id pub-id-type="doi">10.1155/2020/1357630</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Steigerwalt</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Online drug information resources</article-title>. <source>Choice (Chicago, Ill.)</source> <volume>52</volume>, <fpage>1601</fpage>&#x2013;<lpage>1611</lpage>. <pub-id pub-id-type="doi">10.5860/choice.52.10.1601</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Uner</surname>
<given-names>O. C.</given-names>
</name>
<name>
<surname>Gokberk Cinbis</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Tastan</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Cicek</surname>
<given-names>A. E.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Deepside: a deep learning framework for drug side effect prediction</article-title>. <source>Biorxiv</source>, <fpage>843029</fpage>. <pub-id pub-id-type="doi">10.1109/TCBB.2022.3141103</pub-id>
</citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Cui</surname>
<given-names>Q.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>Inferring the human microrna functional similarity and functional network based on microrna-associated diseases</article-title>. <source>Bioinformatics</source> <volume>26</volume>, <fpage>1644</fpage>&#x2013;<lpage>1650</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/btq241</pub-id>
</citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wishart</surname>
<given-names>D. S.</given-names>
</name>
<name>
<surname>Knox</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>A. C.</given-names>
</name>
<name>
<surname>Cheng</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Shrivastava</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Tzur</surname>
<given-names>D.</given-names>
</name>
<etal/>
</person-group> (<year>2008</year>). <article-title>Drugbank: a knowledgebase for drugs, drug actions and drug targets</article-title>. <source>Nucleic acids Res.</source> <volume>36</volume>, <fpage>D901</fpage>&#x2013;<lpage>D906</lpage>. <pub-id pub-id-type="doi">10.1093/nar/gkm958</pub-id>
</citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Yue</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>W.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>Dsgat: predicting frequencies of drug side effects by graph attention networks</article-title>. <source>Briefings Bioinforma.</source> <volume>23</volume>, <fpage>bbab586</fpage>. <pub-id pub-id-type="doi">10.1093/bib/bbab586</pub-id>
</citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xuan</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Nakaguchi</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Integrating specific and common topologies of heterogeneous graphs and pairwise attributes for drug-related side effect prediction</article-title>. <source>Briefings Bioinforma.</source> <volume>23</volume>, <fpage>bbac126</fpage>. <pub-id pub-id-type="doi">10.1093/bib/bbac126</pub-id>
</citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Harvesting candidate genes responsible for serious adverse drug reactions from a chemical-protein interactome</article-title>. <source>PLoS Comput. Biol.</source> <volume>5</volume>, <fpage>e1000441</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pcbi.1000441</pub-id>
</citation>
</ref>
<ref id="B37">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Metaadedb 2.0: a comprehensive database on adverse drug events</article-title>. <source>Bioinformatics</source> <volume>37</volume>, <fpage>2221</fpage>&#x2013;<lpage>2222</lpage>. <pub-id pub-id-type="doi">10.1093/bioinformatics/btaa973</pub-id>
</citation>
</ref>
<ref id="B38">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Diao</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Shu</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Prediction of adverse drug reactions based on knowledge graph embedding</article-title>. <source>BMC Med. Inf. Decis. Mak.</source> <volume>21</volume>, <fpage>38</fpage>&#x2013;<lpage>11</lpage>. <pub-id pub-id-type="doi">10.1186/s12911-021-01402-3</pub-id>
</citation>
</ref>
<ref id="B39">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Predicting drug side effects by multi-label learning and ensemble learning</article-title>. <source>BMC Bioinforma.</source> <volume>16</volume>, <fpage>1</fpage>&#x2013;<lpage>11</lpage>. <pub-id pub-id-type="doi">10.1186/s12859-015-0774-y</pub-id>
</citation>
</ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Feature-derived graph regularized matrix factorization for predicting drug side effects</article-title>. <source>Neurocomputing</source> <volume>287</volume>, <fpage>154</fpage>&#x2013;<lpage>162</lpage>. <pub-id pub-id-type="doi">10.1016/j.neucom.2018.01.085</pub-id>
</citation>
</ref>
<ref id="B41">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A similarity-based deep learning approach for determining the frequencies of drug side effects</article-title>. <source>Briefings Bioinforma.</source> <volume>23</volume>, <fpage>bbab449</fpage>. <pub-id pub-id-type="doi">10.1093/bib/bbab449</pub-id>
</citation>
</ref>
<ref id="B42">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A novel graph attention model for predicting frequencies of drug&#x2013;side effects from multi-view data</article-title>. <source>Briefings Bioinforma.</source> <volume>22</volume>, <fpage>bbab239</fpage>. <pub-id pub-id-type="doi">10.1093/bib/bbab239</pub-id>
</citation>
</ref>
<ref id="B43">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>A similarity-based method for prediction of drug side effects with heterogeneous information</article-title>. <source>Math. Biosci.</source> <volume>306</volume>, <fpage>136</fpage>&#x2013;<lpage>144</lpage>. <pub-id pub-id-type="doi">10.1016/j.mbs.2018.09.010</pub-id>
</citation>
</ref>
<ref id="B44">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zheng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Peng</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Ghosh</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Lan</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Inverse similarity and reliable negative samples for drug side-effect prediction</article-title>. <source>BMC Bioinforma.</source> <volume>19</volume>, <fpage>554</fpage>&#x2013;<lpage>104</lpage>. <pub-id pub-id-type="doi">10.1186/s12859-018-2563-x</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>