diff --git a/drugstone/views.py b/drugstone/views.py index a18fb48b67009b9f92cfc1b116ad1d5518ee23d0..c6521aaee6a812a40683767bed9e2d023243fafe 100755 --- a/drugstone/views.py +++ b/drugstone/views.py @@ -224,7 +224,7 @@ def create_network(request) -> Response: while True: try: Network.objects.create(id=id, nodes=request.data['network']['nodes'], - edges=request.data['network']['edges'], config=request.data['config'], + edges=request.data['network']['edges'], config=request.data['config'], groups=request.data['groups']) break except IntegrityError: @@ -247,9 +247,9 @@ def load_network(request) -> Response: network = NetworkSerializer().to_representation(Network.objects.get(id=request.query_params.get('id'))) result = {'network': {'nodes': json.loads(network['nodes'].replace("'", '"')), 'edges': json.loads(network['edges'].replace("'", '"'))}, - 'config': json.loads( + 'config': json.loads( network['config'].replace("'", '"').replace('True', 'true').replace('False', 'false')), - 'groups': json.loads( + 'groups': json.loads( network['groups'].replace("'", '"').replace('True', 'true').replace('False', 'false'))} return Response(result) @@ -374,7 +374,9 @@ def result_view(request) -> Response: detail['ensg'] = list(set(detail['ensg'])) edges = parameters['input_network']['edges'] + edge_endpoint_ids = set() + # TODO check for custom edges when working again with ensemble gene ids for edge in edges: edge_endpoint_ids.add(edge['from']) @@ -382,11 +384,10 @@ def result_view(request) -> Response: nodes_mapped, id_key = query_proteins_by_identifier(edge_endpoint_ids, identifier) - if 'autofill_edges' in parameters['config'] and parameters['config']['autofill_edges']: - prots = list(filter(lambda n: n['drugstone_type'] == 'protein', - filter(lambda n: 'drugstone_type' in n and node_name_attribute in n, parameters['input_network']['nodes']))) + filter(lambda n: 'drugstone_type' in n and node_name_attribute in n, + parameters['input_network']['nodes']))) proteins = {node_name[1:] for node in prots for node_name in node[node_name_attribute]} dataset = DEFAULTS['ppi'] if 'interaction_protein_protein' not in parameters['config'] else \ @@ -399,7 +400,6 @@ def result_view(request) -> Response: interaction_objects)) edges.extend(auto_edges) - result['network']['edges'].extend(edges) uniq_edges = dict() for edge in result['network']['edges']: