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

restructured data import

Former-commit-id: 7fb96851
parent b1f92530
No related branches found
No related tags found
No related merge requests found
.git .git
data
venv
...@@ -7,10 +7,10 @@ venv/ ...@@ -7,10 +7,10 @@ venv/
*.DS_Store *.DS_Store
db.sqlite3 db.sqlite3
supervisord.log supervisord.log
supervisord.log
supervisord.pid supervisord.pid
docker-entrypoint.lock docker-entrypoint.lock
celerybeat-schedule.bak celerybeat-schedule.bak
celerybeat-schedule.dat celerybeat-schedule.dat
celerybeat-schedule.dir celerybeat-schedule.dir
docker-django.env.prodnetworks.zip docker-django.env.prodnetworks.zip
data/Networks/
...@@ -26,3 +26,7 @@ python3 manage.py make_graphs ...@@ -26,3 +26,7 @@ python3 manage.py make_graphs
### Docker DEV environment (building is optional) ### Docker DEV environment (building is optional)
``docker-compose -f docker-compose.yml up -d --build`` ``docker-compose -f docker-compose.yml up -d --build``
### Data folder
Static datasets are mounted from a directory now, instead of fusing them into the image. Download them from the following link and put them into the data folder that is mounted by the docker-compose.yml:
https://wolken.zbh.uni-hamburg.de/index.php/s/gywnL3HP26CWrgA
...@@ -13,7 +13,7 @@ services: ...@@ -13,7 +13,7 @@ services:
restart: always restart: always
volumes: volumes:
- drugstone_db_schema_volume:/usr/src/drugstone/drugstone/migrations - drugstone_db_schema_volume:/usr/src/drugstone/drugstone/migrations
- drugstone_data_volume:/usr/src/drugstone/data - ./data:/usr/src/drugstone/data
ports: ports:
- 8001:8000 - 8001:8000
networks: networks:
...@@ -60,7 +60,7 @@ services: ...@@ -60,7 +60,7 @@ services:
container_name: drugstone_celery container_name: drugstone_celery
hostname: drugstone_celery hostname: drugstone_celery
volumes: volumes:
- drugstone_data_volume:/usr/src/drugstone/data - ./data:/usr/src/drugstone/data
env_file: env_file:
- './docker-django.env.dev' - './docker-django.env.dev'
depends_on: depends_on:
......
...@@ -15,4 +15,4 @@ CELERY_BROKER_URL=redis://redis:6379/0 ...@@ -15,4 +15,4 @@ CELERY_BROKER_URL=redis://redis:6379/0
FLOWER_PORT=8888 FLOWER_PORT=8888
FLOWER_BASIC_AUTH=drugstone:test FLOWER_BASIC_AUTH=drugstone:test
GT_THREADS=2 GT_THREADS=2
DB_UPDATE_ON_START=0 DB_UPDATE_ON_START=1
\ No newline at end of file \ No newline at end of file
...@@ -256,8 +256,8 @@ class NedrexImporter: ...@@ -256,8 +256,8 @@ 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].extend(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)
def import_protein_protein_interactions(self, dataset: PPIDataset, update): def import_protein_protein_interactions(self, dataset: PPIDataset, update):
...@@ -316,8 +316,8 @@ class NedrexImporter: ...@@ -316,8 +316,8 @@ class NedrexImporter:
iter_ppi(add_ppi) iter_ppi(add_ppi)
models.ProteinProteinInteraction.objects.bulk_create(bulk) models.ProteinProteinInteraction.objects.bulk_create(bulk)
new_datasets = [dataset, source_datasets.values()] # new_datasets = [dataset, source_datasets.values()]
DatasetLoader.remove_old_ppi_data(new_datasets, licenced) # DatasetLoader.remove_old_ppi_data(new_datasets, licenced)
return len(bulk) return len(bulk)
def import_protein_disorder_associations(self, dataset, update): def import_protein_disorder_associations(self, dataset, update):
...@@ -367,8 +367,8 @@ class NedrexImporter: ...@@ -367,8 +367,8 @@ class NedrexImporter:
iter_edge_collection('gene_associated_with_disorder', add_pdis) iter_edge_collection('gene_associated_with_disorder', add_pdis)
models.ProteinDisorderAssociation.objects.bulk_create(bulk) models.ProteinDisorderAssociation.objects.bulk_create(bulk)
new_datasets = [dataset, source_datasets.values()] # new_datasets = [dataset, source_datasets.values()]
DatasetLoader.remove_old_pdis_data(new_datasets, licenced) # DatasetLoader.remove_old_pdis_data(new_datasets, licenced)
return len(bulk) return len(bulk)
def import_drug_disorder_indications(self, dataset, update): def import_drug_disorder_indications(self, dataset, update):
...@@ -416,6 +416,6 @@ class NedrexImporter: ...@@ -416,6 +416,6 @@ class NedrexImporter:
iter_edge_collection('drug_has_indication', add_drdis) iter_edge_collection('drug_has_indication', add_drdis)
models.DrugDisorderIndication.objects.bulk_create(bulk) models.DrugDisorderIndication.objects.bulk_create(bulk)
new_datasets = [dataset, source_datasets.values()] # new_datasets = [dataset, source_datasets.values()]
DatasetLoader.remove_old_drdi_data(new_datasets, licenced) # DatasetLoader.remove_old_drdi_data(new_datasets, licenced)
return len(bulk) return len(bulk)
...@@ -300,69 +300,69 @@ def is_licenced_drdi_source(source): ...@@ -300,69 +300,69 @@ def is_licenced_drdi_source(source):
return False return False
def remove_old_pdi_data(new_datasets, licenced): # def remove_old_pdi_data(new_datasets, licenced):
if new_datasets is None: # if new_datasets is None:
return # return
for dataset in new_datasets: # for dataset in new_datasets:
print("Deleting all except "+str(dataset)) # 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)) # print("Testing: "+str(d))
if d != dataset: # if d != dataset:
print("Deleting: "+str(d)) # print("Deleting: "+str(d))
d.delete() # d.delete()
except Exception as e: # except Exception as e:
print("Error when trying to delete old datasets") # print("Error when trying to delete old datasets")
print(e) # print(e)
continue # continue
def remove_old_ppi_data(new_datasets, licenced): # def remove_old_ppi_data(new_datasets, licenced):
if new_datasets is None: # if new_datasets is None:
return # return
for dataset in new_datasets: # for dataset in new_datasets:
print("Deleting all except " + str(dataset)) # 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)) # print("Testing: " + str(d))
if d != dataset: # if d != dataset:
print("Deleting: " + str(d)) # print("Deleting: " + str(d))
d.delete() # d.delete()
except Exception as e: # except Exception as e:
print("Error when trying to delete old datasets") # print("Error when trying to delete old datasets")
print(e) # print(e)
continue # continue
def remove_old_pdis_data(new_datasets, licenced): # def remove_old_pdis_data(new_datasets, licenced):
if new_datasets is None: # if new_datasets is None:
return # return
for dataset in new_datasets: # for dataset in new_datasets:
print("Deleting all except " + str(dataset)) # 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)) # print("Testing: " + str(d))
if d != dataset: # if d != dataset:
print("Deleting: " + str(d)) # print("Deleting: " + str(d))
d.delete() # d.delete()
except Exception as e: # except Exception as e:
print("Error when trying to delete old datasets") # print("Error when trying to delete old datasets")
print(e) # print(e)
continue # continue
def remove_old_drdi_data(new_datasets, licenced): # def remove_old_drdi_data(new_datasets, licenced):
if new_datasets is None: # if new_datasets is None:
return # return
for dataset in new_datasets: # for dataset in new_datasets:
print("Deleting all except " + str(dataset)) # 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)) # print("Testing: " + str(d))
if d != dataset: # if d != dataset:
print("Deleting: " + str(d)) # print("Deleting: " + str(d))
d.delete() # d.delete()
except Exception as e: # except Exception as e:
print("Error when trying to delete old datasets") # print("Error when trying to delete old datasets")
print(e) # print(e)
continue # continue
...@@ -3,9 +3,9 @@ celery==5.2.7 ...@@ -3,9 +3,9 @@ celery==5.2.7
certifi==2022.12.7 certifi==2022.12.7
chardet==3.0.4 chardet==3.0.4
click==8.1.3 click==8.1.3
cryptography==38.0.3 cryptography==39.0.1
decorator==4.4.2 decorator==4.4.2
Django==3.2.16 Django==3.2.17
django-cors-headers==3.4.0 django-cors-headers==3.4.0
django-redis==4.11.0 django-redis==4.11.0
django-rq-dashboard==0.3.3 django-rq-dashboard==0.3.3
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment