A senotype, or senescence associated secretory phenotype, is a cellular senescence functional definition and associated multidimensional description. A senotype associates a phenotype with a disease; a set of markers (genes or proteins) expressed by cell types in an anatomic location; and an assay.
A senotype can be represented as a knowledge graph of relationships between entities. The entities and relationships of a senotype can be encoded from standard biomedical vocabularies. For example, the markers associated with a senotype can be identified with codes from HGNC and UniProt, with a relationship defined by the Relations Ontology.
Senotype definitions are maintained in the Senotype library. Senotype definitions are stored in Senlib in JSON format and conform to the schema defined in the senlib GitHub repository.
As described in the senlib provenance model, a senotype corresponds to a set of submission files that represent different versions of the evolving definition of the senotype. A senotype submission corresponds to a version of a senotype definition.
Because each version of a senotype can be published by associating it with a Digital Object Identifier (DOI) in DataCite, the fundamental level of organization in the Senlib database is the submission. Each submission has a unique SenNet identifier in both SenNet and the Senlib database.
The Senotype Editor application allows users to manage senotype definitions in the Senlib database. Because the majority of the data in a senotype definition is categorical, most of the work of defining a senotype will involve the selection of values from lists.
{screen capture of Edit page}
With the Senotype Editor, users can:
The Senotype Editor offers two types of tools:
{annotated screen capture: Editor page, pointing out Navigator and Definition sections}
The Senotype Library Navigator represents the Senotype library with an expandable tree view. The Navigator organizes the different submissions of a senotype definition in version order.
The Senotype Definition composes the remainder of the Senotype Editor. The Senotype Definition section allows the user to build or revise a senotype definition. The components of the Definition section are linked to both the data of a particular senotype submission and to possible values for data.
Because most of a senotype definition is encoded, another role of the Definition section is to translate the codes of a senotype definition into descriptive terms.
Two rules govern whether a user can edit a senotype submission.
A senotype definition is represented in the Navigator tree with a folder node ( ). Expanding the node for a senotype definition
displays the senotype submissions associated with the definition.
Senotype submission files are represented with a file node ( ). Submission nodes are organized hierarchically in terms of provenance
in the Senlib database. If a submission has a predecessor, the node for the submission can be expanded to view the
predecessor.
When the user selects a submission file node in the Navigator, the Senotype Editor will load data for the submission into the Definition section.
The icon next to a submission node indicates whether the submission can be edited.
A senotype definition will have, at most, one version (submission file) that can be edited.
Even if a senotype submission is potentially editable, only authorized users may edit it.
If a senotype shows a “prohibited” icon ( ), the user is not authorized to edit the submission file.
Although the data for the submission will still display in the Definition section, controls will be disabled.
The last node in the Navigator allows the user to define a new senotype. The Editor will load into the Definition section defaults for the new submission, including:
If all of the versions (submission files) of a senotype definition have been published, the user can use the new version button at the bottom right of the Navigator to create a new, editable version. The Editor will load into the Definition section:
A user will be able to create a new version of a senotype definition even if the latest version of the senotype was created by another user.
The user can edit the name and description for the submission. The Navigator will use the name for the latest version of a senotype definition as the name of the definition node.
The DOI section allows the user to associate the senotype submission with a DOI in DataCite.
Clicking the button will launch a search window.
The search window will search DataCite for a DOI with ID that matches the value that the user enters in the Enter query… input. Because all senotype DOIs will have the same DataCite provider (e.g, 10.6586), the search window only needs the unique portion of the DOI.
For example, if the DOI’s full URL is https://doi.org/10.60586/snt259.dzbl.489, only snt259.dzbl.489 is required as a search term.
If the search window finds a matching DOI in DataCite, it will display the title of the citation as a link. If the user clicks the link, the Editor will associate the senotype submission with the selected DOI.
The button in the search window opens the DataCite Commons search window.
When the user associates a DOI with a senotype submission, the Editor warns that saving the DOI with the submission will make the submission read-only.
The button allows the user to remove the DOI from the submission.
The bulk of the Definition section allows the definition of assertions.
Each input in the Definition section corresponds to an assertion in the senotype definition. For example, the Taxon input corresponds to the senotype definition’s in_taxon assertion.
There are four types of assertions. Each type has its own tool for selection.
The majority of a senotype definition’s assertions will be categorical–i.e., the possible values for the code of the object of the assertion will be in a valueset. For example, the categories for a senotype definition’s taxon might be the valueset {NCBI:9606, NCBI:10088}, corresponding to the codes for human and mouse.
Valueset-based assertions include:
assertion | vocabulary |
---|---|
taxon | NCBI |
location | UBERON |
cell type | CL |
hallmark | SENOTYPE |
molecular microenvironment | SENOTYPE |
inducer | SENOTYPE |
assay | OBI |
Because there can be multiple assertions of the same type, the inputs for valueset-based assertions are lists.
The button opens a select window that displays a list with the members of the valueset
associated with the assertion.
Selecting an element in the list in the select window adds the selected value to
the list for the assertion. The
button removes an element from the assertion list.
Context assertions allow the user to define ranges and units for an assertion.
. For example, the age assertion can be bounded to apply only to the range of 18 to 89 years.
The citation, origin, and dataset assertions are also encoded; however, the codes are not stored in valuesets, but are maintained in external sources.
The Senotype Editor queries APIs to obtain information on:
The external assertion input functions similarly to the DOI:
The search window for an external assertion finds matches in the external site for IDs:
assertion | source | type of ID |
---|---|---|
citation | PubMed | PMID |
origin | SciCrunch Resolver | RRID |
dataset | SenNet Data Portal | SenNet ID |
The button in an external search window links to the corresponding external site to facilitate finding an appropriate identifier.
A senotype definition has two types of markers:
Because it is anticipated that a senotype will be associated with many markers, the entire Markers section is collapsible.
Marker assertion management for both specified and regulating markers is similar:
A marker Search window searches for gene or protein markers.
The user can enter different types of identifiers for markers, including:
The Search window for regulating markers includes a field for type of regulating:
Bulk addition windows allow the user to load a large number of markers from a local CSV file that the user specifies.
The CSV used for bulk upload of specified markers must have the following structure:
column | values |
---|---|
type | either gene or protein |
id | * if a gene, the HGNC symbol * if a protein, the UniProtKB ID |
Example:
type,id
gene,BRCA1
protein,Q13201
The CSV used for bulk upload of regulating arkers must have the following structure:
column | values |
---|---|
type | either gene or protein |
id | * if a gene, the HGNC symbol * if a protein, the UniProtKB ID |
action | one of the following: * 1 for up regulation * 0 for inconclusive regulation * -1 for down regulation |
Example:
type,id,action
gene,BRCA1,1
protein,Q13201,0
gene,BRAF,-1
When the user clicks the Update/Create button at the bottom of the Definition section, the Editor validates the inputs.
If the data is invalid or incomplete, the Editor:
{screen capture: validation error}
The Editor verifies that:
If the data passed validation, the Editor: