From a7e1e68e059d0cde3907ce32cd28fb96e12f65f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20=20MENAGER?= <herve.menager@pasteur.fr> Date: Wed, 7 Mar 2018 15:16:40 +0100 Subject: [PATCH] add new fields in migration of TestActivityDescription fix #27 Former-commit-id: c85e9128b02978d2510d64a04393529fa81ee39e --- .../ippidb/management/commands/import_v1_data.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ippisite/ippidb/management/commands/import_v1_data.py b/ippisite/ippidb/management/commands/import_v1_data.py index c988fbe5..c14585e2 100644 --- a/ippisite/ippidb/management/commands/import_v1_data.py +++ b/ippisite/ippidb/management/commands/import_v1_data.py @@ -227,9 +227,9 @@ class Command(BaseCommand): self.style.SUCCESS('Successfully inserted {} {}'.format(row[0], row[1]))) if options['ppi']: sql_request_string = ''' -select distinct protein.NumUniprot, domain.PfamNumAccession, complexe.NbCopy, cmpdAction.IDComplexeBound, bindingSiteEvidence.CodePDB, 'part1', ppi.IDPPI, disease.Disease from bindingSite inner join ppi on (bindingSite.IDBindingSite=ppi.IDBindingSite1) inner join complexe on (ppi.IDComplexe1=complexe.IDComplexe) left outer join cmpdAction on (complexe.IDComplexe=cmpdAction.IDComplexeBound) inner join protein on (bindingSite.IDProtein=protein.IDProtein) inner join domain on (bindingSite.IDDomain=domain.IDDomain) inner join disease on (disease.IDPPI=ppi.IDPPI) left outer join bindingSiteEvidence on (ppi.IDPPI=bindingSiteEvidence.IDPPI) +select distinct protein.NumUniprot, domain.PfamNumAccession, complexe.NbCopy, cmpdAction.IDComplexeBound, bindingSiteEvidence.CodePDB, 'part1', ppi.IDPPI, disease.Disease, complexe.IDComplexe from bindingSite inner join ppi on (bindingSite.IDBindingSite=ppi.IDBindingSite1) inner join complexe on (ppi.IDComplexe1=complexe.IDComplexe) left outer join cmpdAction on (complexe.IDComplexe=cmpdAction.IDComplexeBound) inner join protein on (bindingSite.IDProtein=protein.IDProtein) inner join domain on (bindingSite.IDDomain=domain.IDDomain) inner join disease on (disease.IDPPI=ppi.IDPPI) left outer join bindingSiteEvidence on (ppi.IDPPI=bindingSiteEvidence.IDPPI) union -select distinct protein.NumUniprot, domain.PfamNumAccession , complexe.NbCopy, cmpdAction.IDComplexeBound, null, 'part2', ppi.IDPPI, disease.Disease from bindingSite inner join ppi on (bindingSite.IDBindingSite=ppi.IDBindingSite2) inner join complexe on (ppi.IDComplexe2=complexe.IDComplexe) left outer join cmpdAction on (complexe.IDComplexe=cmpdAction.IDComplexeBound) inner join protein on (bindingSite.IDProtein=protein.IDProtein) inner join domain on (bindingSite.IDDomain=domain.IDDomain) inner join disease on (disease.IDPPI=ppi.IDPPI)''' +select distinct protein.NumUniprot, domain.PfamNumAccession , complexe.NbCopy, cmpdAction.IDComplexeBound, null, 'part2', ppi.IDPPI, disease.Disease, complexe.IDComplexe from bindingSite inner join ppi on (bindingSite.IDBindingSite=ppi.IDBindingSite2) inner join complexe on (ppi.IDComplexe2=complexe.IDComplexe) left outer join cmpdAction on (complexe.IDComplexe=cmpdAction.IDComplexeBound) inner join protein on (bindingSite.IDProtein=protein.IDProtein) inner join domain on (bindingSite.IDDomain=domain.IDDomain) inner join disease on (disease.IDPPI=ppi.IDPPI)''' cursor.execute(sql_request_string) rows = cursor.fetchall() ProteinDomainBoundComplex.objects.all().delete() @@ -241,6 +241,7 @@ select distinct protein.NumUniprot, domain.PfamNumAccession , complexe.NbCopy, self.stdout.write( self.style.SUCCESS('Successfully flushed protein domain complex, PPI, compound actions, and disease tables')) ppi_ids_mapping = {} + protein_domain_bound_complexes_mapping = {} for row in rows: try: # create or retrieve Ppi object @@ -270,6 +271,9 @@ select distinct protein.NumUniprot, domain.PfamNumAccession , complexe.NbCopy, if isinstance(c, ProteinDomainBoundComplex): c.ppp_copy_nb_per_p = 1 c.save() + # save ProteinDomainBoundComplex/source ID in 'complexe' table + if row[3] is not None: + protein_domain_bound_complexes_mapping[row[8]] = c # create the PpiComplex object ppi_complex = PpiComplex() ppi_complex.ppi = ppi @@ -330,8 +334,14 @@ select distinct protein.NumUniprot, domain.PfamNumAccession , complexe.NbCopy, biblio_row = cursor.fetchone() biblio = Bibliography.objects.get(id_source=biblio_row[0]) tad.biblio = biblio + tad.protein_domain_bound_complex = protein_domain_bound_complexes_mapping[row[1]] tad.ppi = Ppi.objects.get(id=ppi_ids_mapping[row[3]]) tad.test_name = row[4] + tad.is_primary = row[5]=='Y' + if row[6]=='Unspecified': + tad.protein_bound_construct = 'U' + elif row[6]=='Full length': + tad.protein_bound_construct = 'F' tad.test_type = row[7].upper() tad.test_modulation_type = row[8][0] tad.nb_active_compounds = row[9] -- GitLab