metadata in parallel

This commit is contained in:
Colin Megill
2017-08-23 17:51:22 -07:00
parent f6d7cc3e23
commit 27d9096937
4 changed files with 52 additions and 66 deletions
@@ -147,14 +147,11 @@ const drawParallelCoordinates = (data) => {
/***************************************** /*****************************************
****************************************** ******************************************
Setup SVG & Canvas elements process and visualize data
****************************************** ******************************************
******************************************/ ******************************************/
d3.csv("https://gist.githubusercontent.com/syntagmatic/05a5b0897a48890133beb59c815bd953/raw/310a68d713eb4d351f809b6cfbcffe3d9d96a205/nutrient.csv", (error, data) => { // shuffle the data! - or not, this is a visual effect
if (error) throw error;
// shuffle the data!
data = d3.shuffle(data); data = d3.shuffle(data);
data.forEach(function(d) { data.forEach(function(d) {
@@ -182,7 +179,24 @@ const drawParallelCoordinates = (data) => {
}); });
const draw = (d) => { const draw = (d) => {
ctx.strokeStyle = "rgba(0,0,0,.4)" /* color(d.food_group); */
/*
line color options 8/23/2017:
Cluster_2d_color
Cluster_CNV_color
Location.color
Sample.name.color
Sample.type.color
Selection.color
housekeeping_cluster_color
recluster_myeloid
recluster_myeloid_color
*/
ctx.strokeStyle = d["Cluster_2d_color"]; //"rgba(0,0,0,.4)" /* color(d.food_group); */
ctx.beginPath(); ctx.beginPath();
var coords = project(d); var coords = project(d);
coords.forEach((p,i) => { coords.forEach((p,i) => {
@@ -225,6 +239,8 @@ const drawParallelCoordinates = (data) => {
const brush = () => { const brush = () => {
render.invalidate(); render.invalidate();
console.log('brush', svg.selectAll(".axis .brush"))
var actives = []; var actives = [];
svg.selectAll(".axis .brush") svg.selectAll(".axis .brush")
.filter((d) => { .filter((d) => {
@@ -252,13 +268,20 @@ const drawParallelCoordinates = (data) => {
render(selected); render(selected);
output.text(d3.tsvFormat(selected.slice(0,24))); output.text(d3.tsvFormat(selected.slice(0,24)));
console.log('fires brush', actives) // console.log('fires brush', actives)
} }
function brushstart() { function brushstart() {
d3.event.sourceEvent.stopPropagation(); d3.event.sourceEvent.stopPropagation();
} }
/*****************************************
******************************************
Render
******************************************
******************************************/
var render = renderQueue(draw).rate(50); var render = renderQueue(draw).rate(50);
ctx.clearRect(0,0,width,height); ctx.clearRect(0,0,width,height);
@@ -307,8 +330,6 @@ const drawParallelCoordinates = (data) => {
}); });
}; };
});
} }
export default drawParallelCoordinates; export default drawParallelCoordinates;
+18 -53
View File
@@ -14,7 +14,7 @@ export const types = {
coerce: function(d) { return +d; }, coerce: function(d) { return +d; },
extent: d3.extent, extent: d3.extent,
within: function(d, extent, dim) { return extent[0] <= dim.scale(d) && dim.scale(d) <= extent[1]; }, within: function(d, extent, dim) { return extent[0] <= dim.scale(d) && dim.scale(d) <= extent[1]; },
defaultScale: d3.scaleLinear().range([innerHeight, 0]) defaultScale: d3.scaleSqrt().range([innerHeight, 0])
}, },
"String": { "String": {
key: "String", key: "String",
@@ -34,122 +34,87 @@ export const types = {
export const dimensions = [ export const dimensions = [
{ {
key: "Total lipid (fat) (g)", key: "Total_reads",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Sugars, total (g)", key: "Unique_reads",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Calcium, Ca (mg)", key: "Unique_reads_percent",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Sodium, Na (mg)", key: "Genes_detected",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Phosphorus, P (mg)", key: "ERCC_reads",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Potassium, K (mg)", key: "Non_ERCC_reads",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Thiamin (mg)", key: "ERCC_to_non_ERCC",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Riboflavin (mg)", key: "Multimapping_reads_percent",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Niacin (mg)", key: "Splice_sites_AT.AC",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Iron, Fe (mg)", key: "Splice_sites_Annotated",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Magnesium, Mg (mg)", key: "Splice_sites_GC.AG",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Protein (g)", key: "Splice_sites_GT.AG",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Zinc, Zn (mg)", key: "Splice_sites_non_canonical",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Vitamin B-6 (mg)", key: "Splice_sites_total",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Vitamin B-12 (mcg)", key: "Unmapped_mismatch",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Folic acid (mcg)", key: "Unmapped_other",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
}, },
{ {
key: "Selenium, Se (mcg)", key: "Unmapped_short",
type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0])
},
{
key: "Vitamin A, IU (IU)",
type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0])
},
{
key: "Vitamin K (phylloquinone) (mcg)",
type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0])
},
{
key: "Vitamin C, total ascorbic acid (mg)",
type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0])
},
{
key: "Vitamin D (IU)",
type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0])
},
{
key: "Cholesterol (mg)",
type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0])
},
{
key: "Fiber, total dietary (g)",
type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0])
},
{
key: "Carbohydrate, by difference (g)",
type: types["Number"], type: types["Number"],
scale: d3.scaleSqrt().range([innerHeight, 0]) scale: d3.scaleSqrt().range([innerHeight, 0])
} }
+4 -4
View File
@@ -1,20 +1,20 @@
/* these will be either (preferably) specified or inferred */ /* these will be either (preferably) specified or inferred */
export const categories = ["Sample.type", "Selection", "Location", "Sample.name", "Class", "Neoplastic"]; export const categories = ["Sample.type", "Selection", "Location", "Sample.name", "Class", "Neoplastic"];
export const continuous = [ export const continuous = [
"Total_reads",
"Unique_reads",
"Unique_reads_percent",
"ERCC_reads", "ERCC_reads",
"Non_ERCC_reads",
"ERCC_to_non_ERCC", "ERCC_to_non_ERCC",
"Genes_detected", "Genes_detected",
"Multimapping_reads_percent", "Multimapping_reads_percent",
"Non_ERCC_reads",
"Splice_sites_AT.AC", "Splice_sites_AT.AC",
"Splice_sites_Annotated", "Splice_sites_Annotated",
"Splice_sites_GC.AG", "Splice_sites_GC.AG",
"Splice_sites_GT.AG", "Splice_sites_GT.AG",
"Splice_sites_non_canonical", "Splice_sites_non_canonical",
"Splice_sites_total", "Splice_sites_total",
"Total_reads",
"Unique_reads",
"Unique_reads_percent",
"Unmapped_mismatch", "Unmapped_mismatch",
"Unmapped_other", "Unmapped_other",
"Unmapped_short" "Unmapped_short"