mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-10-07 21:28:11 +08:00
color graph by mean expression
This commit is contained in:
@@ -76,6 +76,7 @@ function createModelTF() {
|
|||||||
graphInteractionMode: state.controls.graphInteractionMode,
|
graphInteractionMode: state.controls.graphInteractionMode,
|
||||||
colors: state.colors,
|
colors: state.colors,
|
||||||
pointDilation: state.pointDilation,
|
pointDilation: state.pointDilation,
|
||||||
|
genesets: state.genesets.genesets,
|
||||||
}))
|
}))
|
||||||
class Graph extends React.Component {
|
class Graph extends React.Component {
|
||||||
static createReglState(canvas) {
|
static createReglState(canvas) {
|
||||||
@@ -526,6 +527,7 @@ class Graph extends React.Component {
|
|||||||
colorsProp,
|
colorsProp,
|
||||||
pointDilation
|
pointDilation
|
||||||
);
|
);
|
||||||
|
|
||||||
const { currentDimNames } = layoutChoice;
|
const { currentDimNames } = layoutChoice;
|
||||||
const X = layoutDf.col(currentDimNames[0]).asArray();
|
const X = layoutDf.col(currentDimNames[0]).asArray();
|
||||||
const Y = layoutDf.col(currentDimNames[1]).asArray();
|
const Y = layoutDf.col(currentDimNames[1]).asArray();
|
||||||
@@ -782,10 +784,11 @@ class Graph extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
createColorByQuery(colors) {
|
createColorByQuery(colors) {
|
||||||
const { annoMatrix } = this.props;
|
const { annoMatrix, genesets } = this.props;
|
||||||
const { schema } = annoMatrix;
|
const { schema } = annoMatrix;
|
||||||
const { colorMode, colorAccessor } = colors;
|
const { colorMode, colorAccessor } = colors;
|
||||||
return createColorQuery(colorMode, colorAccessor, schema);
|
|
||||||
|
return createColorQuery(colorMode, colorAccessor, schema, genesets);
|
||||||
}
|
}
|
||||||
|
|
||||||
renderPoints(
|
renderPoints(
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import { range } from "../range";
|
|||||||
given a color mode & accessor, generate an annoMatrix query that will
|
given a color mode & accessor, generate an annoMatrix query that will
|
||||||
fulfill it
|
fulfill it
|
||||||
*/
|
*/
|
||||||
export function createColorQuery(colorMode, colorByAccessor, schema) {
|
export function createColorQuery(colorMode, colorByAccessor, schema, genesets) {
|
||||||
if (!colorMode || !colorByAccessor || !schema) return null;
|
if (!colorMode || !colorByAccessor || !schema) return null;
|
||||||
switch (colorMode) {
|
switch (colorMode) {
|
||||||
case "color by categorical metadata":
|
case "color by categorical metadata":
|
||||||
@@ -33,6 +33,25 @@ export function createColorQuery(colorMode, colorByAccessor, schema) {
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
case "color by geneset mean expression": {
|
||||||
|
const varIndex = schema?.annotations?.var?.index;
|
||||||
|
if (!varIndex) return null;
|
||||||
|
|
||||||
|
const _geneset = genesets.get(colorByAccessor);
|
||||||
|
const _setGenes = Array.from(_geneset.genes.keys());
|
||||||
|
|
||||||
|
return [
|
||||||
|
"X",
|
||||||
|
{
|
||||||
|
summarize: {
|
||||||
|
method: "mean",
|
||||||
|
field: "var",
|
||||||
|
column: varIndex,
|
||||||
|
values: _setGenes,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}
|
||||||
default: {
|
default: {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -86,6 +105,11 @@ function _createColorTable(
|
|||||||
const { min, max } = col.summarize();
|
const { min, max } = col.summarize();
|
||||||
return createColorsByContinuousMetadata(col.asArray(), min, max);
|
return createColorsByContinuousMetadata(col.asArray(), min, max);
|
||||||
}
|
}
|
||||||
|
case "color by geneset mean expression": {
|
||||||
|
const col = colorByData.icol(0);
|
||||||
|
const { min, max } = col.summarize();
|
||||||
|
return createColorsByContinuousMetadata(col.asArray(), min, max);
|
||||||
|
}
|
||||||
default: {
|
default: {
|
||||||
return defaultColors(schema.dataframe.nObs);
|
return defaultColors(schema.dataframe.nObs);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user