File size: 2,946 Bytes
52bf9df
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
HTML_TEMPLATE = """<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
        <style>
            .mol-container {{
                width: 600px;
                height: 600px;
                position: relative;
            }}
            .mol-container select{{
                background-image:None;
            }}
        </style>
        <script src="https://3Dmol.csb.pitt.edu/build/3Dmol-min.js"></script>
    </head>

    <body>
    <div id="container" class="mol-container"></div>
    <script>
        $(document).ready(function() {{
            let element = $("#container");
            let config = {{ backgroundColor: "white" }};
            let viewer = $3Dmol.createViewer( element, config );
            viewer.addModel(`{molecule}`, "{fmt}")
            viewer.getModel().setStyle({{ stick: {{ colorscheme:"greenCarbon" }} }})
            viewer.zoomTo();
            viewer.render();
        }});
    </script>
    </body>
</html>
"""


INVALID_FORMAT_MSG = """
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
        <style>
            body{{
                font-family:sans-serif
            }}
        </style>
    </head>

    <body>
        <h3>Invalid file format: {extension}</h3>
        Please upload the file in one of the following formats:
        <ul>
          <li>.pdb</li>
          <li>.sdf</li>
          <li>.mol</li>
          <li>.mol2</li>
        </ul>
    </body>
</html>
"""

HTML_TEMPLATE = """<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
        <style>
            .mol-container {{
                width: 600px;
                height: 600px;
                position: relative;
            }}
            .mol-container select{{
                background-image:None;
            }}
        </style>
        <script src="https://3Dmol.csb.pitt.edu/build/3Dmol-min.js"></script>
    </head>

    <body>
    <div id="container" class="mol-container"></div>
    <script>
        $(document).ready(function() {{
            let element = $("#container");
            let config = {{ backgroundColor: "white" }};
            let viewer = $3Dmol.createViewer( element, config );
            viewer.addModel(`{molecule}`, "{fmt}")
            viewer.getModel().setStyle({{ stick: {{ colorscheme:"greenCarbon" }} }})
            viewer.zoomTo();
            viewer.render();
        }});
    </script>
    </body>
</html>
"""

IFRAME_TEMPLATE = """<iframe style="width: 100%; height: 700px" name="result" allow="midi; geolocation; microphone; camera; 
display-capture; encrypted-media;" sandbox="allow-modals allow-forms allow-scripts allow-same-origin allow-popups 
allow-top-navigation-by-user-activation allow-downloads" allowfullscreen="" 
allowpaymentrequest="" frameborder="0" srcdoc='{html}'></iframe>"""