gramene-search 1.2.90 → 1.2.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- 288251140
2
- 1704985571838555000
1
+ 412097457
2
+ 1706728927930901000
Binary file
Binary file
Binary file
Binary file
Binary file
package/dist/index.js CHANGED
@@ -65,7 +65,7 @@ const $9d9aeaf9299e61a1$var$grameneSuggestions = (0, $gXNCa$reduxbundler.createA
65
65
  group.doclist.docs.forEach((sugg)=>{
66
66
  sugg.num_genes = 0;
67
67
  sugg.taxon_id.forEach((id, idx)=>{
68
- if (g.active[id]) sugg.num_genes += sugg.taxon_freq[idx];
68
+ if (g.active[id] && !g.active[id].hidden) sugg.num_genes += sugg.taxon_freq[idx];
69
69
  });
70
70
  });
71
71
  });
@@ -163,43 +163,62 @@ $9d9aeaf9299e61a1$var$curatedGenes.reactCuratedGenes = (0, $gXNCa$reduxbundler.c
163
163
  actionCreator: "doFetchCuratedGenes"
164
164
  };
165
165
  });
166
- const $9d9aeaf9299e61a1$var$grameneExpressionStudies = (0, $gXNCa$reduxbundler.createAsyncResourceBundle)({
167
- name: "grameneExpressionStudies",
168
- actionBaseType: "GRAMENE_EXPRESSION_STUDIES",
169
- persist: true,
170
- getPromise: ({ store: store })=>{
171
- return fetch(`${store.selectGrameneAPI()}/experiments?rows=-1`).then((res)=>res.json()).then((res)=>(0, ($parcel$interopDefault($gXNCa$lodash))).keyBy(res, "_id"));
172
- }
173
- });
174
- $9d9aeaf9299e61a1$var$grameneExpressionStudies.reactGrameneExpressionStudies = (0, $gXNCa$reduxbundler.createSelector)("selectGrameneExpressionStudiesShouldUpdate", (shouldUpdate)=>{
175
- if (shouldUpdate) return {
176
- actionCreator: "doFetchGrameneExpressionStudies"
177
- };
178
- });
179
- const $9d9aeaf9299e61a1$var$grameneExpressionAssays = (0, $gXNCa$reduxbundler.createAsyncResourceBundle)({
180
- name: "grameneExpressionAssays",
181
- actionBaseType: "GRAMENE_EXPRESSION_ASSAYS",
182
- persist: true,
183
- getPromise: ({ store: store })=>{
184
- return fetch(`${store.selectGrameneAPI()}/assays?rows=-1`).then((res)=>res.json()).then((res)=>{
185
- let expr = {};
186
- res.forEach((assay)=>{
187
- if (!expr.hasOwnProperty(assay.taxon_id)) expr[assay.taxon_id] = {};
188
- if (!expr[assay.taxon_id].hasOwnProperty(assay.experiment)) expr[assay.taxon_id][assay.experiment] = [];
189
- assay.order = +assay.group.replace("g", "");
190
- expr[assay.taxon_id][assay.experiment].push(assay);
191
- });
192
- // sort each experiment
193
- for(const tid in expr)for(const exp in expr[tid])expr[tid][exp].sort((a, b)=>a.order - b.order);
194
- return expr;
195
- });
196
- }
197
- });
198
- $9d9aeaf9299e61a1$var$grameneExpressionAssays.reactGrameneExpressionAssays = (0, $gXNCa$reduxbundler.createSelector)("selectGrameneExpressionAssaysShouldUpdate", (shouldUpdate)=>{
199
- if (shouldUpdate) return {
200
- actionCreator: "doFetchGrameneExpressionAssays"
201
- };
202
- });
166
+ // const grameneExpressionStudies = createAsyncResourceBundle( {
167
+ // name: 'grameneExpressionStudies',
168
+ // actionBaseType: 'GRAMENE_EXPRESSION_STUDIES',
169
+ // persist: true,
170
+ // getPromise: ({store}) => {
171
+ // return fetch(`${store.selectGrameneAPI()}/experiments?rows=-1`)
172
+ // .then(res => res.json())
173
+ // .then(res => _.keyBy(res, '_id'))
174
+ // }
175
+ // });
176
+ // grameneExpressionStudies.reactGrameneExpressionStudies = createSelector(
177
+ // 'selectGrameneExpressionStudiesShouldUpdate',
178
+ // (shouldUpdate) => {
179
+ // if (shouldUpdate) {
180
+ // return { actionCreator: 'doFetchGrameneExpressionStudies' }
181
+ // }
182
+ // }
183
+ // );
184
+ //
185
+ // const grameneExpressionAssays = createAsyncResourceBundle( {
186
+ // name: 'grameneExpressionAssays',
187
+ // actionBaseType: 'GRAMENE_EXPRESSION_ASSAYS',
188
+ // persist: true,
189
+ // getPromise: ({store}) => {
190
+ // return fetch(`${store.selectGrameneAPI()}/assays?rows=-1`)
191
+ // .then(res => res.json())
192
+ // .then(res => {
193
+ // let expr={};
194
+ // res.forEach(assay => {
195
+ // if (!expr.hasOwnProperty(assay.taxon_id)) {
196
+ // expr[assay.taxon_id] = {};
197
+ // }
198
+ // if (!expr[assay.taxon_id].hasOwnProperty(assay.experiment)) {
199
+ // expr[assay.taxon_id][assay.experiment] = [];
200
+ // }
201
+ // assay.order = +assay.group.replace('g','');
202
+ // expr[assay.taxon_id][assay.experiment].push(assay);
203
+ // });
204
+ // // sort each experiment
205
+ // for (const tid in expr) {
206
+ // for (const exp in expr[tid]) {
207
+ // expr[tid][exp].sort((a,b) => a.order - b.order);
208
+ // }
209
+ // }
210
+ // return expr;
211
+ // })
212
+ // }
213
+ // });
214
+ // grameneExpressionAssays.reactGrameneExpressionAssays = createSelector(
215
+ // 'selectGrameneExpressionAssaysShouldUpdate',
216
+ // (shouldUpdate) => {
217
+ // if (shouldUpdate) {
218
+ // return { actionCreator: 'doFetchGrameneExpressionAssays' }
219
+ // }
220
+ // }
221
+ // );
203
222
  const $9d9aeaf9299e61a1$var$attribFacetFields = [
204
223
  "{!facet.limit='10' facet.mincount='1' key='age'}panset_age_attr_s",
205
224
  "{!facet.limit='100' facet.mincount='1' key='taxa'}panset_ntaxa_attr_i",
@@ -350,7 +369,7 @@ const $9d9aeaf9299e61a1$var$grameneSearch = (0, $gXNCa$reduxbundler.createAsyncR
350
369
  const offset = store.selectGrameneSearchOffset();
351
370
  const rows = store.selectGrameneSearchRows();
352
371
  const g = store.selectGrameneGenomes();
353
- const taxa = Object.keys(g.active);
372
+ const taxa = Object.keys(g.active).filter((tid)=>!g.active[tid].hidden);
354
373
  let fq = "";
355
374
  if (taxa.length) {
356
375
  console.log("search add a fq for ", taxa);
@@ -367,8 +386,8 @@ const $9d9aeaf9299e61a1$var$grameneSearch = (0, $gXNCa$reduxbundler.createAsyncR
367
386
  });
368
387
  }
369
388
  });
