add genesets as an argument

This commit is contained in:
Colin Megill
2021-04-20 00:19:46 -07:00
parent 69e7509006
commit 22d51ab174
5 changed files with 24 additions and 8 deletions
@@ -44,6 +44,7 @@ const LABEL_WIDTH_ANNO = LABEL_WIDTH - ANNO_BUTTON_WIDTH;
schema,
crossfilter: state.obsCrossfilter,
isUserAnno,
genesets: state.genesets.genesets,
};
})
class Category extends React.PureComponent {
@@ -142,9 +143,15 @@ class Category extends React.PureComponent {
*/
const { schema } = annoMatrix;
const { colorAccessor, colorMode } = colors;
const { genesets } = this.props;
let colorDataPromise = Promise.resolve(null);
if (colorAccessor) {
const query = createColorQuery(colorMode, colorAccessor, schema);
const query = createColorQuery(
colorMode,
colorAccessor,
schema,
genesets
);
if (query) colorDataPromise = annoMatrix.fetch(...query);
}
const [categoryData, colorData] = await Promise.all([
@@ -106,16 +106,23 @@ const continuous = (selectorId, colorScale, colorAccessor) => {
@connect((state) => ({
annoMatrix: state.annoMatrix,
colors: state.colors,
genesets: state.genesets.genesets,
}))
class ContinuousLegend extends React.Component {
async componentDidUpdate(prevProps) {
const { annoMatrix, colors } = this.props;
const { annoMatrix, colors, genesets } = this.props;
if (!colors || !annoMatrix) return;
if (colors !== prevProps?.colors || annoMatrix !== prevProps?.annoMatrix) {
const { schema } = annoMatrix;
const { colorMode, colorAccessor, userColors } = colors;
const colorQuery = createColorQuery(colorMode, colorAccessor, schema);
const colorQuery = createColorQuery(
colorMode,
colorAccessor,
schema,
genesets
);
const colorDf = colorQuery ? await annoMatrix.fetch(...colorQuery) : null;
const colorTable = createColorTable(
colorMode,
@@ -14,6 +14,7 @@ export default
dilatedValue: state.pointDilation.categoryField,
categoricalSelection: state.categoricalSelection,
showLabels: state.centroidLabels?.showLabels,
genesets: state.genesets.genesets,
}))
class CentroidLabels extends PureComponent {
static watchAsync(props, prevProps) {
@@ -74,10 +75,10 @@ class CentroidLabels extends PureComponent {
};
colorByQuery() {
const { annoMatrix, colors } = this.props;
const { annoMatrix, colors, genesets } = this.props;
const { schema } = annoMatrix;
const { colorMode, colorAccessor } = colors;
return createColorQuery(colorMode, colorAccessor, schema);
return createColorQuery(colorMode, colorAccessor, schema, genesets);
}
async fetchData() {
@@ -53,6 +53,7 @@ const getYScale = memoize(getScale);
differential: state.differential,
crossfilter,
genesets: state.genesets.genesets,
};
})
class Scatterplot extends React.PureComponent {
@@ -313,10 +314,10 @@ class Scatterplot extends React.PureComponent {
}
createColorByQuery(colors) {
const { annoMatrix } = this.props;
const { annoMatrix, genesets } = this.props;
const { schema } = annoMatrix;
const { colorMode, colorAccessor } = colors;
return createColorQuery(colorMode, colorAccessor, schema);
return createColorQuery(colorMode, colorAccessor, schema, genesets);
}
updateColorTable(colors, colorDf) {
+1 -1
View File
@@ -13,7 +13,7 @@ given a color mode & accessor, generate an annoMatrix query that will
fulfill it
*/
export function createColorQuery(colorMode, colorByAccessor, schema, genesets) {
if (!colorMode || !colorByAccessor || !schema) return null;
if (!colorMode || !colorByAccessor || !schema || !genesets) return null;
switch (colorMode) {
case "color by categorical metadata":
case "color by continuous metadata": {