Skip to content

Latest commit

 

History

History
57 lines (48 loc) · 1.68 KB

File metadata and controls

57 lines (48 loc) · 1.68 KB

API for Study Overview

List of Studies, Ontology Tree contents

In studyOverviewsList, the ontology Ids and ParentIds can be used to filter the list of studies for selected ontology terms (a selected parent term must match studies which have a more specialized term).

The treeTissuesList etc. contain all information to construct an ontology tree. The API filters the ontology for actual study annotations and their parent concepts, so that the tree contains concepts which yield search results. As the ontologies are not trees but networks (i.e. a node can have multiple parents), the API performs an additional step to force the nodes into a tree structure (settling on parents with most relevance only). We also tried an ontology browser UI that allowed to browser multiple parents for a "current node", and we found that this UI was too confusing.

query OverviewPage  {
  studyOverviewsList {
    studyId
    studyName
    description
    cellCount
    studyOntologyList {
      ontCodes
      labels
      ontology
      parentIds
    }
  }
  treeOntologiesList {
    label
    ontCode
    ontology
    parentOntCodePath
  }
}

Autocomplete Search

In the search bar, users can enter disease, tissue, cell type concept labels and synonyms. The API presents a couple of matching concepts for the typed characters. For selected concepts, the UI can keep the Ids and filter the study list (using Ids and ParentIds).

query Autocomplete {
  autocompleteList(searchQuery: "pan") {
    ontology
    ontCode
    label
    labelHighlight
    isSynonymOfPreferredTerm
  }
}

TODO: we can also restrict the search results on actual study annotation data, as in the tree structures above.