forked from enviPath/enviPy
Enable App Domain Assessment on Model Page (#45)
Co-authored-by: Tim Lorsbach <tim@lorsba.ch> Reviewed-on: enviPath/enviPy#45
This commit is contained in:
@ -680,7 +680,7 @@ def package_model(request, package_uuid, model_uuid):
|
||||
elif request.GET.get('app-domain-assessment', False):
|
||||
smiles = request.GET['smiles']
|
||||
stand_smiles = FormatConverter.standardize(smiles)
|
||||
app_domain_assessment = current_model.app_domain.assess(stand_smiles)
|
||||
app_domain_assessment = current_model.app_domain.assess(stand_smiles)[0]
|
||||
return JsonResponse(app_domain_assessment, safe=False)
|
||||
|
||||
context = get_base_context(request)
|
||||
@ -1048,6 +1048,24 @@ def package_rule(request, package_uuid, rule_uuid):
|
||||
|
||||
if request.method == 'GET':
|
||||
context = get_base_context(request)
|
||||
|
||||
if smiles := request.GET.get('smiles', False):
|
||||
stand_smiles = FormatConverter.standardize(smiles)
|
||||
res = current_rule.apply(stand_smiles)
|
||||
if len(res) > 1:
|
||||
logger.info(f"Rule {current_rule.uuid} returned multiple product sets on {smiles}, picking the first one.")
|
||||
|
||||
smirks = f"{stand_smiles}>>{'.'.join(sorted(res[0]))}"
|
||||
# Usually the functional groups are a mapping of fg -> count
|
||||
# As we are doing it on the fly here fake a high count to ensure that its properly highlighted
|
||||
educt_functional_groups = {x: 1000 for x in current_rule.reactants_smarts}
|
||||
product_functional_groups = {x: 1000 for x in current_rule.products_smarts}
|
||||
return HttpResponse(
|
||||
IndigoUtils.smirks_to_svg(smirks, False, 0, 0,
|
||||
educt_functional_groups=educt_functional_groups,
|
||||
product_functional_groups=product_functional_groups),
|
||||
content_type='image/svg+xml')
|
||||
|
||||
context['title'] = f'enviPath - {current_package.name} - {current_rule.name}'
|
||||
|
||||
context['meta']['current_package'] = current_package
|
||||
|
||||
Reference in New Issue
Block a user