370
- $9d9aeaf9299e61a1$var$grameneSearch.reactGrameneSearch = (0, $gXNCa$reduxbundler.createSelector)("selectGrameneSearchShouldUpdate", "selectGrameneFiltersStatus", (shouldUpdate, status)=>{
371
- if (shouldUpdate && status === "search") return {
389
+ $9d9aeaf9299e61a1$var$grameneSearch.reactGrameneSearch = (0, $gXNCa$reduxbundler.createSelector)("selectGrameneSearchShouldUpdate", "selectGrameneFiltersStatus", "selectGrameneGenomes", "selectGrameneMaps", (shouldUpdate, status, genomes, maps)=>{
390
+ if (shouldUpdate && status === "search" && genomes && maps) return {
372
391
  actionCreator: "doFetchGrameneSearch"
373
392
  };
374
393
  });
@@ -1172,6 +1191,11 @@ const $24971af0a229e0e3$var$grameneViews = {
1172
1191
  id: "attribs",
1173
1192
  name: "Gene attributes",
1174
1193
  show: "off"
1194
+ },
1195
+ {
1196
+ id: "expression",
1197
+ name: "Gene expression",
1198
+ show: "off"
1175
1199
  }
1176
1200
  ]
1177
1201
  };
@@ -1254,15 +1278,15 @@ const $671312b287158a8a$var$grameneDocs = {
1254
1278
  newState.studies = Object.assign({}, state.studies, payload);
1255
1279
  return newState;
1256
1280
  case "ATLAS_SAMPLES_REQUESTED":
1257
- if (!state.studies[payload].hasOwnProperty("samples")) {
1281
+ if (!state.studies.byID[payload].hasOwnProperty("samples")) {
1258
1282
  newState = Object.assign({}, state);
1259
- newState.studies[payload].samples = [];
1283
+ newState.studies.byID[payload].samples = [];
1260
1284
  return newState;
1261
1285
  }
1262
1286
  break;
1263
1287
  case "ATLAS_SAMPLES_RECEIVED":
1264
1288
  newState = Object.assign({}, state);
1265
- newState.studies[payload.id].samples = payload.samples;
1289
+ newState.studies.byID[payload.id].samples = payload.samples;
1266
1290
  return newState;
1267
1291
  case "GENE_SEQUENCE_REQUESTED":
1268
1292
  if (!state.sequences.hasOwnProperty(payload)) {
@@ -1386,11 +1410,14 @@ const $671312b287158a8a$var$grameneDocs = {
1386
1410
  },
1387
1411
  doRequestExpressionStudies: (id)=>({ dispatch: dispatch , store: store })=>{
1388
1412
  fetch(`${store.selectGrameneAPI()}/experiments?rows=-1`).then((res)=>res.json()).then((res)=>{
1389
- let studies = {};
1413
+ let studies = {
1414
+ byID: {},
1415
+ byTaxon: {}
1416
+ };
1390
1417
  res.forEach((s)=>{
1391
- studies[s._id] = s;
1392
- if (!studies.hasOwnProperty("taxon_id")) studies[s.taxon_id] = [];
1393
- studies[s.taxon_id].push(s._id);
1418
+ studies.byID[s._id] = s;
1419
+ if (!studies.byTaxon.hasOwnProperty(s.taxon_id)) studies.byTaxon[s.taxon_id] = [];
1420
+ studies.byTaxon[s.taxon_id].push(s._id);
1394
1421
  });
1395
1422
  dispatch({
1396
1423
  type: "ATLAS_STUDIES_RECEIVED",
@@ -1400,7 +1427,7 @@ const $671312b287158a8a$var$grameneDocs = {
1400
1427
  },
1401
1428
  doRequestStudyMetadata: (id)=>({ dispatch: dispatch , store: store })=>{
1402
1429
  const studies = store.selectAtlasStudies();
1403
- if (!studies[id].hasOwnProperty("samples")) {
1430
+ if (!studies.byID[id].hasOwnProperty("samples")) {
1404
1431
  dispatch({
1405
1432
  type: "ATLAS_SAMPLES_REQUESTED",
1406
1433
  payload: id
@@ -1559,6 +1586,9 @@ const $0d54502f6cafe273$var$grameneGenomes = {
1559
1586
  newState = Object.assign({}, state);
1560
1587
  newState.active = payload;
1561
1588
  return newState;
1589
+ case "GRAMENE_MAPS_FETCH_FINISHED":
1590
+ newState = Object.assign({}, state);
1591
+ newState.active = payload;
1562
1592
  default:
1563
1593
  return state;
1564
1594
  }
@@ -1569,6 +1599,20 @@ const $0d54502f6cafe273$var$grameneGenomes = {
1569
1599
  type: "GRAMENE_GENOMES_TOGGLED"
1570
1600
  });
1571
1601
  },
1602
+ doInitializeGrameneGenomes: (genomes)=>({ dispatch: dispatch , getState: getState })=>{
1603
+ dispatch({
1604
+ type: "BATCH_ACTIONS",
1605
+ actions: [
1606
+ {
1607
+ type: "GRAMENE_SEARCH_CLEARED"
1608
+ },
1609
+ {
1610
+ type: "GRAMENE_GENOMES_UPDATED",
1611
+ payload: genomes
1612
+ }
1613
+ ]
1614
+ });
1615
+ },
1572
1616
  doUpdateGrameneGenomes: (genomes)=>({ dispatch: dispatch , getState: getState })=>{
1573
1617
  dispatch({
1574
1618
  type: "BATCH_ACTIONS",
@@ -4551,20 +4595,26 @@ class $76e15aea9236bd47$var$TaxonomyModal extends (0, ($parcel$interopDefault($g
4551
4595
  genomes: Object.values(props.grameneMaps).sort((a, b)=>a.left_index - b.left_index)
4552
4596
  };
4553
4597
  if (Object.keys(props.grameneGenomes.active).length === 0) this.state.genomes.forEach((g)=>{
4554
- g.selected = true;
4598
+ g.selected = !g.hidden;
4555
4599
  });
4556
4600
  else this.state.genomes.forEach((g)=>{
4557
- g.selected = props.grameneGenomes.active[g.taxon_id];
4601
+ g.selected = !g.hidden && props.grameneGenomes.active[g.taxon_id];
4558
4602
  });
4559
4603
  }
4560
4604
  getSelectedGenomes() {
4561
4605
  let selected = {};
4562
- let notAll = false;
4606
+ let notHidden = {};
4607
+ let somethingWasSelected = false;
4563
4608
  this.state.genomes.forEach((g)=>{
4564
- if (g.selected) selected[g.taxon_id] = true;
4565
- else notAll = true;
4609
+ if (!g.hidden) {
4610
+ notHidden[g.taxon_id] = true;
4611
+ if (g.selected) {
4612
+ selected[g.taxon_id] = true;
4613
+ somethingWasSelected = true;
4614
+ }
4615
+ }
4566
4616
  });
4567
- return notAll ? selected : {};
4617
+ return somethingWasSelected ? selected : notHidden;
4568
4618
  }
4569
4619
  handleChange(e) {
4570
4620
  const idx = +e.target.value;
@@ -4597,6 +4647,7 @@ class $76e15aea9236bd47$var$TaxonomyModal extends (0, ($parcel$interopDefault($g
4597
4647
  return /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsxs)("div", {
4598
4648
  children: [
4599
4649
  this.state.genomes.map((m, idx)=>{
4650
+ if (m.hidden) return /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)((0, $gXNCa$reactjsxruntime.Fragment), {});
4600
4651
  return /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsxs)("div", {
4601
4652
  children: [
4602
4653
  /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)("input", {
@@ -4654,11 +4705,94 @@ var $76e15aea9236bd47$export$2e2bcd8739ae039 = (0, $gXNCa$reduxbundlerreact.conn
4654
4705
 
4655
4706
 
4656
4707
 
4708
+
4709
+ const $261baeb81c4d4d8a$var$StudyCmp = (props)=>{
4710
+ const study = props.atlasStudies.byID[props.sid];
4711
+ if (!study.samples) {
4712
+ props.doRequestStudyMetadata(props.sid);
4713
+ return /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)("p", {
4714
+ children: "loading"
4715
+ });
4716
+ } else return /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)("div", {
4717
+ children: "got eem!"
4718
+ });
4719
+ };
4720
+ const $261baeb81c4d4d8a$var$Study = (0, $gXNCa$reduxbundlerreact.connect)("selectGrameneSearch", "selectAtlasStudies", "doRequestStudyMetadata", $261baeb81c4d4d8a$var$StudyCmp);
4721
+ const $261baeb81c4d4d8a$var$Expression = (props)=>{
4722
+ const [taxon, setTaxon] = (0, $gXNCa$react.useState)(0);
4723
+ const [study, setStudy] = (0, $gXNCa$react.useState)(0);
4724
+ let searchTaxa = {};
4725
+ let availableTaxa = [];
4726
+ if (props.grameneSearch) {
4727
+ const taxon_id_facet = props.grameneSearch.facet_counts.facet_fields.taxon_id;
4728
+ taxon_id_facet.filter((tid, idx)=>idx % 2 === 0).forEach((tid)=>searchTaxa[tid] = true);
4729
+ }
4730
+ if (!props.atlasStudies.byTaxon) props.doRequestExpressionStudies();
4731
+ else availableTaxa = Object.keys(props.atlasStudies.byTaxon).filter((tid)=>searchTaxa[tid] || searchTaxa[tid + "001"]);
4732
+ return availableTaxa && props.grameneTaxonomy && /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsxs)("div", {
4733
+ children: [
4734
+ /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)("label", {
4735
+ htmlFor: "taxonomySelect",
4736
+ children: "Select Genome:"
4737
+ }),
4738
+ /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsxs)("select", {
4739
+ id: "taxonomySelect",
4740
+ value: taxon,
4741
+ onChange: (e)=>{
4742
+ setTaxon(e.target.value);
4743
+ setStudy(0);
4744
+ },
4745
+ children: [
4746
+ /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)("option", {
4747
+ value: "",
4748
+ children: "Select..."
4749
+ }),
4750
+ availableTaxa.map((tid, idx)=>/*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)("option", {
4751
+ value: tid,
4752
+ children: props.grameneTaxonomy[tid].name
4753
+ }, idx))
4754
+ ]
4755
+ }),
4756
+ taxon > 0 && /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsxs)("div", {
4757
+ children: [
4758
+ /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)("label", {
4759
+ htmlFor: "studySelect",
4760
+ children: "Select Study:"
4761
+ }),
4762
+ /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsxs)("select", {
4763
+ id: "studySelect",
4764
+ value: study,
4765
+ onChange: (e)=>setStudy(e.target.value),
4766
+ children: [
4767
+ /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)("option", {
4768
+ value: "",
4769
+ children: "Select..."
4770
+ }),
4771
+ props.atlasStudies.byTaxon[taxon].map((sid, idx)=>/*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)("option", {
4772
+ value: sid,
4773
+ children: props.atlasStudies.byID[sid].description
4774
+ }, idx))
4775
+ ]
4776
+ })
4777
+ ]
4778
+ }),
4779
+ study !== 0 && /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)($261baeb81c4d4d8a$var$Study, {
4780
+ sid: study
4781
+ })
4782
+ ]
4783
+ });
4784
+ };
4785
+ var $261baeb81c4d4d8a$export$2e2bcd8739ae039 = (0, $gXNCa$reduxbundlerreact.connect)("selectConfiguration", "selectGrameneSearch", "selectGrameneTaxonomy", "selectAtlasStudies", "doRequestExpressionStudies", "doRequestStudyMetadata", $261baeb81c4d4d8a$var$Expression);
4786
+
4787
+
4788
+
4789
+
4657
4790
  const $693dd8c7a5607c3a$var$inventory = {
4658
4791
  help: (0, $b36244140732570a$export$2e2bcd8739ae039),
4659
4792
  list: (0, $6c5c4f90059875bf$export$2e2bcd8739ae039),
4660
4793
  taxonomy: (0, $a67cad486021eb32$export$2e2bcd8739ae039),
4661
- attribs: (0, $67bf5a43401bffdc$export$2e2bcd8739ae039)
4794
+ attribs: (0, $67bf5a43401bffdc$export$2e2bcd8739ae039),
4795
+ expression: (0, $261baeb81c4d4d8a$export$2e2bcd8739ae039)
4662
4796
  };
4663
4797
  const $693dd8c7a5607c3a$var$StatusCmp = (props)=>{
4664
4798
  let content = props.grameneFiltersStatus;