nonzeroexit commited on
Commit
69bc4bb
·
verified ·
1 Parent(s): 1a49717

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +140 -2
index.html CHANGED
@@ -137,6 +137,15 @@
137
  background-color: var(--analyze-button-hover-bg);
138
  }
139
 
 
 
 
 
 
 
 
 
 
140
 
141
  .character-count {
142
  text-align: right;
@@ -615,6 +624,85 @@
615
  border: 2px solid var(--secondary-color);
616
  flex-shrink: 0;
617
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
618
  </style>
619
 
620
  </head>
@@ -692,6 +780,7 @@
692
  <div class="button-group">
693
  <button id="clear-btn">Clear Input</button> <!-- NO onclick attribute here -->
694
  <button id="predict-btn">Submit</button> <!-- NO onclick attribute here -->
 
695
  </div>
696
  </div>
697
 
@@ -858,7 +947,7 @@
858
  <li><strong>Interpretation:</b> The model considers polarity, likely in balance with hydrophobicity. An optimal AMP efficacy is often linked to having both hydrophobic and polar residues to facilitate membrane interaction and solubility.</li>
859
  </ul>
860
  </li>
861
- <li><strong>Solvent Accessibility (SolventAccessibilityD3001):</strong>
862
  <ul>
863
  <li><strong>Description:</b> Reflects how exposed the residues are to the solvent (water).</li>
864
  <li><strong>Interpretation:</b> Solvent-accessible residues positively contribute to AMP prediction. This might indicate that exposed residues facilitate interaction with bacterial membranes or the surrounding environment.</li>
@@ -886,7 +975,7 @@
886
  <li><strong>Interpretation:<b> Higher values of hydrophobicity autocorrelation are positively associated with AMP prediction. This likely reflects the importance of hydrophobic clustering in forming amphipathic structures, such as α-helices, which are common and effective in AMPs.</b></b></li>
887
  </ul>
888
  </li>
889
- <li><strong>GearyAuto_Steric30 & GearyAuto_Steric29:</strong>
890
  <ul>
891
  <li><strong>Description:</b> Reflect peptide backbone flexibility and steric properties at spatial lags of 30 and 29.</li>
892
  <li><strong>Interpretation:</b> These features have a positive SHAP impact, suggesting that a certain degree of peptide backbone flexibility may be beneficial for AMP action. Flexibility could enhance the peptide's ability to interact with and adapt to diverse bacterial membrane structures.</li>
@@ -983,6 +1072,19 @@
983
  </div>
984
  </div>
985
 
 
 
 
 
 
 
 
 
 
 
 
 
 
986
  <footer>
987
  <p>© 2025, Bioinformatics and Computational biology Unit, BCBU</p>
988
  <address>
@@ -1019,6 +1121,13 @@
1019
  const emailErrorDiv = document.getElementById('email-error');
1020
  const emailStatusDiv = document.getElementById('email-status');
1021
 
 
 
 
 
 
 
 
1022
  let clientInstancePrediction; // Only prediction client will be connected
1023
  let clientInstanceEmail = null; // Email client will NOT be connected (explicitly null)
1024
  let debounceTimer;
@@ -1101,6 +1210,35 @@
1101
  if (clearBtn) clearBtn.addEventListener('click', clearInput);
1102
  if (predictBtn) predictBtn.addEventListener('click', classifySequenceDebounced);
1103
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1104
 
1105
  clearInput();
1106
  };
 
137
  background-color: var(--analyze-button-hover-bg);
138
  }
139
 
140
+ #show-demo-btn { /* New style for demo button */
141
+ background-color: var(--info-color); /* Blue */
142
+ margin-left: 0.2rem; /* Consistent spacing */
143
+ }
144
+
145
+ #show-demo-btn:hover {
146
+ background-color: #1976d2; /* Darker Blue */
147
+ }
148
+
149
 
150
  .character-count {
151
  text-align: right;
 
624
  border: 2px solid var(--secondary-color);
625
  flex-shrink: 0;
626
  }
627
+
628
+ /* Modal for Demo Video */
629
+ .modal-overlay {
630
+ position: fixed;
631
+ top: 0;
632
+ left: 0;
633
+ width: 100%;
634
+ height: 100%;
635
+ background-color: rgba(0, 0, 0, 0.7);
636
+ display: flex;
637
+ justify-content: center;
638
+ align-items: center;
639
+ z-index: 1000;
640
+ visibility: hidden; /* Use visibility and opacity for smooth transitions */
641
+ opacity: 0;
642
+ transition: visibility 0s, opacity 0.3s ease;
643
+ }
644
+
645
+ .modal-overlay.active {
646
+ visibility: visible;
647
+ opacity: 1;
648
+ }
649
+
650
+ .modal-content {
651
+ background-color: var(--container-bg-color);
652
+ padding: 20px;
653
+ border-radius: 10px;
654
+ position: relative;
655
+ max-width: 90%;
656
+ max-height: 90%;
657
+ overflow: auto;
658
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
659
+ display: flex;
660
+ flex-direction: column;
661
+ align-items: center;
662
+ }
663
+
664
+ .dark-mode .modal-content {
665
+ background-color: var(--container-bg-color);
666
+ }
667
+
668
+ .modal-close-btn {
669
+ position: absolute;
670
+ top: 10px;
671
+ right: 15px;
672
+ font-size: 28px;
673
+ cursor: pointer;
674
+ color: var(--text-color);
675
+ transition: color 0.2s ease;
676
+ }
677
+
678
+ .modal-close-btn:hover {
679
+ color: var(--clear-button-bg);
680
+ }
681
+
682
+ #demo-video {
683
+ width: 100%;
684
+ max-width: 700px; /* Limit video size for better presentation */
685
+ height: auto;
686
+ margin-top: 15px;
687
+ border-radius: 8px;
688
+ }
689
+
690
+ .modal-content h3 {
691
+ color: var(--primary-color);
692
+ margin-top: 0;
693
+ margin-bottom: 10px;
694
+ }
695
+
696
+ @media (max-width: 768px) {
697
+ .modal-content {
698
+ padding: 15px;
699
+ }
700
+ .modal-close-btn {
701
+ font-size: 24px;
702
+ top: 5px;
703
+ right: 10px;
704
+ }
705
+ }
706
  </style>
