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

nedrex integration mainly done

Former-commit-id: 33d39f0222ba087347ba9a8f97bb606eb351c631 [formerly dcffa3e23c2b52efecc1a62f84a9196e7244b70e]
Former-commit-id: e9dd8d7283b64d526a514d47337f05dd1523a60f
parent 89aec55b
Branches
No related tags found
No related merge requests found
data.zip
......@@ -15,7 +15,7 @@ services:
- drugstone_db_schema_volume:/usr/src/drugstone/drugstone/migrations
- drugstone_data_volume:/usr/src/drugstone/data
ports:
- 8002:8000
- 8001:8000
networks:
- drugstone_net
depends_on:
......@@ -26,8 +26,8 @@ services:
container_name: drugstone_postgres
restart: always
hostname: drugstone_postgres
# ports:
# - 5432:5432
ports:
- 5432:5432
networks:
- drugstone_net
volumes:
......@@ -95,8 +95,8 @@ networks:
volumes:
drugstone_db_volume:
external: true
# external: true
drugstone_db_schema_volume:
external: true
# external: true
drugstone_data_volume:
external: true
\ No newline at end of file
# external: true
\ No newline at end of file
import python_nedrex as nedrex
from python_nedrex.core import get_nodes, get_edges, get_api_key
from python_nedrex.static import get_metadata
def iter_node_collection(coll_name, eval):
offset = 0
limit = 10000
while True:
result = get_nodes(coll_name, offset=offset, limit=limit)
if not result:
return
for node in result:
eval(node)
offset += limit
def iter_edge_collection(coll_name, eval):
offset = 0
limit = 10000
while True:
result = get_edges(coll_name, offset=offset, limit=limit)
if not result:
return
for edge in result:
eval(edge)
offset += limit
def iter_ppi(eval):
from python_nedrex import ppi
offset = 0
limit = 1000
while True:
result = ppi.ppis({"exp"},skip = offset, limit=limit)
if not result:
return
for edge in result:
eval(edge)
offset += limit
base_url = "http://82.148.225.92:8123/"
nedrex.config.set_url_base(base_url)
api_key = get_api_key(accept_eula=True)
nedrex.config.set_api_key(api_key)
print(f'Nodes: {nedrex.core.get_node_types()}')
print(f'Edges: {nedrex.core.get_edge_types()}')
print(f'{get_metadata()}')
iter_ppi(lambda node: print(node))
# iter_edge_collection("gene_expressed_in_tissue", lambda node: {print(node)})
\ No newline at end of file
......@@ -129,6 +129,9 @@ class Disorder(models.Model):
def __ne__(self, other):
return not self.__eq__(other)
def __hash__(self):
return hash((self.mondo_id, self.label, self.icd10))
def update(self, other):
self.mondo_id = other.mondo_id
self.label = other.label
......@@ -152,6 +155,9 @@ class Drug(models.Model):
def __ne__(self, other):
return not self.__eq__(other)
def __hash__(self):
return hash((self.drug_id, self.name, self.status))
def update(self, other):
self.drug_id = other.drug_id
self.name = other.name
......
......@@ -531,7 +531,7 @@ def adjacent_disorders(request) -> Response:
data = request.data
if 'proteins' in data:
drugstone_ids = data.get('proteins', [])
pdi_dataset = 'DisGeNET'
pdi_dataset = data.get('dataset','DisGeNET')
# find adjacent drugs by looking at drug-protein edges
pdis_objects = ProteinDisorderAssociation.objects.filter(protein__id__in=drugstone_ids,
pdis_dataset__name=pdi_dataset)
......@@ -541,7 +541,7 @@ def adjacent_disorders(request) -> Response:
disorders = DisorderSerializer(many=True).to_representation(disorders)
elif 'drugs' in data:
drugstone_ids = data.get('drugs', [])
drdi_dataset = 'DrugBank'
drdi_dataset = data.get('dataset','DrugBank')
# find adjacent drugs by looking at drug-protein edges
drdi_objects = DrugDisorderIndication.objects.filter(drug__id__in=drugstone_ids,
drdi_dataset__name=drdi_dataset)
......
#!/bin/bash
file="docker-entrypoint.lock"
file="data/docker-entrypoint.lock"
# exit if entrypoint.lock exists to prevent new import of data every time docker is restarted
......@@ -13,7 +13,6 @@ if ! test -f "$file"; then
python3 manage.py cleanuptasks
python3 manage.py populate_db -u --all
python3 manage.py make_graphs
touch $file
fi
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment