compound_list.html 23 KB
Newer Older
Hervé  MENAGER's avatar
Hervé MENAGER committed
1
{% extends "base.html" %}
2
{% load customtags %}
Hervé  MENAGER's avatar
Hervé MENAGER committed
3
    
4
{% block title %}compounds list{% endblock %}
Hervé  MENAGER's avatar
Hervé MENAGER committed
5

6
7
8
9
{% block extra_js %}
<script src="/static/marvinjs-18/js/util.js"></script>
<script src="/static/marvinjs-18/js/marvinjslauncher.js"></script>
<script src="/static/marvinjs-18/gui/lib/promise-1.0.0.min.js"></script>
10
11
<script src="/static/js/ippidb-compoundws.js"></script>
<script src="/static/js/ippidb-marvinjsmodal.js"></script>
12
13
{% endblock %}

Hervé  MENAGER's avatar
Hervé MENAGER committed
14
{% block content %}
15
<div class="inner-wrap">
Rachel TORCHET's avatar
Rachel TORCHET committed
16
17
    <nav class="breadcrumb breadNav" role="navigation">
        <div class="breadNav-label">You are here</div>
18
        <div aria-labelledby="breadcrumb-label">
19
            {% block breadcrumb %} <a href="/compounds/" class="breadNav-link"> > Query compounds</a>{% endblock %} 
20
21
22
        </div>
    </nav>
</div>
Hervé  MENAGER's avatar
Hervé MENAGER committed
23
24
25

<div class="container-fluid">
<div class="row flex-xl-nowrap">
26

27
<main class="col-12" role="main">
28
29
    <form class="container-fluid">
        <div class="m-2 d-flex justify-content-between">
30
31
            <span class="border border-primary rounded p-1 m-1">
                <div class="dropdown btn-group" style="display: inline-flex;">
32
                    <i class="icon icon-common icon-search mr-2 ml-1" style="font-size: 1.75rem; vertical-align: middle" title="Text search"></i>                                
33
                    <input id="q" value="{{ q | default_if_none:"" }}" class="form-control" type="search" placeholder="Type search text here" onchange="modifyUrl('q',$('#q').val());">
34
35
36
37
38
39
40
41
42
                </div>            
            </span>
            <span class="border border-primary rounded p-1 m-1">
                <i class="icon icon-conceptual icon-chemical" style="font-size: 1.75rem; vertical-align: middle" title="Compound filters"></i>
                <div class="dropdown btn-group">
                    <button class="btn btn-primary dropdown-toggle" type="button" id="pcpropMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        Physico-Chemical properties
                    </button>
                    <div class="dropdown-menu" aria-labelledby="pcpropMenuButton">
43
                        {% include "modal_open_button.html" with label="H donors" param_name="nb_donor_h" %}
44
45
                        {% include "modal_open_button.html" with label="H acceptors" param_name="nb_acceptor_h" %}
                        {% include "modal_open_button.html" with label="TPSA" param_name="tpsa" %}
46
                        {% include "modal_open_button.html" with label="Nb rotatable bonds" param_name="nb_rotatable_bonds" %}
47
48
                        {% include "modal_open_button.html" with label="Molecular weight" param_name="molecular_weight" %}        
                        {% include "modal_open_button.html" with label="AlogP" param_name="a_log_p" %}
49
50
                        {% include "modal_open_button.html" with label="Nb aromatic SSSR" param_name="nb_aromatic_sssr" %}
                        {% include "modal_open_button.html" with label="Nb chiral centers" param_name="nb_chiral_centers" %}
51
                        {% include "modal_open_button.html" with label="Fsp3" param_name="fsp3" %}
52
53
54
55
56
57
58
                    </div>
                </div>
                <div class="dropdown btn-group" style="display: inline-flex;">
                    <button class="btn btn-primary dropdown-toggle" type="button" id="crMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        Chemistry Rules
                    </button>
                    <div class="dropdown-menu" aria-labelledby="crMenuButton">
59
60
61
                        {% include "dropdown_checkbox.html" with label="Lipinsky rule of 5" param_name="lipinsky" value=lipinsky %}
                        {% include "dropdown_checkbox.html" with label="Veber" param_name="veber" value=veber %}
                        {% include "dropdown_checkbox.html" with label="Pfizer 3/75" param_name="pfizer" value=pfizer %}
62
63
64
65
66
67
68
                    </div>
                </div>
                <div class="dropdown btn-group" style="display: inline-flex;">
                    <button class="btn btn-primary dropdown-toggle" type="button" id="aeMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        Activity and Efficiencies
                    </button>
                    <div class="dropdown-menu" aria-labelledby="aeMenuButton">
69
70
71
                        {% include "modal_open_button.html" with label="Best Activity" param_name="best_activity" %}
                        {% include "modal_open_button.html" with label="LE" param_name="le" %}
                        {% include "modal_open_button.html" with label="LLE" param_name="lle" %}
72
73
74
75
76
77
78
                    </div>
                </div>
                <div class="dropdown btn-group" style="display: inline-flex;">
                    <button class="btn btn-primary dropdown-toggle" type="button" id="mmoaMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        Molecular Mechanism of Action
                    </button>
                    <div class="dropdown-menu" aria-labelledby="mmoaMenuButton">
79
                        {% include "dropdown_checkbox.html" with label="PDB ligand available" param_name="pdb_ligand_av" value=pdb_ligand_av %}
80
81
82
83
                        <div class="dropdown-divider"></div>
                        {% include "dropdown_checkbox.html" with label="Inhibition role" param_name="inhibition_role" value=inhibition_role %}
                        {% include "dropdown_checkbox.html" with label="Stabilisation role" param_name="stabilisation_role" value=stabilisation_role %}
                        {% include "dropdown_checkbox.html" with label="Binding role" param_name="binding_role" value=binding_role %}
84
85
86
                    </div>
                </div>
                <div class="dropdown btn-group" style="display: inline-flex;">
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
                    <button class="btn btn-primary dropdown-toggle" type="button" id="elMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        External Links
                    </button>
                    <div class="dropdown-menu" aria-labelledby="elMenuButton">
                        <label class="dropdown-item" onclick="toggleCheckBox('pubchem_id')">
                            <input type="checkbox" id="pubchem_id" {% if pubchem_id %}checked{% endif %}/> in PubChem
                        </label>
                        <label class="dropdown-item" onclick="toggleCheckBox('chembl_id')">
                            <input type="checkbox" id="chembl_id"  {% if chembl_id %}checked{% endif %}/> in ChEMBL
                        </label>
                        <label class="dropdown-item" onclick="toggleCheckBox('chemspider_id')">
                            <input type="checkbox" id="chemspider_id" {% if chemspider_id %}checked{% endif %}/> in ChemSpider
                        </label>                                            
                    </div>
                </div>            
102
            </span>
103
        <span class="border border-primary rounded p-1 m-1">
104
105
106
107
108
109
                <i class="icon icon-conceptual icon-structures-3d"  style="font-size: 1.75rem; vertical-align: middle" title="PPI target filters"></i>
                <div class="dropdown btn-group" style="display: inline-flex;">
                        <button class="btn btn-primary dropdown-toggle" type="button" id="ptfMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                            PPI target filters
                        </button>
                        <div class="dropdown-menu" aria-labelledby="ptfMenuButton">
110
                            {% include "modal_open_button.html" with label="PFAM" param_name="domain" %}
111
                            {% include "modal_open_button.html" with label="Bound complex" param_name="boundcomplex" %}
112
                            {% include "modal_open_button.html" with label="Partner complex" param_name="partnercomplex" %}
113
114
115
116
117
                            {% include "modal_open_button.html" with label="PPI Family" param_name="family" %}
                            {% include "modal_open_button.html" with label="Organism" param_name="taxonomy" %}
                            {% include "modal_open_button.html" with label="Disease" param_name="disease" %}
                            {% include "modal_open_button.html" with label="PPI" param_name="ppi" %}
                            {% include "modal_open_button.html" with label="Chemical similarity" param_name="marvin"  %}
118
119
120
121
122
123
124
125
126
127
128
                        </div>
                    </div>            
            </span>

            <span class="border border-primary rounded p-1 m-1">
                    <i class="icon icon-common icon-flask" style="font-size: 1.75rem; vertical-align: middle" title="Affinity assay filters"></i>
                    <div class="dropdown btn-group" style="display: inline-flex;">
                            <button class="btn btn-primary dropdown-toggle" type="button" id="aaMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                Affinity assays
                            </button>
                            <div class="dropdown-menu" aria-labelledby="aaMenuButton">
129
                                    {% include "modal_open_button.html" with label="Publications" param_name="pubs" %}
130
131
132
133
134
                            </div>
                        </div>            
            </span>
    

135
        </div>
136
137

        <div class="m-2 d-flex justify-content-between">
138
            <span>{{ paginator.count }} compounds</span>
139
            {% if nb_donor_h or nb_acceptor_h or tpsa or nb_rotatable_bonds or molecular_weight or a_log_p or nb_aromatic_sssr or nb_chiral_centers or fsp3 or lipinsky or veber or pfizer or best_activity or le or lle or pdb_ligand_av or inhibition_role or stabilisation_role or binding_role or pubchem_id or chembl_id or chemspider_id or selected_domain or selected_boundcomplex or selected_partnercomplex or selected_family or selected_taxonomy or selected_disease or selected_ppi or similar_to or pubs %}
140
141
            <span>
                &nbsp;-&nbsp;filters:&nbsp;
142
143
144
145
146
147
148
149
150
                    {% include "slider_badge.html" with param_name="nb_donor_h" param_value=nb_donor_h param_value_min=nb_donor_h_value_min param_value_max=nb_donor_h_value_max param_label="H donors" %}
                    {% include "slider_badge.html" with param_name="nb_acceptor_h" param_value=nb_acceptor_h param_value_min=nb_acceptor_h_value_min param_value_max=nb_acceptor_h_value_max param_label="H acceptors" %}
                    {% include "slider_badge.html" with param_name="tpsa" param_value=tpsa param_value_min=tpsa_value_min param_value_max=tpsa_value_max param_label="TPSA" %}
                    {% include "slider_badge.html" with param_name="nb_rotatable_bonds" param_value=nb_rotatable_bonds param_value_min=nb_rotatable_bonds_min param_value_max=nb_rotatable_bonds_max param_label="Rot. bonds" %}
                    {% include "slider_badge.html" with param_name="molecular_weight" param_value=molecular_weight param_value_min=molecular_weight_value_min param_value_max=molecular_weight_value_max param_label="MW cutoff" %}
                    {% include "slider_badge.html" with param_name="a_log_p" param_value=a_log_p param_value_min=a_log_p_value_min param_value_max=a_log_p_value_max param_label="AlogP cutoff" %}
                    {% include "slider_badge.html" with param_name="nb_aromatic_sssr" param_value=nb_aromatic_sssr param_value_min=nb_aromatic_sssr_value_min param_value_max=nb_aromatic_sssr_value_max param_label="Nb aromatic SSSR" %}
                    {% include "slider_badge.html" with param_name="nb_chiral_centers" param_value=nb_chiral_centers param_value_min=nb_chiral_centers_value_min param_value_max=nb_chiral_centers_value_max param_label="Nb chiral centers" %}
                    {% include "slider_badge.html" with param_name="fsp3" param_value=fsp3 param_value_min=fsp3_value_min param_value_max=fsp3_value_max param_label="Fsp3" %}
151

152
153
154
                    {% include "boolean_badge.html" with param_name="lipinsky" param_value=lipinsky label="Lipinsky rule of 5"%}
                    {% include "boolean_badge.html" with param_name="veber" param_value=veber label="Veber"%}
                    {% include "boolean_badge.html" with param_name="pfizer" param_value=pfizer label="Pfizer 3/75"%}
155

156
157
158
                    {% include "slider_badge.html" with param_name="best_activity" param_value=best_activity param_value_min=best_activity_value_min param_value_max=best_activity_value_max param_label="Best Act." %}
                    {% include "slider_badge.html" with param_name="le" param_value=le param_value_min=le_value_min param_value_max=le_value_max param_label="LE" %}
                    {% include "slider_badge.html" with param_name="lle" param_value=lle param_value_min=lle_value_min param_value_max=lle_value_max param_label="LLE" %}
159

160
                    {% include "boolean_badge.html" with param_name="pdb_ligand_av" param_value=pdb_ligand_av label="PDB ligand available"%}
161
162
163
                    {% include "boolean_badge.html" with param_name="inhibition_role" param_value=inhibition_role label="Inhibition role"%}
                    {% include "boolean_badge.html" with param_name="stabilisation_role" param_value=stabilisation_role label="Stabilisation role"%}
                    {% include "boolean_badge.html" with param_name="binding_role" param_value=binding_role label="Binding role"%}
164

165
166
167
168
                    {% include "boolean_badge.html" with param_name="pubchem_id" param_value=pubchem_id label="PubChem ID"%}
                    {% include "boolean_badge.html" with param_name="chembl_id" param_value=chembl_id label="ChEMBL ID"%}
                    {% include "boolean_badge.html" with param_name="chemspider_id" param_value=chemspider_id label="ChemSpider ID"%}

169
                    {% include "selected_badge.html" with param_name="domain" values=selected_domain %}
170
                    {% include "selected_badge.html" with param_name="boundcomplex" values=selected_boundcomplex %}
171
                    {% include "selected_badge.html" with param_name="partnercomplex" values=selected_partnercomplex %}
172
173
174
175
                    {% include "selected_badge.html" with param_name="family" values=selected_family %}
                    {% include "selected_badge.html" with param_name="taxonomy" values=selected_taxonomy %}
                    {% include "selected_badge.html" with param_name="disease" values=selected_disease %}
                    {% include "selected_badge.html" with param_name="ppi" values=selected_ppi %}
176
177
178
                    {% include "similarity_badge.html" with param_name="similar_to" param_value=similar_to_query param_label="Similar to " %}

                    {% include "slider_badge.html" with param_name="pubs" param_value_min=pubs_value_min param_value_max=pubs_value_max param_label="Publications" %}
179
            </span>
180
            {% endif %}
181
182
183
184
            <div class="m-1 ml-auto">
                {% include "compound_list_pagination.html" %}
            </div>
            <div class="btn-group btn-group-sm ml-1">
185
186
187
188
189
190
191
192
                <button class="btn btn-secondary dropdown-toggle" type="button" id="sortMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                    <i class="fas fa-sort-amount-down" title="sort by"></i>
                </button>
                <div class="dropdown-menu" aria-labelledby="sortMenuButto">
                    {% for sort_by_value, sort_by_entry in sort_by_options.items %}
                            <a class="dropdown-item {% if sort_by_value == sort_by %}active{% endif %}" href="#" onclick="modifyUrl('sort_by','{{ sort_by_value }}')">{{ sort_by_entry.name }} ({{ sort_by_entry.order }})</a>
                    {% endfor %}
                </div>
193
            </div>
194
            <span class="btn-group btn-group-sm ml-1 pb-0">
195
196
197
198
199
200
201
202
203
204
                <a class="btn btn-default btn-outline-primary {% if display == 'v' %}active{% endif %}" href="#" {% if display != 'v' %}onclick="modifyUrl('display', 'v')"{% endif %}>
                    <i class="fa fa-th" title="Thumbnails"></i>
                </a>
                <a class="btn btn-default btn-outline-primary {% if display == 'l' %}active{% endif %}" href="#" {% if display != 'l' %}onclick="modifyUrl('display', 'l')"{% endif %}>
                    <i class="fa fa-bars" title="List"></i>
                </a>
                <a class="btn btn-default btn-outline-primary {% if display == 't' %}active{% endif %}" href="#" {% if display != 't' %}onclick="modifyUrl('display', 't')"{% endif %}>
                    <i class="fa fa-table" title="Table"></i>
                </a>
            </span>
205
206
        </div>
    </form>
207
{% if page_obj %}
208
    <div class="container-fluid">
209
    {% if display == 'v' %}
210
        <div class="d-flex flex-wrap m-2 justify-content-between">
211
        {% for compound in page_obj %}
212
213
            {% include "compound_v_item.html" with compound=compound %}
        {% endfor %}
214
        </div>
215
    {% elif display == 'l'%}
216
        {% for compound in page_obj %}
217
            {% include "compound_l_item.html" with compound=compound %}
218
219
        {% endfor %}
    {% else %}
220
        {% include "compound_t_list.html" with compounds=page_obj %}
221
    {% endif %}
222
    </div>
Hervé  MENAGER's avatar
Hervé MENAGER committed
223
{% else %}
224
    <p>Nothing found there!</p>
Hervé  MENAGER's avatar
Hervé MENAGER committed
225
226
227
228
229
{% endif %}					
                    </main>
</div>
</div>

230
  {% include "compound_list_pagination.html" %}
231

232
233
234
235
236
  {% include "multiselection_modal.html" with label="PPI Family" selected_list=selected_family unselected_list=family param_name="family" all_param_name="family_all" all_param_value=family_all %}
  {% include "multiselection_modal.html" with label="PPI" selected_list=selected_ppi unselected_list=ppi param_name="ppi" all_param_name="ppi_all" all_param_value=ppi_all %}
  {% include "multiselection_modal.html" with label="Disease" selected_list=selected_disease unselected_list=disease param_name="disease" all_param_name="disease_all" all_param_value=disease_all %}
  {% include "multiselection_modal.html" with label="Organism" selected_list=selected_taxonomy unselected_list=taxonomy param_name="taxonomy" all_param_name="taxonomy_all" all_param_value=taxonomy_all %}
  {% include "multiselection_modal.html" with label="Bound complex" selected_list=selected_boundcomplex unselected_list=boundcomplex param_name="boundcomplex" all_param_name="boundcomplex_all" all_param_value=boundcomplex_all %}
237
  {% include "multiselection_modal.html" with label="Partner complex" selected_list=selected_partnercomplex unselected_list=partnercomplex param_name="partnercomplex" all_param_name="partnercomplex_all" all_param_value=boundcomplex_all %}
238
  {% include "multiselection_modal.html" with label="PFAM" selected_list=selected_domain unselected_list=domain param_name="domain" all_param_name="domain_all" all_param_value=domain_all %}
239
240
241
  {% include "slider_modal.html" with label="Molecular Weight" param_name="molecular_weight" param_min=molecular_weight_min param_max=molecular_weight_max param_value=molecular_weight param_value_min=molecular_weight_value_min param_value_max=molecular_weight_value_max step='50' param_label='Select a cutoff value for the molecular weight of the compounds to be selected'%}
  {% include "slider_modal.html" with label="AlogP" param_name="a_log_p" param_min=a_log_p_min param_max=a_log_p_max param_value=a_log_p param_value_min=a_log_p_value_min param_value_max=a_log_p_value_max step='1' param_label='Select a cutoff value for the AlogP of the compounds to be selected'%}
  {% include "slider_modal.html" with label="H donors" param_name="nb_donor_h" param_min=nb_donor_h_min param_max=nb_donor_h_max param_value=nb_donor_h param_value_min=nb_donor_h_value_min param_value_max=nb_donor_h_value_max step='1' param_label='Select a cutoff value for the number of H donors in the compounds to be selected'%}
