diff --git a/ippisite/ippidb/models.py b/ippisite/ippidb/models.py
index 52c5d8753034c2e8cc5ed527267ce8773dab11b8..ad07f70a834c9048c663c140a47371057a164b7c 100644
--- a/ippisite/ippidb/models.py
+++ b/ippisite/ippidb/models.py
@@ -220,6 +220,17 @@ class Ppi(models.Model):
         # this is the less efficient query ever seen, FIXME
         return PpiComplex.objects.filter(ppi=self, complex__in=ProteinDomainBoundComplex.objects.all())
 
+    @property
+    def name(self):
+        all_protein_names = set([ppi_complex.complex.protein.short_name for ppi_complex in self.get_ppi_complexes()])
+        bound_protein_names = set([ppi_complex.complex.protein.short_name for ppi_complex in self.get_ppi_bound_complexes()])
+        partner_protein_names = all_protein_names - bound_protein_names
+        bound_str = ','.join(bound_protein_names)
+        partner_str = ','.join(partner_protein_names)
+        name = bound_str
+        if partner_str!='':
+            name += ' / ' + partner_str
+        return name
 
 class PpiComplex(models.Model):
     ppi = models.ForeignKey(Ppi)