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

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

Former-commit-id: ccea3c2b
parent f696e9b8
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()
...@@ -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