242
  {% include "slider_modal.html" with label="H acceptors" param_name="nb_acceptor_h" param_min=nb_acceptor_h_min param_max=nb_acceptor_h_max param_value=nb_acceptor_h param_value_min=nb_acceptor_h_value_min param_value_max=nb_acceptor_h_value_max step='1' param_label='Select a cutoff value for the number of H acceptors in the compounds to be selected'%}
243
  {% include "slider_modal.html" with label="TPSA" param_name="tpsa" param_min=tpsa_min param_max=tpsa_max param_value=tpsa param_value_min=tpsa_value_min param_value_max=tpsa_value_max step='50' param_label='Select a cutoff value for the TPSA of the compounds to be selected'%}
244
  {% include "slider_modal.html" with label="Nb rotatable bonds" param_name="nb_rotatable_bonds" param_min=nb_rotatable_bonds_min param_max=nb_rotatable_bonds_max param_value=nb_rotatable_bonds param_value_min=nb_rotatable_bonds_value_min param_value_max=nb_rotatable_bonds_value_max step='1' param_label='Select a cutoff value for the number of rotatable bounds in the compounds to be selected'%}
245
246
  {% include "slider_modal.html" with label="Nb aromatic SSSR" param_name="nb_aromatic_sssr" param_min=nb_aromatic_sssr_min param_max=nb_aromatic_sssr_max param_value=nb_aromatic_sssr param_value_min=nb_aromatic_sssr_value_min param_value_max=nb_aromatic_sssr_value_max step='1' param_label='Select a cutoff value for the number of aromatic SSSR in the compounds to be selected'%}
  {% include "slider_modal.html" with label="Nb chiral centers" param_name="nb_chiral_centers" param_min=nb_chiral_centers_min param_max=nb_chiral_centers_max param_value=nb_chiral_centers param_value_min=nb_chiral_centers_value_min param_value_max=nb_chiral_centers_value_max step='1' param_label='Select a cutoff value for the number of chiral centers in the compounds to be selected'%}
247
  {% include "slider_modal.html" with label="FSP3" param_name="fsp3" param_min=fsp3_min param_max=fsp3_max param_value=fsp3 param_value_min=fsp3_value_min param_value_max=fsp3_value_max step='0.1' param_label='Select a cutoff value for the FSP3 of the compounds to be selected'%}
248
  {% include "slider_modal.html" with label="Publications" param_name="pubs" param_min=pubs_min param_max=pubs_max param_value=pubs param_value_min=pubs_value_min param_value_max=pubs_value_max  step='1' param_label='Select a cutoff value for the number of publications mentioning the compounds to be selected'%}
249
  {% include "marvinjs_modal.html" with smiles=similar_to_query fingerprint=similar_to_fingerprint %}
250
251
252
  {% include "slider_modal.html" with label="Best Activiry" param_name="best_activity" param_min=best_activity_min param_max=best_activity_max param_value=best_activity param_value_min=best_activity_value_min param_value_max=best_activity_value_max step='1' param_label='Select a cutoff value for the best activity of the compounds to be selected'%}
  {% include "slider_modal.html" with label="LE" param_name="le" param_min=le_min param_max=le_max param_value=le param_value_min=le_value_min param_value_max=le_value_max step='0.1' param_label='Select a cutoff value for the LE of the compounds to be selected'%}
  {% include "slider_modal.html" with label="LLE" param_name="lle" param_min=lle_min param_max=lle_max param_value=lle param_value_min=lle_value_min param_value_max=lle_value_max step='1' param_label='Select a cutoff value for the LLE of the compounds to be selected'%}
253

Hervé  MENAGER's avatar
Hervé MENAGER committed
254
{% endblock %}