Skip to content
Snippets Groups Projects
Commit ccea3c2b authored by AndiMajore's avatar AndiMajore
Browse files

added output to remove old datasets functions to identify problem in next update

parent 25b74e80
No related branches found
No related tags found
No related merge requests found
...@@ -256,7 +256,7 @@ class NedrexImporter: ...@@ -256,7 +256,7 @@ class NedrexImporter:
iter_edge_collection('drug_has_target', add_dpi) iter_edge_collection('drug_has_target', add_dpi)
models.ProteinDrugInteraction.objects.bulk_create(bulk) models.ProteinDrugInteraction.objects.bulk_create(bulk)
new_datasets = [dataset, source_datasets.values()] new_datasets = [dataset].extend(source_datasets.values())
DatasetLoader.remove_old_pdi_data(new_datasets, licenced) DatasetLoader.remove_old_pdi_data(new_datasets, licenced)
return len(bulk) return len(bulk)
......
...@@ -10,6 +10,8 @@ from drugstone.management.includes.DataPopulator import DataPopulator ...@@ -10,6 +10,8 @@ from drugstone.management.includes.DataPopulator import DataPopulator
from .import_from_nedrex import NedrexImporter from .import_from_nedrex import NedrexImporter
from drugstone.management.includes.NodeCache import NodeCache from drugstone.management.includes.NodeCache import NodeCache
from drugstone.management.includes import DatasetLoader from drugstone.management.includes import DatasetLoader
from ..includes.DatasetLoader import remove_old_pdi_data, remove_old_ppi_data, remove_old_pdis_data, \
remove_old_drdi_data
class DatabasePopulator: class DatabasePopulator:
...@@ -59,7 +61,6 @@ class DatabasePopulator: ...@@ -59,7 +61,6 @@ class DatabasePopulator:
class Command(BaseCommand): class Command(BaseCommand):
def add_arguments(self, parser): def add_arguments(self, parser):
# dataset directory # dataset directory
parser.add_argument('-dd', '--data_dir', type=str, help='Dataset directory path') parser.add_argument('-dd', '--data_dir', type=str, help='Dataset directory path')
parser.add_argument('-dm', '--delete_model', type=str, help='Delete model(s)') parser.add_argument('-dm', '--delete_model', type=str, help='Delete model(s)')
...@@ -80,19 +81,28 @@ class Command(BaseCommand): ...@@ -80,19 +81,28 @@ class Command(BaseCommand):
parser.add_argument('-pdi', '--protein_disorder', action='store_true', parser.add_argument('-pdi', '--protein_disorder', action='store_true',
help='Populate Protein-Disorder Associations') help='Populate Protein-Disorder Associations')
parser.add_argument('-ddi', '--drug_disorder', action='store_true', help='Populate Drug-Disorder Indications') parser.add_argument('-ddi', '--drug_disorder', action='store_true', help='Populate Drug-Disorder Indications')
parser.add_argument('-t', '--test', action='store_true', help='Running some function on startup')
def handle(self, *args, **kwargs): def handle(self, *args, **kwargs):
populate(kwargs) populate(kwargs)
def populate(kwargs):
def populate(kwargs):
nedrex_api_url_open = "https://api.nedrex.net/open" nedrex_api_url_open = "https://api.nedrex.net/open"
nedrex_api_url_licensed = "https://api.nedrex.net/licensed" nedrex_api_url_licensed = "https://api.nedrex.net/licensed"
data_dir = kwargs['data_dir'] data_dir = kwargs['data_dir']
db_populator = DatabasePopulator(data_dir=data_dir) db_populator = DatabasePopulator(data_dir=data_dir)
if 'test' in kwargs and kwargs['test']:
pass
# remove_old_ppi_data([PPIDataset.objects.filter(name='biogrid', licenced=False).last()], False)
# remove_old_ppi_data([PPIDataset.objects.filter(name='iid', licenced=False).last()], False)
# remove_old_ppi_data([PPIDataset.objects.filter(name='intact', licenced=False).last()], False)
# remove_old_pdis_data([PDisDataset.objects.filter(name='disgenet', licenced=False).last()], False)
# remove_old_pdis_data([PDisDataset.objects.filter(name='omim', licenced=True).last()], True)
# remove_old_drdi_data([DrDiDataset.objects.filter(name='ctd', licenced=False).last()], False)
# remove_old_drdi_data([DrDiDataset.objects.filter(name='drugcentral', licenced=False).last()], False)
if 'clear' in kwargs and kwargs['clear']: if 'clear' in kwargs and kwargs['clear']:
db_populator.delete_all() db_populator.delete_all()
...@@ -121,7 +131,7 @@ def populate(kwargs): ...@@ -121,7 +131,7 @@ def populate(kwargs):
if kwargs['drugs']: if kwargs['drugs']:
print('Populating Drugs...') print('Populating Drugs...')
n = NedrexImporter.import_drugs(importer, update) n = NedrexImporter.import_drugs(importer, update)
total_n +=n total_n += n
nedrex_update = True nedrex_update = True
print(f'Populated {n} Drugs.') print(f'Populated {n} Drugs.')
...@@ -152,14 +162,16 @@ def populate(kwargs): ...@@ -152,14 +162,16 @@ def populate(kwargs):
if kwargs['protein_drug']: if kwargs['protein_drug']:
print('Importing PDIs from unlicensed NeDRexDB...') print('Importing PDIs from unlicensed NeDRexDB...')
n = NedrexImporter.import_drug_target_interactions(importer, n = NedrexImporter.import_drug_target_interactions(importer,
DatasetLoader.get_drug_target_nedrex(nedrex_api_url_open, False), DatasetLoader.get_drug_target_nedrex(nedrex_api_url_open,
False),
update) update)
total_n += n total_n += n
print(f'Imported {n} PDIs from unlicensed NeDRexDB') print(f'Imported {n} PDIs from unlicensed NeDRexDB')
print('Importing PDIs from licensed NeDRexDB...') print('Importing PDIs from licensed NeDRexDB...')
n = NedrexImporter.import_drug_target_interactions(importer, n = NedrexImporter.import_drug_target_interactions(importer,
DatasetLoader.get_drug_target_nedrex(nedrex_api_url_licensed, True), DatasetLoader.get_drug_target_nedrex(nedrex_api_url_licensed,
True),
update) update)
total_n += n total_n += n
nedrex_update = True nedrex_update = True
...@@ -196,7 +208,8 @@ def populate(kwargs): ...@@ -196,7 +208,8 @@ def populate(kwargs):
if kwargs['drug_disorder']: if kwargs['drug_disorder']:
print('Importing DrDis from unlicensed NeDRexDB...') print('Importing DrDis from unlicensed NeDRexDB...')
n = NedrexImporter.import_drug_disorder_indications(importer, n = NedrexImporter.import_drug_disorder_indications(importer,
DatasetLoader.get_drug_disorder_nedrex(nedrex_api_url_open, False), DatasetLoader.get_drug_disorder_nedrex(nedrex_api_url_open,
False),
update) update)
total_n += n total_n += n
print(f'Imported {n} DrDis from unlicensed NeDRexDB') print(f'Imported {n} DrDis from unlicensed NeDRexDB')
......
...@@ -302,39 +302,59 @@ def is_licenced_drdi_source(source): ...@@ -302,39 +302,59 @@ def is_licenced_drdi_source(source):
def remove_old_pdi_data(new_datasets, licenced): def remove_old_pdi_data(new_datasets, licenced):
for dataset in new_datasets: for dataset in new_datasets:
print("Deleting all except "+str(dataset))
try: try:
for d in models.PDIDataset.objects.filter(name=dataset.name, licenced=licenced): for d in models.PDIDataset.objects.filter(name=dataset.name, licenced=licenced):
print("Testing: "+str(d))
if d != dataset: if d != dataset:
print("Deleting: "+str(d))
d.delete() d.delete()
except: except Exception as e:
print("Error when trying to delete old datasets")
print(e)
continue continue
def remove_old_ppi_data(new_datasets, licenced): def remove_old_ppi_data(new_datasets, licenced):
for dataset in new_datasets: for dataset in new_datasets:
print("Deleting all except " + str(dataset))
try: try:
for d in models.PPIDataset.objects.filter(name=dataset.name, licenced=licenced): for d in models.PPIDataset.objects.filter(name=dataset.name, licenced=licenced):
print("Testing: " + str(d))
if d != dataset: if d != dataset:
print("Deleting: " + str(d))
d.delete() d.delete()
except: except Exception as e:
print("Error when trying to delete old datasets")
print(e)
continue continue
def remove_old_pdis_data(new_datasets, licenced): def remove_old_pdis_data(new_datasets, licenced):
for dataset in new_datasets: for dataset in new_datasets:
print("Deleting all except " + str(dataset))
try: try:
for d in models.PDisDataset.objects.filter(name=dataset.name, licenced=licenced): for d in models.PDisDataset.objects.filter(name=dataset.name, licenced=licenced):
print("Testing: " + str(d))
if d != dataset: if d != dataset:
print("Deleting: " + str(d))
d.delete() d.delete()
except: except Exception as e:
print("Error when trying to delete old datasets")
print(e)
continue continue
def remove_old_drdi_data(new_datasets, licenced): def remove_old_drdi_data(new_datasets, licenced):
for dataset in new_datasets: for dataset in new_datasets:
print("Deleting all except " + str(dataset))
try: try:
for d in models.DrDiDataset.objects.filter(name=dataset.name, licenced=licenced): for d in models.DrDiDataset.objects.filter(name=dataset.name, licenced=licenced):
print("Testing: " + str(d))
if d != dataset: if d != dataset:
print("Deleting: " + str(d))
d.delete() d.delete()
except: except Exception as e:
print("Error when trying to delete old datasets")
print(e)
continue continue
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment