diff --git a/src/InSillyCloWeb/assemblies/models.py b/src/InSillyCloWeb/assemblies/models.py
index 69d436e714a37e895f49a83fd5322868af34df40..799c5b4128f4510cbceb4a7db15d6c76c13947fa 100644
--- a/src/InSillyCloWeb/assemblies/models.py
+++ b/src/InSillyCloWeb/assemblies/models.py
@@ -342,6 +342,14 @@ class SimulatorJob(models.Model):
             return settings.MEDIA_URL / file.relative_to(settings.MEDIA_ROOT)
         return ''
 
+    # Restriction enzyme
+    @cached_property
+    def enzyme_image_url(self) -> str:
+        file = self.results_dir / 'digestion.png'
+        if file.exists():
+            return settings.MEDIA_URL / file.relative_to(settings.MEDIA_ROOT)
+        return ''
+
     # Others
     def save(self, *args, **kwargs):
         self.job_dir.mkdir(parents=True, exist_ok=True)
@@ -399,6 +407,7 @@ class SimulatorJob(models.Model):
             data_source=insillyclo.data_source.DataSourceHardCodedImplementation(),
             primers_file=primers_file,
             primer_id_pairs=list(self.pcr_pairs) if primers_file else None,
+            enzyme_names=[self.restriction_enzyme_gel],
         )
 
     @property
diff --git a/src/InSillyCloWeb/assemblies/templates/assemblies/simulatorjob_detail.html b/src/InSillyCloWeb/assemblies/templates/assemblies/simulatorjob_detail.html
index 48844e710894269b7e16ec3972b153fb10ba9261..1fa7b63ad1ade60925aeca67876b271566382bc9 100644
--- a/src/InSillyCloWeb/assemblies/templates/assemblies/simulatorjob_detail.html
+++ b/src/InSillyCloWeb/assemblies/templates/assemblies/simulatorjob_detail.html
@@ -40,7 +40,7 @@
     <div class="card card-result context-simulator">
         <div class="card-header">
             Simulate Verification
-            <a class="btn btn-auto {%if not object.pcr_image_url%}collapsed{%endif%}"
+            <a class="btn btn-auto {%if not object.pcr_image_url and not object.enzyme_image_url%}collapsed{%endif%}"
                data-bs-toggle="collapse"
                href="#verification"
                role="button"
@@ -53,7 +53,8 @@
         <div class="card-body">
             Simulate the agarose gel obtained after a PCR or a restriction digestion reaction.
         </div>
-        <div class="collapse {%if object.pcr_image_url%}show{%endif%} border-top border-simulator" id="verification">
+        <div class="collapse {%if object.pcr_image_url or object.enzyme_image_url%}show{%endif%} border-top border-simulator"
+             id="verification">
             {%if object.pcr_image_url%}
             <div class="card-header">
                 PCR gel simulation
@@ -102,6 +103,55 @@
                 </div>
             </div>
             {%endif%}
+            {%if object.enzyme_image_url%}
+            <div class="card-header">
+                Restriction enzyme gel simulation
+                <a href="#" data-bs-toggle="modal" data-bs-target="#enzymeModal">
+                    <i class="bi bi-pencil text-simulator"></i>
+                </a>
+                <!-- Modal -->
+                <div class="modal fade" id="enzymeModal" tabindex="-1" aria-labelledby="enzymeModalLabel"
+                     aria-hidden="true">
+                    <div class="modal-dialog border-simulator">
+                        <div class="modal-content">
+                            <div class="modal-header">
+                                <h1 class="modal-title fs-5" id="enzymeModalLabel">Modal title</h1>
+                                <button type="button" class="btn-close" data-bs-dismiss="modal"
+                                        aria-label="Close"></button>
+                            </div>
+                            <form method="post" enctype="multipart/form-data"
+                                  action="{%url 'assemblies:simulator-enzyme-edit' object.pk %}">
+                                <div class="modal-body">
+                                    {% csrf_token %}
+                                    {{form_enzyme|crispy}}
+                                </div>
+                                <div class="modal-footer">
+                                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close
+                                    </button>
+                                    <button type="submit" class="btn btn-auto">Run simulation</button>
+                                </div>
+                            </form>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="card-body text-center">
+                <img class="w-auto" src="{{object.enzyme_image_url}}"/>
+            </div>
+            {%else%}
+            <div class="card-body">
+                <div class="card card-result">
+                    <form class="card-body" method="post" enctype="multipart/form-data"
+                          action="{%url 'assemblies:simulator-enzyme-edit' object.pk %}">
+                        {% csrf_token %}
+                        {{form_enzyme|crispy}}
+                        <div class="text-center">
+                            <button type="submit" class="btn btn-auto">Run simulation</button>
+                        </div>
+                    </form>
+                </div>
+            </div>
+            {%endif%}
         </div>
     </div>
 </div>
diff --git a/src/InSillyCloWeb/assemblies/views.py b/src/InSillyCloWeb/assemblies/views.py
index 81f4c88ffa644c5aba572773e207057f69b2b5f6..0793b9fd597da049e2cb5f2c248e009ac768bfdb 100644
--- a/src/InSillyCloWeb/assemblies/views.py
+++ b/src/InSillyCloWeb/assemblies/views.py
@@ -120,6 +120,7 @@ class JobSimulatorResult(DetailView):
     def get_context_data(self, **kwargs):
         context = super().get_context_data(**kwargs)
         context['form_pcr'] = forms.PCRModelForm(instance=self.object)
+        context['form_enzyme'] = forms.RestrictionEnzymeModelForm(instance=self.object)
         return context