 syntax="proto3";
 package
// metamodel_version: 1.7.0
// A collection of fields recording a cell type/class/state annotation on some set of cells, supporting evidence and provenance. As this is intended as a general schema, compulsory fields are kept to a minimum. However, tools using this schema are encouarged to specify a larger set of compulsory fields for publication.    Note: This schema deliberately allows for additional fields in order to support ad hoc user fields, new formal schema extensions and project/tool specific metadata.
message Annotation
 {
  string labelset = 0
  string cellLabel = 0
  string cellFullname = 0
  cellTypeEnum cellOntologyTermId = 0
  string cellOntologyTerm = 0
 repeated  string cellIds = 0
  string rationale = 0
 repeated  string rationaleDois = 0
 repeated  string markerGeneEvidence = 0
 repeated  string synonyms = 0
 repeated  review reviews = 0
  any authorAnnotationFields = 0
 }
// A set of fields for recording the details of the automated annotation algorithm used. (Common 'automated annotation methods' would include PopV, Azimuth, CellTypist, scArches, etc.)
message AutomatedAnnotation
 {
  string algorithmName = 0
  string algorithmVersion = 0
  string algorithmRepoUrl = 0
  string referenceLocation = 0
 }
message CapAnnotation
 {
  string labelset = 0
  string cellLabel = 0
  string cellFullname = 0
  cellTypeEnum cellOntologyTermId = 0
  string cellOntologyTerm = 0
 repeated  string cellIds = 0
  string rationale = 0
 repeated  string rationaleDois = 0
 repeated  string markerGeneEvidence = 0
 repeated  string synonyms = 0
 repeated  review reviews = 0
  any authorAnnotationFields = 0
 repeated  string canonicalMarkerGenes = 0
  boolean cellOntologyExists = 0
  string categoryFullname = 0
  boolean categoryCellOntologyExists = 0
  string categoryCellOntologyTermId = 0
  string categoryCellOntologyTerm = 0
  string cellOntologyAssessment = 0
 }
message CapTaxonomy
 {
  string matrixFileId = 0
  string title = 0
  string description = 0
  string authorList = 0
  string authorName = 0
  string authorContact = 0
  string orcid = 0
 repeated  labelset labelsets = 0
  string capPublicationTitle = 0
  string capPublicationDescription = 0
  string capPublicationUrl = 0
  string capDatasetUrl = 0
  string publicationTimestamp = 0
  string publicationVersion = 0
 repeated  capAnnotation annotations = 0
  string cellannotationSchemaVersion = 0
  string cellannotationTimestamp = 0
  string cellannotationVersion = 0
  string cellannotationUrl = 0
 }
message Labelset
 {
  string name = 0
  string description = 0
  annotationMethodOptions annotationMethod = 0
  automatedAnnotation automatedAnnotation = 0
 }
message Review
 {
  string datestamp = 0
  string reviewer = 0
  reviewOptions review = 0
  string explanation = 0
 }
message Taxonomy
 {
  string matrixFileId = 0
  string title = 0
  string description = 0
  string cellannotationSchemaVersion = 0
  string cellannotationTimestamp = 0
  string cellannotationVersion = 0
  string cellannotationUrl = 0
  string authorList = 0
  string authorName = 0
  string authorContact = 0
  string orcid = 0
 repeated  labelset labelsets = 0
 repeated  annotation annotations = 0
 }
