index.html 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
  6. <title>RCSB Mol* Viewer</title>
  7. <style>
  8. * {
  9. margin: 0;
  10. padding: 0;
  11. box-sizing: border-box;
  12. }
  13. #app {
  14. position: absolute;
  15. left: 100px;
  16. top: 100px;
  17. width: 1024px;
  18. height: 800px;
  19. }
  20. </style>
  21. <link rel="stylesheet" type="text/css" href="app.css" />
  22. <script type="text/javascript" src="./app.js"></script>
  23. </head>
  24. <body>
  25. <div id="app"></div>
  26. <script>
  27. function getQueryParam(id) {
  28. const a = new RegExp(id + '=([^&#=]*)', 'i')
  29. const m = a.exec(window.location.search)
  30. return m ? decodeURIComponent(m[1]) : undefined
  31. }
  32. // create an instance of the plugin
  33. var viewer = new app.StructureViewer();
  34. function $(id) { return document.getElementById(id); }
  35. var pdbId = getQueryParam('pdbId') || '3pqr'
  36. var assemblyId = getQueryParam('assemblyId') || 'deposited';
  37. var url = 'https://files.rcsb.org/download/' + pdbId + '.cif';
  38. var format = 'cif';
  39. viewer.init('app', { });
  40. viewer.load({ url: url, format: format, assemblyId: assemblyId });
  41. </script>
  42. </body>
  43. </html>