Skip to content
Snippets Groups Projects
Commit a7e1e68e authored by Hervé  MENAGER's avatar Hervé MENAGER
Browse files

add new fields in migration of TestActivityDescription

fix #27


Former-commit-id: c85e9128b02978d2510d64a04393529fa81ee39e
parent e2bc2c8a
No related branches found
No related tags found
No related merge requests found
...@@ -227,9 +227,9 @@ class Command(BaseCommand): ...@@ -227,9 +227,9 @@ class Command(BaseCommand):
self.style.SUCCESS('Successfully inserted {} {}'.format(row[0], row[1]))) self.style.SUCCESS('Successfully inserted {} {}'.format(row[0], row[1])))
if options['ppi']: if options['ppi']:
sql_request_string = ''' 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 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) cursor.execute(sql_request_string)
rows = cursor.fetchall() rows = cursor.fetchall()
ProteinDomainBoundComplex.objects.all().delete() ProteinDomainBoundComplex.objects.all().delete()
...@@ -241,6 +241,7 @@ select distinct protein.NumUniprot, domain.PfamNumAccession , complexe.NbCopy, ...@@ -241,6 +241,7 @@ select distinct protein.NumUniprot, domain.PfamNumAccession , complexe.NbCopy,
self.stdout.write( self.stdout.write(
self.style.SUCCESS('Successfully flushed protein domain complex, PPI, compound actions, and disease tables')) self.style.SUCCESS('Successfully flushed protein domain complex, PPI, compound actions, and disease tables'))
ppi_ids_mapping = {} ppi_ids_mapping = {}
protein_domain_bound_complexes_mapping = {}
for row in rows: for row in rows:
try: try:
# create or retrieve Ppi object # create or retrieve Ppi object
...@@ -270,6 +271,9 @@ select distinct protein.NumUniprot, domain.PfamNumAccession , complexe.NbCopy, ...@@ -270,6 +271,9 @@ select distinct protein.NumUniprot, domain.PfamNumAccession , complexe.NbCopy,
if isinstance(c, ProteinDomainBoundComplex): if isinstance(c, ProteinDomainBoundComplex):
c.ppp_copy_nb_per_p = 1 c.ppp_copy_nb_per_p = 1
c.save() 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 # create the PpiComplex object
ppi_complex = PpiComplex() ppi_complex = PpiComplex()
ppi_complex.ppi = ppi ppi_complex.ppi = ppi
...@@ -330,8 +334,14 @@ select distinct protein.NumUniprot, domain.PfamNumAccession , complexe.NbCopy, ...@@ -330,8 +334,14 @@ select distinct protein.NumUniprot, domain.PfamNumAccession , complexe.NbCopy,
biblio_row = cursor.fetchone() biblio_row = cursor.fetchone()
biblio = Bibliography.objects.get(id_source=biblio_row[0]) biblio = Bibliography.objects.get(id_source=biblio_row[0])
tad.biblio = biblio 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.ppi = Ppi.objects.get(id=ppi_ids_mapping[row[3]])
tad.test_name = row[4] 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_type = row[7].upper()
tad.test_modulation_type = row[8][0] tad.test_modulation_type = row[8][0]
tad.nb_active_compounds = row[9] tad.nb_active_compounds = row[9]
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment