{"id":702,"date":"2026-06-10T03:25:19","date_gmt":"2026-06-09T19:25:19","guid":{"rendered":"https:\/\/npi-disruptors.com\/?page_id=702"},"modified":"2026-11-11T06:36:33","modified_gmt":"2026-11-10T22:36:33","slug":"about","status":"publish","type":"page","link":"https:\/\/npimdb.org\/","title":{"rendered":"About"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"702\" class=\"elementor elementor-702\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6931ca0 e-flex e-con-boxed e-con e-parent\" data-id=\"6931ca0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-df9d6f7 elementor-widget elementor-widget-html\" data-id=\"df9d6f7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<form role=\"search\" method=\"get\" action=\"\/\" class=\"npi-search-form\">\r\n\r\n    <select name=\"npi_search_type\" class=\"npi-search-type\">\r\n        <option value=\"all\">All<\/option>\r\n        <option value=\"compound\">Small Molecules<\/option>\r\n        <option value=\"protein\">Proteins<\/option>\r\n    <\/select>\r\n\r\n    <input\r\n        type=\"search\"\r\n        name=\"s\"\r\n        class=\"npi-search-input\"\r\n        placeholder=\"Type to start searching...\"\r\n        required\r\n    >\r\n\r\n    <button type=\"submit\" class=\"npi-search-button\">\r\n        Search\r\n    <\/button>\r\n\r\n<\/form>\r\n\r\n<style>\r\n.npi-search-form {\r\n    display: flex;\r\n    width: 100%;\r\n    max-width: 900px;\r\n    margin: 0 auto;\r\n}\r\n\r\n.npi-search-type {\r\n    width: 180px;\r\n    padding: 14px;\r\n    border: 1px solid #ccc;\r\n    border-right: none;\r\n}\r\n\r\n.npi-search-input {\r\n    flex: 1;\r\n    padding: 14px;\r\n    border: 1px solid #ccc;\r\n}\r\n\r\n.npi-search-button {\r\n    padding: 14px 28px;\r\n    border: none;\r\n    background: #2c2c2c;\r\n    color: white;\r\n    cursor: pointer;\r\n}\r\n\r\n.npi-search-button:hover {\r\n    background: #000;\r\n}\r\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8798a99 e-flex e-con-boxed e-con e-parent\" data-id=\"8798a99\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7ac2529 elementor-widget elementor-widget-html\" data-id=\"7ac2529\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\n<style>\n\/* NPIM About Page - scoped styles *\/\n#npim-about {\n  --navy: #102b47;\n  --blue: #234b65;\n  --teal: #184E9E;\n  --text: #263849;\n  --muted: #657789;\n  --line: #dce6ec;\n  --background: #f5f8fb;\n  font-family: Inter, \"Segoe UI\", Arial, sans-serif;\n  color: var(--text);\n  line-height: 1.7;\n  width: 100%;\n}\n#npim-about * { box-sizing: border-box; }\n#npim-about h1,\n#npim-about h2,\n#npim-about h3 {\n  font-family: inherit;\n  line-height: 1.3;\n  letter-spacing: -.025em;\n}\n#npim-about p { margin: 0 0 14px; }\n#npim-about .wrap {\n  max-width: 1200px;\n  margin: 0 auto;\n  padding: 0 12px;\n}\n\n#npim-about .hero {\n  padding: 40px 0 50px;\n  background:\n    radial-gradient(\n      circle at 85% 15%,\n      rgba(40, 125, 225, 0.30),\n      transparent 48%\n    ),\n    linear-gradient(\n      125deg,\n      #0C2345 0%,\n      #123B73 55%,\n      #174B85 100%\n    );\n  color: white;\n  border-radius: 18px;\n}\n#npim-about .eyebrow {\n  font-size: 12px;\n  font-weight: 750;\n  text-transform: uppercase;\n  letter-spacing: .15em;\n  color: #7FB3FF;\n  margin-bottom: 16px;\n}\n#npim-about .hero h1 {\n  color: white;\n  font-size: clamp(30px, 4vw, 48px);\n  font-weight: 750;\n  max-width: 850px;\n  margin: 0 0 22px;\n}\n#npim-about .hero .intro {\n  max-width: 100%;\n  color: #d0e0eb;\n  font-size: 16px;\n}\n#npim-about .stats {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 15px;\n  margin-top: 34px;\n}\n#npim-about .stat {\n  background: rgba(80, 145, 225, 0.13);\n  border: 1px solid rgba(145, 195, 255, 0.22);\n  border-radius: 12px;\n  padding: 21px 23px;\n}\n#npim-about .stat strong {\n  display: block;\n  font-size: 31px;\n  line-height: 1.2;\n  color: #fff;\n}\n#npim-about .stat span {\n  display: block;\n  font-size: 13px;\n  margin-top: 6px;\n  color: #c8dae6;\n}\n#npim-about .section {\n  padding: 65px 0 0;\n}\n#npim-about .section h2 {\n  font-size: clamp(23px, 3vw, 30px);\n  color: var(--navy);\n  margin: 0 0 14px;\n}\n#npim-about .section-intro {\n  max-width: 100%;\n  color: var(--muted);\n  font-size: 15px;\n  margin-bottom: 28px;\n}\n#npim-about .cards {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 18px;\n}\n#npim-about .card {\n  border: 1px solid #D5E3F5;\n  border-radius: 14px;\n  padding: 28px 25px;\n  background: #EDF3FC;\n  transition: transform .2s, box-shadow .2s, background .2s;\n}\n\n#npim-about .card:hover {\n  transform: translateY(-3px);\n  background: #E5EFFC;\n  box-shadow: 0 10px 24px rgba(18, 59, 115, .10);\n}\n\n#npim-about .card h3 {\n  font-size: 19px;\n  font-weight: 700;\n  color: #123B73;\n  margin: 0 0 14px;\n}\n#npim-about .card p {\n  font-size: 14px;\n  color: var(--muted);\n  margin: 0;\n}\n#npim-about .workflow {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 12px;\n  margin: 30px 0 24px;\n}\n#npim-about .step {\n  background: var(--background);\n  border: 1px solid var(--line);\n  border-top: 3px solid #184E9E;\n  border-radius: 10px;\n  padding: 22px 17px;\n}\n#npim-about .step-num {\n  font-size: 12px;\n  color: #184E9E;\n  font-weight: 800;\n  margin-bottom: 10px;\n}\n#npim-about .step h3 {\n  font-size: 15px;\n  color: var(--navy);\n  margin: 0 0 8px;\n}\n#npim-about .step p {\n  font-size: 13px;\n  color: var(--muted);\n  line-height: 1.6;\n  margin: 0;\n}\n#npim-about .method {\n  border-left: 3px solid #184E9E;\n  padding: 15px 22px;\n  background: #EEF4FF;\n  border-radius: 0 9px 9px 0;\n  font-size: 14px;\n}\n#npim-about .use-box {\n  padding: 32px;\n  border: 1px solid var(--line);\n  border-radius: 13px;\n  background: var(--background);\n  font-size: 15px;\n}\n#npim-about .note {\n  color: var(--muted);\n  font-size: 13px;\n  margin-top: 18px;\n}\n#npim-about .bottom {\n  padding-bottom: 72px;\n}\n@media(max-width: 767px) {\n  #npim-about .wrap { padding: 0 19px; }\n  #npim-about .hero {\n    padding: 48px 0;\n    border-radius: 12px;\n  }\n  #npim-about .stats,\n  #npim-about .cards {\n    grid-template-columns: 1fr;\n  }\n  #npim-about .workflow {\n    grid-template-columns: repeat(2, 1fr);\n  }\n  #npim-about .section { padding-top: 46px; }\n  #npim-about .use-box { padding: 23px; }\n}\n@media(max-width: 420px) {\n  #npim-about .workflow {\n    grid-template-columns: 1fr;\n  }\n}\n<\/style>\n\n<div id=\"npim-about\">\n\n  <!-- HERO -->\n  <section class=\"hero\">\n    <div class=\"wrap\">\n      <div class=\"eyebrow\">\n        NPIMDB \u00b7 Structure-Based Molecular Database\n      <\/div>\n\n      <h1>\n        Exploring Small Molecules at\n        Nucleic acid\u2013Protein Interfaces\n      <\/h1>\n\n      <p class=\"intro\">\n        NPIMDB (Nucleic acid\u2013Protein Interaction\n        Modulators Database) is a curated, structure-based\n        database of small molecules associated\n        with nucleic acid\u2013protein interaction\n        (NPI) sites. It integrates molecular,\n        protein, and binding-pocket information\n        to support computational and experimental drug discovery.\n      <\/p>\n\n      <div class=\"stats\">\n        <div class=\"stat\">\n          <strong>199<\/strong>\n          <span>Unique Compounds<\/span>\n        <\/div>\n        <div class=\"stat\">\n          <strong>77<\/strong>\n          <span>Protein Targets<\/span>\n        <\/div>\n        <div class=\"stat\">\n          <strong>637<\/strong>\n          <span>Binding Pockets<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- DATABASE CONTENTS -->\n  <section class=\"section\">\n    <div class=\"wrap\">\n      <h2>Database Contents &amp; Organization<\/h2>\n\n      <p class=\"section-intro\">\n        NPIMDB organizes curated data into\n        interconnected compound, protein,\n        and binding-pocket records, providing\n        access to chemical and structural\n        information through an interactive\n        web interface.\n      <\/p>\n\n      \n        <div class=\"cards\">\n        \n          <article class=\"card\">\n            <h3>Compounds<\/h3>\n            <p>\n              Chemical structures, molecular\n              identifiers, physicochemical\n              properties, and associated\n              protein targets.\n            <\/p>\n          <\/article>\n        \n          <article class=\"card\">\n            <h3>Protein Targets<\/h3>\n            <p>\n              UniProt identifiers, functional\n              annotations, associated compounds,\n              and nucleic acid\u2013binding\n              information.\n            <\/p>\n          <\/article>\n        \n          <article class=\"card\">\n            <h3>Binding Pockets<\/h3>\n            <p>\n              PDB structures, ligand-contacting\n              residues, nucleic acid\u2013binding\n              sites, and interactive 3D\n              structural visualization.\n            <\/p>\n          <\/article>\n        \n        <\/div>\n\n    <\/div>\n  <\/section>\n\n  <!-- CURATION -->\n  <section class=\"section\">\n    <div class=\"wrap\">\n      <h2>Data Collection &amp; Curation<\/h2>\n\n      <p class=\"section-intro\">\n        NPIMDB was constructed through systematic\n        analysis of experimentally determined\n        structures from the Protein Data Bank\n        (PDB), supported by UniProt annotations\n        and SIFTS residue mappings.\n      <\/p>\n\n      <div class=\"workflow\">\n\n        <div class=\"step\">\n          <div class=\"step-num\">STEP 01<\/div>\n          <h3>Structure Collection<\/h3>\n          <p>\n            Retrieve protein\u2013nucleic acid\n            and protein\u2013small molecule\n            complexes from the PDB.\n          <\/p>\n        <\/div>\n\n        <div class=\"step\">\n          <div class=\"step-num\">STEP 02<\/div>\n          <h3>Binding-Site Mapping<\/h3>\n          <p>\n            Identify nucleic acid\u2013contacting\n            residues and map them to\n            UniProt protein sequences.\n          <\/p>\n        <\/div>\n\n        <div class=\"step\">\n          <div class=\"step-num\">STEP 03<\/div>\n          <h3>Pocket Identification<\/h3>\n          <p>\n            Define ligand-binding residues\n            within 4 \u00c5 and evaluate overlap\n            with nucleic acid\u2013binding sites.\n          <\/p>\n        <\/div>\n\n        <div class=\"step\">\n          <div class=\"step-num\">STEP 04<\/div>\n          <h3>Data Curation<\/h3>\n          <p>\n            Filter non-relevant ligands,\n            classify compounds, and link\n            curated pockets to proteins.\n          <\/p>\n        <\/div>\n\n      <\/div>\n\n      <div class=\"method\">\n        <strong>Key inclusion criterion:<\/strong>\n        Candidate modulators were identified\n        when at least 50% of the ligand-binding\n        pocket residues overlapped with the\n        corresponding mapped nucleic\n        acid\u2013binding site. Common additives\n        and nucleic acid modifications were\n        excluded; relevant cofactors were\n        retained and annotated separately.\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- INTENDED USE -->\n  <section class=\"section bottom\">\n    <div class=\"wrap\">\n      <h2>Intended Use<\/h2>\n\n      <div class=\"use-box\">\n        <p>\n          NPIMDB supports the exploration of\n          small molecules targeting\n          nucleic acid\u2013protein interfaces,\n          structural characterization of\n          binding pockets, and the development\n          and benchmarking of molecular docking,\n          virtual screening, and AI-driven\n          drug discovery methods.\n        <\/p>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5fa6a40 e-con-full e-flex e-con e-parent\" data-id=\"5fa6a40\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-838ab04 elementor-widget elementor-widget-shortcode\" data-id=\"838ab04\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n    <section\n        id=\"npid-protein-chart-209165\"\n        class=\"npid-protein-class-section\"\n        data-browse-url=\"https:\/\/npimdb.org\/index.php\/browse\/\"\n    >\n        <div class=\"npid-section-header\">\n            <h2>Protein Class Distribution in NPIMDB<\/h2>\n            <p>\n                Broad functional classification of\n                77                NPI-associated proteins based on InterPro family\/domain\n                annotations and manual curation.\n            <\/p>\n        <\/div>\n\n        <div class=\"npid-protein-class-layout\">\n\n            <div class=\"npid-chart-box\">\n                <div class=\"npid-chart-canvas-wrap\">\n                    <canvas id=\"npid-protein-chart-209165-canvas\"><\/canvas>\n                <\/div>\n\n                <div\n                    id=\"npid-protein-chart-209165-legend\"\n                    class=\"npid-custom-legend\"\n                ><\/div>\n            <\/div>\n\n            <div class=\"npid-table-box\">\n                <table class=\"npid-protein-class-table\">\n                    <thead>\n                        <tr>\n                            <th>Broad protein class<\/th>\n                            <th>Count<\/th>\n                            <th>Percentage<\/th>\n                        <\/tr>\n                    <\/thead>\n\n                    <tbody>\n                                                    \n                            <tr>\n                                <td>\n                                    <a\n                                        class=\"npid-class-table-link\"\n                                        href=\"https:\/\/npimdb.org\/index.php\/browse\/?npi_q&#038;npi_class=RNA-binding%20\/%20RNA%20metabolism%20protein&#038;npi_organism&#038;npi_reviewed\"\n                                    >\n                                        RNA-binding \/ RNA metabolism protein                                    <\/a>\n                                <\/td>\n                                <td>17<\/td>\n                                <td>\n                                    22.1%\n                                <\/td>\n                            <\/tr>\n                                                    \n                            <tr>\n                                <td>\n                                    <a\n                                        class=\"npid-class-table-link\"\n                                        href=\"https:\/\/npimdb.org\/index.php\/browse\/?npi_q&#038;npi_class=Nuclease%20\/%20DNA-RNA%20repair%20enzyme&#038;npi_organism&#038;npi_reviewed\"\n                                    >\n                                        Nuclease \/ DNA-RNA repair enzyme                                    <\/a>\n                                <\/td>\n                                <td>13<\/td>\n                                <td>\n                                    16.9%\n                                <\/td>\n                            <\/tr>\n                                                    \n                            <tr>\n                                <td>\n                                    <a\n                                        class=\"npid-class-table-link\"\n                                        href=\"https:\/\/npimdb.org\/index.php\/browse\/?npi_q&#038;npi_class=DNA\/RNA%20polymerase%20and%20replication%20protein&#038;npi_organism&#038;npi_reviewed\"\n                                    >\n                                        DNA\/RNA polymerase and replication protein                                    <\/a>\n                                <\/td>\n                                <td>11<\/td>\n                                <td>\n                                    14.3%\n                                <\/td>\n                            <\/tr>\n                                                    \n                            <tr>\n                                <td>\n                                    <a\n                                        class=\"npid-class-table-link\"\n                                        href=\"https:\/\/npimdb.org\/index.php\/browse\/?npi_q&#038;npi_class=Viral%20replication%20\/%20viral%20nucleic-acid-related%20protein&#038;npi_organism&#038;npi_reviewed\"\n                                    >\n                                        Viral replication \/ viral nucleic-acid-related protein                                    <\/a>\n                                <\/td>\n                                <td>7<\/td>\n                                <td>\n                                    9.1%\n                                <\/td>\n                            <\/tr>\n                                                    \n                            <tr>\n                                <td>\n                                    <a\n                                        class=\"npid-class-table-link\"\n                                        href=\"https:\/\/npimdb.org\/index.php\/browse\/?npi_q&#038;npi_class=tRNA-related%20enzyme&#038;npi_organism&#038;npi_reviewed\"\n                                    >\n                                        tRNA-related enzyme                                    <\/a>\n                                <\/td>\n                                <td>6<\/td>\n                                <td>\n                                    7.8%\n                                <\/td>\n                            <\/tr>\n                                                    \n                            <tr>\n                                <td>\n                                    <a\n                                        class=\"npid-class-table-link\"\n                                        href=\"https:\/\/npimdb.org\/index.php\/browse\/?npi_q&#038;npi_class=Other%20enzyme%20\/%20miscellaneous&#038;npi_organism&#038;npi_reviewed\"\n                                    >\n                                        Other enzyme \/ miscellaneous                                    <\/a>\n                                <\/td>\n                                <td>6<\/td>\n                                <td>\n                                    7.8%\n                                <\/td>\n                            <\/tr>\n                                                    \n                            <tr>\n                                <td>\n                                    <a\n                                        class=\"npid-class-table-link\"\n                                        href=\"https:\/\/npimdb.org\/index.php\/browse\/?npi_q&#038;npi_class=Transcription%20factor%20\/%20transcription%20regulator&#038;npi_organism&#038;npi_reviewed\"\n                                    >\n                                        Transcription factor \/ transcription regulator                                    <\/a>\n                                <\/td>\n                                <td>5<\/td>\n                                <td>\n                                    6.5%\n                                <\/td>\n                            <\/tr>\n                                                    \n                            <tr>\n                                <td>\n                                    <a\n                                        class=\"npid-class-table-link\"\n                                        href=\"https:\/\/npimdb.org\/index.php\/browse\/?npi_q&#038;npi_class=Translation%20\/%20ribosomal%20protein&#038;npi_organism&#038;npi_reviewed\"\n                                    >\n                                        Translation \/ ribosomal protein                                    <\/a>\n                                <\/td>\n                                <td>5<\/td>\n                                <td>\n                                    6.5%\n                                <\/td>\n                            <\/tr>\n                                                    \n                            <tr>\n                                <td>\n                                    <a\n                                        class=\"npid-class-table-link\"\n                                        href=\"https:\/\/npimdb.org\/index.php\/browse\/?npi_q&#038;npi_class=DNA\/RNA%20modification%20or%20nucleotide%20metabolism%20enzyme&#038;npi_organism&#038;npi_reviewed\"\n                                    >\n                                        DNA\/RNA modification or nucleotide metabolism enzyme                                    <\/a>\n                                <\/td>\n                                <td>4<\/td>\n                                <td>\n                                    5.2%\n                                <\/td>\n                            <\/tr>\n                                                    \n                            <tr>\n                                <td>\n                                    <a\n                                        class=\"npid-class-table-link\"\n                                        href=\"https:\/\/npimdb.org\/index.php\/browse\/?npi_q&#038;npi_class=CRISPR-Cas%20\/%20prokaryotic%20antiviral%20defense%20protein&#038;npi_organism&#038;npi_reviewed\"\n                                    >\n                                        CRISPR-Cas \/ prokaryotic antiviral defense protein                                    <\/a>\n                                <\/td>\n                                <td>2<\/td>\n                                <td>\n                                    2.6%\n                                <\/td>\n                            <\/tr>\n                                                    \n                            <tr>\n                                <td>\n                                    <a\n                                        class=\"npid-class-table-link\"\n                                        href=\"https:\/\/npimdb.org\/index.php\/browse\/?npi_q&#038;npi_class=Argonaute%20\/%20RNAi-related%20protein&#038;npi_organism&#038;npi_reviewed\"\n                                    >\n                                        Argonaute \/ RNAi-related protein                                    <\/a>\n                                <\/td>\n                                <td>1<\/td>\n                                <td>\n                                    1.3%\n                                <\/td>\n                            <\/tr>\n                        \n                        <tr class=\"npid-total-row\">\n                            <td>Total<\/td>\n                            <td>77<\/td>\n                            <td>100%<\/td>\n                        <\/tr>\n                    <\/tbody>\n                <\/table>\n            <\/div>\n\n        <\/div>\n    <\/section>\n\n    <style>\n        .npid-protein-class-section {\n            max-width: 1250px;\n            margin: 50px auto;\n            padding: 35px 35px 45px;\n            background: #ffffff;\n            border-radius: 16px;\n            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);\n            font-family: inherit;\n            overflow: visible;\n        }\n\n        .npid-section-header {\n            text-align: center;\n            margin-bottom: 35px;\n        }\n\n        .npid-section-header h2 {\n            margin: 0 0 10px;\n            font-size: 30px;\n            font-weight: 700;\n            color: #092b5f;\n        }\n\n        .npid-section-header p {\n            margin: 0 auto;\n            max-width: 850px;\n            font-size: 16px;\n            line-height: 1.6;\n            color: #555;\n        }\n\n        .npid-protein-class-layout {\n            display: grid;\n            grid-template-columns: 0.85fr 1.35fr;\n            gap: 36px;\n            align-items: start;\n        }\n\n        .npid-chart-box {\n            width: 100%;\n            min-height: 0;\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: flex-start;\n            overflow: visible;\n        }\n\n        .npid-chart-canvas-wrap {\n            width: 100%;\n            max-width: 370px;\n            height: 350px;\n            margin: 0 auto 16px;\n            position: relative;\n        }\n\n        .npid-chart-box canvas {\n            width: 100% !important;\n            height: 100% !important;\n        }\n\n        .npid-custom-legend {\n            width: 100%;\n            max-width: 500px;\n            display: grid;\n            grid-template-columns: repeat(2, minmax(0, 1fr));\n            column-gap: 14px;\n            row-gap: 5px;\n            margin-top: 6px;\n            font-size: 11.5px;\n            line-height: 1.3;\n        }\n\n        .npid-legend-item {\n            display: flex;\n            align-items: flex-start;\n            gap: 6px;\n            padding: 4px 5px;\n            border-radius: 6px;\n            color: #555;\n            text-decoration: none !important;\n            transition:\n                background-color 0.2s ease,\n                color 0.2s ease;\n        }\n\n        .npid-legend-item:hover,\n        .npid-legend-item:focus {\n            background: #eef6fb;\n            color: #0a6fae;\n            text-decoration: none !important;\n        }\n\n        .npid-legend-color {\n            width: 11px;\n            height: 11px;\n            border-radius: 3px;\n            flex: 0 0 11px;\n            margin-top: 2px;\n        }\n\n        .npid-table-box {\n            overflow-x: auto;\n        }\n\n        .npid-protein-class-table {\n            width: 100%;\n            border-collapse: collapse;\n            font-size: 14px;\n            background: #ffffff;\n        }\n\n        .npid-protein-class-table th {\n            background: #0a6fae;\n            color: #ffffff;\n            text-align: left;\n            padding: 11px 12px;\n            border: 1px solid #d7e3ef;\n            font-weight: 700;\n        }\n\n        .npid-protein-class-table td {\n            padding: 10px 12px;\n            border: 1px solid #d7e3ef;\n            color: #222;\n            vertical-align: middle;\n        }\n\n        .npid-protein-class-table td:nth-child(2),\n        .npid-protein-class-table td:nth-child(3),\n        .npid-protein-class-table th:nth-child(2),\n        .npid-protein-class-table th:nth-child(3) {\n            text-align: right;\n            white-space: nowrap;\n        }\n\n        .npid-protein-class-table tbody tr:nth-child(even) {\n            background: #f6f9fc;\n        }\n\n        .npid-total-row {\n            font-weight: 700;\n            background: #eaf3fb !important;\n        }\n\n        .npid-class-table-link {\n            color: #1f2933;\n            text-decoration: none;\n        }\n\n        .npid-class-table-link:hover,\n        .npid-class-table-link:focus {\n            color: #0a6fae;\n            text-decoration: underline;\n        }\n\n        @media (max-width: 1000px) {\n            .npid-protein-class-layout {\n                grid-template-columns: 1fr;\n            }\n\n            .npid-chart-box {\n                min-height: auto;\n            }\n\n            .npid-chart-canvas-wrap {\n                max-width: 390px;\n                height: 360px;\n            }\n\n            .npid-custom-legend {\n                max-width: 620px;\n                grid-template-columns: repeat(2, minmax(0, 1fr));\n            }\n        }\n\n        @media (max-width: 600px) {\n            .npid-protein-class-section {\n                padding: 25px 16px;\n                margin: 35px 12px;\n            }\n\n            .npid-section-header h2 {\n                font-size: 23px;\n            }\n\n            .npid-section-header p {\n                font-size: 14px;\n            }\n\n            .npid-chart-canvas-wrap {\n                max-width: 320px;\n                height: 300px;\n            }\n\n            .npid-custom-legend {\n                grid-template-columns: 1fr;\n                font-size: 11.5px;\n            }\n        }\n    <\/style>\n\n    <script>\n    (function () {\n        const sectionId = \"npid-protein-chart-209165\";\n        const canvasId = \"npid-protein-chart-209165-canvas\";\n        const legendId = \"npid-protein-chart-209165-legend\";\n        const labels = [\"RNA-binding \\\/ RNA metabolism protein\",\"Nuclease \\\/ DNA-RNA repair enzyme\",\"DNA\\\/RNA polymerase and replication protein\",\"Viral replication \\\/ viral nucleic-acid-related protein\",\"tRNA-related enzyme\",\"Other enzyme \\\/ miscellaneous\",\"Transcription factor \\\/ transcription regulator\",\"Translation \\\/ ribosomal protein\",\"DNA\\\/RNA modification or nucleotide metabolism enzyme\",\"CRISPR-Cas \\\/ prokaryotic antiviral defense protein\",\"Argonaute \\\/ RNAi-related protein\"];\n        const counts = [17,13,11,7,6,6,5,5,4,2,1];\n\n        const colors = [\n            \"#2F9EE5\",\n            \"#FF5A7D\",\n            \"#FF9F40\",\n            \"#FFCD56\",\n            \"#4BC0C0\",\n            \"#9966FF\",\n            \"#C9CBCF\",\n            \"#36A2EB\",\n            \"#F65C7A\",\n            \"#F9A03F\",\n            \"#7D6BFF\"\n        ];\n\n        function buildBrowseUrl(baseUrl, proteinClass) {\n            const url = new URL(baseUrl, window.location.origin);\n\n            url.searchParams.set(\"npi_q\", \"\");\n            url.searchParams.set(\"npi_class\", proteinClass);\n            url.searchParams.set(\"npi_organism\", \"\");\n            url.searchParams.set(\"npi_reviewed\", \"\");\n\n            return url.toString();\n        }\n\n        function initializeProteinChart() {\n            const section = document.getElementById(sectionId);\n            const canvas = document.getElementById(canvasId);\n            const legendBox = document.getElementById(legendId);\n\n            if (!section || !canvas || !legendBox) {\n                return;\n            }\n\n            if (canvas.dataset.npidChartInitialized === \"1\") {\n                return;\n            }\n\n            if (typeof Chart === \"undefined\") {\n                window.setTimeout(initializeProteinChart, 200);\n                return;\n            }\n\n            canvas.dataset.npidChartInitialized = \"1\";\n\n            const browsePageUrl = section.dataset.browseUrl;\n            const total = counts.reduce(function (sum, value) {\n                return sum + Number(value);\n            }, 0);\n\n            const percentageLabelPlugin = {\n                id: \"npidPercentageLabelPlugin\" + sectionId,\n\n                afterDatasetsDraw(chart) {\n                    const chartContext = chart.ctx;\n                    const dataset = chart.data.datasets[0];\n                    const meta = chart.getDatasetMeta(0);\n\n                    chartContext.save();\n                    chartContext.font = \"bold 12px Arial\";\n                    chartContext.fillStyle = \"#ffffff\";\n                    chartContext.textAlign = \"center\";\n                    chartContext.textBaseline = \"middle\";\n\n                    meta.data.forEach(function (arc, index) {\n                        const value = Number(dataset.data[index]);\n                        const percentage = total > 0\n                            ? (value \/ total) * 100\n                            : 0;\n\n                        if (percentage < 4) {\n                            return;\n                        }\n\n                        const position = arc.tooltipPosition();\n\n                        chartContext.fillText(\n                            percentage.toFixed(1) + \"%\",\n                            position.x,\n                            position.y\n                        );\n                    });\n\n                    chartContext.restore();\n                }\n            };\n\n            new Chart(canvas, {\n                type: \"doughnut\",\n\n                data: {\n                    labels: labels,\n                    datasets: [{\n                        data: counts,\n                        backgroundColor: colors,\n                        borderColor: \"#ffffff\",\n                        borderWidth: 2,\n                        hoverOffset: 10\n                    }]\n                },\n\n                plugins: [percentageLabelPlugin],\n\n                options: {\n                    responsive: true,\n                    maintainAspectRatio: false,\n                    cutout: \"48%\",\n\n                    onHover: function (event, activeElements) {\n                        const target = event.native && event.native.target\n                            ? event.native.target\n                            : canvas;\n\n                        target.style.cursor = activeElements.length\n                            ? \"pointer\"\n                            : \"default\";\n                    },\n\n                    onClick: function (event, activeElements) {\n                        if (!activeElements.length) {\n                            return;\n                        }\n\n                        const clickedIndex = activeElements[0].index;\n                        const clickedClass = labels[clickedIndex];\n\n                        window.location.assign(\n                            buildBrowseUrl(browsePageUrl, clickedClass)\n                        );\n                    },\n\n                    layout: {\n                        padding: 10\n                    },\n\n                    plugins: {\n                        legend: {\n                            display: false\n                        },\n\n                        tooltip: {\n                            callbacks: {\n                                label: function (context) {\n                                    const value = Number(context.raw);\n                                    const percentage = total > 0\n                                        ? ((value \/ total) * 100).toFixed(1)\n                                        : \"0.0\";\n\n                                    return (\n                                        context.label +\n                                        \": \" +\n                                        value +\n                                        \" (\" +\n                                        percentage +\n                                        \"%)\"\n                                    );\n                                }\n                            }\n                        }\n                    }\n                }\n            });\n\n            legendBox.innerHTML = \"\";\n\n            labels.forEach(function (label, index) {\n                const value = Number(counts[index]);\n                const percentage = total > 0\n                    ? ((value \/ total) * 100).toFixed(1)\n                    : \"0.0\";\n\n                const link = document.createElement(\"a\");\n                link.className = \"npid-legend-item\";\n                link.href = buildBrowseUrl(browsePageUrl, label);\n                link.title = \"Browse \" + label;\n\n                const color = document.createElement(\"span\");\n                color.className = \"npid-legend-color\";\n                color.style.backgroundColor = colors[index];\n\n                const text = document.createElement(\"span\");\n                text.textContent =\n                    label + \": \" + value + \" (\" + percentage + \"%)\";\n\n                link.appendChild(color);\n                link.appendChild(text);\n                legendBox.appendChild(link);\n            });\n        }\n\n        function loadChartJs() {\n            if (typeof Chart !== \"undefined\") {\n                initializeProteinChart();\n                return;\n            }\n\n            const existingScript = document.querySelector(\n                'script[data-npid-chartjs=\"1\"]'\n            );\n\n            if (existingScript) {\n                existingScript.addEventListener(\n                    \"load\",\n                    initializeProteinChart,\n                    { once: true }\n                );\n                return;\n            }\n\n            const chartScript = document.createElement(\"script\");\n            chartScript.src =\n                \"https:\/\/cdn.jsdelivr.net\/npm\/chart.js@4.4.7\/dist\/chart.umd.min.js\";\n            chartScript.async = true;\n            chartScript.dataset.npidChartjs = \"1\";\n            chartScript.addEventListener(\"load\", initializeProteinChart);\n            document.head.appendChild(chartScript);\n        }\n\n        if (document.readyState === \"loading\") {\n            document.addEventListener(\"DOMContentLoaded\", loadChartJs);\n        } else {\n            loadChartJs();\n        }\n    })();\n    <\/script>\n\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>AllSmall MoleculesProteins Search NPIMDB \u00b7 Structure-Based Molecular Database Exploring Small Molecules at Nucleic acid\u2013Protein Interfaces NPIMDB (Nucleic acid\u2013Protein Interaction Modulators Database) is a curated, structure-based database of small molecules associated with nucleic acid\u2013protein interaction (NPI) sites. It integrates molecular, protein, and binding-pocket information to support computational and experimental drug discovery. 199 Unique Compounds 77 Protein [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-702","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/npimdb.org\/index.php\/wp-json\/wp\/v2\/pages\/702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/npimdb.org\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/npimdb.org\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/npimdb.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/npimdb.org\/index.php\/wp-json\/wp\/v2\/comments?post=702"}],"version-history":[{"count":48,"href":"https:\/\/npimdb.org\/index.php\/wp-json\/wp\/v2\/pages\/702\/revisions"}],"predecessor-version":[{"id":1097,"href":"https:\/\/npimdb.org\/index.php\/wp-json\/wp\/v2\/pages\/702\/revisions\/1097"}],"wp:attachment":[{"href":"https:\/\/npimdb.org\/index.php\/wp-json\/wp\/v2\/media?parent=702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}