Skip to content
Snippets Groups Projects
Commit fb623111 authored by Bryan BRANCOTTE's avatar Bryan BRANCOTTE
Browse files

transmit initTable name when fetching inittable_meta

parent b889a298
No related branches found
No related tags found
No related merge requests found
......@@ -57,7 +57,11 @@ export default {
},
async asyncData({ $axios, params, $auth }) {
try {
const initmeta = await $axios.$get('/initmeta')
const data = {
initTableName: "initTable.hdf5"
// initTableName: "initTableTest1.hdf5"
};
const initmeta = await $axios.$post('/initmeta', data)
return {
initmeta,
}
......
......@@ -28,9 +28,16 @@ class InitMeta(object):
def get_inittable_meta(file_name):
init_store = HDFStore(file_name, mode='r')
nb_snps = init_store.get_storer("SumStatTab").nrows
name="Missing name"
desc="Missing description"
init_store.close()
nb_phenotypes = read_hdf(file_name, "PhenoList").shape[0]
return {"nb_snps":int(nb_snps), "nb_phenotypes":int(nb_phenotypes)}
return dict(
nb_snps=int(nb_snps),
nb_phenotypes=int(nb_phenotypes),
name=name,
desc=desc,
)
def get_gwasname(file_name):
return "_".join(os.path.basename(file_name).split("_")[0:3])
......
......@@ -60,8 +60,8 @@ def phenotypes_list(init_table_name: InitTableNameModel):
except FileNotFoundError as e: # initTable does not exists
raise HTTPException(status_code=404, detail=str(e))
@app.get("/api/initmeta")
def inittable_meta():
@app.post("/api/initmeta")
def inittable_meta(init_table_name: InitTableNameModel):
"""Number of phenotype and SNPs"""
return get_inittable_meta(os.path.join(config["DATA_DIR"], "initTable.hdf5"))
......
......@@ -59,8 +59,16 @@ class TestDefaultController(JassWebClientTestCase):
self.assert200(response, "Response body is : " + response.content.decode("utf-8"))
def test_initmeta(self):
response = self.testing_client.get("/api/initmeta")
response = self.testing_client.post("/api/initmeta", json={})
self.assert200(response, "Response body is : " + response.content.decode("utf-8"))
respMain = json.loads(response.content.decode("utf-8"))
response = self.testing_client.post("/api/initmeta", json={"initTableName": "initTableTest1.hdf5"})
self.assert200(response, "Response body is : " + response.content.decode("utf-8"))
respT1 = json.loads(response.content.decode("utf-8"))
self.assertNotEqual(respT1, respMain)
self.assertSetEqual(set(respMain.keys()), {'nb_phenotypes', 'nb_snps', 'name', 'desc'})
if __name__ == "__main__":
......
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