diff --git a/ippisite/db.sqlite3 b/ippisite/db.sqlite3 index bb7ca110e188bf4d34171a62e5c4e6f6eda80691..418ffe91ef59f6e2db941d723da526c109b5b5f5 100644 Binary files a/ippisite/db.sqlite3 and b/ippisite/db.sqlite3 differ diff --git a/ippisite/ippidb/admin.py b/ippisite/ippidb/admin.py index 84f0182710f92258d32496198e4c561823df6199..516d271971ece864b049bec7e22e11e50e1ba6f7 100644 --- a/ippisite/ippidb/admin.py +++ b/ippisite/ippidb/admin.py @@ -28,6 +28,10 @@ class ProteinDomainPartnerComplexAdmin(admin.ModelAdmin): list_display = ('protein_id', 'domain_id', 'ppc_copy_nb') list_display_links = ('protein_id', 'domain_id', 'ppc_copy_nb') +@admin.register(Symmetry) +class Symmetry(admin.ModelAdmin): + list_display = ('code', 'description') + for model in apps.get_app_config('ippidb').models.values(): try: admin.site.register(model) diff --git a/ippisite/ippidb/management/commands/import_v1_data.py b/ippisite/ippidb/management/commands/import_v1_data.py index 7de942bfb3338deea3efe79377b0147a6ab3eea3..e2dfc077facdae6823dacb688b6649ad46c84030 100644 --- a/ippisite/ippidb/management/commands/import_v1_data.py +++ b/ippisite/ippidb/management/commands/import_v1_data.py @@ -2,7 +2,7 @@ from django.core.management import BaseCommand, CommandError import mysql.connector from ippidb.models import Bibliography, Protein, Taxonomy, MolecularFunction, \ - Domain, ProteinDomainBoundComplex, ProteinDomainPartnerComplex + Domain, ProteinDomainBoundComplex, ProteinDomainPartnerComplex, Symmetry class Command(BaseCommand): @@ -37,6 +37,13 @@ class Command(BaseCommand): default=False, help='Flush and migrate complexes', ) + parser.add_argument( + '--symmetries', + action='store_true', + dest='symmetries', + default=False, + help='Flush and create symmetries', + ) parser.add_argument( '--stoponfail', action='store_true', @@ -142,3 +149,33 @@ class Command(BaseCommand): self.stdout.write(self.style.ERROR('Failed inserting {} {}'.format(row[0], row[1]))) else: self.stdout.write(self.style.SUCCESS('Successfully inserted {} {}'.format(row[0], row[1]))) + if options['symmetries']: + Symmetry.objects.all().delete() + self.stdout.write(self.style.SUCCESS('Successfully flushed symmetries table')) + rows = [ + ['AS', 'asymmetric'], + ['C2', 'C2 symmetry'], + ['D2', 'D2 symmetry'], + ['C3', 'C3 symmetry'], + ['D3', 'D3 symmetry'], + ['C4', 'C4 symmetry'], + ['D4', 'D4 symmetry'], + ['C5', 'C5 symmetry'], + ['D5', 'D5 symmetry'], + ] + for row in rows: + try: + symmetry = Symmetry() + symmetry.code = row[0] + symmetry.description = row[1] + symmetry.save() + except Exception as e: + if options['stoponfail']: + import traceback + self.stderr.write(traceback.format_exc()) + raise CommandError('Failed inserting {} {}'.format(row[0], row[1])) + else: + self.stdout.write(self.style.ERROR('Failed inserting {} {}'.format(row[0], row[1]))) + else: + self.stdout.write(self.style.SUCCESS('Successfully inserted {} {}'.format(row[0], row[1]))) +