forked from enviPath/enviPy
191 lines
10 KiB
HTML
191 lines
10 KiB
HTML
{% load envipytags %}
|
|
<div class="modal fade" tabindex="-1" id="new_model_modal" role="dialog" aria-labelledby="new_model_modal"
|
|
aria-hidden="true">
|
|
<div class="modal-dialog modal-lg">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal">
|
|
<span aria-hidden="true">×</span>
|
|
<span class="sr-only">Close</span>
|
|
</button>
|
|
<h4 class="modal-title">New Model</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<form id="new_model_form" accept-charset="UTF-8" action="{{ meta.current_package.url }}/model"
|
|
data-remote="true" method="post">
|
|
{% csrf_token %}
|
|
<div class="jumbotron">Create a new Model to
|
|
limit the number of degradation products in the
|
|
prediction. You just need to set a name and the packages
|
|
you want the object to be based on. There are multiple types of models available.
|
|
For additional information have a look at our
|
|
<a target="_blank" href="https://wiki.envipath.org/index.php/relative-reasoning" role="button">wiki >></a>
|
|
</div>
|
|
<label for="model-name">Name</label>
|
|
<input id="model-name" name="model-name" class="form-control" placeholder="Name"/>
|
|
<label for="model-description">Description</label>
|
|
<input id="model-description" name="model-description" class="form-control"
|
|
placeholder="Description"/>
|
|
<label for="model-type">Model Type</label>
|
|
<select id="model-type" name="model-type" class="form-control" data-width='100%'>
|
|
<option disabled selected>Select Model Type</option>
|
|
{% for k, v in model_types.items %}
|
|
<option value="{{ v }}">{{ k }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
<!-- ML and Rule Based Based Form-->
|
|
<div id="package-based-relative-reasoning-specific-form">
|
|
<!-- Rule Packages -->
|
|
<label for="package-based-relative-reasoning-rule-packages">Rule Packages</label>
|
|
<select id="package-based-relative-reasoning-rule-packages" name="package-based-relative-reasoning-rule-packages"
|
|
data-actions-box='true' class="form-control" multiple data-width='100%'>
|
|
<option disabled>Reviewed Packages</option>
|
|
{% for obj in meta.readable_packages %}
|
|
{% if obj.reviewed %}
|
|
<option value="{{ obj.url }}">{{ obj.name|nh_safe }}</option>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
<option disabled>Unreviewed Packages</option>
|
|
{% for obj in meta.readable_packages %}
|
|
{% if not obj.reviewed %}
|
|
<option value="{{ obj.url }}">{{ obj.name|nh_safe }}</option>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</select>
|
|
<!-- Data Packages -->
|
|
<label for="package-based-relative-reasoning-data-packages" >Data Packages</label>
|
|
<select id="package-based-relative-reasoning-data-packages" name="package-based-relative-reasoning-data-packages"
|
|
data-actions-box='true' class="form-control" multiple data-width='100%'>
|
|
<option disabled>Reviewed Packages</option>
|
|
{% for obj in meta.readable_packages %}
|
|
{% if obj.reviewed %}
|
|
<option value="{{ obj.url }}">{{ obj.name|nh_safe }}</option>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
<option disabled>Unreviewed Packages</option>
|
|
{% for obj in meta.readable_packages %}
|
|
{% if not obj.reviewed %}
|
|
<option value="{{ obj.url }}">{{ obj.name|nh_safe }}</option>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</select>
|
|
|
|
<div id="ml-relative-reasoning-specific-form">
|
|
<!-- Fingerprinter -->
|
|
<label for="ml-relative-reasoning-fingerprinter">Fingerprinter</label>
|
|
<select id="ml-relative-reasoning-fingerprinter" name="ml-relative-reasoning-fingerprinter"
|
|
class="form-control">
|
|
<option value="MACCS" selected>MACCS Fingerprinter</option>
|
|
</select>
|
|
{% if meta.enabled_features.PLUGINS and additional_descriptors %}
|
|
<!-- Property Plugins go here -->
|
|
<label for="ml-relative-reasoning-additional-fingerprinter">Additional Fingerprinter /
|
|
Descriptors</label>
|
|
<select id="ml-relative-reasoning-additional-fingerprinter"
|
|
name="ml-relative-reasoning-additional-fingerprinter" class="form-control">
|
|
<option disabled selected>Select Additional Fingerprinter / Descriptor</option>
|
|
{% for k, v in additional_descriptors.items %}
|
|
<option value="{{ v }}">{{ k }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
{% endif %}
|
|
|
|
<label for="ml-relative-reasoning-threshold">Threshold</label>
|
|
<input type="number" min="0" max="1" step="0.05" value="0.5"
|
|
id="ml-relative-reasoning-threshold"
|
|
name="ml-relative-reasoning-threshold" class="form-control">
|
|
</div>
|
|
{% if meta.enabled_features.APPLICABILITY_DOMAIN %}
|
|
<!-- Build AD? -->
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" id="build-app-domain" name="build-app-domain">Also build an
|
|
Applicability Domain?
|
|
</label>
|
|
</div>
|
|
<div id="ad-params" style="display:none">
|
|
<!-- Num Neighbors -->
|
|
<label for="num-neighbors">Number of Neighbors</label>
|
|
<input id="num-neighbors" name="num-neighbors" type="number" class="form-control" value="5"
|
|
step="1" min="0" max="10">
|
|
<!-- Local Compatibility -->
|
|
<label for="local-compatibility-threshold">Local Compatibility Threshold</label>
|
|
<input id="local-compatibility-threshold" name="local-compatibility-threshold" type="number"
|
|
class="form-control" value="0.5" step="0.01" min="0" max="1">
|
|
<!-- Reliability -->
|
|
<label for="reliability-threshold">Reliability Threshold</label>
|
|
<input id="reliability-threshold" name="reliability-threshold" type="number"
|
|
class="form-control" value="0.5" step="0.01" min="0" max="1">
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
<!-- EnviFormer-->
|
|
<div id="enviformer-specific-form">
|
|
<label for="enviformer-threshold">Threshold</label>
|
|
<input type="number" min="0" max="1" step="0.05" value="0.5" id="enviformer-threshold"
|
|
name="enviformer-threshold" class="form-control">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<a id="new_model_modal_form_submit" class="btn btn-primary" href="#">Submit</a>
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
$(function() {
|
|
// Initially hide all "specific" forms
|
|
$("div[id$='-specific-form']").each( function() {
|
|
$(this).hide();
|
|
});
|
|
|
|
$('#model-type').selectpicker();
|
|
$("#ml-relative-reasoning-fingerprinter").selectpicker();
|
|
$("#package-based-relative-reasoning-rule-packages").selectpicker();
|
|
$("#package-based-relative-reasoning-data-packages").selectpicker();
|
|
$("#package-based-relative-reasoning-evaluation-packages").selectpicker();
|
|
if ($('#ml-relative-reasoning-additional-fingerprinter').length > 0) {
|
|
$("#ml-relative-reasoning-additional-fingerprinter").selectpicker();
|
|
}
|
|
|
|
$("#build-app-domain").change(function () {
|
|
if ($(this).is(":checked")) {
|
|
$('#ad-params').show();
|
|
} else {
|
|
$('#ad-params').hide();
|
|
}
|
|
});
|
|
|
|
// On change hide all and show only selected
|
|
$("#model-type").change(function() {
|
|
$("div[id$='-specific-form']").each( function() {
|
|
$(this).hide();
|
|
});
|
|
val = $('option:selected', this).val();
|
|
|
|
if (val === 'ml-relative-reasoning' || val === 'rule-based-relative-reasoning') {
|
|
$("#package-based-relative-reasoning-specific-form").show();
|
|
if (val === 'ml-relative-reasoning') {
|
|
$("#ml-relative-reasoning-specific-form").show();
|
|
}
|
|
} else {
|
|
$("#" + val + "-specific-form").show();
|
|
}
|
|
});
|
|
|
|
$('#new_model_modal_form_submit').on('click', function(e){
|
|
e.preventDefault();
|
|
$('#new_model_form').submit();
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
</script>
|