@ggterm/core 0.2.16 → 0.2.17
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/cli-plot.js +119 -1
- package/dist/cli.js +113 -0
- package/dist/geoms/index.d.ts +1 -0
- package/dist/geoms/index.d.ts.map +1 -1
- package/dist/geoms/volcano.d.ts +71 -0
- package/dist/geoms/volcano.d.ts.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +115 -0
- package/dist/pipeline/render-geoms.d.ts +4 -0
- package/dist/pipeline/render-geoms.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cli-plot.js
CHANGED
|
@@ -3636,6 +3636,91 @@ function renderGeomTreemap(data, geom, aes, scales, canvas) {
|
|
|
3636
3636
|
renderNode(validRoots[i], i, 0);
|
|
3637
3637
|
}
|
|
3638
3638
|
}
|
|
3639
|
+
function renderGeomVolcano(data, geom, aes, scales, canvas) {
|
|
3640
|
+
const fcThreshold = geom.params.fc_threshold ?? 1;
|
|
3641
|
+
const pThreshold = geom.params.p_threshold ?? 0.05;
|
|
3642
|
+
const yIsNegLog10 = geom.params.y_is_neglog10 ?? false;
|
|
3643
|
+
const upColor = parseColorToRgba(geom.params.up_color ?? "#e41a1c");
|
|
3644
|
+
const downColor = parseColorToRgba(geom.params.down_color ?? "#377eb8");
|
|
3645
|
+
const nsColor = parseColorToRgba(geom.params.ns_color ?? "#999999");
|
|
3646
|
+
const showThresholds = geom.params.show_thresholds ?? true;
|
|
3647
|
+
const nLabels = geom.params.n_labels ?? 0;
|
|
3648
|
+
const pointChar = geom.params.point_char ?? "●";
|
|
3649
|
+
const negLog10PThreshold = -Math.log10(pThreshold);
|
|
3650
|
+
const points = [];
|
|
3651
|
+
for (const row of data) {
|
|
3652
|
+
const xVal = Number(row[aes.x]);
|
|
3653
|
+
let yVal = Number(row[aes.y]);
|
|
3654
|
+
if (isNaN(xVal) || isNaN(yVal) || yVal <= 0)
|
|
3655
|
+
continue;
|
|
3656
|
+
if (!yIsNegLog10) {
|
|
3657
|
+
yVal = -Math.log10(yVal);
|
|
3658
|
+
}
|
|
3659
|
+
let status = "ns";
|
|
3660
|
+
if (yVal >= negLog10PThreshold) {
|
|
3661
|
+
if (xVal >= fcThreshold) {
|
|
3662
|
+
status = "up";
|
|
3663
|
+
} else if (xVal <= -fcThreshold) {
|
|
3664
|
+
status = "down";
|
|
3665
|
+
}
|
|
3666
|
+
}
|
|
3667
|
+
const label = aes.label ? String(row[aes.label] ?? "") : undefined;
|
|
3668
|
+
points.push({
|
|
3669
|
+
row,
|
|
3670
|
+
x: xVal,
|
|
3671
|
+
y: yVal,
|
|
3672
|
+
significance: yVal,
|
|
3673
|
+
status,
|
|
3674
|
+
label
|
|
3675
|
+
});
|
|
3676
|
+
}
|
|
3677
|
+
if (showThresholds) {
|
|
3678
|
+
const thresholdColor = { r: 150, g: 150, b: 150, a: 0.7 };
|
|
3679
|
+
const cy = Math.round(scales.y.map(negLog10PThreshold));
|
|
3680
|
+
const startX = Math.round(scales.x.range[0]);
|
|
3681
|
+
const endX = Math.round(scales.x.range[1]);
|
|
3682
|
+
for (let x = startX;x <= endX; x += 2) {
|
|
3683
|
+
canvas.drawChar(x, cy, "─", thresholdColor);
|
|
3684
|
+
}
|
|
3685
|
+
const cxPos = Math.round(scales.x.map(fcThreshold));
|
|
3686
|
+
const cxNeg = Math.round(scales.x.map(-fcThreshold));
|
|
3687
|
+
const startY = Math.round(Math.min(scales.y.range[0], scales.y.range[1]));
|
|
3688
|
+
const endY = Math.round(Math.max(scales.y.range[0], scales.y.range[1]));
|
|
3689
|
+
for (let y = startY;y <= endY; y += 2) {
|
|
3690
|
+
canvas.drawChar(cxPos, y, "│", thresholdColor);
|
|
3691
|
+
canvas.drawChar(cxNeg, y, "│", thresholdColor);
|
|
3692
|
+
}
|
|
3693
|
+
}
|
|
3694
|
+
for (const point of points) {
|
|
3695
|
+
if (point.status === "ns") {
|
|
3696
|
+
const cx = Math.round(scales.x.map(point.x));
|
|
3697
|
+
const cy = Math.round(scales.y.map(point.y));
|
|
3698
|
+
canvas.drawPoint(cx, cy, nsColor, pointChar);
|
|
3699
|
+
}
|
|
3700
|
+
}
|
|
3701
|
+
for (const point of points) {
|
|
3702
|
+
if (point.status !== "ns") {
|
|
3703
|
+
const cx = Math.round(scales.x.map(point.x));
|
|
3704
|
+
const cy = Math.round(scales.y.map(point.y));
|
|
3705
|
+
const color = point.status === "up" ? upColor : downColor;
|
|
3706
|
+
canvas.drawPoint(cx, cy, color, pointChar);
|
|
3707
|
+
}
|
|
3708
|
+
}
|
|
3709
|
+
if (nLabels > 0 && aes.label) {
|
|
3710
|
+
const significantPoints = points.filter((p) => p.status !== "ns" && p.label).sort((a, b) => b.significance - a.significance).slice(0, nLabels);
|
|
3711
|
+
const labelColor = { r: 50, g: 50, b: 50, a: 1 };
|
|
3712
|
+
for (const point of significantPoints) {
|
|
3713
|
+
const cx = Math.round(scales.x.map(point.x));
|
|
3714
|
+
const cy = Math.round(scales.y.map(point.y));
|
|
3715
|
+
const label = point.label;
|
|
3716
|
+
const labelX = cx + 1;
|
|
3717
|
+
const labelY = cy;
|
|
3718
|
+
for (let i = 0;i < label.length; i++) {
|
|
3719
|
+
canvas.drawChar(labelX + i, labelY, label[i], labelColor);
|
|
3720
|
+
}
|
|
3721
|
+
}
|
|
3722
|
+
}
|
|
3723
|
+
}
|
|
3639
3724
|
function renderGeom(data, geom, aes, scales, canvas, coordType) {
|
|
3640
3725
|
switch (geom.type) {
|
|
3641
3726
|
case "point":
|
|
@@ -3761,6 +3846,9 @@ function renderGeom(data, geom, aes, scales, canvas, coordType) {
|
|
|
3761
3846
|
case "treemap":
|
|
3762
3847
|
renderGeomTreemap(data, geom, aes, scales, canvas);
|
|
3763
3848
|
break;
|
|
3849
|
+
case "volcano":
|
|
3850
|
+
renderGeomVolcano(data, geom, aes, scales, canvas);
|
|
3851
|
+
break;
|
|
3764
3852
|
default:
|
|
3765
3853
|
break;
|
|
3766
3854
|
}
|
|
@@ -7382,6 +7470,31 @@ function geom_treemap(options = {}) {
|
|
|
7382
7470
|
};
|
|
7383
7471
|
}
|
|
7384
7472
|
|
|
7473
|
+
// src/geoms/volcano.ts
|
|
7474
|
+
function geom_volcano(options = {}) {
|
|
7475
|
+
return {
|
|
7476
|
+
type: "volcano",
|
|
7477
|
+
stat: "identity",
|
|
7478
|
+
position: "identity",
|
|
7479
|
+
params: {
|
|
7480
|
+
fc_threshold: options.fc_threshold ?? 1,
|
|
7481
|
+
p_threshold: options.p_threshold ?? 0.05,
|
|
7482
|
+
y_is_neglog10: options.y_is_neglog10 ?? false,
|
|
7483
|
+
up_color: options.up_color ?? "#e41a1c",
|
|
7484
|
+
down_color: options.down_color ?? "#377eb8",
|
|
7485
|
+
ns_color: options.ns_color ?? "#999999",
|
|
7486
|
+
show_thresholds: options.show_thresholds ?? true,
|
|
7487
|
+
threshold_linetype: options.threshold_linetype ?? "dashed",
|
|
7488
|
+
n_labels: options.n_labels ?? 0,
|
|
7489
|
+
size: options.size ?? 1,
|
|
7490
|
+
alpha: options.alpha ?? 0.6,
|
|
7491
|
+
point_char: options.point_char ?? "●",
|
|
7492
|
+
show_legend: options.show_legend ?? true,
|
|
7493
|
+
classify: options.classify
|
|
7494
|
+
}
|
|
7495
|
+
};
|
|
7496
|
+
}
|
|
7497
|
+
|
|
7385
7498
|
// src/geoms/index.ts
|
|
7386
7499
|
var init_geoms = __esm(() => {
|
|
7387
7500
|
init_ridgeline();
|
|
@@ -11890,6 +12003,7 @@ __export(exports_src, {
|
|
|
11890
12003
|
getCapabilities: () => getCapabilities,
|
|
11891
12004
|
getAvailablePalettes: () => getAvailablePalettes,
|
|
11892
12005
|
geom_waffle: () => geom_waffle,
|
|
12006
|
+
geom_volcano: () => geom_volcano,
|
|
11893
12007
|
geom_vline: () => geom_vline,
|
|
11894
12008
|
geom_violin: () => geom_violin,
|
|
11895
12009
|
geom_treemap: () => geom_treemap,
|
|
@@ -12874,7 +12988,8 @@ var GEOM_TYPES = [
|
|
|
12874
12988
|
"icicle",
|
|
12875
12989
|
"corrmat",
|
|
12876
12990
|
"sankey",
|
|
12877
|
-
"treemap"
|
|
12991
|
+
"treemap",
|
|
12992
|
+
"volcano"
|
|
12878
12993
|
];
|
|
12879
12994
|
var datePattern = /^\d{4}-\d{2}-\d{2}/;
|
|
12880
12995
|
function fileExists(path) {
|
|
@@ -13508,6 +13623,9 @@ If you want a univariate plot, try: histogram, density, bar, qq, or freqpoly`);
|
|
|
13508
13623
|
case "treemap":
|
|
13509
13624
|
plot = plot.geom(geom_treemap());
|
|
13510
13625
|
break;
|
|
13626
|
+
case "volcano":
|
|
13627
|
+
plot = plot.geom(geom_volcano());
|
|
13628
|
+
break;
|
|
13511
13629
|
case "point":
|
|
13512
13630
|
default:
|
|
13513
13631
|
plot = plot.geom(geom_point());
|
package/dist/cli.js
CHANGED
|
@@ -3636,6 +3636,91 @@ function renderGeomTreemap(data, geom, aes, scales, canvas) {
|
|
|
3636
3636
|
renderNode(validRoots[i], i, 0);
|
|
3637
3637
|
}
|
|
3638
3638
|
}
|
|
3639
|
+
function renderGeomVolcano(data, geom, aes, scales, canvas) {
|
|
3640
|
+
const fcThreshold = geom.params.fc_threshold ?? 1;
|
|
3641
|
+
const pThreshold = geom.params.p_threshold ?? 0.05;
|
|
3642
|
+
const yIsNegLog10 = geom.params.y_is_neglog10 ?? false;
|
|
3643
|
+
const upColor = parseColorToRgba(geom.params.up_color ?? "#e41a1c");
|
|
3644
|
+
const downColor = parseColorToRgba(geom.params.down_color ?? "#377eb8");
|
|
3645
|
+
const nsColor = parseColorToRgba(geom.params.ns_color ?? "#999999");
|
|
3646
|
+
const showThresholds = geom.params.show_thresholds ?? true;
|
|
3647
|
+
const nLabels = geom.params.n_labels ?? 0;
|
|
3648
|
+
const pointChar = geom.params.point_char ?? "●";
|
|
3649
|
+
const negLog10PThreshold = -Math.log10(pThreshold);
|
|
3650
|
+
const points = [];
|
|
3651
|
+
for (const row of data) {
|
|
3652
|
+
const xVal = Number(row[aes.x]);
|
|
3653
|
+
let yVal = Number(row[aes.y]);
|
|
3654
|
+
if (isNaN(xVal) || isNaN(yVal) || yVal <= 0)
|
|
3655
|
+
continue;
|
|
3656
|
+
if (!yIsNegLog10) {
|
|
3657
|
+
yVal = -Math.log10(yVal);
|
|
3658
|
+
}
|
|
3659
|
+
let status = "ns";
|
|
3660
|
+
if (yVal >= negLog10PThreshold) {
|
|
3661
|
+
if (xVal >= fcThreshold) {
|
|
3662
|
+
status = "up";
|
|
3663
|
+
} else if (xVal <= -fcThreshold) {
|
|
3664
|
+
status = "down";
|
|
3665
|
+
}
|
|
3666
|
+
}
|
|
3667
|
+
const label = aes.label ? String(row[aes.label] ?? "") : undefined;
|
|
3668
|
+
points.push({
|
|
3669
|
+
row,
|
|
3670
|
+
x: xVal,
|
|
3671
|
+
y: yVal,
|
|
3672
|
+
significance: yVal,
|
|
3673
|
+
status,
|
|
3674
|
+
label
|
|
3675
|
+
});
|
|
3676
|
+
}
|
|
3677
|
+
if (showThresholds) {
|
|
3678
|
+
const thresholdColor = { r: 150, g: 150, b: 150, a: 0.7 };
|
|
3679
|
+
const cy = Math.round(scales.y.map(negLog10PThreshold));
|
|
3680
|
+
const startX = Math.round(scales.x.range[0]);
|
|
3681
|
+
const endX = Math.round(scales.x.range[1]);
|
|
3682
|
+
for (let x = startX;x <= endX; x += 2) {
|
|
3683
|
+
canvas.drawChar(x, cy, "─", thresholdColor);
|
|
3684
|
+
}
|
|
3685
|
+
const cxPos = Math.round(scales.x.map(fcThreshold));
|
|
3686
|
+
const cxNeg = Math.round(scales.x.map(-fcThreshold));
|
|
3687
|
+
const startY = Math.round(Math.min(scales.y.range[0], scales.y.range[1]));
|
|
3688
|
+
const endY = Math.round(Math.max(scales.y.range[0], scales.y.range[1]));
|
|
3689
|
+
for (let y = startY;y <= endY; y += 2) {
|
|
3690
|
+
canvas.drawChar(cxPos, y, "│", thresholdColor);
|
|
3691
|
+
canvas.drawChar(cxNeg, y, "│", thresholdColor);
|
|
3692
|
+
}
|
|
3693
|
+
}
|
|
3694
|
+
for (const point of points) {
|
|
3695
|
+
if (point.status === "ns") {
|
|
3696
|
+
const cx = Math.round(scales.x.map(point.x));
|
|
3697
|
+
const cy = Math.round(scales.y.map(point.y));
|
|
3698
|
+
canvas.drawPoint(cx, cy, nsColor, pointChar);
|
|
3699
|
+
}
|
|
3700
|
+
}
|
|
3701
|
+
for (const point of points) {
|
|
3702
|
+
if (point.status !== "ns") {
|
|
3703
|
+
const cx = Math.round(scales.x.map(point.x));
|
|
3704
|
+
const cy = Math.round(scales.y.map(point.y));
|
|
3705
|
+
const color = point.status === "up" ? upColor : downColor;
|
|
3706
|
+
canvas.drawPoint(cx, cy, color, pointChar);
|
|
3707
|
+
}
|
|
3708
|
+
}
|
|
3709
|
+
if (nLabels > 0 && aes.label) {
|
|
3710
|
+
const significantPoints = points.filter((p) => p.status !== "ns" && p.label).sort((a, b) => b.significance - a.significance).slice(0, nLabels);
|
|
3711
|
+
const labelColor = { r: 50, g: 50, b: 50, a: 1 };
|
|
3712
|
+
for (const point of significantPoints) {
|
|
3713
|
+
const cx = Math.round(scales.x.map(point.x));
|
|
3714
|
+
const cy = Math.round(scales.y.map(point.y));
|
|
3715
|
+
const label = point.label;
|
|
3716
|
+
const labelX = cx + 1;
|
|
3717
|
+
const labelY = cy;
|
|
3718
|
+
for (let i = 0;i < label.length; i++) {
|
|
3719
|
+
canvas.drawChar(labelX + i, labelY, label[i], labelColor);
|
|
3720
|
+
}
|
|
3721
|
+
}
|
|
3722
|
+
}
|
|
3723
|
+
}
|
|
3639
3724
|
function renderGeom(data, geom, aes, scales, canvas, coordType) {
|
|
3640
3725
|
switch (geom.type) {
|
|
3641
3726
|
case "point":
|
|
@@ -3761,6 +3846,9 @@ function renderGeom(data, geom, aes, scales, canvas, coordType) {
|
|
|
3761
3846
|
case "treemap":
|
|
3762
3847
|
renderGeomTreemap(data, geom, aes, scales, canvas);
|
|
3763
3848
|
break;
|
|
3849
|
+
case "volcano":
|
|
3850
|
+
renderGeomVolcano(data, geom, aes, scales, canvas);
|
|
3851
|
+
break;
|
|
3764
3852
|
default:
|
|
3765
3853
|
break;
|
|
3766
3854
|
}
|
|
@@ -7377,6 +7465,31 @@ function geom_treemap(options = {}) {
|
|
|
7377
7465
|
};
|
|
7378
7466
|
}
|
|
7379
7467
|
|
|
7468
|
+
// src/geoms/volcano.ts
|
|
7469
|
+
function geom_volcano(options = {}) {
|
|
7470
|
+
return {
|
|
7471
|
+
type: "volcano",
|
|
7472
|
+
stat: "identity",
|
|
7473
|
+
position: "identity",
|
|
7474
|
+
params: {
|
|
7475
|
+
fc_threshold: options.fc_threshold ?? 1,
|
|
7476
|
+
p_threshold: options.p_threshold ?? 0.05,
|
|
7477
|
+
y_is_neglog10: options.y_is_neglog10 ?? false,
|
|
7478
|
+
up_color: options.up_color ?? "#e41a1c",
|
|
7479
|
+
down_color: options.down_color ?? "#377eb8",
|
|
7480
|
+
ns_color: options.ns_color ?? "#999999",
|
|
7481
|
+
show_thresholds: options.show_thresholds ?? true,
|
|
7482
|
+
threshold_linetype: options.threshold_linetype ?? "dashed",
|
|
7483
|
+
n_labels: options.n_labels ?? 0,
|
|
7484
|
+
size: options.size ?? 1,
|
|
7485
|
+
alpha: options.alpha ?? 0.6,
|
|
7486
|
+
point_char: options.point_char ?? "●",
|
|
7487
|
+
show_legend: options.show_legend ?? true,
|
|
7488
|
+
classify: options.classify
|
|
7489
|
+
}
|
|
7490
|
+
};
|
|
7491
|
+
}
|
|
7492
|
+
|
|
7380
7493
|
// src/geoms/index.ts
|
|
7381
7494
|
var init_geoms = __esm(() => {
|
|
7382
7495
|
init_ridgeline();
|
package/dist/geoms/index.d.ts
CHANGED
|
@@ -34,4 +34,5 @@ export { geom_flame, geom_icicle, type FlameOptions } from './flame';
|
|
|
34
34
|
export { geom_corrmat, type CorrmatOptions } from './corrmat';
|
|
35
35
|
export { geom_sankey, type SankeyOptions } from './sankey';
|
|
36
36
|
export { geom_treemap, type TreemapOptions } from './treemap';
|
|
37
|
+
export { geom_volcano, type VolcanoOptions } from './volcano';
|
|
37
38
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/geoms/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/geoms/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* geom_volcano - Volcano plot for differential expression analysis
|
|
3
|
+
*
|
|
4
|
+
* Visualizes statistical significance vs magnitude of change, commonly used
|
|
5
|
+
* in genomics for differential expression results. Points are colored by
|
|
6
|
+
* significance status: up-regulated, down-regulated, or not significant.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* // Basic volcano plot
|
|
11
|
+
* gg(deResults)
|
|
12
|
+
* .aes({ x: 'log2FoldChange', y: 'pvalue', label: 'gene' })
|
|
13
|
+
* .geom(geom_volcano())
|
|
14
|
+
*
|
|
15
|
+
* // With custom thresholds and labels
|
|
16
|
+
* gg(deResults)
|
|
17
|
+
* .aes({ x: 'log2FC', y: 'padj', label: 'symbol' })
|
|
18
|
+
* .geom(geom_volcano({
|
|
19
|
+
* fc_threshold: 1.5,
|
|
20
|
+
* p_threshold: 0.01,
|
|
21
|
+
* n_labels: 10,
|
|
22
|
+
* show_thresholds: true
|
|
23
|
+
* }))
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
import type { Geom } from '../types';
|
|
27
|
+
export interface VolcanoOptions {
|
|
28
|
+
/** Log2 fold change threshold for significance (default: 1, meaning 2-fold) */
|
|
29
|
+
fc_threshold?: number;
|
|
30
|
+
/** P-value threshold for significance (default: 0.05) */
|
|
31
|
+
p_threshold?: number;
|
|
32
|
+
/** Whether y-axis is already -log10 transformed (default: false, will transform) */
|
|
33
|
+
y_is_neglog10?: boolean;
|
|
34
|
+
/** Color for up-regulated points (default: '#e41a1c' - red) */
|
|
35
|
+
up_color?: string;
|
|
36
|
+
/** Color for down-regulated points (default: '#377eb8' - blue) */
|
|
37
|
+
down_color?: string;
|
|
38
|
+
/** Color for non-significant points (default: '#999999' - gray) */
|
|
39
|
+
ns_color?: string;
|
|
40
|
+
/** Show threshold lines (default: true) */
|
|
41
|
+
show_thresholds?: boolean;
|
|
42
|
+
/** Line type for thresholds (default: 'dashed') */
|
|
43
|
+
threshold_linetype?: 'solid' | 'dashed' | 'dotted';
|
|
44
|
+
/** Number of top significant points to label (default: 0, no labels) */
|
|
45
|
+
n_labels?: number;
|
|
46
|
+
/** Point size (default: 1) */
|
|
47
|
+
size?: number;
|
|
48
|
+
/** Point opacity (default: 0.6) */
|
|
49
|
+
alpha?: number;
|
|
50
|
+
/** Point character (default: '●') */
|
|
51
|
+
point_char?: string;
|
|
52
|
+
/** Show legend for significance groups (default: true) */
|
|
53
|
+
show_legend?: boolean;
|
|
54
|
+
/** Custom significance classification function */
|
|
55
|
+
classify?: (log2fc: number, pval: number) => 'up' | 'down' | 'ns';
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Create a volcano plot for differential expression visualization
|
|
59
|
+
*
|
|
60
|
+
* Data should contain:
|
|
61
|
+
* - x column: log2 fold change values
|
|
62
|
+
* - y column: p-values (will be -log10 transformed) or -log10(p) if y_is_neglog10=true
|
|
63
|
+
* - label column (optional): gene names or identifiers for labeling top hits
|
|
64
|
+
*
|
|
65
|
+
* Points are automatically classified as:
|
|
66
|
+
* - Up-regulated: log2FC > fc_threshold AND p < p_threshold
|
|
67
|
+
* - Down-regulated: log2FC < -fc_threshold AND p < p_threshold
|
|
68
|
+
* - Not significant: everything else
|
|
69
|
+
*/
|
|
70
|
+
export declare function geom_volcano(options?: VolcanoOptions): Geom;
|
|
71
|
+
//# sourceMappingURL=volcano.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volcano.d.ts","sourceRoot":"","sources":["../../src/geoms/volcano.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oFAAoF;IACpF,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAClD,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;CAClE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,cAAmB,GAAG,IAAI,CAsB/D"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,8 +9,8 @@ export type { AestheticMapping, Canvas, CanvasCell, ComputedPoint, Coord, DataRe
|
|
|
9
9
|
export { TerminalCanvas, createCanvas, DEFAULT_FG, DEFAULT_BG } from './canvas';
|
|
10
10
|
export { renderToCanvas, renderToString, calculateLayout, buildScaleContext, inferContinuousDomain, inferDiscreteDomain, } from './pipeline';
|
|
11
11
|
export type { PlotLayout, ResolvedScale, ScaleContext } from './pipeline';
|
|
12
|
-
export { geom_point, geom_line, geom_path, geom_hline, geom_vline, geom_bar, geom_col, geom_text, geom_label, geom_area, geom_ribbon, geom_histogram, geom_density, geom_boxplot, geom_segment, geom_curve, geom_smooth, geom_step, geom_rug, geom_violin, geom_tile, geom_raster, geom_bin2d, geom_contour, geom_contour_filled, geom_density_2d, geom_errorbar, geom_errorbarh, geom_crossbar, geom_linerange, geom_pointrange, geom_rect, geom_abline, geom_qq, geom_qq_line, geom_freqpoly, geom_ridgeline, geom_joy, geom_beeswarm, geom_quasirandom, geom_dumbbell, geom_lollipop, geom_waffle, geom_sparkline, geom_bullet, geom_braille, SPARK_BARS, SPARK_DOTS, BRAILLE_BASE, BRAILLE_DOTS, geom_calendar, geom_flame, geom_icicle, geom_corrmat, geom_sankey, geom_treemap, } from './geoms';
|
|
13
|
-
export type { PathOptions, RugOptions, SmoothOptions, StepOptions, ViolinOptions, TileOptions, Bin2dOptions, ContourOptions, ErrorbarOptions, RectOptions, AblineOptions, QQOptions, QQLineOptions, FreqpolyOptions, DensityOptions, RidgelineOptions, BeeswarmOptions, DumbbellOptions, LollipopOptions, WaffleOptions, SparklineOptions, BulletOptions, BrailleOptions, CalendarOptions, FlameOptions, CorrmatOptions, SankeyOptions, TreemapOptions, } from './geoms';
|
|
12
|
+
export { geom_point, geom_line, geom_path, geom_hline, geom_vline, geom_bar, geom_col, geom_text, geom_label, geom_area, geom_ribbon, geom_histogram, geom_density, geom_boxplot, geom_segment, geom_curve, geom_smooth, geom_step, geom_rug, geom_violin, geom_tile, geom_raster, geom_bin2d, geom_contour, geom_contour_filled, geom_density_2d, geom_errorbar, geom_errorbarh, geom_crossbar, geom_linerange, geom_pointrange, geom_rect, geom_abline, geom_qq, geom_qq_line, geom_freqpoly, geom_ridgeline, geom_joy, geom_beeswarm, geom_quasirandom, geom_dumbbell, geom_lollipop, geom_waffle, geom_sparkline, geom_bullet, geom_braille, SPARK_BARS, SPARK_DOTS, BRAILLE_BASE, BRAILLE_DOTS, geom_calendar, geom_flame, geom_icicle, geom_corrmat, geom_sankey, geom_treemap, geom_volcano, } from './geoms';
|
|
13
|
+
export type { PathOptions, RugOptions, SmoothOptions, StepOptions, ViolinOptions, TileOptions, Bin2dOptions, ContourOptions, ErrorbarOptions, RectOptions, AblineOptions, QQOptions, QQLineOptions, FreqpolyOptions, DensityOptions, RidgelineOptions, BeeswarmOptions, DumbbellOptions, LollipopOptions, WaffleOptions, SparklineOptions, BulletOptions, BrailleOptions, CalendarOptions, FlameOptions, CorrmatOptions, SankeyOptions, TreemapOptions, VolcanoOptions, } from './geoms';
|
|
14
14
|
export { position_identity, position_dodge, position_stack, position_fill, position_jitter, applyPositionAdjustment, isStackPosition, isDodgePosition, getPositionType, } from './positions';
|
|
15
15
|
export type { Position, AdjustedPoint, DodgeOptions, JitterOptions, StackOptions, FillOptions, } from './positions';
|
|
16
16
|
export { stat_bin, stat_bin2d, stat_boxplot, stat_density, stat_smooth, stat_summary, stat_qq, stat_qq_line, computeBins, computeBins2d, computeBoxplotStats, computeDensity, computeSmooth, computeSummary, computeQQ, computeQQLine, stat_beeswarm, computeBeeswarm, } from './stats';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3635,6 +3635,91 @@ function renderGeomTreemap(data, geom, aes, scales, canvas) {
|
|
|
3635
3635
|
renderNode(validRoots[i], i, 0);
|
|
3636
3636
|
}
|
|
3637
3637
|
}
|
|
3638
|
+
function renderGeomVolcano(data, geom, aes, scales, canvas) {
|
|
3639
|
+
const fcThreshold = geom.params.fc_threshold ?? 1;
|
|
3640
|
+
const pThreshold = geom.params.p_threshold ?? 0.05;
|
|
3641
|
+
const yIsNegLog10 = geom.params.y_is_neglog10 ?? false;
|
|
3642
|
+
const upColor = parseColorToRgba(geom.params.up_color ?? "#e41a1c");
|
|
3643
|
+
const downColor = parseColorToRgba(geom.params.down_color ?? "#377eb8");
|
|
3644
|
+
const nsColor = parseColorToRgba(geom.params.ns_color ?? "#999999");
|
|
3645
|
+
const showThresholds = geom.params.show_thresholds ?? true;
|
|
3646
|
+
const nLabels = geom.params.n_labels ?? 0;
|
|
3647
|
+
const pointChar = geom.params.point_char ?? "●";
|
|
3648
|
+
const negLog10PThreshold = -Math.log10(pThreshold);
|
|
3649
|
+
const points = [];
|
|
3650
|
+
for (const row of data) {
|
|
3651
|
+
const xVal = Number(row[aes.x]);
|
|
3652
|
+
let yVal = Number(row[aes.y]);
|
|
3653
|
+
if (isNaN(xVal) || isNaN(yVal) || yVal <= 0)
|
|
3654
|
+
continue;
|
|
3655
|
+
if (!yIsNegLog10) {
|
|
3656
|
+
yVal = -Math.log10(yVal);
|
|
3657
|
+
}
|
|
3658
|
+
let status = "ns";
|
|
3659
|
+
if (yVal >= negLog10PThreshold) {
|
|
3660
|
+
if (xVal >= fcThreshold) {
|
|
3661
|
+
status = "up";
|
|
3662
|
+
} else if (xVal <= -fcThreshold) {
|
|
3663
|
+
status = "down";
|
|
3664
|
+
}
|
|
3665
|
+
}
|
|
3666
|
+
const label = aes.label ? String(row[aes.label] ?? "") : undefined;
|
|
3667
|
+
points.push({
|
|
3668
|
+
row,
|
|
3669
|
+
x: xVal,
|
|
3670
|
+
y: yVal,
|
|
3671
|
+
significance: yVal,
|
|
3672
|
+
status,
|
|
3673
|
+
label
|
|
3674
|
+
});
|
|
3675
|
+
}
|
|
3676
|
+
if (showThresholds) {
|
|
3677
|
+
const thresholdColor = { r: 150, g: 150, b: 150, a: 0.7 };
|
|
3678
|
+
const cy = Math.round(scales.y.map(negLog10PThreshold));
|
|
3679
|
+
const startX = Math.round(scales.x.range[0]);
|
|
3680
|
+
const endX = Math.round(scales.x.range[1]);
|
|
3681
|
+
for (let x = startX;x <= endX; x += 2) {
|
|
3682
|
+
canvas.drawChar(x, cy, "─", thresholdColor);
|
|
3683
|
+
}
|
|
3684
|
+
const cxPos = Math.round(scales.x.map(fcThreshold));
|
|
3685
|
+
const cxNeg = Math.round(scales.x.map(-fcThreshold));
|
|
3686
|
+
const startY = Math.round(Math.min(scales.y.range[0], scales.y.range[1]));
|
|
3687
|
+
const endY = Math.round(Math.max(scales.y.range[0], scales.y.range[1]));
|
|
3688
|
+
for (let y = startY;y <= endY; y += 2) {
|
|
3689
|
+
canvas.drawChar(cxPos, y, "│", thresholdColor);
|
|
3690
|
+
canvas.drawChar(cxNeg, y, "│", thresholdColor);
|
|
3691
|
+
}
|
|
3692
|
+
}
|
|
3693
|
+
for (const point of points) {
|
|
3694
|
+
if (point.status === "ns") {
|
|
3695
|
+
const cx = Math.round(scales.x.map(point.x));
|
|
3696
|
+
const cy = Math.round(scales.y.map(point.y));
|
|
3697
|
+
canvas.drawPoint(cx, cy, nsColor, pointChar);
|
|
3698
|
+
}
|
|
3699
|
+
}
|
|
3700
|
+
for (const point of points) {
|
|
3701
|
+
if (point.status !== "ns") {
|
|
3702
|
+
const cx = Math.round(scales.x.map(point.x));
|
|
3703
|
+
const cy = Math.round(scales.y.map(point.y));
|
|
3704
|
+
const color = point.status === "up" ? upColor : downColor;
|
|
3705
|
+
canvas.drawPoint(cx, cy, color, pointChar);
|
|
3706
|
+
}
|
|
3707
|
+
}
|
|
3708
|
+
if (nLabels > 0 && aes.label) {
|
|
3709
|
+
const significantPoints = points.filter((p) => p.status !== "ns" && p.label).sort((a, b) => b.significance - a.significance).slice(0, nLabels);
|
|
3710
|
+
const labelColor = { r: 50, g: 50, b: 50, a: 1 };
|
|
3711
|
+
for (const point of significantPoints) {
|
|
3712
|
+
const cx = Math.round(scales.x.map(point.x));
|
|
3713
|
+
const cy = Math.round(scales.y.map(point.y));
|
|
3714
|
+
const label = point.label;
|
|
3715
|
+
const labelX = cx + 1;
|
|
3716
|
+
const labelY = cy;
|
|
3717
|
+
for (let i = 0;i < label.length; i++) {
|
|
3718
|
+
canvas.drawChar(labelX + i, labelY, label[i], labelColor);
|
|
3719
|
+
}
|
|
3720
|
+
}
|
|
3721
|
+
}
|
|
3722
|
+
}
|
|
3638
3723
|
function renderGeom(data, geom, aes, scales, canvas, coordType) {
|
|
3639
3724
|
switch (geom.type) {
|
|
3640
3725
|
case "point":
|
|
@@ -3760,6 +3845,9 @@ function renderGeom(data, geom, aes, scales, canvas, coordType) {
|
|
|
3760
3845
|
case "treemap":
|
|
3761
3846
|
renderGeomTreemap(data, geom, aes, scales, canvas);
|
|
3762
3847
|
break;
|
|
3848
|
+
case "volcano":
|
|
3849
|
+
renderGeomVolcano(data, geom, aes, scales, canvas);
|
|
3850
|
+
break;
|
|
3763
3851
|
default:
|
|
3764
3852
|
break;
|
|
3765
3853
|
}
|
|
@@ -7381,6 +7469,31 @@ function geom_treemap(options = {}) {
|
|
|
7381
7469
|
};
|
|
7382
7470
|
}
|
|
7383
7471
|
|
|
7472
|
+
// src/geoms/volcano.ts
|
|
7473
|
+
function geom_volcano(options = {}) {
|
|
7474
|
+
return {
|
|
7475
|
+
type: "volcano",
|
|
7476
|
+
stat: "identity",
|
|
7477
|
+
position: "identity",
|
|
7478
|
+
params: {
|
|
7479
|
+
fc_threshold: options.fc_threshold ?? 1,
|
|
7480
|
+
p_threshold: options.p_threshold ?? 0.05,
|
|
7481
|
+
y_is_neglog10: options.y_is_neglog10 ?? false,
|
|
7482
|
+
up_color: options.up_color ?? "#e41a1c",
|
|
7483
|
+
down_color: options.down_color ?? "#377eb8",
|
|
7484
|
+
ns_color: options.ns_color ?? "#999999",
|
|
7485
|
+
show_thresholds: options.show_thresholds ?? true,
|
|
7486
|
+
threshold_linetype: options.threshold_linetype ?? "dashed",
|
|
7487
|
+
n_labels: options.n_labels ?? 0,
|
|
7488
|
+
size: options.size ?? 1,
|
|
7489
|
+
alpha: options.alpha ?? 0.6,
|
|
7490
|
+
point_char: options.point_char ?? "●",
|
|
7491
|
+
show_legend: options.show_legend ?? true,
|
|
7492
|
+
classify: options.classify
|
|
7493
|
+
}
|
|
7494
|
+
};
|
|
7495
|
+
}
|
|
7496
|
+
|
|
7384
7497
|
// src/geoms/index.ts
|
|
7385
7498
|
var init_geoms = __esm(() => {
|
|
7386
7499
|
init_ridgeline();
|
|
@@ -11889,6 +12002,7 @@ __export(exports_src, {
|
|
|
11889
12002
|
getCapabilities: () => getCapabilities,
|
|
11890
12003
|
getAvailablePalettes: () => getAvailablePalettes,
|
|
11891
12004
|
geom_waffle: () => geom_waffle,
|
|
12005
|
+
geom_volcano: () => geom_volcano,
|
|
11892
12006
|
geom_vline: () => geom_vline,
|
|
11893
12007
|
geom_violin: () => geom_violin,
|
|
11894
12008
|
geom_treemap: () => geom_treemap,
|
|
@@ -12158,6 +12272,7 @@ export {
|
|
|
12158
12272
|
getCapabilities,
|
|
12159
12273
|
getAvailablePalettes,
|
|
12160
12274
|
geom_waffle,
|
|
12275
|
+
geom_volcano,
|
|
12161
12276
|
geom_vline,
|
|
12162
12277
|
geom_violin,
|
|
12163
12278
|
geom_treemap,
|
|
@@ -185,6 +185,10 @@ export declare function renderGeomSankey(data: DataSource, geom: Geom, aes: Aest
|
|
|
185
185
|
* Render a treemap visualization
|
|
186
186
|
*/
|
|
187
187
|
export declare function renderGeomTreemap(data: DataSource, geom: Geom, aes: AestheticMapping, scales: ScaleContext, canvas: TerminalCanvas): void;
|
|
188
|
+
/**
|
|
189
|
+
* Render geom_volcano - Volcano plot for differential expression
|
|
190
|
+
*/
|
|
191
|
+
export declare function renderGeomVolcano(data: DataSource, geom: Geom, aes: AestheticMapping, scales: ScaleContext, canvas: TerminalCanvas): void;
|
|
188
192
|
/**
|
|
189
193
|
* Geometry renderer dispatch
|
|
190
194
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-geoms.d.ts","sourceRoot":"","sources":["../../src/pipeline/render-geoms.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"render-geoms.d.ts","sourceRoot":"","sources":["../../src/pipeline/render-geoms.ts"],"names":[],"mappings":"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"}
|