Implemented Reaction Page (#5)

Co-authored-by: Tim Lorsbach <tim@lorsba.ch>
Reviewed-on: enviPath/enviPy#5
This commit is contained in:
2025-06-28 06:40:58 +12:00
parent 6eb1d1bd65
commit 9950112311
2 changed files with 88 additions and 2 deletions

View File

@ -612,6 +612,19 @@ class Reaction(EnviPathModel, AliasMixin, ScenarioMixin):
r.save()
return r
def smirks(self):
return f"{'.'.join([cs.smiles for cs in self.educts.all()])}>>{'.'.join([cs.smiles for cs in self.products.all()])}"
@property
def as_svg(self):
return IndigoUtils.smirks_to_svg(self.smirks(), False, width=800, height=400)
@property
def related_pathways(self):
return Pathway.objects.filter(
id__in=Edge.objects.filter(edge_label=self).values('pathway_id')).order_by('name')
class Pathway(EnviPathModel, AliasMixin, ScenarioMixin):
package = models.ForeignKey('epdb.Package', verbose_name='Package', on_delete=models.CASCADE, db_index=True)