From f79427c39f939f8f761e8231a237d78ef50fd194 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20=20MENAGER?= <herve.menager@pasteur.fr> Date: Tue, 16 May 2017 22:16:55 +0200 Subject: [PATCH] create Symmetry table initial contents (closes #9) --- ippisite/db.sqlite3 | Bin 536576 -> 536576 bytes ippisite/ippidb/admin.py | 4 ++ .../management/commands/import_v1_data.py | 39 +++++++++++++++++- 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/ippisite/db.sqlite3 b/ippisite/db.sqlite3 index bb7ca110e188bf4d34171a62e5c4e6f6eda80691..418ffe91ef59f6e2db941d723da526c109b5b5f5 100644 GIT binary patch delta 756 zcmaiy!B5k06vtP_$`%<v7NRj?pk#P3%k<Y@e{C6JVr|_V$**&=ZtD`G+i<KMg|QLl z8WV_4ybu+4FnUm8yc4q+?s_r&3wj_PIKp3Ga10eL#>2aO-sio%Z}L`ln3Wyo#UM4Y zeqMG>ID$VHK2C28JI{Kv%^v1*mp9vzn2X-i1Cld98RfDuox5ADTh{%>O5M|13O>vA z)9y7#-)C>5H+;(N*><nB2OhYWA6=ncq~VgPY)vrGTvg0LY@1~h^Y!_;yeJ@HNigQK zEU|U0qbOF**`jWiP%Nb(lE~N8#0;mJNkd1IR>sn5u?VS=6v28T4vAeBqqCvnbo%yu znoHW5^kg9$3ENpYDnu>9>PUwiv1hoLQY@)R!>Xbq)mF`n60fUf*d&&Y)l||VN*od8 zMol;K&GmN!&G6eh!*+BIUPX`<gOCq$kYPjPJQ|0>B_4)gNNjDt9;bV0;CFy6@Dh9n z{#M_{0Jt#fB-H=1(yg1D@Y+-rSIS}qsf8u2GFrsKY$R7Gr4qTqq7<t{@})5?qe-=} zm0l>;r!rbWmIE37*7f+`t61UqDlCX&Jlh=EAAG#K|7v%i8tSJ(!~uSQFW>`s0tz6~ z^4;Trf5<6O|Bgi;wwrrz&OL1$Q0?k!mvgIe(7nQ(@qnZQ?169KEBFN7gXiEOFhH`s zbpkB=JlzhTU*Q#=`STV&_aTyb`2_0eSXjZw7TvM1d;+;T7N>B>R(HqZ<P*r*v5<n= jR^aFpeO(<5$%pI+^;2y$B28s~10%l*U8|5@g+0FjnuXvT delta 252 zcmZp8pwRF@VS+TH{zMsPR(%HDXWSc87RWP;^Oj9!SJ2-qnBc&>xlFe&iI0`@6a(KO z-WDD=ZVt{<n;jK)aBe;|(~6CYmEVJbe>?vq{yUom76|iC4p30v?6Ka!A=tn&qCD8y z(Ih#oB1<LE&b!^tbpF(ooczqDN6-^0h()v!R{*uuoABrU?S*gGY;%rQU9Bhc2! zz|dURz*yJNSi#WD%D~vl*g((F)Xdn>VzT0U>E>ter$2koD96XjpT@xdi2pGE68={H zG@w&M_*vwb9T_LTn<drW@}CiinShvid&_^828G2e4Fc^f2CP8Lww=X*{m*{@-Oy1} diff --git a/ippisite/ippidb/admin.py b/ippisite/ippidb/admin.py index 84f01827..516d2719 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 7de942bf..e2dfc077 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]))) + -- GitLab