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

nedrex integration mainly done

parent 1281606e
No related branches found
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.
Finish editing this message first!
Please register or to comment