1<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title> Publications | Ardie Barry Sailis </title> <meta name="author" content="Ardie Barry Sailis"> <meta name="description" content="Journal articles and literature reviews by Ardie Barry Sailis"> <meta name="keywords" content="e-cigarette toxicology, mitochondrial dysfunction, reproductive health, erectile dysfunction, endocrine disruption, redox signaling, toxicology"> <meta property="og:site_name" content="Ardie Barry Sailis"> <meta property="og:type" content="website"> <meta property="og:title" content="Ardie Barry Sailis | Publications"> <meta property="og:url" content="https://ardiebarrysailis.com/publications/"> <meta property="og:description" content="Journal articles and literature reviews by Ardie Barry Sailis"> <meta property="og:image" content="https://ardiebarrysailis.com/assets/img/og-card.jpg"> <meta property="og:locale" content="en"> <meta name="twitter:card" content="summary"> <meta name="twitter:title" content="Publications"> <meta name="twitter:description" content="Journal articles and literature reviews by Ardie Barry Sailis"> <meta name="twitter:image" content="https://ardiebarrysailis.com/assets/img/og-card.jpg">
1<script type="application/ld+json"> 2 { 3 "author": 4 { 5 "@type": "Person", 6 "name": "Ardie Barry Sailis" 7 }, 8 "url": "https://ardiebarrysailis.com/publications/", 9 "@type": "WebSite", 10 "description": "Journal articles and literature reviews by Ardie Barry Sailis", 11 "headline": "Publications", 12 13 "sameAs": ["https://orcid.org/0009-0009-8994-2793","https://scholar.google.com/citations?user=saKP688AAAAJ","https://www.linkedin.com/in/ardiebarrysailis"], 14 15 "name": "Ardie Barry Sailis", 16 "@context": "https://schema.org" 17 } 18 </script>
18 <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' https:; style-src 'self' 'unsafe-inline' https:; img-src 'self' data: https:; font-src 'self' data: https:; media-src 'self' https:; frame-src 'self' https:; connect-src 'self' https:;"> <style> 19 :root { 20 --max-content-width: 930px; 21 } 22</style> <link rel="stylesheet" href="/assets/css/tailwind.css?v=50c64c15cbb9fd1ce6056fdb8bcb4b62"> <link defer rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css" integrity="sha256-MVopmdyC2tYTiJ8wlktf0uh0v4NgT+vNdyVFepi7Q0c=" crossorigin="anonymous"> <link defer rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/academicons.min.css" integrity="sha256-SzrCOBJbGVFMahewkgjwnApaV2+av1DwMAA+/QGLyZw=" crossorigin="anonymous"> <link defer rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/scholar-icons.css" integrity="sha256-VY3hHVj/hNX3fYG6wtbA6TcKJQl7+FthzGSyIB64klY=" crossorigin="anonymous"> <link defer rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:100,300,400,500,700|Material+Icons&display=swap"> <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-github.css?v=591dab5a4e56573bf4ef7fd332894c99" media="" id="highlight_theme_light"> <link rel="shortcut icon" href="/assets/img/abs.png?v=8246b2bb6e3752cfd2476a8c000d536e"> <link rel="stylesheet" href="/assets/css/main.css?v=f0b101217084a90093badfe99ff9a7d1"> <link rel="canonical" href="https://ardiebarrysailis.com/publications/"> </head> <body class="fixed-top-nav "> <header> <nav id="navbar" class="navbar navbar-light fixed-top" role="navigation" aria-label="Primary navigation"> <div class="navbar-layout"> <div class="navbar-brand-slot"> <a class="navbar-brand title font-weight-lighter" href="/"> Ardie Barry Sailis </a> </div> <input type="checkbox" id="navbar-menu-toggle" class="navbar-menu-toggle" aria-controls="navbarNav"> <label for="navbar-menu-toggle" class="navbar-menu-trigger" aria-label="Toggle navigation menu"> <span class="menu-icon" aria-hidden="true"> <span></span> <span></span> <span></span> </span> <span class="menu-label">Menu</span> </label> <div class="navbar-collapse-main" id="navbarNav"> <ul class="navbar-menu-list"> <li class="nav-item "> <a class="nav-link" href="/"> <span>About</span> </a> </li> <li class="nav-item active"> <a class="nav-link" href="/publications/"> <span class="nav-active-dot" aria-hidden="true"></span> <span>Publications</span> <span class="sr-only">(current)</span> </a> </li> <li class="nav-item "> <a class="nav-link" href="/projects/"> <span>Projects</span> </a> </li> <li class="nav-item "> <a class="nav-link" href="/talks/"> <span>Talks</span> </a> </li> <li class="nav-item "> <a class="nav-link" href="/cv/"> <span>Curriculum Vitae</span> </a> </li> <li class="nav-item "> <a class="nav-link" href="/contact/"> <span>Contact</span> </a> </li> <li class="nav-item "> <a class="nav-link" href="/biography/"> <span>Biography</span> </a> </li> <li class="nav-item nav-special nav-sciaudit"> <a class="nav-link" href="/sciaudit-ai/"> <span>SciAudit AI</span> </a> </li> <li class="nav-item nav-special nav-deep-numbers"> <a class="nav-link" href="/deep-numbers/"> <span>Deep Numbers</span> </a> </li> </ul> </div> </div> </nav> <progress id="progress" value="0"> <div class="progress-container"> <span class="progress-bar"></span> </div> </progress> </header> <div class="container mt-5" role="main"> <div class="post"> <header class="post-header"> <h1 class="post-title">Publications</h1> <p class="post-description">Journal articles and literature reviews by Ardie Barry Sailis</p> </header> <article> <style> 23 .post, 24 .page, 25 .container, 26 main { 27 max-width: 1280px !important; 28 } 29 30 .pubs { 31 margin-top: 2.5rem; 32 } 33 34 .pub-year { 35 margin-bottom: 2.5rem; 36 } 37 38 .pub-year-title { 39 display: flex; 40 align-items: center; 41 gap: 1rem; 42 margin: 0 0 1rem; 43 color: var(--text-strong); 44 font-size: 1.5rem; 45 font-weight: 700; 46 } 47 48 .pub-year-title::after { 49 flex: 1; 50 height: 1px; 51 background: var(--line); 52 content: ""; 53 } 54 55 .pub { 56 display: grid; 57 grid-template-columns: minmax(0, 1fr) auto; 58 align-items: start; 59 gap: 1.75rem; 60 margin-bottom: 1rem; 61 padding: 1.4rem 1.5rem; 62 border: 1px solid var(--line); 63 border-radius: 12px; 64 background: var(--surface); 65 transition: border-color 0.2s ease, background-color 0.2s ease; 66 } 67 68 .pub:hover { 69 border-color: var(--line-strong); 70 } 71 72 .pub-main { 73 min-width: 0; 74 } 75 76 .pub-title { 77 margin: 0 0 0.5rem; 78 font-size: 1.12rem; 79 font-weight: 700; 80 line-height: 1.4; 81 } 82 83 .pub-title a { 84 color: var(--text-strong) !important; 85 text-decoration: none !important; 86 } 87 88 .pub-title a:hover { 89 color: var(--accent-strong) !important; 90 text-decoration: underline !important; 91 text-underline-offset: 3px; 92 } 93 94 .pub-authors, 95 .pub-venue { 96 margin: 0 0 0.3rem; 97 color: var(--muted); 98 font-size: 0.95rem; 99 line-height: 1.5; 100 text-align: left !important; 101 } 102 103 .pub-authors strong { 104 color: var(--text-strong); 105 } 106 107 .pub-venue em { 108 color: var(--text); 109 } 110 111 .pub-venue a { 112 color: var(--accent) !important; 113 word-break: break-word; 114 } 115 116 .pub-tools { 117 display: flex; 118 flex-wrap: wrap; 119 align-items: flex-start; 120 gap: 0.6rem; 121 margin-top: 0.9rem; 122 } 123 124 .pub-cite, 125 .pub-toggle { 126 display: inline-flex; 127 align-items: center; 128 gap: 0.45rem; 129 padding: 0.4rem 0.8rem; 130 border: 1px solid var(--line-strong); 131 border-radius: 8px; 132 background: transparent; 133 color: var(--text-strong); 134 font: inherit; 135 font-size: 0.88rem; 136 font-weight: 600; 137 line-height: 1.3; 138 cursor: pointer; 139 transition: background-color 0.2s ease, border-color 0.2s ease; 140 } 141 142 .pub-cite:hover, 143 .pub-toggle:hover { 144 border-color: var(--accent); 145 background: var(--surface-strong); 146 } 147 148 .pub-cite:focus-visible, 149 .pub-toggle:focus-visible { 150 outline: 2px solid var(--accent); 151 outline-offset: 2px; 152 } 153 154 .pub-cite.is-copied { 155 border-color: #34d399; 156 color: #a7f3d0; 157 } 158 159 .pub-toggle::after { 160 width: 0.42rem; 161 height: 0.42rem; 162 border-right: 2px solid currentColor; 163 border-bottom: 2px solid currentColor; 164 content: ""; 165 transform: translateY(-2px) rotate(45deg); 166 transition: transform 0.2s ease; 167 } 168 169 .pub-toggle[aria-expanded="true"]::after { 170 transform: translateY(2px) rotate(-135deg); 171 } 172 173 .pub-toggle[hidden], 174 .pub-abstract-body[hidden] { 175 display: none; 176 } 177 178 .pub-abstract-body { 179 margin-top: 0.9rem; 180 padding: 1rem 1.1rem; 181 border-left: 3px solid var(--accent); 182 border-radius: 8px; 183 background: rgba(8, 17, 48, 0.45); 184 color: var(--text); 185 font-size: 0.95rem; 186 line-height: 1.65; 187 } 188 189 .pub-abstract-body p { 190 margin: 0 0 0.7rem; 191 text-align: left !important; 192 } 193 194 .pub-abstract-body p:last-child { 195 margin-bottom: 0; 196 } 197 198 .pub-abstract-body strong { 199 color: var(--text-strong); 200 } 201 202 .pub-metrics { 203 display: flex; 204 align-items: center; 205 gap: 0.75rem; 206 padding: 0.6rem 0.8rem; 207 border-radius: 12px; 208 background: #ffffff; 209 color: #1e293b; 210 --global-text-color: #1e293b; 211 --global-theme-color: #1d4ed8; 212 } 213 214 .pub-metric { 215 display: flex; 216 align-items: center; 217 justify-content: center; 218 width: 64px; 219 height: 72px; 220 } 221 222 @media (max-width: 860px) { 223 .pub { 224 grid-template-columns: 1fr; 225 gap: 1.25rem; 226 padding: 1.15rem; 227 } 228 229 .pub-metrics { 230 justify-self: start; 231 } 232 } 233 234 @media (prefers-reduced-motion: reduce) { 235 .pub, 236 .pub-cite, 237 .pub-toggle, 238 .pub-toggle::after { 239 transition: none; 240 } 241 } 242</style> <style> 243 .journal-summary-section { 244 width: 100%; 245 margin: 1.5rem 0 2.2rem; 246 } 247 248 .journal-summary-header { 249 margin-bottom: 1rem; 250 } 251 252 .journal-summary-header h2 { 253 margin: 0; 254 color: var(--text-strong); 255 font-size: 1.45rem; 256 font-weight: 700; 257 } 258 259 .journal-visuals { 260 display: grid; 261 grid-template-columns: 1fr 1fr; 262 gap: 1.2rem; 263 margin-bottom: 1.4rem; 264 } 265 266 .journal-chart-card { 267 padding: 1.1rem 1.2rem; 268 border: 1px solid var(--line); 269 border-left: 5px solid var(--global-theme-color); 270 border-radius: 10px; 271 background: var(--surface); 272 box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18); 273 } 274 275 .journal-chart-card h3 { 276 margin: 0 0 0.9rem; 277 color: var(--text-strong); 278 font-size: 1.05rem; 279 font-weight: 700; 280 } 281 282 .donut-layout { 283 display: grid; 284 grid-template-columns: 150px 1fr; 285 gap: 1rem;
286 align-items: center; 287 } 288 289 .donut-chart { 290 position: relative; 291 width: 150px; 292 height: 150px; 293 } 294 295 .donut-chart svg { 296 width: 150px; 297 height: 150px; 298 overflow: visible; 299 transform: rotate(-90deg); 300 } 301 302 .donut-track { 303 fill: none; 304 stroke: rgba(255, 255, 255, 0.12); 305 stroke-width: 18; 306 } 307 308 .donut-segment { 309 fill: none; 310 stroke-width: 18; 311 stroke-linecap: butt; 312 cursor: pointer; 313 } 314 315 .donut-segment:hover { 316 stroke-width: 21; 317 } 318 319 .donut-center { 320 position: absolute; 321 inset: 0; 322 z-index: 1; 323 display: flex; 324 align-items: center; 325 justify-content: center; 326 color: var(--text-strong); 327 font-weight: 700; 328 text-align: center; 329 pointer-events: none; 330 } 331 332 .donut-legend { 333 display: grid; 334 gap: 0.45rem; 335 } 336 337 .donut-legend-item { 338 display: flex; 339 align-items: center; 340 gap: 0.45rem; 341 color: var(--text); 342 font-size: 0.95rem; 343 line-height: 1.35; 344 } 345 346 .donut-swatch { 347 width: 0.8rem; 348 height: 0.8rem; 349 border-radius: 50%; 350 flex: 0 0 auto; 351 } 352 353 .donut-tooltip { 354 position: fixed; 355 z-index: 9999; 356 display: none; 357 max-width: 240px; 358 padding: 0.45rem 0.65rem; 359 border: 1px solid var(--line); 360 border-radius: 8px; 361 background: var(--surface); 362 color: var(--text); 363 box-shadow: 0 8px 22px rgba(0, 0, 0, 0.36); 364 font-size: 0.9rem; 365 line-height: 1.35; 366 pointer-events: none; 367 } 368 369 .journal-table-wrap { 370 width: 100%; 371 overflow-x: auto; 372 -webkit-overflow-scrolling: touch; 373 border: 1px solid var(--line); 374 border-radius: 10px; 375 background: var(--surface); 376 } 377 378 .journal-metrics-table { 379 width: 100%; 380 min-width: 1080px; 381 table-layout: auto; 382 border-collapse: collapse; 383 border-spacing: 0; 384 } 385 386 .journal-metrics-table th, 387 .journal-metrics-table td { 388 padding: 0.75rem 0.9rem; 389 border-right: 0 !important; 390 border-left: 0 !important; 391 border-bottom: 1px solid var(--line); 392 color: var(--text); 393 font-size: 0.95rem; 394 line-height: 1.35; 395 vertical-align: top; 396 } 397 398 .journal-metrics-table th { 399 background: var(--surface-strong); 400 color: var(--text-strong); 401 font-weight: 700; 402 text-align: left; 403 white-space: nowrap; 404 } 405 406 .journal-metrics-table th:nth-child(1), 407 .journal-metrics-table td:nth-child(1) { 408 width: 4rem; 409 } 410 411 .journal-metrics-table th:nth-child(2), 412 .journal-metrics-table td:nth-child(2) { 413 min-width: 260px; 414 } 415 416 .journal-metrics-table th:nth-child(3), 417 .journal-metrics-table td:nth-child(3) { 418 min-width: 130px; 419 white-space: nowrap; 420 } 421 422 .journal-metrics-table th:nth-child(4), 423 .journal-metrics-table td:nth-child(4) { 424 min-width: 250px; 425 } 426 427 .journal-metrics-table th:nth-child(5), 428 .journal-metrics-table td:nth-child(5) { 429 min-width: 90px; 430 } 431 432 .journal-metrics-table th:nth-child(6), 433 .journal-metrics-table td:nth-child(6) { 434 min-width: 100px; 435 } 436 437 .journal-metrics-table th:nth-child(7), 438 .journal-metrics-table td:nth-child(7) { 439 min-width: 100px; 440 } 441 442 .journal-metrics-table th:nth-child(8), 443 .journal-metrics-table td:nth-child(8) { 444 min-width: 120px; 445 } 446 447 .journal-metrics-table td.number-cell, 448 .journal-metrics-table th.number-cell { 449 text-align: right; 450 } 451 452 .journal-metrics-table tbody tr:last-child td { 453 border-bottom: 0; 454 } 455 456 .journal-metrics-table tbody tr:hover { 457 background: var(--surface); 458 } 459 460 .table-sort-button { 461 display: inline-grid; 462 grid-template-columns: 1fr 1.1rem; 463 align-items: center; 464 gap: 0.3rem; 465 width: 100%; 466 min-width: 0; 467 padding: 0; 468 border: 0; 469 background: transparent; 470 color: var(--text-strong); 471 font: inherit; 472 font-weight: 700; 473 text-align: inherit; 474 cursor: pointer; 475 } 476 477 .table-sort-arrow { 478 display: inline-flex; 479 align-items: center; 480 justify-content: center; 481 width: 1.1rem; 482 height: 1.1rem; 483 border: 1px solid var(--line); 484 border-radius: 50%; 485 color: var(--global-theme-color); 486 font-size: 0.72rem; 487 line-height: 1; 488 background: var(--surface); 489 } 490 491 .table-sort-button:hover .table-sort-arrow, 492 .table-sort-button.active .table-sort-arrow { 493 border-color: var(--global-theme-color); 494 background: var(--surface-strong); 495 } 496 497 .quartile-badge { 498 display: inline-flex; 499 min-width: 2.4rem; 500 justify-content: center; 501 padding: 0.18rem 0.45rem; 502 border-radius: 999px; 503 background: var(--surface-strong); 504 color: var(--global-theme-color); 505 font-weight: 700; 506 } 507 508 @media (max-width: 900px) { 509 .journal-visuals { 510 grid-template-columns: 1fr; 511 } 512 } 513 514 @media (max-width: 600px) { 515 .donut-layout { 516 grid-template-columns: 1fr; 517 justify-items: center; 518 } 519 520 .donut-legend { 521 width: 100%; 522 } 523 } 524</style> <section class="journal-summary-section"> <div class="journal-summary-header"> <h2>Journal Metrics Summary (Web of Science)</h2> </div> <div class="journal-visuals"> <div class="journal-chart-card"> <h3>Papers by Field / Category</h3> <div class="donut-layout"> <div id="category-donut" class="donut-chart"> <svg viewbox="0 0 160 160" aria-hidden="true"> <circle class="donut-track" cx="80" cy="80" r="58"></circle> <g class="donut-segments"></g> </svg> <div class="donut-center">13<br>Papers</div> </div> <div id="category-legend" class="donut-legend"></div> </div> </div> <div class="journal-chart-card"> <h3>Papers by Quartile</h3> <div class="donut-layout"> <div id="quartile-donut" class="donut-chart"> <svg viewbox="0 0 160 160" aria-hidden="true"> <circle class="donut-track" cx="80" cy="80" r="58"></circle> <g class="donut-segments"></g> </svg> <div class="donut-center">13<br>Papers</div> </div> <div id="quartile-legend" class="donut-legend"></div> </div> </div> </div> <div id="donut-tooltip" class="donut-tooltip"></div> <div class="journal-table-wrap"> <table class="journal-metrics-table"> <thead> <tr> <th class="number-cell">No.</th> <th>Journal</th> <th class="number-cell"> <button class="table-sort-button" data-sort="papers"> <span>No. of Papers</span> <span class="table-sort-arrow">â</span> </button> </th> <th>Field / Category</th> <th>Indexing</th> <th class="number-cell"> <button class="table-sort-button" data-sort="jif"> <span>JIF 2025</span> <span class="table-sort-arrow">â</span> </button> </th> <th> <button class="table-sort-button" data-sort="quartile"> <span>Quartile</span> <span class="table-sort-arrow">â</span> </button> </th> <th>Rank</th> </tr> </thead> <tbody id="journal-table-body"></tbody> </table> </div> </section>
524<script> 525 (function () { 526 const journalData = [ 527 { journal: "Archives of Toxicology", papers: 2, category: "Toxicology", indexing: "SCIE", jif: 10.9, quartile: "Q1", rank: "5/106" }, 528 { journal: "Diabetes, Obesity and Metabolism", papers: 1, category: "Endocrinology \u0026 Metabolism", indexing: "SCIE", jif: 6.1, quartile: "Q1", rank: "32/198" }, 529 { journal: "Toxicology", papers: 1, category: "Toxicology", indexing: "SCIE", jif: 5.2, quartile: "Q1", rank: "16/106" }, 530 { journal: "Environmental Toxicology and Pharmacology", papers: 1, category: "Toxicology", indexing: "SCIE", jif: 4.6, quartile: "Q1", rank: "23/106" }, 531 { journal: "Progress in Biophysics and Molecular Biology", papers: 1, category: "Biophysics", indexing: "SCIE", jif: 4.5, quartile: "Q1", rank: "13/81" }, 532 { journal: "Molecular and Cellular Endocrinology", papers: 1, category: "Endocrinology \u0026 Metabolism", indexing: "SCIE", jif: 3.4, quartile: "Q2", rank: "95/198" }, 533 { journal: "Toxicology Mechanisms and Methods", papers: 2, category: "Toxicology", indexing: "SCIE", jif: 2.9, quartile: "Q3", rank: "57/106" }, 534 { journal: "Journal of Applied Toxicology", papers: 1, category: "Toxicology", indexing: "SCIE", jif: 3.1, quartile: "Q2", rank: "52/106" }, 535 { journal: "International Journal of Impotence Research", papers: 1, category: "Urology \u0026 Nephrology", indexing: "SCIE", jif: 2.5, quartile: "Q2", rank: "54/134" }, 536 { journal: "Journal of Public Health-Heidelberg", papers: 1, category: "Public, Environmental \u0026 Occupational Health", indexing: "ESCI", jif: 1.6, quartile: "Q3", rank: "301/443" }, 537 { journal: "Gene Reports", papers: 1, category: "Genetics \u0026 Heredity", indexing: "ESCI", jif: 1.2, quartile: "Q4", rank: "167/192" }, 538 ].filter(function (item) { 539 return item.papers > 0; 540 }); 541 542 const chartColors = ["#93c5fd", "#2563eb", "#22d3ee", "#34d399", "#fbbf24", "#f87171"]; 543 const sortState = { key: null, direction: "default" }; 544 545 function renderJournalTable(rows) { 546 const tbody = document.getElementById("journal-table-body"); 547 548 tbody.innerHTML = rows 549 .map(function (item, index) { 550 return ` 551 <tr> 552 <td class="number-cell">${index + 1}</td> 553 <td>${item.journal}</td> 554 <td class="number-cell">${item.papers}</td> 555 <td>${item.category}</td> 556 <td>${item.indexing}</td> 557 <td class="number-cell">${item.jif.toFixed(1)}</td> 558 <td><span class="quartile-badge">${item.quartile}</span></td> 559 <td>${item.rank}</td> 560 </tr> 561 `; 562 }) 563 .join(""); 564 } 565 566 function groupByPapers(key) { 567 return journalData.reduce(function (groups, item) { 568 groups[item[key]] = (groups[item[key]] || 0) + item.papers; 569 return groups; 570 }, {}); 571 } 572 573 function renderLegend(containerId, groups) { 574 const legend = document.getElementById(containerId); 575 576 legend.innerHTML = Object.entries(groups) 577 .map(function ([label, value], index) { 578 return ` 579 <div class="donut-legend-item"> 580 <span class="donut-swatch" style="background:${chartColors[index % chartColors.length]}"></span> 581 <span>${label}: <strong>${value}</strong></span> 582 </div> 583 `; 584 }) 585 .join(""); 586 } 587 588 function easeOutQuart(value) { 589 return 1 - Math.pow(1 - value, 4); 590 } 591 592 function animateDonut(donutId, groups) { 593 const donut = document.getElementById(donutId); 594 const segmentGroup = donut.querySelector(".donut-segments"); 595 const tooltip = document.getElementById("donut-tooltip"); 596 const radius = 58; 597 const circumference = 2 * Math.PI * radius; 598 const entries = Object.entries(groups); 599 const total = entries.reduce(function (sum, entry) { 600 return sum + entry[1]; 601 }, 0); 602 603 let accumulatedLength = 0; 604 605 segmentGroup.innerHTML = entries 606 .map(function ([label, value], index) { 607 const length = (value / total) * circumference; 608 const color = chartColors[index % chartColors.length]; 609 const startOffset = accumulatedLength; 610 const gap = entries.length > 1 ? 3 : 0; 611 const visibleLength = Math.max(0, length - gap); 612 613 accumulatedLength += length; 614 615 return ` 616 <circle 617 class="donut-segment" 618 cx="80" 619 cy="80" 620 r="${radius}" 621 stroke="${color}" 622 stroke-dasharray="0 ${circumference}" 623 stroke-dashoffset="${-startOffset}" 624 data-label="${label}" 625 data-value="${value}" 626 data-total="${total}" 627 data-start="${startOffset}" 628 data-length="${visibleLength}"> 629 </circle> 630 `; 631 }) 632 .join(""); 633 634 const segments = donut.querySelectorAll(".donut-segment"); 635
636 segments.forEach(function (segment) { 637 segment.addEventListener("mouseenter", function () { 638 const label = segment.dataset.label; 639 const value = Number(segment.dataset.value); 640 const totalValue = Number(segment.dataset.total); 641 const percent = ((value / totalValue) * 100).toFixed(1); 642 643 tooltip.innerHTML = `<strong>${label}</strong><br>${value} papers (${percent}%)`; 644 tooltip.style.display = "block"; 645 }); 646 647 segment.addEventListener("mousemove", function (event) { 648 tooltip.style.left = event.clientX + 14 + "px"; 649 tooltip.style.top = event.clientY + 14 + "px"; 650 }); 651 652 segment.addEventListener("mouseleave", function () { 653 tooltip.style.display = "none"; 654 }); 655 }); 656 657 let start = null; 658 const duration = 1800; 659 660 function step(timestamp) { 661 if (!start) start = timestamp; 662 663 const elapsed = timestamp - start; 664 const progress = easeOutQuart(Math.min(elapsed / duration, 1)); 665 const globalVisibleLength = circumference * progress; 666 667 segments.forEach(function (segment) { 668 const startOffset = Number(segment.dataset.start); 669 const segmentLength = Number(segment.dataset.length); 670 const visibleLength = Math.max( 671 0, 672 Math.min(segmentLength, globalVisibleLength - startOffset) 673 ); 674 675 segment.setAttribute( 676 "stroke-dasharray", 677 `${visibleLength} ${circumference - visibleLength}` 678 ); 679 }); 680 681 if (progress < 1) { 682 requestAnimationFrame(step); 683 } 684 } 685 686 requestAnimationFrame(step); 687 } 688 689 function getNextSortDirection(buttonKey) { 690 if (sortState.key !== buttonKey) return "desc"; 691 if (sortState.direction === "desc") return "asc"; 692 if (sortState.direction === "asc") return "default"; 693 return "desc"; 694 } 695 696 function sortJournalData(sortType, direction) { 697 const rows = [...journalData]; 698 699 if (direction === "default") return rows; 700 701 if (sortType === "quartile") { 702 rows.sort(function (a, b) { 703 const result = a.quartile.localeCompare(b.quartile) || b.jif - a.jif; 704 return direction === "asc" ? result : -result; 705 }); 706 } 707 708 if (sortType === "jif") { 709 rows.sort(function (a, b) { 710 return direction === "asc" ? a.jif - b.jif : b.jif - a.jif; 711 }); 712 } 713 714 if (sortType === "papers") { 715 rows.sort(function (a, b) { 716 const result = b.papers - a.papers || b.jif - a.jif; 717 return direction === "asc" ? -result : result; 718 }); 719 } 720 721 return rows; 722 } 723 724 function updateSortButtons(activeButton, direction) { 725 document.querySelectorAll(".table-sort-button").forEach(function (button) { 726 button.classList.remove("active"); 727 button.querySelector(".table-sort-arrow").textContent = "â"; 728 }); 729 730 if (direction === "desc") { 731 activeButton.classList.add("active"); 732 activeButton.querySelector(".table-sort-arrow").textContent = "â"; 733 } 734 735 if (direction === "asc") { 736 activeButton.classList.add("active"); 737 activeButton.querySelector(".table-sort-arrow").textContent = "â"; 738 } 739 } 740 741 document.addEventListener("DOMContentLoaded", function () { 742 const categoryGroups = groupByPapers("category"); 743 const quartileGroups = groupByPapers("quartile"); 744 745 renderJournalTable(journalData); 746 renderLegend("category-legend", categoryGroups); 747 renderLegend("quartile-legend", quartileGroups); 748 animateDonut("category-donut", categoryGroups); 749 animateDonut("quartile-donut", quartileGroups); 750 751 document.querySelectorAll(".table-sort-button").forEach(function (button) { 752 button.addEventListener("click", function () { 753 const sortKey = button.dataset.sort; 754 const nextDirection = getNextSortDirection(sortKey); 755 756 sortState.key = nextDirection === "default" ? null : sortKey; 757 sortState.direction = nextDirection; 758 759 updateSortButtons(button, nextDirection); 760 renderJournalTable(sortJournalData(sortKey, nextDirection)); 761 }); 762 }); 763 }); 764 })(); 765</script>
765 <div class="pubs"> <section class="pub-year" aria-labelledby="year-2026"> <h2 class="pub-year-title" id="year-2026">2026</h2> <article class="pub" id="10-1016-j-genrep-2026-102599"> <div class="pub-main"> <h3 class="pub-title"><a href="https://doi.org/10.1016/j.genrep.2026.102599" rel="external nofollow noopener" target="_blank">Transcriptional condensates as kinetic filters for temporal control of gene expression</a></h3> <p class="pub-authors"><strong>Ardie Barry Sailis</strong></p> <p class="pub-venue"><em>Gene Reports</em>, 2026. <a href="https://doi.org/10.1016/j.genrep.2026.102599" rel="external nofollow noopener" target="_blank">doi.org/10.1016/j.genrep.2026.102599</a></p> <div class="pub-tools"> <button type="button" class="pub-toggle" aria-expanded="false" aria-controls="abstract-10-1016-j-genrep-2026-102599" hidden="">Show abstract</button> <button type="button" class="pub-cite" data-authors="Ardie Barry Sailis" data-year="2026" data-title="Transcriptional condensates as kinetic filters for temporal control of gene expression" data-journal="Gene Reports" data-doi="10.1016/j.genrep.2026.102599"> Copy citation </button> </div> <div class="pub-abstract-body" id="abstract-10-1016-j-genrep-2026-102599"> <p>Transcriptional regulation is often described as a spatial process in which transcription factors, cofactors, and RNA polymerase II assemble at enhancers and promoters. However, this framework does not fully explain how transcriptional systems interpret fluctuating signaling inputs. This review integrates evidence from condensate biology, signaling dynamics, chromatin regulation, and transcriptional bursting to examine transcriptional condensates as candidate kinetic intermediaries in temporal signal decoding. Established findings show that transcription-associated condensates can enrich regulatory factors, exchange components dynamically, undergo signal-dependent remodeling, and associate with transcriptional activity. We propose a kinetic-filter model in which concentration thresholds, nucleation delays, finite assembly and exchange kinetics, persistence, and regulated dissolution support duration-dependent integration, attenuation of rapid fluctuations, and short-term molecular memory. These properties are predicted to influence transcriptional burst frequency, duration, and output, while cellular metabolic and physicochemical conditions define the operating regime of condensate responsiveness. The model can be tested using live-cell imaging, fluorescence recovery after photobleaching, optogenetic pulsing, nascent RNA reporters, perturbation of multivalent interactions, orthogonal controls, and quantitative kinetic modeling. The complete causal sequence linking defined temporal inputs, condensate kinetics, and endogenous nascent transcription remains unproven. Establishing when this sequence operates will determine whether condensate-mediated temporal filtering is a general regulatory principle or a context-dependent mechanism.</p> </div> </div> <aside class="pub-metrics" aria-label="Metrics for this paper"> <div class="pub-metric"> <a href="https://plu.mx/plum/a/?doi=10.1016%2Fj.genrep.2026.102599" class="plumx-plum-print-popup" data-popup="bottom" data-size="medium" rel="external nofollow noopener" target="_blank"> </a> </div> <div class="pub-metric"> <div class="lazy-badge" data-badge="altmetric" data-badge-type="donut" data-doi="10.1016/j.genrep.2026.102599"></div> </div> <div class="pub-metric"> <span class="lazy-badge" data-badge="dimensions" data-doi="10.1016/j.genrep.2026.102599" data-style="small_circle"></span> </div> </aside> </article> <article class="pub" id="10-1002-jat-70382"> <div class="pub-main"> <h3 class="pub-title"><a href="https://doi.org/10.1002/jat.70382" rel="external nofollow noopener" target="_blank">Mitochondrial mechanisms in the potential male reproductive toxicity of e-cigarette-derived metal-containing nanoparticles</a></h3> <p class="pub-authors"><strong>Ardie Barry Sailis</strong></p> <p class="pub-venue"><em>Journal of Applied Toxicology</em>, 2026. <a href="https://doi.org/10.1002/jat.70382" rel="external nofollow noopener" target="_blank">doi.org/10.1002/jat.70382</a></p> <div class="pub-tools"> <button type="button" class="pub-toggle" aria-expanded="false" aria-controls="abstract-10-1002-jat-70382" hidden="">Show abstract</button> <button type="button" class="pub-cite" data-authors="Ardie Barry Sailis" data-year="2026" data-title="Mitochondrial mechanisms in the potential male reproductive toxicity of e-cigarette-derived metal-containing nanoparticles" data-journal="Journal of Applied Toxicology" data-doi="10.1002/jat.70382"> Copy citation </button> </div> <div class="pub-abstract-body" id="abstract-10-1002-jat-70382"> <p>E-cigarette devices emit ultrafine metal-containing particles from heating coils, solder joints, and other wetted components, but their reproductive toxicology remains poorly defined. This review integrates evidence from aerosol chemistry, nanoparticle toxicology, and male reproductive biology to evaluate whether these particles may contribute to male reproductive dysfunction through mitochondrial injury. E-cigarette aerosols can contain nanoscale and ultrafine particles bearing chromium, nickel, iron, copper, zinc, tin, and lead. These particles may deposit in the distal lung and, based on broader nanoparticle toxicokinetics, could enter the systemic circulation. However, direct particle-resolved evidence of their accumulation in testicular tissue is currently absent. Mechanistic evidence therefore derives mainly from engineered nanoparticle and soluble-metal models. These studies indicate that metal exposure can disrupt blood-testis barrier integrity, impair Sertoli- and Leydig-cell function, alter steroidogenesis, damage germ cells, and reduce sperm quality. Mitochondria represent a plausible point of convergence because particle- and ion-mediated mechanisms can promote mitochondrial reactive oxygen species generation, lipid peroxidation, respiratory dysfunction, mitochondrial DNA damage, altered fusion-fission balance, defective mitophagy, apoptosis, and inflammatory signaling. These pathways provide a biologically plausible framework linking inhaled metal-containing particles to impaired spermatogenesis and steroidogenesis, without establishing causality under realistic vaping conditions. Future studies should combine inhalation-relevant exposure models with particle-resolved biodistribution, dosimetry, and mechanistic reproductive endpoints to determine whether these pathways operate following e-cigarette exposure.</p> </div> </div> <aside class="pub-metrics" aria-label="Metrics for this paper"> <div class="pub-metric"> <a href="https://plu.mx/plum/a/?doi=10.1002%2Fjat.70382" class="plumx-plum-print-popup" data-popup="bottom" data-size="medium" rel="external nofollow noopener" target="_blank"> </a> </div> <div class="pub-metric"> <div class="lazy-badge" data-badge="altmetric" data-badge-type="donut" data-doi="10.1002/jat.70382"></div> </div> <div class="pub-metric"> <span class="lazy-badge" data-badge="dimensions" data-doi="10.1002/jat.70382" data-style="small_circle"></span> </div> </aside> </article> <article class="pub" id="10-1007-s00204-026-04486-w"> <div class="pub-main"> <h3 class="pub-title"><a href="https://doi.org/10.1007/s00204-026-04486-w" rel="external nofollow noopener" target="_blank">Ferroptosis in e-cigarette aerosol-associated respiratory injury</a></h3> <p class="pub-authors"><strong>Ardie Barry Sailis</strong></p> <p class="pub-venue"><em>Archives of Toxicology</em>, 2026. <a href="https://doi.org/10.1007/s00204-026-04486-w" rel="external nofollow noopener" target="_blank">doi.org/10.1007/s00204-026-04486-w</a></p> <div class="pub-tools"> <button type="button" class="pub-toggle" aria-expanded="false" aria-controls="abstract-10-1007-s00204-026-04486-w" hidden="">Show abstract</button> <button type="button" class="pub-cite" data-authors="Ardie Barry Sailis" data-year="2026" data-title="Ferroptosis in e-cigarette aerosol-associated respiratory injury" data-journal="Archives of Toxicology" data-doi="10.1007/s00204-026-04486-w"> Copy citation </button> </div> <div class="pub-abstract-body" id="abstract-10-1007-s00204-026-04486-w"> <p>E-cigarette use has increased substantially, particularly among adolescents and young adults, yet its long-term respiratory effects remain incompletely understood. E-cigarette aerosol contains biologically active constituents, including nicotine, propylene glycol, vegetable glycerin, flavoring chemicals, aldehydes, metals, particles, and reactive oxygen species, which may disrupt respiratory epithelial homeostasis. This review synthesizes experimental, preclinical, and human-relevant evidence linking e-cigarette aerosol exposure to respiratory epithelial injury, with emphasis on ferroptosis-related mechanisms. Available evidence indicates that e-cigarette aerosol can impair epithelial barrier integrity, alter mucociliary defense, increase MUC5AC expression, induce oxidative stress, and promote inflammatory signaling. Emerging preclinical data suggest that electronic nicotine delivery system exposure may induce ferroptosis-associated lung injury through increased CD71/TFR1 and ACSL4 expression, reduced GPX4, altered lipid profiles, BODIPY-C11-positive lipid peroxidation, epithelial cell death, inflammation, mucus accumulation, emphysema-like pathology, and fibrosis. Mechanistically, e-cigarette aerosol may create a ferroptosis-permissive epithelial environment by promoting redox imbalance, GPX4/GSH/SLC7A11 antioxidant defense impairment, altered iron handling, ACSL4-mediated PUFA-phospholipid remodeling, NRF2/ARE stress responses, mitochondrial dysfunction, and lipid peroxide accumulation. Ferroptotic epithelial injury may further amplify airway inflammation and remodeling through DAMP release, macrophage recruitment, cytokine production, barrier disruption, mucus dysregulation, and extracellular matrix deposition. However, direct human evidence remains limited, and many mechanistic links are extrapolated from cigarette smoke, particulate matter, and broader lung injury models. Future studies should use standardized exposure systems, human-relevant airway and alveolar models, comprehensive ferroptosis markers, and ferroptosis-specific rescue experiments to determine whether ferroptosis is a driver, amplifier, or downstream marker of e-cigarette-associated respiratory injury.</p> </div> </div> <aside class="pub-metrics" aria-label="Metrics for this paper"> <div class="pub-metric"> <a href="https://plu.mx/plum/a/?doi=10.1007%2Fs00204-026-04486-w" class="plumx-plum-print-popup" data-popup="bottom" data-size="medium" rel="external nofollow noopener" target="_blank"> </a> </div> <div class="pub-metric"> <div class="lazy-badge" data-badge="altmetric" data-badge-type="donut" data-doi="10.1007/s00204-026-04486-w"></div> </div> <div class="pub-metric"> <span class="lazy-badge" data-badge="dimensions" data-doi="10.1007/s00204-026-04486-w" data-style="small_circle"></span> </div> </aside> </article> <article class="pub" id="10-1080-15376516-2026-2695155"> <div class="pub-main"> <h3 class="pub-title"><a href="https://doi.org/10.1080/15376516.2026.2695155" rel="external nofollow noopener" target="_blank">Could e-cigarette devices generate inhalable micro- and nanoplastics? Exposure plausibility and reproductive relevance</a></h3> <p class="pub-authors"><strong>Ardie Barry Sailis</strong></p> <p class="pub-venue"><em>Toxicology Mechanisms and Methods</em>, 2026. <a href="https://doi.org/10.1080/15376516.2026.2695155" rel="external nofollow noopener" target="_blank">doi.org/10.1080/15376516.2026.2695155</a></p> <div class="pub-tools"> <button type="button" class="pub-toggle" aria-expanded="false" aria-controls="abstract-10-1080-15376516-2026-2695155" hidden="">Show abstract</button> <button type="button" class="pub-cite" data-authors="Ardie Barry Sailis" data-year="2026" data-title="Could e-cigarette devices generate inhalable micro- and nanoplastics? Exposure plausibility and reproductive relevance" data-journal="Toxicology Mechanisms and Methods" data-doi="10.1080/15376516.2026.2695155"> Copy citation </button> </div> <div class="pub-abstract-body" id="abstract-10-1080-15376516-2026-2695155"> <p>Electronic cigarettes are widely used by individuals in their reproductive years, yet polymer materials in pods, wicks, seals, and casings remain underexamined as possible contributors to inhaled particulate exposure. This narrative review evaluates whether e-cigarette device components could plausibly generate microplastics or nanoplastics during use and whether such particles, if present, could have reproductive relevance. Evidence from device-material studies, polymer degradation chemistry, aerosol physics, inhalation toxicology, and reproductive microplastic models was synthesized. Current devices place polycarbonate, polydimethylsiloxane, nylon, and other polymers near heating and aerosolization zones, where thermal cycling, solvent contact, and mechanical stress could theoretically promote oxidation, chain scission, embrittlement, or fragmentation. However, no study has chemically identified or quantified device-derived microplastics or nanoplastics in e-cigarette aerosols using pol
765ymer-resolving methods. Thus, links between e-cigarette use, inhaled polymer particles, and reproductive harm remain hypothetical. Evidence from non-e-cigarette models shows that micro- and nanoplastics can induce oxidative stress, inflammation, endocrine disruption, barrier interaction, and cellular injury, but these findings cannot be extrapolated without confirming particle formation, polymer identity, dose, and biodistribution. Future research should prioritize polymer-resolved aerosol testing under realistic puffing regimens, including unused and aged devices, e-liquids, condensates, and emitted aerosols. Key endpoints should include polymer identity, particles per puff, particles per mL of e-liquid consumed, particle size distribution, polymer mass, pulmonary deposition, systemic translocation, and reproductive or placental effects. Device-derived microplastics should be treated as a plausible particle-safety concern requiring direct experimental evaluation.</p> </div> </div> <aside class="pub-metrics" aria-label="Metrics for this paper"> <div class="pub-metric"> <a href="https://plu.mx/plum/a/?doi=10.1080%2F15376516.2026.2695155" class="plumx-plum-print-popup" data-popup="bottom" data-size="medium" rel="external nofollow noopener" target="_blank"> </a> </div> <div class="pub-metric"> <div class="lazy-badge" data-badge="altmetric" data-badge-type="donut" data-doi="10.1080/15376516.2026.2695155"></div> </div> <div class="pub-metric"> <span class="lazy-badge" data-badge="dimensions" data-doi="10.1080/15376516.2026.2695155" data-style="small_circle"></span> </div> </aside> </article> <article class="pub" id="10-1111-dom-70818"> <div class="pub-main"> <h3 class="pub-title"><a href="https://doi.org/10.1111/dom.70818" rel="external nofollow noopener" target="_blank">Adipose as a Driver, Not a Bystander: A Modern Synthesis of Obesity-Related Erectile Dysfunction</a></h3> <p class="pub-authors"><strong>Ardie Barry Sailis</strong>, Muhamad Alfakri Mat Noh</p> <p class="pub-venue"><em>
765Diabetes, Obesity and Metabolism</em>, 2026. <a href="https://doi.org/10.1111/dom.70818" rel="external nofollow noopener" target="_blank">doi.org/10.1111/dom.70818</a></p> <div class="pub-tools"> <button type="button" class="pub-toggle" aria-expanded="false" aria-controls="abstract-10-1111-dom-70818" hidden="">Show abstract</button> <button type="button" class="pub-cite" data-authors="Ardie Barry Sailis;Muhamad Alfakri Mat Noh" data-year="2026" data-title="Adipose as a Driver, Not a Bystander: A Modern Synthesis of Obesity-Related Erectile Dysfunction" data-journal="Diabetes, Obesity and Metabolism" data-doi="10.1111/dom.70818"> Copy citation </button> </div> <div class="pub-abstract-body" id="abstract-10-1111-dom-70818"> <p><strong>Background.</strong> Obesity and erectile dysfunction (ED) are increasingly co-prevalent, yet adipose tissue is often viewed as a secondary contributor rather than a primary driver of erectile impairment.</p> <p><strong>Objective.</strong> To evaluate an adipose-centric framework in which depot-specific adipose dysfunction regulates vascular, neuroendocrine, and smooth muscle processes essential for erection.</p> <p><strong>Methods.</strong> A narrative synthesis of mechanistic, preclinical, and clinical studies was conducted, focusing on inflammation, cellular senescence, extracellular vesicle signaling, ferroptosis, mitochondrial dysfunction, and glycocalyx injury across visceral, perivascular, and periprostatic adipose depots.</p> <p><strong>Results.</strong> Dysfunctional adipose tissue remodels systemic and local microenvironments through adipokines, cytokines, extracellular vesicle cargo, and oxidized lipid mediators. These processes reduce nitric oxide bioavailability, increase vascular stiffness, disrupt neuroendocrine signaling, and promote cavernosal fibrosis. Perivascular adipose tissue exerts localized effects on penile hemodynamics. Clinical and genetic evidence supports a causal link between central adiposity and ED, while weight loss and adipose-targeted interventions improve erectile outcomes.</p> <p><strong>Conclusion.</strong> Adipose tissue functions as an upstream regulator of ED pathogenesis. Targeting adipose dysfunction through lifestyle, pharmacological, and emerging strategies such as senolytics and extracellular vesicle modulation may modify disease progression rather than provide symptomatic relief.</p> </div> </div> <aside class="pub-metrics" aria-label="Metrics for this paper"> <div class="pub-metric"> <a href="https://plu.mx/plum/a/?doi=10.1111%2Fdom.70818" class="plumx-plum-print-popup" data-popup="bottom" data-size="medium" rel="external nofollow noopener" target="_blank"> </a> </div> <div class="pub-metric"> <div class="lazy-badge" data-badge="altmetric" data-badge-type="donut" data-doi="10.1111/dom.70818"></div> </div> <div class="pub-metric"> <span class="lazy-badge" data-badge="dimensions" data-doi="10.1111/dom.70818" data-style="small_circle"></span> </div> </aside> </article> <article class="pub" id="10-1016-j-mce-2026-112786"> <div class="pub-main"> <h3 class="pub-title"><a href="https://doi.org/10.1016/j.mce.2026.112786" rel="external nofollow noopener" target="_blank">E-cigarette aerosol constituents modulate Leydig cell steroidogenic pathways: Evidence from experimental models</a></h3> <p class="pub-authors"><strong>Ardie Barry Sailis</strong>, Muhamad Alfakri Mat Noh, Bey Fen Leo, Farid Nazer Faruqu, Anne Yee, Maw Shin Sim</p> <p class="pub-venue"><em>Molecular and Cellular Endocrinology</em>, 2026. <a href="https://doi.org/10.1016/j.mce.2026.112786" rel="external nofollow noopener" target="_blank">doi.org/10.1016/j.mce.2026.112786</a></p> <div class="pub-tools"> <button type="button" class="pub-toggle" aria-expanded="false" aria-controls="abstract-10-1016-j-mce-2026-112786" hidden="">Show abstract</button> <button type="button" class="pub-cite" data-authors="Ardie Barry Sailis;Muhamad Alfakri Mat Noh;Bey Fen Leo;Farid Nazer Faruqu;Anne Yee;Maw Shin Sim" data-year="2026" data-title="E-cigarette aerosol constituents modulate Leydig cell steroidogenic pathways: Evidence from experimental models" data-journal="Molecular and Cellular Endocrinology" data-doi="10.1016/j.mce.2026.112786"> Copy citation </button> </div> <div class="pub-abstract-body" id="abstract-10-1016-j-mce-2026-112786"> <p>The rising prevalence of e-cigarette use has raised concerns regarding potential adverse effects on male reproductive and endocrine health, yet its impact on testosterone regulation remains poorly defined. This narrative review critically synthesizes evidence from preclinical in vivo and in vitro models and from human observational studies to evaluate how e-cigarette exposure may influence testosterone homeostasis and hypothalamic-pituitary-gonadal axis function. Across experimental models, e-cigarette aerosols and their constituents consistently impair Leydig cell function and testosterone biosynthesis through convergent mechanisms involving oxidative stress, inflammatory signaling, mitochondrial dysfunction, epigenetic modification, and suppression of key steroidogenic enzymes. Several of these mechanisms overlap with those described for combustible cigarette exposure, whereas others, particularly those related to aerosolized solvents, flavoring agents, and device-derived metals, appear more specific to e-cigarettes. In contrast, the available human evidence is limited to cross-sectional studies and yields inconsistent findings, with the largest population-based study reporting no significant differences in circulating testosterone concentrations between e-cigarette users and non-users. Collectively, the evidence supports biological plausibility for e-cigarette-associated disruption of testosterone steroidogenesis but remains insufficient to establish causality in humans. This review therefore identifies critical methodological gaps and highlights priorities for longitudinal, biomarker-anchored human studies required to determine the clinical relevance and reversibility of e-cigarette-associated endocrine disruption.</p> </div> </div> <aside class="pub-metrics" aria-label="Metrics for this paper"> <div class="pub-metric"> <a href="https://plu.mx/plum/a/?doi=10.1016%2Fj.mce.2026.112786" class="plumx-plum-print-popup" data-popup="bottom" data-size="medium" rel="external nofollow noopener" target="_blank"> </a> </div> <div class="pub-metric"> <div class="lazy-badge" data-badge="altmetric" data-badge-type="donut" data-doi="10.1016/j.mce.2026.112786"></div> </div> <div class="pub-metric"> <span class="lazy-badge" data-badge="dimensions" data-doi="10.1016/j.mce.2026.112786" data-style="small_circle"></span> </div> </aside> </article> <article class="pub" id="10-1016-j-etap-2026-104994"> <div class="pub-main"> <h3 class="pub-title"><a href="https://doi.org/10.1016/j.etap.2026.104994" rel="external nofollow noopener" target="_blank">MicroRNA-mediated disruption of testosterone signaling associated with e-cigarette exposure</a></h3> <p class="pub-authors"><strong>Ardie Barry Sailis</strong>, Muhamad Alfakri Mat Noh, Bey Fen Leo, Farid Nazer Faruqu, Anne Yee, Maw Shin Sim</p> <p class="pub-venue"><em>Environmental Toxicology and Pharmacology</em>, 2026. <a href="https://doi.org/10.1016/j.etap.2026.104994" rel="external nofollow noopener" target="_blank">doi.org/10.1016/j.etap.2026.104994</a></p> <div class="pub-tools"> <button type="button" class="pub-toggle" aria-expanded="false" aria-controls="abstract-10-1016-j-etap-2026-104994" hidden="">Show abstract</button> <button type="button" class="pub-cite" data-authors="Ardie Barry Sailis;Muhamad Alfakri Mat Noh;Bey Fen Leo;Farid Nazer Faruqu;Anne Yee;Maw Shin Sim" data-year="2026" data-title="MicroRNA-mediated disruption of testosterone signaling associated with e-cigarette exposure" data-journal="Environmental Toxicology and Pharmacology" data-doi="10.1016/j.etap.2026.104994"> Copy citation </button> </div> <div class="pub-abstract-body" id="abstract-10-1016-j-etap-2026-104994"> <p>Electronic cigarette (e-cigarette) use is increasing worldwide, yet its effects on male endocrine and reproductive health remain poorly defined. Beyond nicotine, e-cigarette aerosols contain aldehydes, metals, and particulate matter capable of perturbing pathways essential for steroidogenesis. MicroRNAs (miRNAs) have emerged as key post-transcriptional regulators of hypothalamic-pituitary-gonadal axis signaling and Leydig cell function, and multiple miRNAs involved in GnRH release, gonadotropin synthesis, and testosterone biosynthesis are responsive to oxidative and metabolic
765stressors present in e-cigarette aerosols. Although direct evidence in e-cigarette users is limited, findings from studies of nicotine, flavoring agents, and metal exposures support the plausibility that e-cigarettes may alter miRNA expression and impair steroidogenic processes. This hypothesis-generating review synthesizes current evidence linking miRNA dysregulation to testosterone biosynthesis, proposes candidate e-cigarette constituents capable of modulating these miRNAs, and highlights critical gaps requiring experimental validation. Overall, miRNAs may represent integrative mediators and potential biomarkers of e-cigarette-associated testicular toxicity.</p> </div> </div> <aside class="pub-metrics" aria-label="Metrics for this paper"> <div class="pub-metric"> <a href="https://plu.mx/plum/a/?doi=10.1016%2Fj.etap.2026.104994" class="plumx-plum-print-popup" data-popup="bottom" data-size="medium" rel="external nofollow noopener" target="_blank"> </a> </div> <div class="pub-metric"> <div class="lazy-badge" data-badge="altmetric" data-badge-type="donut" data-doi="10.1016/j.etap.2026.104994"></div> </div> <div class="pub-metric"> <span class="lazy-badge" data-badge="dimensions" data-doi="10.1016/j.etap.2026.104994" data-style="small_circle"></span> </div> </aside> </article> <article class="pub" id="10-1016-j-pbiomolbio-2026-03-005"> <div class="pub-main"> <h3 class="pub-title"><a href="https://doi.org/10.1016/j.pbiomolbio.2026.03.005" rel="external nofollow noopener" target="_blank">NRF2-KEAP1 as a redox signal-resolution circuit: Beyond the antioxidant switch</a></h3> <p class="pub-authors"><strong>Ardie Barry Sailis</strong></p> <p class="pub-venue"><em>Progress in Biophysics and Molecular Biology</em>, 2026. <a href="https://doi.org/10.1016/j.pbiomolbio.2026.03.005" rel="external nofollow noopener" target="_blank">doi.org/10.1016/j.pbiomolbio.2026.03.005</a></p> <div class="pub-tools"> <button type="button" class="pub-toggle" aria-expanded="false" aria-controls="abstract-10-1016-j-pbiomolbio-2026-03-005" hidden="">Show abstract</button> <button type="button" class="pub-cite" data-authors="Ardie Barry Sailis" data-year="2026" data-title="NRF2-KEAP1 as a redox signal-resolution circuit: Beyond the antioxidant switch" data-journal="Progress in Biophysics and Molecular Biology" data-doi="10.1016/j.pbiomolbio.2026.03.005"> Copy citation </button> </div> <div class="pub-abstract-body" id="abstract-10-1016-j-pbiomolbio-2026-03-005"> <p>The NRF2-KEAP1 pathway is classically described as an inducible antioxidant switch, yet this binary framework fails to explain why transient NRF2 activation is broadly cytoprotective whereas sustained activation drives pathology across cancer, fibrosis, and metabolic disease. In this conceptual synthesis, we integrate evidence from redox biology, proteostasis, autophagy, metabolism, and systems biology to reinterpret NRF2-KEAP1 signaling using concepts from control theory. We propose that the pathway functions as a redoxostat, a signal-resolution control circuit that detects oxidative and electrophilic stress, encodes signal magnitude and duration, executes graded transcriptional responses, and actively promotes its own termination through genetically encoded feedback mechanisms. Central to this architecture is a resolution module involving KEAP1 resynthesis, ubiquitin-proteasome and autophagic turnover, and metabolic restoration of redox-sensitive cysteines. Within this framework, pathological outcomes arise primarily from failure of signal resolution rather than excessive activation, and distinct disease phenotypes can be mapped to specific circuit failure modes including sensor dysfunction, controller impairment, amplifier escape, and feedback disruption. This model reconciles the protective and pathogenic roles of NRF2 under a unified explanatory logic, clarifies why chronic activation is deleterious while transient activation is adaptive, and shifts experimental and therapeutic emphasis from endpoint activation toward restoration of signaling dynamics and resolution.</p> </div> </div> <aside class="pub-metrics" aria-label="Metrics for this paper"> <div class="pub-metric"> <a href="https://plu.mx/plum/a/?doi=10.1016%2Fj.pbiomolbio.2026.03.005" class="plumx-plum-print-popup" data-popup="bottom" data-size="medium" rel="external nofollow noopener" target="_blank"> </a> </div> <div class="pub-metric"> <div class="lazy-badge" data-badge="altmetric" data-badge-type="donut" data-doi="10.1016/j.pbiomolbio.2026.03.005"></div> </div> <div class="pub-metric"> <span class="lazy-badge" data-badge="dimensions" data-doi="10.1016/j.pbiomolbio.2026.03.005" data-style="small_circle"></span> </div> </aside> </article> <article class="pub" id="10-1038-s41443-026-01300-0"> <div class="pub-main"> <h3 class="pub-title"><a href="https://doi.org/10.1038/s41443-026-01300-0" rel="external nofollow noopener" target="_blank">E-cigarettes and erectile dysfunction: biological mechanisms and research challenges</a></h3> <p class="pub-authors"><strong>Ardie Barry Sailis</strong>, Muhamad Alfakri Mat Noh, Bey Fen Leo, Farid Nazer Faruqu, Hui Yin Yow, Anne Yee, Maw Shin Sim</p> <p class="pub-venue"><em>International Journal of Impotence Research</em>, 2026. <a href="https://doi.org/10.1038/s41443-026-01300-0" rel="external nofollow noopener" target="_blank">doi.org/10.1038/s41443-026-01300-0</a></p> <div class="pub-tools"> <button type="button" class="pub-toggle" aria-expanded="false" aria-controls="abstract-10-1038-s41443-026-01300-0" hidden="">Show abstract</button> <button type="button" class="pub-cite" data-authors="Ardie Barry Sailis;Muhamad Alfakri Mat Noh;Bey Fen Leo;Farid Nazer Faruqu;Hui Yin Yow;Anne Yee;Maw Shin Sim" data-year="2026" data-title="E-cigarettes and erectile dysfunction: biological mechanisms and research challenges" data-journal="International Journal of Impotence Research" data-doi="10.1038/s41443-026-01300-0"> Copy citation </button> </div> <div class="pub-abstract-body" id="abstract-10-1038-s41443-026-01300-0"> <p>Electronic cigarettes are widely promoted as harm-reduction alternatives to conventional tobacco smoking, yet the
765ir potential effects on male sexual health remain incompletely characterised. Erectile dysfunction is a predominantly vascular condition with important neuroendocrine regulation and is highly sensitive to endothelial injury, oxidative stress, hormonal imbalance, and autonomic dysregulation, all of which may plausibly be influenced by electronic cigarette use. Despite increasing global prevalence, direct evidence linking electronic cigarette use to erectile dysfunction remains limited. This narrative review synthesises current experimental, clinical, and epidemiological evidence examining the association between electronic cigarette use and erectile dysfunction, with emphasis on underlying biological mechanisms and key research gaps. Emerging evidence implicates endothelial dysfunction, impaired nitric oxide bioavailability, oxidative stress, inflammation, hormonal disturbance, autonomic imbalance, sleep disturbance, and exposure to aerosolised substances and metals as interconnected pathways that may contribute to erectile dysfunction. Overall, the existing literature remains preliminary and largely hypothesis-generating, with no longitudinal studies capable of establishing causality or dose-response relationships. Well-designed prospective studies are required to clarify the long-term sexual health outcomes associated with electronic cigarette use.</p> </div> </div> <aside class="pub-metrics" aria-label="Metrics for this paper"> <div class="pub-metric"> <a href="https://plu.mx/plum/a/?doi=10.1038%2Fs41443-026-01300-0" class="plumx-plum-print-popup" data-popup="bottom" data-size="medium" rel="external nofollow noopener" target="_blank"> </a> </div> <div class="pub-metric"> <div class="lazy-badge" data-badge="altmetric" data-badge-type="donut" data-doi="10.1038/s41443-026-01300-0"></div> </div> <div class="pub-metric"> <span class="lazy-badge" data-badge="dimensions" data-doi="10.1038/s41443-026-01300-0" data-style="small_circle"></span> </div> </aside> </article> <article class="pub" id="10-1080-15376516-2026-2658739"> <div class="pub-main"> <h3 class="pub-title"><a href="https://doi.org/10.1080/15376516.2026.2658739" rel="external nofollow noopener" target="_blank">E-cigarette aerosols as systemic metabolic disruptors: integrated mitochondrial, circadian, and neurobehavioral mechanisms</a></h3> <p class="pub-authors"><strong>Ardie Barry Sailis</strong></p> <p class="pub-venue"><em>Toxicology Mechanisms and Methods</em>, 2026. <a href="https://doi.org/10.1080/15376516.2026.2658739" rel="external nofollow noopener" target="_blank">doi.org/10.1080/15376516.2026.2658739</a></p> <div class="pub-tools"> <button type="button" class="pub-toggle" aria-expanded="false" aria-controls="abstract-10-1080-15376516-2026-2658739" hidden="">Show abstract</button> <button type="button" class="pub-cite" data-authors="Ardie Barry Sailis" data-year="2026" data-title="E-cigarette aerosols as systemic metabolic disruptors: integrated mitochondrial, circadian, and neurobehavioral mechanisms" data-journal="Toxicology Mechanisms and Methods" data-doi="10.1080/15376516.2026.2658739"> Copy citation </button> </div> <div class="pub-abstract-body" id="abstract-10-1080-15376516-2026-2658739"> <p>E-cigarettes are promoted as reduced-harm alternatives to combustible tobacco, yet their aerosols contain metals, aldehydes, solvents, and other bioactive chemicals capable of disrupting metabolic regulation. This review synthesizes evidence from cellular, animal, and early human studies on how e-cigarette aerosol exposure affects metabolic homeostasis across mitochondrial, redox, circadian, and neurobehavioral systems. A systems-level model is proposed in which mitochondrial dysfunction, oxidative stress, circadian misalignment, and neurobehavioral alterations form a feed-forward network that drives metabolic inflexibility. Across experimental systems, e-cigarette exposure is associated with mitochondrial impairment, oxidative stress, AMPK suppression, disrupted lipid oxidation, adipose inflammation, and reduced thermogenic capacity, changes consistent with insulin resistance. Evidence also indicates disruption of circadian clock signaling and modulation of reward and appetite circuits, further biasing energy balance. These findings support a model in
765which e-cigarette aerosols act as multi-system metabolic disruptors affecting both peripheral organs and central regulatory pathways. However, important uncertainties remain regarding dose-response relationships, exposure patterns, device variability, and long-term human risk. This review provides an integrated framework to clarify potential links between e-cigarette aerosol exposure and metabolic dysfunction and highlights priorities for future translational and human research.</p> </div> </div> <aside class="pub-metrics" aria-label="Metrics for this paper"> <div class="pub-metric"> <a href="https://plu.mx/plum/a/?doi=10.1080%2F15376516.2026.2658739" class="plumx-plum-print-popup" data-popup="bottom" data-size="medium" rel="external nofollow noopener" target="_blank"> </a> </div> <div class="pub-metric"> <div class="lazy-badge" data-badge="altmetric" data-badge-type="donut" data-doi="10.1080/15376516.2026.2658739"></div> </div> <div class="pub-metric"> <span class="lazy-badge" data-badge="dimensions" data-doi="10.1080/15376516.2026.2658739" data-style="small_circle"></span> </div> </aside> </article> <article class="pub" id="10-1007-s00204-026-04384-1"> <div class="pub-main"> <h3 class="pub-title"><a href="https://doi.org/10.1007/s00204-026-04384-1" rel="external nofollow noopener" target="_blank">CYP1A1 as a conserved metabolic circuit linking environmental sensing to immune regulation</a></h3> <p class="pub-authors"><strong>Ardie Barry Sailis</strong></p> <p class="pub-venue"><em>Archives of Toxicology</em>, 2026. <a href="https://doi.org/10.1007/s00204-026-04384-1" rel="external nofollow noopener" target="_blank">doi.org/10.1007/s00204-026-04384-1</a></p> <div class="pub-tools"> <button type="button" class="pub-toggle" aria-expanded="false" aria-controls="abstract-10-1007-s00204-026-04384-1" hidden="">Show abstract</button> <button type="button" class="pub-cite" data-authors="Ardie Barry Sailis" data-year="2026" data-title="CYP1A1 as a conserved metabolic circuit linking environmental sensing to immune regulation" data-journal="Archives of Toxicology" data-doi="10.1007/s00204-026-04384-1"> Copy citation </button> </div> <div class="pub-abstract-body" id="abstract-10-1007-s00204-026-04384-1"> <p>Cytochrome P450 1A1 (CYP1A1) is traditionally described as a xenobiotic detoxification enzyme induced by the aryl hydrocarbon receptor (AhR). However, its tight inducible regulation, evolutionary conservation, and prominent expression in immune and barrier tissues where xenobiotic metabolism operates alongside environmental sensing and immune regulation suggest a broader regulatory role. This review proposes that CYP1A1 functions as a metabolic feedback regulator that controls the duration and intensity of AhR signaling. AhR rapidly senses diverse environmental, dietary, microbial, and endogenous ligands, while delayed induction of CYP1A1 limits signaling by metabolizing susceptible ligands and reducing their availability. Through this feedback architecture, ligand metabolism determines signal persistence and shapes downstream transcriptional and immune outcomes. Evidence from evolutionary analyses, signaling kinetics, tissue biology, and immunology indicates that CYP1A1-mediated metabolic feedback calibrates immune differentiation and barrier homeostasis across tissues. Disruption of this feedback, through persistent ligands or impaired CYP1A1 activity, uncouples environmental sensing from signal resolution and promotes sustained AhR activation. This framework reframes the AhR-CYP1A1 axis as a regulatory control circuit rather than a linear detoxification pathway and highlights signal duration and feedback integrity as key determinants of environmental immunotoxicity.</p> </div> </div> <aside class="pub-metrics" aria-label="Metrics for this paper"> <div class="pub-metric"> <a href="https://plu.mx/plum/a/?doi=10.1007%2Fs00204-026-04384-1" class="plumx-plum-print-popup" data-popup="bottom" data-size="medium" rel="external nofollow noopener" target="_blank"> </a> </div> <div class="pub-metric"> <div class="lazy-badge" data-badge="altmetric" data-badge-type="donut" data-doi="10.1007/s00204-026-04384-1"></div> </div> <div class="pub-metric"> <span class="lazy-badge" data-badge="dimensions" data-doi="10.1007/s00204-026-04384-1" data-style="small_circle"></span> </div> </aside> </article> <article class="pub" id="10-1007-s10389-026-02740-0"> <div class="pub-main"> <h3 class="pub-title"><a href="https://doi.org/10.1007/s10389-026-02740-0" rel="external nofollow noopener" target="_blank">Effects of secondhand exposure to e-cigarette aerosol on lung health: a systematic review</a></h3> <p class="pub-authors"><strong>Ardie Barry Sailis</strong>, Muhamad Alfakri Mat Noh, Bey Fen Leo, Farid Nazer Faruqu, Anne Yee, Maw Shin Sim</p> <p class="pub-venue"><em>Journal of Public Health</em>, 2026. <a href="https://doi.org/10.1007/s10389-026-02740-0" rel="external nofollow noopener" target="_blank">doi.org/10.1007/s10389-026-02740-0</a></p> <div class="pub-tools"> <button type="button" class="pub-toggle" aria-expanded="false" aria-controls="abstract-10-1007-s10389-026-02740-0" hidden="">Show abstract</button> <button type="button" class="pub-cite" data-authors="Ardie Barry Sailis;Muhamad Alfakri Mat Noh;Bey Fen Leo;Farid Nazer Faruqu;Anne Yee;Maw Shin Sim" data-year="2026" data-title="Effects of secondhand exposure to e-cigarette aerosol on lung health: a systematic review" data-journal="Journal of Public Health" data-doi="10.1007/s10389-026-02740-0"> Copy citation </button> </div> <div class="pub-abstract-body" id="abstract-10-1007-s10389-026-02740-0"> <p><strong>Objective.</strong> This review assesses the respiratory effects of passive exposure to e-cigarette aerosols in adolescents, healthy adults, and individuals with pre-existing respiratory conditions.</p> <p><strong>Methods.</strong> We systematically searched for observational and experimental studies on secondhand e-cigarette aerosol (SHA) exposure. Outcomes included respiratory symptoms, pulmonary function, airway resistance or reactivity, inflammatory biomarkers, and environmental exposure metrics. Five studies met criteria: longitudinal cohorts, cross-sectional surveys, and controlled chamber experiments.</p> <p><strong>Results.</strong> Evidence suggests that SHA exposure is associated with adverse respiratory outcomes. In adolescents and young adults, household SHA increased bronchitic symptoms, wheeze, shortness of breath, and asthma outcomes. Risk rose with more frequent exposure. Controlled chamber studies in healthy non-smokers have found that 30 min of passive exposure causes immediate sensory irritation (in the eyes, nose, and throat), increased airway resistance, and a decrease in exhaled nitric oxide. In COPD patients, short-term exposure affected surfactant protein-A, increased plasma inflammatory biomarkers, and caused throat irritation, with borderline lung function decline. Environmental monitoring confirmed the presence of ultrafine particles and volatile organic compounds during exposure.</p> <p><strong>Conclusion.</strong>
765 SHA exposure is not benign. It can cause respiratory irritation, functional impairment, and inflammation in various populations. Effects are generally less pronounced than those of combustible cigarette smoke. Nonetheless, these findings support public health measures such as regulations restricting SHA exposure in public settings, especially to protect adolescents and vulnerable individuals. Long-term studies are still needed to determine chronic health consequences and guide evidence-based policy decisions.</p> </div> </div> <aside class="pub-metrics" aria-label="Metrics for this paper"> <div class="pub-metric"> <a href="https://plu.mx/plum/a/?doi=10.1007%2Fs10389-026-02740-0" class="plumx-plum-print-popup" data-popup="bottom" data-size="medium" rel="external nofollow noopener" target="_blank"> </a> </div> <div class="pub-metric"> <div class="lazy-badge" data-badge="altmetric" data-badge-type="donut" data-doi="10.1007/s10389-026-02740-0"></div> </div> <div class="pub-metric"> <span class="lazy-badge" data-badge="dimensions" data-doi="10.1007/s10389-026-02740-0" data-style="small_circle"></span> </div> </aside> </article> </section> <section class="pub-year" aria-labelledby="year-2025"> <h2 class="pub-year-title" id="year-2025">2025</h2> <article class="pub" id="10-1016-j-tox-2025-154339"> <div class="pub-main"> <h3 class="pub-title"><a href="https://doi.org/10.1016/j.tox.2025.154339" rel="external nofollow noopener" target="_blank">Mitochondrial dysfunction induced by E-cigarettes</a></h3> <p class="pub-authors"><strong>Ardie Barry Sailis</strong>, Muhamad Alfakri Mat Noh, Bey Fen Leo, Farid Nazer Faruqu, Anne Yee, Maw Shin Sim</p> <p class="pub-venue"><em>Toxicology</em>, 2025. <a href="https://doi.org/10.1016/j.tox.2025.154339" rel="external nofollow noopener" target="_blank">doi.org/10.1016/j.tox.2025.154339</a></p> <div class="pub-tools"> <button type="button" class="pub-toggle" aria-expanded="false" aria-controls="abstract-10-1016-j-tox-2025-154339" hidden="">Show abstract</button> <button type="button" class="pub-cite" data-authors="Ardie Barry Sailis;Muhamad Alfakri Mat Noh;Bey Fen Leo;Farid Nazer Faruqu;Anne Yee;Maw Shin Sim" data-year="2025" data-title="Mitochondrial dysfunction induced by E-cigarettes" data-journal="Toxicology" data-doi="10.1016/j.tox.2025.154339"> Copy citation </button> </div> <div class="pub-abstract-body" id="abstract-10-1016-j-tox-2025-154339"> <p>E-cigarette use has been linked to mitochondrial dysfunction through exposure to reactive oxygen species (ROS), toxic aldehydes, metals, and flavoring agents. These constituents can damage mitochondrial DNA, impair oxidative phosphorylation, and disrupt calcium homeostasis, resulting in oxidative stress, inflammation, and programmed cell death. Mitochondrial impairment contributes to many systemic disorders, including respiratory, cardiovascular, and metabolic conditions. Praeclinical findings suggest altered mitochondrial morphology, reduced adenosine triphosphate (ATP) production, and increased ROS, all of which can contribute to mitochondrial dysfunction following e-cigarette exposure. Certain flavorings and metals intensify these effects. While early human data suggest systemic mitochondrial stress, most research remains in vitro or animal-based. This review identifies mitochondrial dysfunction as a key mechanism in e-cigarette toxicity and calls for longitudinal research to elucidate its long-term health consequences.</p> </div> </div> <aside class="pub-metrics" aria-label="Metrics for this paper"> <div class="pub-metric"> <a href="https://plu.mx/plum/a/?doi=10.1016%2Fj.tox.2025.154339" class="plumx-plum-print-popup" data-popup="bottom" data-size="medium" rel="external nofollow noopener" target="_blank"> </a> </div> <div class="pub-metric"> <div class="lazy-badge" data-badge="altmetric" data-badge-type="donut" data-doi="10.1016/j.tox.2025.154339"></div> </div> <div class="pub-metric"> <span class="lazy-badge" data-badge="dimensions" data-doi="10.1016/j.tox.2025.154339" data-style="small_circle"></span> </div> </aside> </article> </section> </div>
765<script> 766 (function () { 767 // Abstracts start collapsed. Without JavaScript they simply stay visible. 768 document.querySelectorAll(".pub-toggle").forEach(function (toggle) { 769 var body = document.getElementById(toggle.getAttribute("aria-controls")); 770 if (!body) return; 771 body.hidden = true; 772 toggle.hidden = false; 773 toggle.addEventListener("click", function () { 774 var open = toggle.getAttribute("aria-expanded") === "true"; 775 toggle.setAttribute("aria-expanded", String(!open)); 776 toggle.textContent = open ? "Show abstract" : "Hide abstract"; 777 body.hidden = open; 778 }); 779 }); 780 781 // Copy an APA-style citation for a paper. 782 function apaName(full) { 783 var parts = full.trim().split(/\s+/); 784 var familyWords = 1; 785 if (parts.length >= 3 && /^(mat|md|mohd|bin|binti|van|von|de|da|del|di|le|la)$/i.test(parts[parts.length - 2])) { 786 familyWords = 2; 787 } 788 var family = parts.slice(-familyWords).join(" "); 789 var initials = parts 790 .slice(0, -familyWords) 791 .map(function (name) { 792 return name 793 .split("-") 794 .map(function (piece) { 795 return piece.charAt(0).toUpperCase() + "."; 796 }) 797 .join("-"); 798 }) 799 .join(" "); 800 return initials ? family + ", " + initials : family; 801 } 802 803 function apaAuthors(list) { 804 var names = list.map(apaName); 805 if (names.length === 1) return names[0]; 806 if (names.length === 2) return names[0] + ", & " + names[1]; 807 return names.slice(0, -1).join(", ") + ", & " + names[names.length - 1]; 808 } 809 810 function citation(button) { 811 var d = button.dataset; 812 var title = d.title.trim(); 813 if (!/[.?!]$/.test(title)) title += "."; 814 return apaAuthors(d.authors.split(";")) + " (" + d.year + "). " + title + " " + d.journal + ". https://doi.org/" + d.doi; 815 } 816 817 function copyText(text) { 818 if (navigator.clipboard && window.isSecureContext) { 819 return navigator.clipboard.writeText(text); 820 } 821 return new Promise(function (resolve, reject) { 822 var area = document.createElement("textarea"); 823 area.value = text; 824 area.setAttribute("readonly", ""); 825 area.style.position = "fixed"; 826 area.style.opacity = "0"; 827 document.body.appendChild(area); 828 area.select(); 829 var ok = document.execCommand("copy"); 830 area.remove(); 831 ok ? resolve() : reject(); 832 }); 833 } 834 835 document.querySelectorAll(".pub-cite").forEach(function (button) { 836 button.addEventListener("click", function () { 837 copyText(citation(button)).then( 838 function () { 839 button.textContent = "Copied"; 840 button.classList.add("is-copied"); 841 setTimeout(function () { 842 button.textContent = "Copy citation"; 843 button.classList.remove("is-copied"); 844 }, 2000); 845 }, 846 function () { 847 window.prompt("Copy this citation:", citation(button)); 848 } 849 ); 850 }); 851 }); 852 853 // Load the Altmetric and Dimensions badges only when a paper scrolls into view. 854 var sources = { 855 altmetric: { 856 className: "altmetric-embed", 857 src: "https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js", 858 init: function (scope) { 859 if (typeof window._altmetric_embed_init === "function") window._altmetric_embed_init(scope); 860 }, 861 }, 862 dimensions: { 863 className: "__dimensions_badge_embed__", 864 src: "https://badge.dimensions.ai/badge.js", 865 init: function () { 866 if (window.__dimensions_embed && window.__dimensions_embed.addBadges) window.__dimensions_embed.addBadges(); 867 }, 868 }, 869 }; 870 var loading = {}; 871 872 function loadScript(name) { 873 if (!loading[name]) { 874 loading[name] = new Promise(function (resolve) { 875 var script = document.createElement("script"); 876 script.src = sources[name].src; 877 script.async = true; 878 script.charset = "utf-8"; 879 script.onload = resolve; 880 script.onerror = resolve; 881 document.body.appendChild(script); 882 }); 883 } 884 return loading[name]; 885 } 886 887 function activate(panel) { 888 panel.querySelectorAll(".lazy-badge").forEach(function (badge) { 889 var name = badge.getAttribute("data-badge"); 890 var source = sources[name]; 891 if (!source) return; 892 badge.classList.remove("lazy-badge"); 893 badge.classList.add(source.className); 894 loadScript(name).then(function () { 895 source.init(panel); 896 }); 897 }); 898 } 899 900 var panels = document.querySelectorAll(".pub-metrics"); 901 if (!("IntersectionObserver" in window)) {
902 panels.forEach(activate); 903 return; 904 } 905 var observer = new IntersectionObserver( 906 function (entries) { 907 entries.forEach(function (entry) { 908 if (entry.isIntersecting) { 909 observer.unobserve(entry.target); 910 activate(entry.target); 911 } 912 }); 913 }, 914 { rootMargin: "400px 0px" } 915 ); 916 panels.forEach(function (panel) { 917 observer.observe(panel); 918 }); 919 })(); 920</script>
920 </article> </div> </div> <style> 921 /* Site palette: dark navy and blue. Theme variables are also set in assets/css/main.scss. */ 922 :root { 923 color-scheme: dark; 924 --site-bg: #081130; 925 --surface: rgba(37, 72, 160, 0.5); 926 --surface-hover: rgba(46, 88, 190, 0.58); 927 --surface-strong: rgba(59, 130, 246, 0.2); 928 --line: rgba(147, 197, 253, 0.22); 929 --line-strong: rgba(147, 197, 253, 0.5); 930 --text: #e8eefc; 931 --text-strong: #ffffff; 932 --muted: #b4c2e1; 933 --accent: #93c5fd; 934 --accent-strong: #bfdbfe; 935 --button: #2563eb; 936 --button-hover: #1d4ed8; 937 --global-bg-color: #081130; 938 --global-code-bg-color: rgba(147, 197, 253, 0.1); 939 --global-text-color: #e8eefc; 940 --global-text-color-light: #b4c2e1; 941 --global-theme-color: #93c5fd; 942 --global-hover-color: #bfdbfe; 943 --global-hover-text-color: #081130; 944 --global-footer-bg-color: #050b20; 945 --global-footer-text-color: #b4c2e1; 946 --global-footer-link-color: #ffffff; 947 --global-distill-app-color: #b4c2e1; 948 --global-divider-color: rgba(147, 197, 253, 0.18); 949 --global-card-bg-color: #13245c; 950 --global-highlight-color: #fca5a5; 951 --global-back-to-top-bg-color: rgba(255, 255, 255, 0.12); 952 --global-back-to-top-text-color: #ffffff; 953 --global-newsletter-bg-color: #13245c; 954 --global-newsletter-text-color: #e8eefc; 955 --global-tip-block-bg: #123b2c; 956 --global-tip-block-text: #beffe2; 957 --global-tip-block-title: #e2f5ec; 958 --global-warning-block-bg: #4a3d00; 959 --global-warning-block-text: #fff2af; 960 --global-warning-block-title: #fff8d8; 961 --global-danger-block-bg: #4a1010; 962 --global-danger-block-text: #ffb9b9; 963 --global-danger-block-title: #ffe0e0; 964 } 965 966 /* Chat widget button in the site blue */ 967 #chatbase-bubble-button { 968 background-color: #2563eb !important; 969 } 970 971 html { 972 min-height: 100%; 973 background: var(--site-bg) !important; 974 } 975 976 body { 977 position: relative; 978 min-height: 100%; 979 overflow-x: hidden; 980 padding-bottom: 5rem !important; 981 background: transparent !important; 982 color: var(--text); 983 } 984 985 /* Slow-moving blue glow behind every page */ 986 body::before { 987 position: fixed; 988 inset: -25vmax; 989 z-index: -1; 990 content: ''; 991 pointer-events: none; 992 background: 993 radial-gradient(circle at 24% 24%, rgba(37, 99, 235, 0.42), transparent 30%), 994 radial-gradient(circle at 78% 34%, rgba(14, 165, 233, 0.24), transparent 26%), 995 radial-gradient(circle at 46% 80%, rgba(29, 78, 216, 0.36), transparent 32%); 996 animation: site-glow 36s ease-in-out infinite alternate; 997 will-change: transform; 998 } 999 1000 @keyframes site-glow { 1001 0% { 1002 transform: translate3d(0, 0, 0) rotate(0deg) scale(1); 1003 } 1004 1005 50% { 1006 transform: translate3d(5vmax, -4vmax, 0) rotate(8deg) scale(1.08); 1007 } 1008 1009 100% { 1010 transform: translate3d(-4vmax, 3vmax, 0) rotate(-6deg) scale(1.03); 1011 } 1012 } 1013 1014 @media (prefers-reduced-motion: reduce) { 1015 body::before { 1016 animation: none; 1017 } 1018 } 1019 1020 #navbar, 1021 .navbar.fixed-top { 1022 background: rgba(8, 17, 48, 0.72) !important; 1023 -webkit-backdrop-filter: saturate(150%) blur(14px); 1024 backdrop-filter: saturate(150%) blur(14px); 1025 border-bottom: 1px solid rgba(147, 197, 253, 0.14) !important; 1026 box-shadow: none !important; 1027 } 1028 1029 .post-title, 1030 h1, 1031 h2, 1032 h3 { 1033 color: var(--text-strong); 1034 } 1035 1036 .post-description { 1037 color: var(--muted) !important; 1038 } 1039 1040 .post, 1041 .page, 1042 .container, 1043 main { 1044 background: transparent !important; 1045 } 1046 1047 #back-to-top, 1048 .back-to-top, 1049 .vanilla-back-to-top, 1050 button[aria-label='Back to top'], 1051 button[title='Back to top'], 1052 a[aria-label='Back to top'], 1053 a[title='Back to top'] { 1054 width: 4rem !important; 1055 height: 4rem !important; 1056 right: 1.6rem !important; 1057 bottom: 4.7rem !important; 1058 z-index: 99999 !important; 1059 background: #2563eb !important; 1060 color: #ffffff !important; 1061 border-radius: 999px !important; 1062 box-shadow: 0 8px 20px rgba(0, 0, 0, 0.45) !important; 1063 opacity: 0 !important; 1064 pointer-events: none !important; 1065 transform: translateY(0.4rem) !important; 1066 transition: 1067 opacity 0.45s ease, 1068 transform 0.45s ease !important; 1069 } 1070 1071 #back-to-top.is-visible, 1072 .back-to-top.is-visible, 1073 .vanilla-back-to-top.is-visible, 1074 button[aria-label='Back to top'].is-visible, 1075 button[title='Back to top'].is-visible, 1076 a[aria-label='Back to top'].is-visible, 1077 a[title='Back to top'].is-visible { 1078 opacity: 1 !important; 1079 pointer-events: auto !important; 1080 transform: translateY(0) !important; 1081 } 1082 1083 #back-to-top *, 1084 .back-to-top *, 1085 .vanilla-back-to-top * { 1086 color: #ffffff !important; 1087 fill: #ffffff !important; 1088 } 1089 1090 footer, 1091 footer.fixed-bottom, 1092 .fixed-bottom { 1093 background-color: #050b20 !important; 1094 border-top: 1px solid rgba(147, 197, 253, 0.14); 1095 color: #ffffff !important; 1096 font-size: 0.85rem !important; 1097 } 1098 1099 footer *, 1100 .fixed-bottom * { 1101 color: #ffffff !important; 1102 } 1103 1104 #chatbase-bubble-button { 1105 left: 1.6rem !important; 1106 right: auto !important; 1107 bottom: 4.7rem !important; 1108 z-index: 99998 !important; 1109 } 1110 1111 #chatbase-message-bubbles { 1112 display: none !important; 1113 } 1114 1115 #custom-chatbase-greeting { 1116 position: fixed !important; 1117 left: 1.15rem !important; 1118 bottom: 9.15rem !important; 1119 z-index: 99998 !important; 1120 max-width: min(360px, calc(100vw - 2rem)) !important; 1121 padding: 0.85rem 1rem !important; 1122 border: 0 !important; 1123 border-radius: 16px !important; 1124 background: #2563eb !important; 1125 color: #ffffff !important; 1126 font-size: 0.98rem !important; 1127 line-height: 1.35 !important; 1128 box-shadow: 0 10px 24px rgba(0, 0, 0, 0.42) !important; 1129 opacity: 0 !important; 1130 pointer-events: none !important; 1131 transform: translateY(0.35rem) !important; 1132 transition: 1133 opacity 0.55s ease, 1134 transform 0.55s ease !important; 1135 } 1136 1137 #custom-chatbase-greeting.is-visible { 1138 opacity: 1 !important; 1139 pointer-events: auto !important; 1140 transform: translateY(0) !important; 1141 } 1142 1143 #custom-chatbase-greeting.is-hidden { 1144 opacity: 0 !important; 1145 pointer-events: none !important; 1146 transform: translateY(0.35rem) !important; 1147 } 1148 1149 #custom-chatbase-greeting::after { 1150 position: absolute; 1151 left: 2.45rem; 1152 bottom: -0.62rem; 1153 width: 0; 1154 height: 0; 1155 content: ''; 1156 transform: translateX(-50%); 1157 border-left: 0.68rem solid transparent; 1158 border-right: 0.68rem solid transparent; 1159 border-top: 0.68rem solid #2563eb; 1160 } 1161 1162 #chatbase-bubble-window { 1163 left: 1.6rem !important; 1164 right: auto !important; 1165 bottom: 9.4rem !important; 1166 width: min(420px, calc(100vw - 3.2rem)) !important; 1167 max-width: calc(100vw - 3.2rem) !important; 1168 } 1169 1170 @media (max-width: 768px) { 1171 #back-to-top, 1172 .back-to-top, 1173 .vanilla-back-to-top, 1174 button[aria-label='Back to top'], 1175 button[title='Back to top'], 1176 a[aria-label='Back to top'], 1177 a[title='Back to top'] { 1178 width: 3.6rem !important; 1179 height: 3.6rem !important; 1180 right: 1rem !important; 1181 bottom: 4.7rem !important; 1182 } 1183 1184 #chatbase-bubble-button { 1185 left: 1rem !important; 1186 right: auto !important; 1187 bottom: 4.7rem !important; 1188 } 1189 1190 #custom-chatbase-greeting { 1191 left: 0.65rem !important; 1192 bottom: 8.8rem !important; 1193 max-width: min(300px, calc(100vw - 1.3rem)) !important; 1194 padding: 0.75rem 0.9rem !important; 1195 font-size: 0.9rem !important; 1196 border-radius: 14px !important; 1197 } 1198 1199 #custom-chatbase-greeting::after { 1200 left: 2.15rem; 1201 bottom: -0.58rem; 1202 transform: translateX(-50%); 1203 border-left-width: 0.62rem; 1204 border-right-width: 0.62rem; 1205 border-top-width: 0.62rem; 1206 } 1207 1208 #chatbase-bubble-window { 1209 position: fixed !important; 1210 left: 0.5rem !important; 1211 right: auto !important; 1212 top: 4.5rem !important; 1213 bottom: auto !important; 1214 width: calc(100vw - 1rem) !important; 1215 max-width: calc(100vw - 1rem) !important; 1216 height: calc(100vh - 10rem) !important; 1217 max-height: calc(100vh - 10rem) !important; 1218 border-radius: 16px !important; 1219 overflow: hidden !important; 1220 transform: none !important; 1221 } 1222 } 1223 1224 @media (max-width: 420px) { 1225 #custom-chatbase-greeting { 1226 left: 0.55rem !important; 1227 max-width: min(280px, calc(100vw - 1.1rem)) !important; 1228 font-size: 0.86rem !important; 1229 } 1230 1231 #custom-chatbase-greeting::after { 1232 left: 2.05rem; 1233 } 1234 1235 #chatbase-bubble-window { 1236 left: 0.35rem !important; 1237 top: 4.25rem !important; 1238 width: calc(100vw - 0.7rem) !important; 1239 max-width: calc(100vw - 0.7rem) !important; 1240 height: calc(100vh - 9.5rem) !important; 1241 max-height: calc(100vh - 9.5rem) !important; 1242 } 1243 } 1244</style>
1244<script> 1245 (function () { 1246 var fadeTimer; 1247 var scrollThreshold = 180; 1248 1249 var selectors = [ 1250 '#back-to-top', 1251 '.back-to-top', 1252 '.vanilla-back-to-top', 1253 'button[aria-label="Back to top"]', 1254 'button[title="Back to top"]', 1255 'a[aria-label="Back to top"]', 1256 'a[title="Back to top"]', 1257 ]; 1258 1259 function getButtons() { 1260 return Array.prototype.slice.call(document.querySelectorAll(selectors.join(','))); 1261 } 1262 1263 function hideButtons() { 1264 getButtons().forEach(function (button) { 1265 button.classList.remove('is-visible'); 1266 }); 1267 } 1268 1269 function showButtonsWhileScrolling() { 1270 if (window.scrollY <= scrollThreshold) { 1271 hideButtons(); 1272 return; 1273 } 1274 1275 getButtons().forEach(function (button) { 1276 button.classList.add('is-visible'); 1277 }); 1278 1279 clearTimeout(fadeTimer); 1280 1281 fadeTimer = setTimeout(function () { 1282 hideButtons(); 1283 }, 3000); 1284 } 1285 1286 function start() { 1287 hideButtons(); 1288 1289 window.addEventListener('scroll', showButtonsWhileScrolling, { 1290 passive: true, 1291 }); 1292 1293 var observer = new MutationObserver(function () { 1294 hideButtons(); 1295 }); 1296 1297 observer.observe(document.body, { 1298 childList: true, 1299 subtree: true, 1300 }); 1301 } 1302 1303 if (document.readyState === 'loading') { 1304 document.addEventListener('DOMContentLoaded', start); 1305 } else { 1306 start(); 1307 } 1308 })(); 1309</script>
1309 <footer class="fixed-bottom"> <div class="container mt-0">© Copyright 2026 Ardie Barry Sailis</div> </footer> <div id="custom-chatbase-greeting">Hi! I am an AI assistant. Ask me anything.</div>
1309<script> 1310 (function () { 1311 if (!window.chatbase || window.chatbase('getState') !== 'initialized') { 1312 window.chatbase = function () { 1313 if (!window.chatbase.q) { 1314 window.chatbase.q = []; 1315 } 1316 1317 window.chatbase.q.push(arguments); 1318 }; 1319 1320 window.chatbase = new Proxy(window.chatbase, { 1321 get: function (target, prop) { 1322 if (prop === 'q') { 1323 return target.q; 1324 } 1325 1326 return function () { 1327 return target(prop, Array.prototype.slice.call(arguments)); 1328 }; 1329 }, 1330 }); 1331 } 1332 1333 function onLoad() { 1334 var script = document.createElement('script'); 1335 script.src = 'https://www.chatbase.co/embed.min.js'; 1336 script.id = 'dxCY_mFoNPQu83GSntHvw'; 1337 script.domain = 'www.chatbase.co'; 1338 document.body.appendChild(script); 1339 } 1340 1341 var chatLoaded = false; 1342 1343 function loadChatOnce() { 1344 if (chatLoaded) { 1345 return; 1346 } 1347 chatLoaded = true; 1348 onLoad(); 1349 } 1350 1351 function scheduleChat() { 1352 ['scroll', 'pointerdown', 'keydown', 'touchstart'].forEach(function (evt) { 1353 window.addEventListener(evt, loadChatOnce, { once: true, passive: true }); 1354 }); 1355 setTimeout(function () { 1356 if ('requestIdleCallback' in window) { 1357 requestIdleCallback(loadChatOnce, { timeout: 2000 }); 1358 } else { 1359 loadChatOnce(); 1360 } 1361 }, 4000); 1362 } 1363 1364 if (document.readyState === 'complete') { 1365 scheduleChat(); 1366 } else { 1367 window.addEventListener('load', scheduleChat); 1368 } 1369 })(); 1370 1371 document.addEventListener('DOMContentLoaded', function () { 1372 var greeting = document.getElementById('custom-chatbase-greeting'); 1373 var showTimer; 1374 var hideTimer; 1375 var greetingDismissed = false; 1376 1377 function showGreeting() { 1378 if (!greeting || greetingDismissed) { 1379 return; 1380 } 1381 1382 greeting.classList.remove('is-hidden'); 1383 greeting.classList.add('is-visible'); 1384 1385 hideTimer = setTimeout(fadeGreeting, 5000); 1386 } 1387 1388 function fadeGreeting() { 1389 if (!greeting) { 1390 return; 1391 } 1392 1393 greetingDismissed = true; 1394 clearTimeout(showTimer); 1395 clearTimeout(hideTimer); 1396 1397 greeting.classList.remove('is-visible'); 1398 greeting.classList.add('is-hidden'); 1399 } 1400 1401 document.addEventListener('click', function (event) { 1402 if (event.target.closest('#chatbase-bubble-button') || event.target.closest('#custom-chatbase-greeting')) { 1403 fadeGreeting(); 1404 } 1405 }); 1406 1407 showTimer = setTimeout(showGreeting, 2000); 1408 }); 1409</script>
1409
1409<script type="text/javascript" src="https://cdn.plu.mx/widget-popup.js"></script>
1409
1409<script> 1410 window.alFolio = { 1411 compatBootstrap: false 1412 }; 1413</script>
1413
1413<script src="/assets/js/nav-toggle.js?v=141bd79a73ebc0f0b6ea58e440ae79fc"></script>
1413
1413<script src="/assets/js/tooltips-setup.js?v=fe487e99db6c43751e6e7bdb2d6a0611"></script>
1413
1413<script src="/assets/js/no_defer.js?v=53b1b1a645525975c963ce8bf8bfefcf"></script>
1413
1413<script defer src="/assets/js/common.js?v=87baac90f765f2f3362dcf6aaf312a8a"></script>
1413
1413<script defer src="/assets/js/copy_code.js?v=c8a01c11a92744d44b093fc3bda915df" type="text/javascript"></script>
1413
1413<script defer src="/assets/js/jupyter_new_tab.js?v=896d254890d9b47f0281f63bfccf0dee"></script>
vendor: 64 bytes, line 1413
1413 <script async src="https://www.googletagmanager.com/gtag/js?id=
1413G-36L54Z5Q3K
vendor: 12 bytes, line 1413
1413"></script>
1413<script> 1414 window.dataLayer = window.dataLayer || []; 1415 function gtag() { 1416 window.dataLayer.push(arguments); 1417 } 1418 gtag("js", new Date()); 1419 gtag("config", "G-36L54Z5Q3K"); 1420</script>
1420
1420<script defer src="/assets/js/progress-bar.js?v=499464c5c63ced6cf7ad62509f1e2610" type="text/javascript"></script>
1420
1420<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vanilla-back-to-top.min.js" integrity="sha256-uMJJ3EoTyfRBoTbR+lrfu1uRQ87RZG8AR3cVNuQVeFg=" crossorigin="anonymous"></script>
1420
1420<script> 1421 addBackToTop(); 1422 </script>
1422 </body> </html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.