diff --git a/Dockerfile b/Dockerfile index 8e868614a810e1480622d78e885ce1583f2518bd..924a5c6a9c40239fd653269fbdc6594dee2a4abb 100755 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM andimajore/miniconda3:latest +FROM andimajore/miniconda3_kinetic WORKDIR /usr/src/drugstone/ diff --git a/drugstone/views.py b/drugstone/views.py index 819587374b53be0c2276969ff0450bf36ec7a6bf..5024babdb97b772f2e90d2b6e3bf2beff13c5a88 100755 --- a/drugstone/views.py +++ b/drugstone/views.py @@ -25,43 +25,31 @@ from drugstone.settings import DEFAULTS def get_ppi_ds(source, licenced): - try: - ds = models.PPIDataset.objects.filter(name__iexact=source, licenced=licenced).last() - return ds - except: - if licenced: - return get_ppi_ds(source, False) - return None + ds = models.PPIDataset.objects.filter(name__iexact=source, licenced=licenced).last() + if ds is None and licenced: + return get_ppi_ds(source, False) + return ds def get_pdi_ds(source, licenced): - try: - ds = models.PDIDataset.objects.filter(name__iexact=source, licenced=licenced).last() - return ds - except: - if licenced: - return get_pdi_ds(source, False) - return None + ds = models.PDIDataset.objects.filter(name__iexact=source, licenced=licenced).last() + if ds is None and licenced: + return get_pdi_ds(source, False) + return ds def get_pdis_ds(source, licenced): - try: - ds = models.PDisDataset.objects.filter(name__iexact=source, licenced=licenced).last() - return ds - except: - if licenced: - return get_pdis_ds(source, False) - return None + ds = models.PDisDataset.objects.filter(name__iexact=source, licenced=licenced).last() + if ds is None and licenced: + return get_pdis_ds(source, False) + return ds def get_drdis_ds(source, licenced): - try: - ds = models.DrDiDataset.objects.filter(name__iexact=source, licenced=licenced).last() - return ds - except: - if licenced: - return get_drdis_ds(source, False) - return None + ds = models.DrDiDataset.objects.filter(name__iexact=source, licenced=licenced).last() + if ds is None and licenced: + return get_drdis_ds(source, False) + return ds class TaskView(APIView): @@ -143,6 +131,7 @@ def fetch_edges(request) -> Response: return Response(ProteinProteinInteractionSerializer(many=True).to_representation(interaction_objects)) + @api_view(['POST']) def convert_compact_ids(request) -> Response: nodes = request.data.get('nodes', '[]') @@ -150,6 +139,7 @@ def convert_compact_ids(request) -> Response: cleaned = clean_proteins_from_compact_notation(nodes, identifier) return Response(cleaned) + @api_view(['POST']) def map_nodes(request) -> Response: """Maps user given input nodes to Proteins in the django database. @@ -502,7 +492,6 @@ def graph_export(request) -> Response: node_name = node['drugstone_id'] G.add_node(node_name, **node) - for e in edges: # networkx does not support datatypes such as lists or dicts for prop in remove_edge_properties: @@ -528,13 +517,13 @@ def graph_export(request) -> Response: del data['multigraph'] # for node in data['nodes']: - # for prop in remove_node_properties: - # if prop in node: - # del node[prop] + # for prop in remove_node_properties: + # if prop in node: + # del node[prop] # for edge in data['links']: - # for prop in remove_edge_properties: - # if prop in edge: - # del edge[prop] + # for prop in remove_edge_properties: + # if prop in edge: + # del edge[prop] data["edges"] = data.pop("links") data = json.dumps(data) data = data.replace('"{', '{').replace('}"', '}').replace('"[', '[').replace(']"', ']').replace('\\"', '"') diff --git a/requirements.txt b/requirements.txt index 394a8ab842db668aee7262889e6310d49eab42ca..e2ca8b1400cb459de5d3df84f22a841954ed7b9c 100755 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ asgiref==3.5.2 celery==5.2.7 -certifi==2020.6.20 +certifi==2022.12.7 chardet==3.0.4 click==8.1.3 cryptography==38.0.3