brain-bican / taxonomy-development-tools

Tools to build and edit Cell Annotation Schema taxonomies.
Apache License 2.0
3 stars 1 forks source link

New MVP #14

Closed dosumis closed 11 months ago

dosumis commented 1 year ago

User stories

Simple tree editing + ontology annotation.

Users should be able to manually edit the hierarchy

Original table

cluster_id cluster_name level 5 (cell type) level 4 (supertype) level 3 (subclass) level 2 (neighborhood) level1 (class)
1 1_MSN     D1-Matrix D1-MSN MSN

Table for editing

(Ontology term mappings added for illustration)

annotationSet* rank* cell_set_accession* cell_type_name** parent_cell_set_accession*^ parent_cell_set_name^ classifying_ontology_term_id*^ classifying_ontology_term_name^
cluster 0 AIT115_1 1_MSN AIT115_401 D1-Matrix
level 3 (subclass) 1 AIT115_401 D1-Matrix AIT115_402 D1-MSN CL:4030043 matrix D1 medium spiny neuron
level 2 (neighborhood) 2 AIT115_402 D1-MSN AIT115_403 MSN CL:4023026 direct pathway medium spiny neuron
level 1 (class) 3 AIT115_403 MSN CL:1001474 medium spiny neuron

Functionality

* Columns for reference (not editable (?) * Manually edited string ^ Autosuggest over names (of cell sets or ontology terms) ^ Set by autosuggest over names (of cell set or ontology terms)

Problems to solve

  1. Accessions minting:
    • For the clusters we can use {taxonomyname}(cluster_id).
      • Note - this requires cluster ID uniqueness which is not provided here (The numbering starts from 1 again for NN). We should make this a requirement for source tables.
  2. What do we do when more levels are specified than are used? How will editing parent cell set work if there's a gap In this case as levels 4 and 5 are entirely unused, I suggest the recommendation be that they be left out of the config
  3. Adding a new row
  4. In the original table additional columns only apply to the cluster level - should they be kept as editable in the cluster table.
dosumis commented 1 year ago

@hkir-dev - please review.

dosumis commented 1 year ago

Update - switching column names to use latest generic schema + proposed BICAN extensions (also see subtickets). Note - field (column) names may be subject to change.

annotation_set* rank* cell_set_accession* cell_label** cell_fullname parent_cell_set_accession*^ parent_cell_set_name^ cell_ontology_term_id*^ cell_ontology_term^
cluster 0 AIT115_1 1_MSN AIT115_401 D1-Matrix
level 3 (subclass) 1 AIT115_401 D1-Matrix AIT115_402 D1-MSN CL:4030043 matrix D1 medium spiny neuron
level 2 (neighborhood) 2 AIT115_402 D1-MSN AIT115_403 MSN CL:4023026 direct pathway medium spiny neuron
level 1 (class) 3 AIT115_403 MSN CL:1001474 medium spiny neuron