diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/404.html b/404.html new file mode 100644 index 000000000..ecf39d173 --- /dev/null +++ b/404.html @@ -0,0 +1,987 @@ + + + +
+ + + + + + + + + + + + + + +NOTE To add PRO terms, please follow first the instructions to add the terms into pro obo slim.
+NB: Even though the instructions state that this workflow is to be avoided, the other solutions in the current documentation are out of date.
+To refresh the imports, open Docker so it is running in the background. Then open Terminal, navigate to src/ontology directory in the cell-ontology repository and run:
+sh run.sh make imports/merged_import.owl
Running the above command requires > 8GB RAM and sufficient computational power. If the refresh fails to complete due to hardware limitations, create a new issue in GitHub detailing which class(es) need to be imported and another editor can add it on your behalf.
+Once the imports are refreshed, return to Protégé, add the logical axioms that include the newly imported class(es) and create a pull request per standard procedure.
+Note that the import refresh process seems to be quite laborious/computationally expensive as-is, and a centralised database approach may be an improved longterm solution.
+ + + + + + + + + + + + + +An upper slim is a set of terms for summarising annotations. CL has both a general slim and domain-specific slims allowing for the generation of general summaries or for domain specific ones. All slims have a context that covers all cells in the domain of interest. In order to fullfil the summarising use-case, a slim should have good % coverage of the domain and, if possible, avoid excluding major cell types. The following are potentially a problem for the grouping use-case:
+Potential clashing concerns: It seems reasonable to want to make sure that very important cell types are covered and are not obscured in generating summaries, but this desire can clash with the considerations above. Some judgement is needed to balance these concerns.
+There is no perfect solution, but some solutions are better (at fulfilling the use case) than others.
+It is important that the name of the slim accurately reflects the content it covers. Specifically, if the intention is to cover all cell types that are specific for an organ, the slim's name should be in the format of "organ_upper_slim". This ensures clarity and helps users understand the scope of the slim.
+Furthermore, the description of the slim should follow a consistent pattern. It is recommended to use the following structure: "a subset of general classes related to specific cell types in the [organ or specific context]". This format provides a concise and informative description of the slim, helping users identify its purpose and content.
+src/templates
):ID | +subset | +label | +
---|---|---|
ID | +AI oboInOwl:inSubset | ++ |
CL:####### | +http://purl.obolibrary.org/obo/cl#XXX_upper_slim | +CL term | +
... | +http://purl.obolibrary.org/obo/cl#XXX_upper_slim | +... | +
Save the CSV file with the name 'XXX_upper_slim.csv' in the src/templates
directory.
Modify src/ontology/cl-odk.yaml
introducing new lines for the new slim (change "XXX" to the subset label):
- id: XXX_upper_slim
- filename: XXX_upper_slim.owl
+ use_template: True
+ templates:
+ - XXX_upper_slim.csv
![image](https://github.com/obophenotype/cell-ontology/assets/94959119/254ad25f-7bf2-4ac2-afe2-9ad067d9c1ea)
+
+src/ontology
file in the terminal. Make sure Docker is running.sh run.sh make update_repo
src/ontology/catalog-v001.xml
file.<uri name="http://purl.obolibrary.org/obo/cl/components/XXX_upper_slim.owl" uri="components/XXX_upper_slim.owl"/>`
+ -
src/ontology/cl-edit.owl
.Add the following import statement (change "XXX" to the subset label):
+Import(<http://purl.obolibrary.org/obo/cl/components/XXX_upper_slim.owl>)
+
Run the command:
+sh run.sh make all_subsets -B
+ - Alternatively, run the following command to run it anyway even if it says it is up to date (change "XXX" to the subset label):
sh run.sh make components/XXX_upper_slim.owl -B
src/ontology/cl.Makefile
.Add the subset label to SLIM_TEMPLATES (without _upper_slim!!!).
+ +Add the term that will be used to test coverage
+ +Add:
+$(REPORTDIR)/XXX_upper_slim.csv: $(TEMPLATEDIR)/XXX_upper_slim.csv
+ $(eval TERM_ID := $(YYY))
+ $(COVERAGECMD)
+ (substitute "XXX" to the subset label and YYY for the tested label)
![image](https://github.com/obophenotype/cell-ontology/assets/94959119/7eb18255-0ef7-4fbc-9f7f-e582372165bf)
+
+src/ontology
.Run the command:
+sh run.sh make slim_coverage
The reports can be accessed at src/ontology/reports/XXX_upper_slim.csv
. First, the coverage percentage is displayed, indicating the proportion of cells covered. Secondly, the number of cells covered by each term of the subset is provided. Finally, a list is presented, indicating all the terms that were expected to be covered but are not currently included.
Ideally, terms would have more than 1 cell covered. Furthermore, a term covering hundreds of cells might indicate that it is too general, and a more specific term (or multiple) should be evaluated, specially if it overlaps with other terms of the subset. Example: For the eye_upper_slim, 'retinal cell' is a (too) general term that overlaps other grouping terms such as 'retinal bipolar neuron', 'retina horizontal cell' or 'amacrine cell'.
+In the case that there is overlapping of terms (term A in the subset covers term B of the subset), a coverage file will be created and it can be accessed at src/ontology/reports/overlapping_terms_XXX_upper_slim.csv
.
^^xsd:string
Diffs¶When you make edits, sometimes there will be large amounts of unintended differences that show up that involves the removal of ^^xsd:string
. If so, you can resolve them by following normalising your cl-edit.owl file.
Update your file from Master (see 'How to resolve merge conflicts' for instructions on how to do this including how to resolve clashes while doing this).
+in the terminal, set directory to the ontology folder in CL: cd .../GitHub/cell-ontology/src/ontology
Run the normaliser in terminal:
+If you have docker installed: sh run.sh make normalise_xsd_string
If you do not have docker installed: make normalise_xsd_string
If make is not installed, on MAC:
+sed -i '' -E "s/Annotation[(](oboInOwl[:]hasDbXref [\"][^\"]*[\"])[)]/Annotation(\1^^xsd:string)/g" cl-edit.owl
+
+This should resolve your ^^xsd:string
issue, after which, you can handle your pull request as per usual.
Cell ontology identifiers (IRIs) are never lost, but they are occasionally deprecated. On the rare occasions that this happens, all logical links to other ontology terms (e.g. recording classification or partonomy) are removed and term is tagged with the annotation owl:deprecated True
. To aid migration of annotations to the latest standard, these terms are also annotated with either a term_replaced_by
or a consider
tag. A term_replaced_by
annotation is used to record the ID of a term it is safe to auto-migrate annotations to. More rarely, consider
is used to record multiple potential replacement terms requiring human consideration to map. In these cases, a comment will be present to provide guidance for mapping.
The Ontology Lookup Service API provides a convenient way to check for deprecated terms & find replacements.
+The term http://purl.obolibrary.org/obo/CL_0000375 has been deprecated and has that tag term_replaced_by
+Querying the OLS API for this:
+https://www.ebi.ac.uk/ols/api/ontologies/cl/terms/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FCL_0000375. (Note the query IRI must be double encoded)
+Returns:
+{
+ "iri" : "http://purl.obolibrary.org/obo/CL_0000375",
+ "label" : "obsolete osteoprogenitor cell",
+ "description" : null,
+ "annotation" : {
+ "database_cross_reference" : [ "BTO:0002051" ],
+ "has_obo_namespace" : [ "cell" ],
+ "term replaced by" : [ "CL:0007010" ]
+ },
+ "synonyms" : null,
+ "ontology_name" : "cl",
+ "ontology_prefix" : "CL",
+ "ontology_iri" : "http://purl.obolibrary.org/obo/cl.owl",
+ "is_obsolete" : true,
+ "term_replaced_by" : "CL:0007010",
+ "is_defining_ontology" : true,
+ "has_children" : false,
+ "is_root" : true,
+ "short_form" : "CL_0000375",
+ "obo_id" : "CL:0000375",
+ "in_subset" : null,
+ "obo_definition_citation" : null,
+ "obo_xref" : [{"database":"BTO","id":"0002051","description":null,"url":"http://purl.obolibrary.org/obo/BTO_0002051"}],
+ "obo_synonym" : null,
+ "is_preferred_root" : false,
+ "_links" : {
+ "self" : {
+ "href" : "https://www.ebi.ac.uk/ols/api/ontologies/cl/terms/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FCL_0000375"
+ },
+ "graph" : {
+ "href" : "https://www.ebi.ac.uk/ols/api/ontologies/cl/terms/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FCL_0000375/graph"
+ }
+ }
+}
+
+The term_replaced_by key points to the ID of a safe replacement term: CL:0007010. This is a CURIE for http://purl.obolibrary.org/obo/CL_0007010 *
+consider
+The term http://purl.obolibrary.org/obo/CL_0000144 has been deprecated and has a consider tag pointing to multiple possible replacement terms, along with a comment for guidance.
+Querying the OLS API for this: https://www.ebi.ac.uk/ols/api/ontologies/cl/terms/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FCL_0000144
+Returns
+{
+ "iri" : "http://purl.obolibrary.org/obo/CL_0000144",
+ "label" : "obsolete cell by function",
+ "description" : [ "OBSOLETE: A classification of cells by their primary end goal or behavior." ],
+ "annotation" : {
+ "comment" : [ "This term was made obsolete because there is no difference in meaning between it and 'cell', as any cell can be classified by its function or behavior. If you have used this term in annotation, please replace it with cell (CL:0000000), native cell (CL:0000003), or cell in vitro (CL:0001034) as appropriate." ],
+ "consider" : [ "CL:0001034", "CL:0000000", "CL:0000003" ],
+ "has_obo_namespace" : [ "cell" ]
+ },
+ "synonyms" : null,
+ "ontology_name" : "cl",
+ "ontology_prefix" : "CL",
+ "ontology_iri" : "http://purl.obolibrary.org/obo/cl.owl",
+ "is_obsolete" : true,
+ "term_replaced_by" : null,
+ "is_defining_ontology" : true,
+ "has_children" : false,
+ "is_root" : true,
+ "short_form" : "CL_0000144",
+ "obo_id" : "CL:0000144",
+ "in_subset" : null,
+ "obo_definition_citation" : [{"definition":"OBSOLETE: A classification of cells by their primary end goal or behavior.","oboXrefs":[{"database":"FB","id":"ma","description":null,"url":"http://flybase.org/reports/ma.html"}]}],
+ "obo_xref" : null,
+ "obo_synonym" : null,
+ "is_preferred_root" : false,
+ "_links" : {
+ "self" : {
+ "href" : "https://www.ebi.ac.uk/ols/api/ontologies/cl/terms/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FCL_0000144"
+ },
+ "graph" : {
+ "href" : "https://www.ebi.ac.uk/ols/api/ontologies/cl/terms/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FCL_0000144/graph"
+ }
+ }
+}
+
+* Warning - due to legacy issues, the values of these tags are either a curie (CL:0000123) or short_form ID (CL_0000123) rather than an iri. Handling code needs to deal with both of these formats.
+ + + + + + + + + + + + + +Note- this page is currently under development.
+The Cell Ontology has the following annotation properties:
+Annotation property | +Description | +Example term | +Example annotation | +Must have? | +Only one use per term is allowed? | +
---|---|---|---|---|---|
consider | +To be used on obsoleted classes, to point to a term that should be considered by curators for use in place of the obsoleted term. Multiple consider terms are allowed. It can be useful to combine this with a comment to indicate when replacement would be appropriate. | +CL:0000610 obsolete plant cell |
+PO:0009002 | +No | +No | +
created_by | +Added automatically on term creation with standard Protege settings. Ideally, this should use the "supplied user name" in the Protege User Details preference pane. This has been inconsistently applied in the past. | +CL:0002518 | +tmeehan | +Should | +Yes | +
creation_date | +Added automatically on term creation with standard Protege settings. | +CL:0002518 | +2011-02-08T10:46:34Z | +Should | +Yes | +
database_cross_reference | +Citable references that have helped generate the term and term's definition. Includes PubMed IDs (in the format PMID:XXXXXXXX). | +CL:0011005 GABAergic interneuron |
+PMID:29724907 | +Should | +No | +
dc:contributor | +Use this to annotate a whole ontology file with the identifier of a contributor. ORCID preferred. | +N/A | +https://orcid.org/0000-0001-9990-8331 | +Nice to have, if applicable | +No | +
dc:creator | +Coming Soon | +CL:0001201 B cell, CD19-positive |
+https://orcid.org/0000-0001-9990-8331 | +No | +Yes | +
dc:date | +Coming soon | +CL:0001065 innate lymphoid cell |
+2017-01-30T20:20:48Z | +No | +Yes | +
dc:description | +Use this to annotate a whole ontology file with a brief description of the ontology. | +N/A | +An ontology of cell types. | +No | +No | +
dc:title | +Use this to annotate an ontology, giving it a human readable title. | +N/A | +Cell Ontology | +No | +No | +
dcterms:license | +Use to attach a license to the whole ontology file. | +N/A | +http://creativecommons.org/licenses/by/4.0/ | +No | +No | +
definition | +The textual definition for the ontology class. | +CL:0000946 antibody secreting cell |
+A lymphocyte of B lineage that is devoted to secreting large amounts of immunoglobulin. | +Must | +Yes | +
'expand expression to' | +Coming soon | +Coming soon | +Coming soon | +No | +No | +
foaf:depicted_by | +Use this to add a link to an image that depicts an example of an entity referred to by the term | +Coming soon | +Coming soon | +No | +No | +
has_alternative_id | +In CL this is a legacy property. Do not use. | +CL:0000059 ameloblast |
+CL:0000053 | +No | +No | +
has_broad_synonym | +Used for synonyms where the primary definition accurately describes the synonym, but the definition of the synonym may encompass other structures as well. In some cases where a broad synonym is given, it will be a broad synonym for more than one ontology term. You are encouraged to add a reference that uses the term in this way. | +CL:0000365 animal zygote |
+zygote | +No | +No | +
has_exact_synonym | +Used for synonyms where the definition of the synonym is exactly the same as primary term definition. This is used when the same class can have more than one name. You are encouraged to add a reference that uses the term in this way. | +CL:0000622 acinar cell |
+acinic cell | +Nice to have, if applicable | +No | +
has_narrow_synonym | +Used for synonyms where the definition of the synonym is the same as the primary definition, but has additional qualifiers. You are encouraged to add a reference that uses the term in this way. | +CL:0000362 epidermal cell |
+epithelial cell of skin | +No | +No | +
has_obo_namespace | +This is a legacy annotation property. Do not add this manually. | +CL:0001061 abnormal cell |
+cell | +No | +No | +
has_related_synonym | +This scope is applied when a word of phrase has been used synonymously with the primary term name in the literature, but the usage is not strictly correct. That is, the synonym in fact has a slightly different meaning than the primary term name. Since users may not be aware that the synonym was being used incorrectly when searching for a term, related synonyms are included. | +CL:0000902 induced T-regulatory cell |
+adaptive Treg | +No | +No | +
has_synonym_type | +The target of this relation must be an annotation property of type 'synonym_type_property'. | +N/A | +N/A | +No | +No | +
IAO_0000116 | +Coming soon | +Coming soon | +Coming soon | +No | +No | +
id | +Automatically added by some pathways. Do not add manually. If duplicating a term (with the duplicate getting a new ID), it should be deleted. | +CL:2000074 splenocyte |
+CL:2000074 | +Yes | +Yes | +
in_subset | +Used to add subset tags, used in conjunction with subset_property | +CL:0000039 germ line cell |
+_upper_level | +No | +No | +
is_inferred | +This annotation property is used in some automated pipelines. Do not add manually | +Coming soon | +Coming soon | +No | +No | +
rdfs:comment | +Use to add a clarifying comment to a term. This can be useful for adding examples and for clarifying terminological confusions. | +CL:0007016 adaxial cell |
+In teleosts, adaxial cells give rise to slow muscle myoblasts. | +No | +Yes | +
rdfs:isDefinedBy | +Do not add manually. | +Coming soon | +Coming soon | +No | +Yes | +
rdfs:label | +Primary name - used as a display name by Protege (with standard settings) and most downstream consumers. Add only one of these. It must be unique within an ontology. | +CL:0000418 arcade cell |
+arcade cell | +Must | +Yes | +
RO_0002161 | +Coming soon | +Coming soon | ++ | No | +No | +
'see also' | +Used to link to a webpage, such as a GitHub ticket. | +CL:0000134 mesenchymal stem cell |
+https://github.com/obophenotype/cell-ontology/issues/474 | +No | +No | +
shorthand | +Added automatically by some pipelines. Do not add manually | +Coming soon | +Coming soon | +No | +No | +
subset_property | +A grouping class for subset tags. | +N/A | +N/A | +No | +No | +
subset_property: added_for_HCA | +A subset tag for terms that were requested by the Human Cell Atlas. | +N/A | +N/A | +No | +No | +
subset property: location_grouping | +A subset tag for cell types from a particular anatomical location. | +N/A | +N/A | +No | +No | +
synonym_type_property | +A grouping class for synonym tags. | +N/A | +N/A | +No | +No | +
'term replaced by' | +To be used on obsolete terms to indicate a term that can be automatically substituted for the obsoleted term. | +Coming soon | +Coming soon | +No | +No | +
{"use strict";/*!
+ * escape-html
+ * Copyright(c) 2012-2013 TJ Holowaychuk
+ * Copyright(c) 2015 Andreas Lubbe
+ * Copyright(c) 2015 Tiancheng "Timothy" Gu
+ * MIT Licensed
+ */var Va=/["'&<>]/;qn.exports=za;function za(e){var t=""+e,r=Va.exec(t);if(!r)return t;var o,n="",i=0,a=0;for(i=r.index;i