gramene-search 1.4.1 → 1.4.3
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/.parcel-cache/4987902b3f9787cc-BundleGraph-0 +0 -0
- package/.parcel-cache/70f1f7555dda250d-AssetGraph-0 +0 -0
- package/.parcel-cache/7b8e4611c0f03524-AssetGraph-0 +0 -0
- package/.parcel-cache/data.mdb +0 -0
- package/.parcel-cache/lock.mdb +0 -0
- package/.parcel-cache/requestGraph-369948a06d23ec44-0 +0 -0
- package/.parcel-cache/requestGraph-nodes-0-369948a06d23ec44-0 +0 -0
- package/.parcel-cache/snapshot-369948a06d23ec44.txt +2 -2
- package/dist/BAR-logo.15c36467.png +0 -0
- package/dist/{Study.b2ce28e8.js → Study.5ff9518c.js} +9 -4
- package/dist/Study.5ff9518c.js.map +1 -0
- package/dist/android-chrome-192x192.4d149c27.png +0 -0
- package/dist/apple-touch-icon-114x114.27e956ae.png +0 -0
- package/dist/apple-touch-icon-120x120.b209ed9f.png +0 -0
- package/dist/apple-touch-icon-144x144.9f8e2136.png +0 -0
- package/dist/apple-touch-icon-152x152.b6107a9b.png +0 -0
- package/dist/apple-touch-icon-180x180.58fbcc65.png +0 -0
- package/dist/apple-touch-icon-57x57.f670c755.png +0 -0
- package/dist/apple-touch-icon-60x60.3fbc15ae.png +0 -0
- package/dist/apple-touch-icon-72x72.a0fd991d.png +0 -0
- package/dist/apple-touch-icon-76x76.437b43b5.png +0 -0
- package/dist/expression-atlas-logo.2d957e5a.png +0 -0
- package/dist/favicon-16x16.4dd6b101.png +0 -0
- package/dist/favicon-32x32.a0d53b79.png +0 -0
- package/dist/favicon-96x96.6cd9b68e.png +0 -0
- package/dist/genetree.d75946eb.png +0 -0
- package/dist/index.js +121 -45
- package/dist/index.js.map +1 -1
- package/dist/results.a8da7555.png +0 -0
- package/dist/sorghum.html +39 -0
- package/dist/suggestions.099b7c0e.png +0 -0
- package/package.json +1 -1
- package/src/bundles/docs.js +15 -1
- package/src/bundles/views.js +3 -2
- package/src/components/results/Expression.js +18 -10
- package/src/components/results/Study.js +10 -3
- package/src/components/results/details/Expression.js +66 -8
- package/src/components/results/details/VEP.js +1 -1
- package/src/demo.js +1 -0
- package/src/static/atlasWidget.html +12 -4
- package/dist/Study.b2ce28e8.js.map +0 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/.parcel-cache/data.mdb
CHANGED
|
Binary file
|
package/.parcel-cache/lock.mdb
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
102761389
|
|
2
|
+
1713371873174671000
|
|
Binary file
|
|
@@ -36,12 +36,17 @@ const $5833a2eeefc77457$var$metaRenderer = (params)=>{
|
|
|
36
36
|
});
|
|
37
37
|
return params.value.label;
|
|
38
38
|
};
|
|
39
|
+
const $5833a2eeefc77457$var$sampleRenderer = (params)=>{
|
|
40
|
+
const sampleMeta = params.value;
|
|
41
|
+
return JSON.stringify(sampleMeta, null, 2);
|
|
42
|
+
};
|
|
39
43
|
const $5833a2eeefc77457$var$Study = (props)=>{
|
|
40
44
|
let samples = props.expressionSamples[props.id];
|
|
41
45
|
let sampleMetadata = [];
|
|
42
46
|
let metadataFields = [
|
|
43
47
|
{
|
|
44
|
-
field: "sampleId"
|
|
48
|
+
field: "sampleId",
|
|
49
|
+
cellRenderer: $5833a2eeefc77457$var$sampleRenderer
|
|
45
50
|
}
|
|
46
51
|
];
|
|
47
52
|
let isFactor = {};
|
|
@@ -72,7 +77,7 @@ const $5833a2eeefc77457$var$Study = (props)=>{
|
|
|
72
77
|
metadataFields.push(characteristics);
|
|
73
78
|
}
|
|
74
79
|
let s_info = {
|
|
75
|
-
sampleId: sample
|
|
80
|
+
sampleId: sample
|
|
76
81
|
};
|
|
77
82
|
sample.factor.forEach((factor)=>{
|
|
78
83
|
s_info[factor.type] = {
|
|
@@ -124,9 +129,9 @@ const $5833a2eeefc77457$var$Study = (props)=>{
|
|
|
124
129
|
]
|
|
125
130
|
});
|
|
126
131
|
};
|
|
127
|
-
var $5833a2eeefc77457$export$2e2bcd8739ae039 = (0, $eTR7Q$reduxbundlerreact.connect)("selectExpressionSamples", $5833a2eeefc77457$var$Study);
|
|
132
|
+
var $5833a2eeefc77457$export$2e2bcd8739ae039 = (0, $eTR7Q$reduxbundlerreact.connect)("selectExpressionSamples", "doToggleExpressionSample", $5833a2eeefc77457$var$Study);
|
|
128
133
|
|
|
129
134
|
});
|
|
130
135
|
|
|
131
136
|
|
|
132
|
-
//# sourceMappingURL=Study.
|
|
137
|
+
//# sourceMappingURL=Study.5ff9518c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["src/components/results/Study.js"],"sourcesContent":["import React, { useState, useMemo } from 'react'\nimport {connect} from \"redux-bundler-react\";\nimport { AgGridReact } from \"ag-grid-react\";\nimport \"ag-grid-community/styles/ag-grid.css\";\nimport \"ag-grid-community/styles/ag-theme-quartz.css\";\n\nconst metaRenderer = params => {\n if (params.value.ontology) {\n return <a href={`http://purl.obolibrary.org/obo/${params.value.id.replace(\":\",\"_\")}`} target='_blank'>{params.value.label}</a>\n }\n return params.value.label\n}\nconst sampleRenderer = params => {\n const sampleMeta = params.value;\n return JSON.stringify(sampleMeta,null,2);\n}\nconst Study = props => {\n let samples = props.expressionSamples[props.id];\n let sampleMetadata = [];\n let metadataFields = [{ field: \"sampleId\", cellRenderer: sampleRenderer }];\n let isFactor={};\n samples.forEach((sample, idx) => {\n if (idx === 0) {\n let factors = {\n headerName: 'Experimental Variables',\n children: []\n }\n sample.factor.forEach(factor => {\n factors.children.push({field: factor.type, cellRenderer: metaRenderer})\n isFactor[factor.type] = true;\n });\n metadataFields.push(factors);\n let characteristics = {\n headerName: 'Sample Characteristics',\n children: []\n }\n sample.characteristic.forEach(ch => {\n if (!isFactor[ch.type]) {\n characteristics.children.push({field: ch.type, cellRenderer: metaRenderer})\n }\n });\n metadataFields.push(characteristics)\n }\n let s_info = {sampleId: sample}\n sample.factor.forEach(factor => {\n s_info[factor.type] = {label: factor.label};\n if (factor.ontology) {\n s_info[factor.type]['ontology'] = factor.ontology\n s_info[factor.type]['id'] = factor.id;\n }\n })\n sample.characteristic.forEach(ch => {\n s_info[ch.type] = {label: ch.label};\n if (ch.ontology) {\n s_info[ch.type]['ontology'] = ch.ontology\n s_info[ch.type]['id'] = ch.id;\n }\n })\n sampleMetadata.push(s_info)\n })\n const [rowData, setRowData] = useState(sampleMetadata);\n const [colDefs, setColDefs] = useState(metadataFields);\n const defaultColDef = useMemo(() => {\n return {\n filter: true\n }\n }, []);\n return (\n <div>\n <div className=\"ag-theme-quartz\" style={{height: `${44 * (samples.length + 2)}px`}}>\n <AgGridReact rowData={rowData} columnDefs={colDefs} defaultColDef={defaultColDef}/>\n </div>\n <a href={`https://www.ebi.ac.uk/gxa/experiments/${props.id}`}>EBI Atlas Experiment: {props.id}</a>\n </div>\n );\n};\nexport default connect(\n 'selectExpressionSamples',\n 'doToggleExpressionSample',\n Study);\n"],"names":[],"version":3,"file":"Study.5ff9518c.js.map"}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/index.js
CHANGED
|
@@ -72,7 +72,7 @@ if (parcelRequire == null) {
|
|
|
72
72
|
|
|
73
73
|
var parcelRegister = parcelRequire.register;
|
|
74
74
|
parcelRegister("7u0Mi", function(module, exports) {
|
|
75
|
-
module.exports = Promise.resolve(require("./Study.
|
|
75
|
+
module.exports = Promise.resolve(require("./Study.5ff9518c.js")).then(()=>parcelRequire("7zuJ6"));
|
|
76
76
|
|
|
77
77
|
});
|
|
78
78
|
|
|
@@ -1282,7 +1282,8 @@ const $24971af0a229e0e3$var$grameneViews = {
|
|
|
1282
1282
|
id: "expression",
|
|
1283
1283
|
name: "Gene expression",
|
|
1284
1284
|
show: "off",
|
|
1285
|
-
shouldScroll: false
|
|
1285
|
+
shouldScroll: false,
|
|
1286
|
+
desiredSamples: {}
|
|
1286
1287
|
},
|
|
1287
1288
|
{
|
|
1288
1289
|
id: "attribs",
|
|
@@ -1360,6 +1361,7 @@ const $671312b287158a8a$var$grameneDocs = {
|
|
|
1360
1361
|
rnaSequences: {},
|
|
1361
1362
|
pepSequences: {},
|
|
1362
1363
|
studies: {},
|
|
1364
|
+
desiredSamples: {},
|
|
1363
1365
|
consequences: {}
|
|
1364
1366
|
};
|
|
1365
1367
|
return (state = initialState, { type: type, payload: payload })=>{
|
|
@@ -1465,10 +1467,23 @@ const $671312b287158a8a$var$grameneDocs = {
|
|
|
1465
1467
|
newState.expression = Object.assign({}, state.expression);
|
|
1466
1468
|
newState.expression[payload.id] = payload.paralogs;
|
|
1467
1469
|
return newState;
|
|
1470
|
+
case "EXPRESSION_SAMPLE_TOGGLED":
|
|
1471
|
+
newState = Object.assign({}, state);
|
|
1472
|
+
newState.desiredSamples = Object.assign({}, state.desiredSamples);
|
|
1473
|
+
if (newState.desiredSamples.hasOwnProperty(payload)) delete newState.desiredSamples[payload];
|
|
1474
|
+
else newState.desiredSamples[payload] = {
|
|
1475
|
+
status: "need"
|
|
1476
|
+
};
|
|
1468
1477
|
}
|
|
1469
1478
|
return state;
|
|
1470
1479
|
};
|
|
1471
1480
|
},
|
|
1481
|
+
doToggleExpressionSample: (id)=>({ dispatch: dispatch })=>{
|
|
1482
|
+
dispatch({
|
|
1483
|
+
type: "EXPRESSION_SAMPLE_TOGGLED",
|
|
1484
|
+
payload: id
|
|
1485
|
+
});
|
|
1486
|
+
},
|
|
1472
1487
|
doRequestVEP: (id)=>({ dispatch: dispatch, store: store })=>{
|
|
1473
1488
|
const consequences = store.selectGrameneConsequences();
|
|
1474
1489
|
if (!consequences.hasOwnProperty(id)) {
|
|
@@ -1711,7 +1726,8 @@ const $671312b287158a8a$var$grameneDocs = {
|
|
|
1711
1726
|
selectGeneSequences: (state)=>state.grameneDocs.sequences,
|
|
1712
1727
|
selectRnaSequences: (state)=>state.grameneDocs.rnaSequences,
|
|
1713
1728
|
selectPepSequences: (state)=>state.grameneDocs.pepSequences,
|
|
1714
|
-
selectAtlasStudies: (state)=>state.grameneDocs.studies
|
|
1729
|
+
selectAtlasStudies: (state)=>state.grameneDocs.studies,
|
|
1730
|
+
selectDesiredSamples: (state)=>state.grameneDocs.desiredSamples
|
|
1715
1731
|
};
|
|
1716
1732
|
var $671312b287158a8a$export$2e2bcd8739ae039 = $671312b287158a8a$var$grameneDocs;
|
|
1717
1733
|
|
|
@@ -2165,6 +2181,56 @@ var $541b8b0d8c5501d2$export$2e2bcd8739ae039 = (0, $gXNCa$reduxbundlerreact.conn
|
|
|
2165
2181
|
|
|
2166
2182
|
|
|
2167
2183
|
|
|
2184
|
+
function $9e29a4f60318db7a$var$DynamicIframe(props) {
|
|
2185
|
+
// Create a ref for the iframe element
|
|
2186
|
+
const iframeRef = (0, $gXNCa$react.useRef)(null);
|
|
2187
|
+
// Function to resize iframe height
|
|
2188
|
+
const resizeIframe = ()=>{
|
|
2189
|
+
if (iframeRef.current) {
|
|
2190
|
+
const iframe = iframeRef.current;
|
|
2191
|
+
const innerDoc = iframe.contentDocument || iframe.contentWindow.document;
|
|
2192
|
+
iframe.style.height = 44 + innerDoc.body.scrollHeight + "px";
|
|
2193
|
+
}
|
|
2194
|
+
};
|
|
2195
|
+
// Resize iframe when content loads
|
|
2196
|
+
(0, $gXNCa$react.useEffect)(()=>{
|
|
2197
|
+
resizeIframe();
|
|
2198
|
+
}, []); // Empty dependency array ensures it only runs once after initial render
|
|
2199
|
+
// Optional: Resize iframe when window is resized
|
|
2200
|
+
(0, $gXNCa$react.useEffect)(()=>{
|
|
2201
|
+
window.addEventListener("resize", resizeIframe);
|
|
2202
|
+
return ()=>{
|
|
2203
|
+
window.removeEventListener("resize", resizeIframe);
|
|
2204
|
+
};
|
|
2205
|
+
}, []); // Empty dependency array ensures it only runs once after initial render
|
|
2206
|
+
// Resize iframe when content changes
|
|
2207
|
+
(0, $gXNCa$react.useEffect)(()=>{
|
|
2208
|
+
const iframe = iframeRef.current;
|
|
2209
|
+
if (!iframe) return;
|
|
2210
|
+
const observer = new MutationObserver(resizeIframe);
|
|
2211
|
+
const checkElement = ()=>{
|
|
2212
|
+
const innerDoc = iframe.contentDocument || iframe.contentWindow.document;
|
|
2213
|
+
const targetElement = innerDoc.querySelector("#heatmapContainer");
|
|
2214
|
+
if (targetElement) observer.observe(targetElement, {
|
|
2215
|
+
attributes: true,
|
|
2216
|
+
childList: true,
|
|
2217
|
+
subtree: true
|
|
2218
|
+
});
|
|
2219
|
+
else setTimeout(checkElement, 200); // Check again after 100 milliseconds
|
|
2220
|
+
};
|
|
2221
|
+
checkElement();
|
|
2222
|
+
return ()=>observer.disconnect();
|
|
2223
|
+
}, []);
|
|
2224
|
+
return /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)("iframe", {
|
|
2225
|
+
ref: iframeRef,
|
|
2226
|
+
src: props.url,
|
|
2227
|
+
title: "Dynamic Iframe",
|
|
2228
|
+
style: {
|
|
2229
|
+
width: "100%",
|
|
2230
|
+
border: "none"
|
|
2231
|
+
}
|
|
2232
|
+
});
|
|
2233
|
+
}
|
|
2168
2234
|
const $9e29a4f60318db7a$var$Detail = (props)=>{
|
|
2169
2235
|
const gene = props.geneDocs[props.searchResult.id];
|
|
2170
2236
|
let paralogs_url;
|
|
@@ -2175,34 +2241,28 @@ const $9e29a4f60318db7a$var$Detail = (props)=>{
|
|
|
2175
2241
|
} else props.doRequestParalogExpression(gene._id);
|
|
2176
2242
|
return /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsxs)((0, $gXNCa$reactbootstrap.Tabs), {
|
|
2177
2243
|
children: [
|
|
2178
|
-
|
|
2179
|
-
tabClassName: "
|
|
2180
|
-
eventKey: "
|
|
2181
|
-
title: "
|
|
2182
|
-
children: /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)(
|
|
2183
|
-
|
|
2244
|
+
paralogs_url && /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)((0, $gXNCa$reactbootstrap.Tab), {
|
|
2245
|
+
tabClassName: "gxa",
|
|
2246
|
+
eventKey: "paralogs",
|
|
2247
|
+
title: "Reference Study (all paralogs)",
|
|
2248
|
+
children: /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)($9e29a4f60318db7a$var$DynamicIframe, {
|
|
2249
|
+
url: paralogs_url
|
|
2184
2250
|
})
|
|
2185
2251
|
}),
|
|
2186
2252
|
/*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)((0, $gXNCa$reactbootstrap.Tab), {
|
|
2187
2253
|
tabClassName: "gxa",
|
|
2188
2254
|
eventKey: "gene",
|
|
2189
2255
|
title: "All Studies",
|
|
2190
|
-
children: /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)(
|
|
2191
|
-
|
|
2192
|
-
frameBorder: "0",
|
|
2193
|
-
width: "100%",
|
|
2194
|
-
height: "500px"
|
|
2256
|
+
children: /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)($9e29a4f60318db7a$var$DynamicIframe, {
|
|
2257
|
+
url: gene_url
|
|
2195
2258
|
})
|
|
2196
2259
|
}),
|
|
2197
|
-
|
|
2198
|
-
tabClassName: "
|
|
2199
|
-
eventKey: "
|
|
2200
|
-
title: "
|
|
2201
|
-
children: /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)(
|
|
2202
|
-
|
|
2203
|
-
frameBorder: "0",
|
|
2204
|
-
width: "100%",
|
|
2205
|
-
height: "500px"
|
|
2260
|
+
(0, $gXNCa$grameneefpbrowser.haveBAR)(gene) && /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)((0, $gXNCa$reactbootstrap.Tab), {
|
|
2261
|
+
tabClassName: "eFP",
|
|
2262
|
+
eventKey: "eFP",
|
|
2263
|
+
title: "eFP Browser",
|
|
2264
|
+
children: /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)((0, ($parcel$interopDefault($gXNCa$grameneefpbrowser))), {
|
|
2265
|
+
gene: gene
|
|
2206
2266
|
})
|
|
2207
2267
|
})
|
|
2208
2268
|
]
|
|
@@ -3385,7 +3445,7 @@ const $283508ffcf8a47c4$var$Detail = (props)=>{
|
|
|
3385
3445
|
href: `${props.configuration.ensemblURL}/${gene.system_name}/Gene/Variation_Gene/Image?db=core;g=${props.searchResult.id}`,
|
|
3386
3446
|
children: "Variant image"
|
|
3387
3447
|
}),
|
|
3388
|
-
" page
|
|
3448
|
+
" page in the Ensembl genome browser."
|
|
3389
3449
|
]
|
|
3390
3450
|
}),
|
|
3391
3451
|
/*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)("div", {
|
|
@@ -5099,34 +5159,50 @@ const $261baeb81c4d4d8a$var$Expression = (props)=>{
|
|
|
5099
5159
|
taxon_id_facet.filter((tid, idx)=>idx % 2 === 0).forEach((tid)=>searchTaxa[tid] = true);
|
|
5100
5160
|
}
|
|
5101
5161
|
const availableTaxa = Object.keys(props.expressionStudies).filter((tid)=>searchTaxa[tid] || searchTaxa[tid + "001"]).sort((a, b)=>props.grameneMaps[a + "001"].left_index - props.grameneMaps[b + "001"].left_index);
|
|
5102
|
-
return availableTaxa && props.grameneTaxonomy && /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.
|
|
5103
|
-
|
|
5104
|
-
|
|
5105
|
-
children: availableTaxa.map((tid, idx)=>{
|
|
5106
|
-
const n = props.expressionStudies[tid].length;
|
|
5107
|
-
return /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsxs)((0, $gXNCa$reactbootstrap.Accordion).Item, {
|
|
5108
|
-
eventKey: "tax_" + idx,
|
|
5162
|
+
return availableTaxa && props.grameneTaxonomy && /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsxs)("div", {
|
|
5163
|
+
children: [
|
|
5164
|
+
/*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsxs)("div", {
|
|
5109
5165
|
children: [
|
|
5110
|
-
|
|
5166
|
+
"This is where you can launch a component for the selected samples. props.desiredSamples lists them. This component can request the data from the API organize samples by factor metadata? One big table with all the studies?",
|
|
5167
|
+
/*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsxs)((0, $gXNCa$reactbootstrap.Button), {
|
|
5111
5168
|
children: [
|
|
5112
|
-
|
|
5113
|
-
|
|
5114
|
-
|
|
5115
|
-
" ",
|
|
5116
|
-
n === 1 ? "study" : "studies"
|
|
5169
|
+
"Show Samples (",
|
|
5170
|
+
Object.keys(props.desiredSamples).length,
|
|
5171
|
+
" selected)"
|
|
5117
5172
|
]
|
|
5118
|
-
}),
|
|
5119
|
-
/*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)((0, $gXNCa$reactbootstrap.Accordion).Body, {
|
|
5120
|
-
children: /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)($261baeb81c4d4d8a$var$StudyList, {
|
|
5121
|
-
studies: props.expressionStudies[tid]
|
|
5122
|
-
})
|
|
5123
5173
|
})
|
|
5124
5174
|
]
|
|
5125
|
-
},
|
|
5126
|
-
|
|
5175
|
+
}),
|
|
5176
|
+
/*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)((0, $gXNCa$reactbootstrap.Accordion), {
|
|
5177
|
+
alwaysOpen: true,
|
|
5178
|
+
defaultActiveKey: availableTaxa.length === 1 ? "tax_0" : undefined,
|
|
5179
|
+
children: availableTaxa.map((tid, idx)=>{
|
|
5180
|
+
const n = props.expressionStudies[tid].length;
|
|
5181
|
+
return /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsxs)((0, $gXNCa$reactbootstrap.Accordion).Item, {
|
|
5182
|
+
eventKey: "tax_" + idx,
|
|
5183
|
+
children: [
|
|
5184
|
+
/*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsxs)((0, $gXNCa$reactbootstrap.Accordion).Header, {
|
|
5185
|
+
children: [
|
|
5186
|
+
props.grameneTaxonomy[tid].name,
|
|
5187
|
+
" - ",
|
|
5188
|
+
n,
|
|
5189
|
+
" ",
|
|
5190
|
+
n === 1 ? "study" : "studies"
|
|
5191
|
+
]
|
|
5192
|
+
}),
|
|
5193
|
+
/*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)((0, $gXNCa$reactbootstrap.Accordion).Body, {
|
|
5194
|
+
children: /*#__PURE__*/ (0, $gXNCa$reactjsxruntime.jsx)($261baeb81c4d4d8a$var$StudyList, {
|
|
5195
|
+
studies: props.expressionStudies[tid]
|
|
5196
|
+
})
|
|
5197
|
+
})
|
|
5198
|
+
]
|
|
5199
|
+
}, idx);
|
|
5200
|
+
})
|
|
5201
|
+
})
|
|
5202
|
+
]
|
|
5127
5203
|
});
|
|
5128
5204
|
};
|
|
5129
|
-
var $261baeb81c4d4d8a$export$2e2bcd8739ae039 = (0, $gXNCa$reduxbundlerreact.connect)("selectConfiguration", "selectGrameneSearch", "selectGrameneTaxonomy", "selectGrameneMaps", "selectExpressionStudies", $261baeb81c4d4d8a$var$Expression);
|
|
5205
|
+
var $261baeb81c4d4d8a$export$2e2bcd8739ae039 = (0, $gXNCa$reduxbundlerreact.connect)("selectConfiguration", "selectGrameneSearch", "selectGrameneTaxonomy", "selectGrameneMaps", "selectExpressionStudies", "selectDesiredSamples", $261baeb81c4d4d8a$var$Expression);
|
|
5130
5206
|
|
|
5131
5207
|
|
|
5132
5208
|
|