gramene-search 2.20.0 → 2.20.2

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.
package/dist/index.js CHANGED
@@ -2643,10 +2643,25 @@ function $0f839422d0d8c772$var$buildExperimentTitleIndex(expressionStudies) {
2643
2643
  }
2644
2644
  return index;
2645
2645
  }
2646
+ // Label for each species group, used by the expression and differential-expression
2647
+ // field pickers.
2648
+ //
2649
+ // A group can hold many genomes — sorghum_v11 has 120 under 4558 — so which one
2650
+ // supplies the label matters. This took the first it encountered, and since
2651
+ // grameneMaps is keyed by taxon_id, Object.values walks integer-like keys in
2652
+ // ascending numeric order: 4558001 (Sb verticilliflorum 353, a wild relative) beat
2653
+ // the anchor 4558006 (Sb bicolor BTx623 v3). Searching msd2 then returned a BTx623
2654
+ // gene while the picker was labelled with a different genome entirely. Every other
2655
+ // group here holds exactly one genome, which is why only sorghum showed it.
2656
+ //
2657
+ // Prefer the group's anchor, falling back to first-seen for releases that carry no
2658
+ // anchor flags at all (gramene main today).
2646
2659
  function $0f839422d0d8c772$var$buildSpeciesNameIndex(grameneMaps) {
2647
2660
  const idx = {};
2648
2661
  if (!grameneMaps) return idx;
2649
- for (const m of Object.values(grameneMaps))if (m && m.anchor_taxon_id && !idx[m.anchor_taxon_id]) idx[m.anchor_taxon_id] = m.display_name || String(m.anchor_taxon_id);
2662
+ const genomes = Object.values(grameneMaps);
2663
+ for (const m of genomes)if (m && m.anchor_taxon_id && m.is_anchor) idx[m.anchor_taxon_id] = m.display_name || String(m.anchor_taxon_id);
2664
+ for (const m of genomes)if (m && m.anchor_taxon_id && !idx[m.anchor_taxon_id]) idx[m.anchor_taxon_id] = m.display_name || String(m.anchor_taxon_id);
2650
2665
  return idx;
2651
2666
  }
2652
2667
  function $0f839422d0d8c772$var$fieldExperimentId(name) {
@@ -4911,7 +4926,6 @@ const $4b8473139e48e77e$export$c6dbe9be8c8b382e = {
4911
4926
  fg: '#c0392b'
4912
4927
  }
4913
4928
  };
4914
- const $4b8473139e48e77e$export$39a35029fe99c21 = '#d35400'; // specific-to dot / enhanced-in outline
4915
4929
  function $4b8473139e48e77e$export$8ca7625ba2054603(tokens) {
4916
4930
  const out = {};
4917
4931
  (tokens || []).forEach((t)=>{
@@ -8195,7 +8209,7 @@ const $5c2c79352d3d7b81$export$b2e089eb3692b073 = (props)=>/*#__PURE__*/ (0, $gX
8195
8209
  // Host-defined tbrowse zone for the Homology gene tree, redesigned to compare
8196
8210
  // expression across a gene family. Three parts, aligned to the tree leaves:
8197
8211
  // 1. a gene × organ heatmap of ordinal expression levels (expr_organ_level),
8198
- // with markers on each gene's tissue-specific / -enhanced organs;
8212
+ // tissue-specific / -enhanced organs are noted in cell tooltips;
8199
8213
  // 2. a Max TPM column (expr_max_tpm), log-scaled magnitude;
8200
8214
  // 3. a Stress column of ↑activated / ↓repressed condition chips
8201
8215
  // (expr_activated_by / expr_repressed_by).
@@ -8387,29 +8401,17 @@ const $cd8bc494277e92a4$var$OrganCell = ({ organ: organ, gene: gene })=>{
8387
8401
  const enhanced = !!(gene && gene.enhancedIn.has(organ));
8388
8402
  const title = level ? `${(0, $4b8473139e48e77e$export$50c1f966fd3af83e)(organ)}: ${(0, $4b8473139e48e77e$export$433053e2c141d410)[level] || level}${specific ? " \xb7 specific" : enhanced ? " \xb7 enhanced" : ''}` : `${(0, $4b8473139e48e77e$export$50c1f966fd3af83e)(organ)}: not assayed`;
8389
8403
  const style = {
8390
- position: 'relative',
8391
8404
  width: $cd8bc494277e92a4$var$ORGAN_CELL_W,
8392
8405
  height: '100%',
8393
8406
  boxSizing: 'border-box',
8394
8407
  background: level ? (0, $4b8473139e48e77e$export$b352e11f7a2ac9c5)[level] || 'transparent' : 'transparent',
8395
8408
  borderRight: $cd8bc494277e92a4$var$gridBorder
8396
8409
  };
8397
- // enhanced-in: thin outline; specific-to (stronger): corner dot.
8398
- if (enhanced && !specific) style.boxShadow = `inset 0 0 0 1px ${0, $4b8473139e48e77e$export$39a35029fe99c21}`;
8410
+ // Tissue-specific / -enhanced organs are reported in the cell's tooltip rather
8411
+ // than with a marker, so the grid reads purely as expression level.
8399
8412
  return /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)("div", {
8400
8413
  title: title,
8401
- style: style,
8402
- children: specific && /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)("span", {
8403
- style: {
8404
- position: 'absolute',
8405
- top: 1,
8406
- right: 1,
8407
- width: 4,
8408
- height: 4,
8409
- borderRadius: '50%',
8410
- background: (0, $4b8473139e48e77e$export$39a35029fe99c21)
8411
- }
8412
- })
8414
+ style: style
8413
8415
  });
8414
8416
  };
8415
8417
  const $cd8bc494277e92a4$var$StressCell = ({ gene: gene, width: width })=>{
@@ -18076,14 +18078,11 @@ const $8f8e530286a37ce9$var$AttrTableViewCmp = (props)=>{
18076
18078
  return `${(0, $4b8473139e48e77e$export$50c1f966fd3af83e)(o)}: ${(0, $4b8473139e48e77e$export$433053e2c141d410)[lvl] || lvl}${sp}`;
18077
18079
  },
18078
18080
  comparator: (a, b)=>((0, $4b8473139e48e77e$export$a61929d6d484c6d4)[a] ?? -1) - ((0, $4b8473139e48e77e$export$a61929d6d484c6d4)[b] ?? -1),
18079
- cellStyle: (p)=>{
18080
- const style = {
18081
+ // Specific / enhanced are reported in the tooltip above rather than
18082
+ // with an outline, so the grid reads purely as expression level.
18083
+ cellStyle: (p)=>({
18081
18084
  background: p.value ? (0, $4b8473139e48e77e$export$b352e11f7a2ac9c5)[p.value] || 'transparent' : 'transparent'
18082
- };
18083
- if (p.data && p.data._specific.has(o)) style.boxShadow = `inset 0 0 0 2px ${0, $4b8473139e48e77e$export$39a35029fe99c21}`;
18084
- else if (p.data && p.data._enhanced.has(o)) style.boxShadow = `inset 0 0 0 1px ${0, $4b8473139e48e77e$export$39a35029fe99c21}`;
18085
- return style;
18086
- }
18085
+ })
18087
18086
  });
18088
18087
  });
18089
18088
  return;