From 2487f1733a6358bcbb0772e1456cb72256fe20e5 Mon Sep 17 00:00:00 2001
From: Bryan Brancotte <bryan.brancotte@pasteur.fr>
Date: Fri, 18 Apr 2025 17:16:59 +0200
Subject: [PATCH] improve RestrictionEnzymeModelForm, use biopython enzyme

---
 src/InSillyCloWeb/assemblies/forms.py | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/InSillyCloWeb/assemblies/forms.py b/src/InSillyCloWeb/assemblies/forms.py
index e7af71e..9703958 100644
--- a/src/InSillyCloWeb/assemblies/forms.py
+++ b/src/InSillyCloWeb/assemblies/forms.py
@@ -5,7 +5,7 @@ from django import forms
 from django.forms import modelformset_factory, modelform_factory
 from django.utils.safestring import mark_safe
 from django.utils.translation import gettext as _
-
+import Bio.Restriction
 from assemblies.models import Assembly, InputPart, SimulatorJob
 
 SEP_CHOICES = (
@@ -92,10 +92,15 @@ class PCRModelForm(forms.ModelForm):
     #     return instance
 
 
-RestrictionEnzymeModelForm = modelform_factory(
-    model=SimulatorJob,
-    fields=('restriction_enzyme_gel',),
-)
+class RestrictionEnzymeModelForm(forms.ModelForm):
+    class Meta:
+        model = SimulatorJob
+        fields = ('restriction_enzyme_gel',)
+
+    restriction_enzyme_gel = forms.ChoiceField(
+        label=_("Restriction Enzyme"),
+        choices=sorted([(enzyme.__name__, enzyme.__name__) for enzyme in Bio.Restriction.AllEnzymes]),
+    )
 
 
 class AssemblyForm(forms.ModelForm):
-- 
GitLab