707
 
708
  </head>
 
780
  <div class="button-group">
781
  <button id="clear-btn">Clear Input</button> <!-- NO onclick attribute here -->
782
  <button id="predict-btn">Submit</button> <!-- NO onclick attribute here -->
783
+ <button id="show-demo-btn"><i class="fas fa-video"></i> Show Demo</button> <!-- NEW DEMO BUTTON -->
784
  </div>
785
  </div>
786
 
 
947
  <li><strong>Interpretation:</b> The model considers polarity, likely in balance with hydrophobicity. An optimal AMP efficacy is often linked to having both hydrophobic and polar residues to facilitate membrane interaction and solubility.</li>
948
  </ul>
949
  </li>
950
+ <li><strong>Solvent Accessibility (SolventAccessibilityD3001):</b>
951
  <ul>
952
  <li><strong>Description:</b> Reflects how exposed the residues are to the solvent (water).</li>
953
  <li><strong>Interpretation:</b> Solvent-accessible residues positively contribute to AMP prediction. This might indicate that exposed residues facilitate interaction with bacterial membranes or the surrounding environment.</li>
 
975
  <li><strong>Interpretation:<b> Higher values of hydrophobicity autocorrelation are positively associated with AMP prediction. This likely reflects the importance of hydrophobic clustering in forming amphipathic structures, such as α-helices, which are common and effective in AMPs.</b></b></li>
976
  </ul>
977
  </li>
978
+ <li><strong>GearyAuto_Steric30 & GearyAuto_Steric29:</b>
979
  <ul>
980
  <li><strong>Description:</b> Reflect peptide backbone flexibility and steric properties at spatial lags of 30 and 29.</li>
981
  <li><strong>Interpretation:</b> These features have a positive SHAP impact, suggesting that a certain degree of peptide backbone flexibility may be beneficial for AMP action. Flexibility could enhance the peptide's ability to interact with and adapt to diverse bacterial membrane structures.</li>
 
1072
  </div>
1073
  </div>
1074
 
1075
+ <!-- NEW DEMO VIDEO MODAL -->
1076
+ <div id="demo-modal" class="modal-overlay">
1077
+ <div class="modal-content">
1078
+ <span class="modal-close-btn">&times;</span>
1079
+ <h3>EPIC-AMP Demo</h3>
1080
+ <video id="demo-video" controls autoplay loop muted>
1081
+ <source src="demo.mp4" type="video/mp4">
1082
+ Your browser does not support the video tag.
1083
+ </video>
1084
+ </div>
1085
+ </div>
1086
+ <!-- END NEW DEMO VIDEO MODAL -->
1087
+
1088
  <footer>
1089
  <p>© 2025, Bioinformatics and Computational biology Unit, BCBU</p>
1090
  <address>
 
1121
  const emailErrorDiv = document.getElementById('email-error');
1122
  const emailStatusDiv = document.getElementById('email-status');
1123
 
1124
+ // NEW DEMO VIDEO ELEMENTS
1125
+ const showDemoBtn = document.getElementById('show-demo-btn');
1126
+ const demoModal = document.getElementById('demo-modal');
1127
+ const modalCloseBtn = document.getElementById('modal-close-btn');
1128
+ const demoVideo = document.getElementById('demo-video');
1129
+
1130
+
1131
  let clientInstancePrediction; // Only prediction client will be connected
1132
  let clientInstanceEmail = null; // Email client will NOT be connected (explicitly null)
1133
  let debounceTimer;
 
1210
  if (clearBtn) clearBtn.addEventListener('click', clearInput);
1211
  if (predictBtn) predictBtn.addEventListener('click', classifySequenceDebounced);
1212
 
1213
+ // NEW: Attach event listeners for demo video
1214
+ if (showDemoBtn) {
1215
+ showDemoBtn.addEventListener('click', () => {
1216
+ if (demoModal) demoModal.classList.add('active');
1217
+ if (demoVideo) demoVideo.play();
1218
+ });
1219
+ }
1220
+ if (modalCloseBtn) {
1221
+ modalCloseBtn.addEventListener('click', () => {
1222
+ if (demoModal) demoModal.classList.remove('active');
1223
+ if (demoVideo) {
1224
+ demoVideo.pause();
1225
+ demoVideo.currentTime = 0; // Reset video to start
1226
+ }
1227
+ });
1228
+ }
1229
+ // Close modal if clicking outside the content
1230
+ if (demoModal) {
1231
+ demoModal.addEventListener('click', (e) => {
1232
+ if (e.target === demoModal) {
1233
+ if (demoModal) demoModal.classList.remove('active');
1234
+ if (demoVideo) {
1235
+ demoVideo.pause();
1236
+ demoVideo.currentTime = 0;
1237
+ }
1238
+ }
1239
+ });
1240
+ }
1241
+
1242
 
1243
  clearInput();
1244
  };