PageSourceSearch

https://ardiebarrysailis.com/publications/

html ardiebarrysailis.com collected 2026-10-08 06:04:24 UTC 91,969 bytes, 1,422 lines download raw bytes

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&amp;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.