mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-10-04 13:28:12 +08:00
Move data to a property of the app object
This commit is contained in:
+1
-2
@@ -43,7 +43,6 @@ app.add_url_rule("/", endpoint="index")
|
|||||||
|
|
||||||
|
|
||||||
def run_scanpy(args):
|
def run_scanpy(args):
|
||||||
global data
|
|
||||||
title = args.title
|
title = args.title
|
||||||
if not title:
|
if not title:
|
||||||
title = os.path.basename(os.path.normpath(args.data_directory))
|
title = os.path.basename(os.path.normpath(args.data_directory))
|
||||||
@@ -54,7 +53,7 @@ def run_scanpy(args):
|
|||||||
)
|
)
|
||||||
|
|
||||||
from .scanpy_engine.scanpy_engine import ScanpyEngine
|
from .scanpy_engine.scanpy_engine import ScanpyEngine
|
||||||
data = ScanpyEngine(args.data_directory, schema="data_schema.json")
|
app.data = ScanpyEngine(args.data_directory, schema="data_schema.json")
|
||||||
app.run(host="0.0.0.0", debug=True, port=args.port)
|
app.run(host="0.0.0.0", debug=True, port=args.port)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+18
-18
@@ -88,13 +88,13 @@ class InitializeAPI(Resource):
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
def get(self):
|
def get(self):
|
||||||
from server.app.app import data, REACTIVE_LIMIT
|
from server.app.app import app, REACTIVE_LIMIT
|
||||||
return make_payload({
|
return make_payload({
|
||||||
"schema": data.schema,
|
"schema": app.data.schema,
|
||||||
"cellcount": data.cell_count,
|
"cellcount": app.data.cell_count,
|
||||||
"reactivelimit": REACTIVE_LIMIT,
|
"reactivelimit": REACTIVE_LIMIT,
|
||||||
"genes": data.genes(),
|
"genes": app.data.genes(),
|
||||||
"ranges": data.metadata_ranges(),
|
"ranges": app.data.metadata_ranges(),
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -191,7 +191,7 @@ class CellsAPI(Resource):
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
def get(self):
|
def get(self):
|
||||||
from server.app.app import data
|
from server.app.app import app
|
||||||
payload = {
|
payload = {
|
||||||
"metadata": [],
|
"metadata": [],
|
||||||
"cellcount": 0,
|
"cellcount": 0,
|
||||||
@@ -199,12 +199,12 @@ class CellsAPI(Resource):
|
|||||||
"ranges": {},
|
"ranges": {},
|
||||||
}
|
}
|
||||||
# get query params
|
# get query params
|
||||||
cells_filter = parse_filter(request.args, data.schema)
|
cells_filter = parse_filter(request.args, app.data.schema)
|
||||||
filtered_data = data.filter_cells(cells_filter)
|
filtered_data = app.data.filter_cells(cells_filter)
|
||||||
payload["metadata"] = data.metadata(filtered_data)
|
payload["metadata"] = app.data.metadata(filtered_data)
|
||||||
payload["ranges"] = data.metadata_ranges(filtered_data)
|
payload["ranges"] = app.data.metadata_ranges(filtered_data)
|
||||||
payload["graph"] = data.create_graph(filtered_data)
|
payload["graph"] = app.data.create_graph(filtered_data)
|
||||||
payload["cellcount"] = data.cell_count
|
payload["cellcount"] = app.data.cell_count
|
||||||
return make_payload(payload)
|
return make_payload(payload)
|
||||||
|
|
||||||
|
|
||||||
@@ -251,8 +251,8 @@ class ExpressionAPI(Resource):
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
def get(self):
|
def get(self):
|
||||||
from server.app.app import data
|
from server.app.app import app
|
||||||
expression_data = data.expression()
|
expression_data = app.data.expression()
|
||||||
return make_payload(expression_data)
|
return make_payload(expression_data)
|
||||||
|
|
||||||
@swagger.doc({
|
@swagger.doc({
|
||||||
@@ -309,14 +309,14 @@ class ExpressionAPI(Resource):
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
def post(self):
|
def post(self):
|
||||||
from server.app.app import data
|
from server.app.app import app
|
||||||
args = request.get_json()
|
args = request.get_json()
|
||||||
cell_list = args.get("celllist", [])
|
cell_list = args.get("celllist", [])
|
||||||
gene_list = args.get("genelist", [])
|
gene_list = args.get("genelist", [])
|
||||||
if not cell_list and not gene_list:
|
if not cell_list and not gene_list:
|
||||||
return make_payload([], "must include celllist and/or genelist parameter", 400)
|
return make_payload([], "must include celllist and/or genelist parameter", 400)
|
||||||
|
|
||||||
expression_data = data.expression(cell_list, gene_list)
|
expression_data = app.data.expression(cell_list, gene_list)
|
||||||
|
|
||||||
if cell_list and len(expression_data["cells"]) < len(cell_list):
|
if cell_list and len(expression_data["cells"]) < len(cell_list):
|
||||||
return make_payload([], "Some cell ids not available", 400)
|
return make_payload([], "Some cell ids not available", 400)
|
||||||
@@ -415,7 +415,7 @@ class DifferentialExpressionAPI(Resource):
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
def post(self):
|
def post(self):
|
||||||
from server.app.app import data
|
from server.app.app import app
|
||||||
args = request.get_json()
|
args = request.get_json()
|
||||||
cell_list_1 = args.get("celllist1", [])
|
cell_list_1 = args.get("celllist1", [])
|
||||||
cell_list_2 = args.get("celllist2", [])
|
cell_list_2 = args.get("celllist2", [])
|
||||||
@@ -425,7 +425,7 @@ class DifferentialExpressionAPI(Resource):
|
|||||||
return make_payload([],
|
return make_payload([],
|
||||||
"must include celllist1 and celllist2 parameters",
|
"must include celllist1 and celllist2 parameters",
|
||||||
400)
|
400)
|
||||||
data = data.diffexp(cell_list_1, cell_list_2, pval, num_genes)
|
data = app.data.diffexp(cell_list_1, cell_list_2, pval, num_genes)
|
||||||
return make_payload(data)
|
return make_payload(data)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user