Published
Edited
Mar 4, 2021
Insert cell
md`# OpenTox: Toxicology Databases`
Insert cell
viewof selected_data_types = Select(unique_data_type, {label: "Select data type", multiple: true, value: default_data_type})
Insert cell
viewof selected_assay_type = Select(unique_assay_type, {label: "Select an assay type", multiple: true, value: default_assay_type})
Insert cell
viewof selected_open_source = Select(unique_open_source, {label: "Select an open source type", multiple: true, value: default_open_source})
Insert cell
viewof selected_species = Select(unique_species, {label: "Select a species type", multiple: true, value: default_species})
Insert cell
Table(filtered_datasets)
Insert cell
vl.markBar()
.data(filtered_datasets)
.encode(
vl.y().count(),
vl.x().fieldN("Assay type"),
)
.width(600).height(400).render()
Insert cell
filtered_datasets = dataset
.filter(item => selected_data_types.includes(item["Data type"]))
.filter(item => selected_assay_type.includes(item["Assay type"]))
.filter(item => selected_open_source.includes(item["Open Source"]))
.filter(item => selected_species.includes(item["Species type"]))
Insert cell
default_citations = unique_citations
Insert cell
unique_citations = get_unique_elements(dataset, "Citation(s)")
Insert cell
default_open_source = unique_open_source
Insert cell
unique_open_source = get_unique_elements(dataset, "Open Source")
Insert cell
default_data_type = unique_data_type
Insert cell
unique_data_type = get_unique_elements(dataset, "Data type")
Insert cell
default_assay_type = unique_assay_type
Insert cell
unique_assay_type = get_unique_elements(dataset, "Assay type")
Insert cell
default_species = unique_species
Insert cell
unique_species = get_unique_elements(dataset, "Species type")
Insert cell
function get_unique_elements(array, property_name) {
var set = new Set(array.map(x => x[property_name]));
return Array.from(set).filter(function(item) {return item != null;}).sort()
}
Insert cell
dataset = fetch_dataset_to_array(dataset_url, {})
Insert cell
function fetch_dataset_to_array(dataset_url, query_options) {
return fetch(dataset_url, query_options).then(response_dataset => {
if (!response_dataset.ok) throw new Error(response_dataset.status);
return response_dataset.json();}).then(json => json.results.map(x => x.data));
}
Insert cell
dataset_url = base_url_edelweiss + dataset_id + "/versions/latest/data"
Insert cell
base_url_edelweiss = 'https://api.edelweissdata.com/datasets/'
Insert cell
dataset_id = "dec361f0-61cf-49c0-a86c-fe7cb9317ee5"
Insert cell
import {Select, Range, Toggle, Table} from "@observablehq/inputs"
Insert cell
import { vl } from "@vega/vega-lite-api"
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more