From 972f4d81642eca30da5266b400b7cbd222c65848 Mon Sep 17 00:00:00 2001 From: Philippe Rocca-Serra Date: Mon, 23 Oct 2023 11:59:47 +0100 Subject: [PATCH] adding back schemas --- .../schemas/v1.0.1/assay_schema.json | 71 +++++++++++ .../schemas/v1.0.1/comment_schema.json | 20 +++ .../resources/schemas/v1.0.1/data_schema.json | 43 +++++++ .../schemas/v1.0.1/factor_schema.json | 26 ++++ .../schemas/v1.0.1/factor_value_schema.json | 33 +++++ .../schemas/v1.0.1/investigation_schema.json | 63 ++++++++++ .../v1.0.1/material_attribute_schema.json | 17 +++ .../material_attribute_value_schema.json | 33 +++++ .../schemas/v1.0.1/material_schema.json | 40 ++++++ .../v1.0.1/ontology_annotation_schema.json | 34 +++++ .../ontology_source_reference_schema.json | 32 +++++ .../schemas/v1.0.1/organization_schema.json | 17 +++ .../schemas/v1.0.1/person_schema.json | 34 +++++ .../process_parameter_value_schema.json | 33 +++++ .../schemas/v1.0.1/process_schema.json | 82 +++++++++++++ .../v1.0.1/protocol_parameter_schema.json | 23 ++++ .../schemas/v1.0.1/protocol_schema.json | 62 ++++++++++ .../schemas/v1.0.1/publication_schema.json | 27 ++++ .../schemas/v1.0.1/sample_schema.json | 39 ++++++ .../schemas/v1.0.1/source_schema.json | 26 ++++ .../resources/schemas/v1.0.1/study_group.json | 35 ++++++ .../schemas/v1.0.1/study_schema.json | 116 ++++++++++++++++++ 22 files changed, 906 insertions(+) create mode 100644 isatools/resources/schemas/v1.0.1/assay_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/comment_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/data_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/factor_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/factor_value_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/investigation_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/material_attribute_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/material_attribute_value_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/material_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/ontology_annotation_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/ontology_source_reference_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/organization_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/person_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/process_parameter_value_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/process_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/protocol_parameter_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/protocol_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/publication_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/sample_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/source_schema.json create mode 100644 isatools/resources/schemas/v1.0.1/study_group.json create mode 100644 isatools/resources/schemas/v1.0.1/study_schema.json diff --git a/isatools/resources/schemas/v1.0.1/assay_schema.json b/isatools/resources/schemas/v1.0.1/assay_schema.json new file mode 100644 index 00000000..29ed6f8e --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/assay_schema.json @@ -0,0 +1,71 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/assay_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "ISA Assay JSON Schema", + "name": "ISA Assay JSON Schema", + "description": "JSON Schema describing an ISA model Assay object", + "type": "object", + "properties": { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["Assay"] }, + "filename" : { "type" : "string" }, + "measurementType" : { + "$ref": "ontology_annotation_schema.json#" + }, + "technologyType" : { + "$ref": "ontology_annotation_schema.json#" + }, + "technologyPlatform" : { "type" : "string"}, + "dataFiles" : { + "type": "array", + "items" : { + "$ref": "data_schema.json#" + } + }, + "materials": { + "type": "object", + "properties": { + "samples": { + "type": "array", + "items": { + "$ref": "sample_schema.json#" + } + }, + "otherMaterials": { + "type": "array", + "items": { + "$ref": "material_schema.json#" + } + } + } + }, + "characteristicCategories": { + "description": "List of all the characteristics categories (or material attributes) defined in the study, used to avoid duplication of their declaration when each material_attribute_value is created. ", + "type": "array", + "items": { + "$ref": "material_attribute_schema.json#" + } + }, + "unitCategories": { + "description": "List of all the unitsdefined in the study, used to avoid duplication of their declaration when each value is created. ", + "type": "array", + "items": { + "$ref": "ontology_annotation_schema.json#" + } + }, + "processSequence": { + "type": "array", + "items" : { + "$ref" : "process_schema.json#" + } + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/comment_schema.json b/isatools/resources/schemas/v1.0.1/comment_schema.json new file mode 100644 index 00000000..856d7f6e --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/comment_schema.json @@ -0,0 +1,20 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/comment_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "ISA Comment schema - it corresponds to ISA Comment[] construct", + "name" : "ISA Comment schema", + "description": "JSON-schema representing an ISA model Comment object", + "type": "object", + "properties": { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["Comment"] }, + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/data_schema.json b/isatools/resources/schemas/v1.0.1/data_schema.json new file mode 100644 index 00000000..09d99929 --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/data_schema.json @@ -0,0 +1,43 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/data_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "ISA Data schema", + "name" : "ISA Data schema", + "description": "JSON-schema representing an ISA model Data object", + "type": "object", + "properties": { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["Data"] }, + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "Raw Data File", + "Derived Data File", + "Image File", + "Acquisition Parameter Data File", + "Derived Spectral Data File", + "Protein Assignment File", + "Raw Spectral Data File", + "Peptide Assignment File", + "Array Data File", + "Derived Array Data File", + "Post Translational Modification Assignment File", + "Derived Array Data Matrix File", + "Free Induction Decay Data File", + "Metabolite Assignment File", + "Array Data Matrix File" + ] + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/factor_schema.json b/isatools/resources/schemas/v1.0.1/factor_schema.json new file mode 100644 index 00000000..4723aca3 --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/factor_schema.json @@ -0,0 +1,26 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/factor_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "ISA Factor schema", + "name": "ISA Factor schema", + "description": "JSON-schema representing an ISA model Factor object", + "type": "object", + "properties": { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["Factor"] }, + "factorName": { + "type": "string" + }, + "factorType": { + "$ref": "ontology_annotation_schema.json#" + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} diff --git a/isatools/resources/schemas/v1.0.1/factor_value_schema.json b/isatools/resources/schemas/v1.0.1/factor_value_schema.json new file mode 100644 index 00000000..d9cb840e --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/factor_value_schema.json @@ -0,0 +1,33 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/factor_value_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "ISA Factor Value schema", + "name": "ISA Factor Value schema", + "description": "JSON-schema representing an ISA model Factor Value object", + "type": "object", + "properties": { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["FactorValue"] }, + "category" : { + "$ref": "factor_schema.json#" + }, + "value": { + "anyOf" : [ + { "$ref": "ontology_annotation_schema.json#"}, + { "type": "string"}, + { "type": "number"} + ] + }, + "unit": { + "$ref": "ontology_annotation_schema.json#" + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/investigation_schema.json b/isatools/resources/schemas/v1.0.1/investigation_schema.json new file mode 100644 index 00000000..9b3933e7 --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/investigation_schema.json @@ -0,0 +1,63 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/investigation_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title" : "ISA investigation schema", + "name" : "ISA Investigation schema", + "description" : "JSON-schema representing an ISA mode Investigation object", + "type" : "object", + "properties" : { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["Investigation"] }, + "filename": { "type" : "string"}, + "identifier" : { "type" : "string" }, + "title" : { "type" : "string"}, + "description" : { "type" : "string"}, + "submissionDate" : { + "anyOf": [ + { "type": "string", "format": "date-time"}, + { "type": "string", "format": "date"}, + { "type": "string", "maxLength": 0 } + ]}, + "publicReleaseDate" : { + "anyOf": [ + { "type": "string", "format": "date-time"}, + { "type": "string", "format": "date"}, + { "type": "string", "maxLength": 0 } + ]}, + "ontologySourceReferences" : { + "type" : "array", + "items" : { + "$ref": "ontology_source_reference_schema.json#" + } + }, + "publications" : { + "type" : "array", + "items" : { + "$ref": "publication_schema.json#" + + } + }, + "people" : { + "type" : "array", + "items" : { + "$ref": "person_schema.json#" + + } + }, + "studies" : { + "type" : "array", + "items" : { + "$ref": "study_schema.json#" + + } + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/material_attribute_schema.json b/isatools/resources/schemas/v1.0.1/material_attribute_schema.json new file mode 100644 index 00000000..7e6c1fcb --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/material_attribute_schema.json @@ -0,0 +1,17 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/material_attribute_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title" : "ISA material attribute schema", + "name" : "ISA Material Attribute schema", + "description" : "JSON-schema representing a characteristics category (what appears between the brackets in Characteristics[]) in the ISA model", + "type" : "object", + "properties" : { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["MaterialAttribute"] }, + "characteristicType": { + "$ref": "ontology_annotation_schema.json#" + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/material_attribute_value_schema.json b/isatools/resources/schemas/v1.0.1/material_attribute_value_schema.json new file mode 100644 index 00000000..78365cdf --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/material_attribute_value_schema.json @@ -0,0 +1,33 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/material_attribute_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title" : "ISA Material Attribute schema", + "name" : "ISA Material Attribute schema", + "description" : "JSON-schema representing an ISA model material attribute (or characteristic) value object", + "type" : "object", + "properties" : { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["MaterialAttributeValue"] }, + "category" : { + "$ref": "material_attribute_schema.json#" + }, + "value": { + "anyOf" : [ + { "$ref": "ontology_annotation_schema.json#"}, + { "type": "string" }, + { "type": "number" } + ] + }, + "unit": { + "$ref": "ontology_annotation_schema.json#" + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/material_schema.json b/isatools/resources/schemas/v1.0.1/material_schema.json new file mode 100644 index 00000000..98c8b3a8 --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/material_schema.json @@ -0,0 +1,40 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/material_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title" : "ISA Material schema", + "name" : "ISA Material schema", + "description" : "JSON-schema representing an ISA model material object, which is not a source or a sample (as they have specific schemas) - this will correspond to 'Extract Name', 'Labeled Extract Name'", + "type" : "object", + "properties" : { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["Material"] }, + "name" : { "type" : "string" }, + "type": { + "type": "string", + "enum": [ + "Extract Name", + "Labeled Extract Name" + ] + }, + "characteristics" : { + "type" : "array", + "items" : { + "$ref": "material_attribute_value_schema.json#" + } + }, + "derivesFrom": { + "type" : "array", + "items" : { + "$ref": "material_schema.json#" + } + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/ontology_annotation_schema.json b/isatools/resources/schemas/v1.0.1/ontology_annotation_schema.json new file mode 100644 index 00000000..964eab2a --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/ontology_annotation_schema.json @@ -0,0 +1,34 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/ontology_annotation_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title" : "ISA ontology reference schema", + "name" : "ISA ontology reference schema", + "description" : "JSON-schema representing an ISA model Ontology Reference or annotation (for fields that are required to be ontology annotations)", + "type" : "object", + "properties" : { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["OntologyAnnotation"] }, + "annotationValue": { + "anyOf": [ + { "type": "string" }, + { "type": "number"} + ] + }, + "termSource" : { + "type" : "string", + "description" : "The abbreviated ontology name. It should correspond to one of the sources as specified in the ontologySourceReference section of the Investigation." + }, + "termAccession" : { + "type" : "string", + "format" : "uri-reference" + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/ontology_source_reference_schema.json b/isatools/resources/schemas/v1.0.1/ontology_source_reference_schema.json new file mode 100644 index 00000000..494694f0 --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/ontology_source_reference_schema.json @@ -0,0 +1,32 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/ontology_source_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title" : "ISA ontology source reference schema", + "name" : "ISA ontology source reference schema", + "description" : "JSON-schema representing an ISA model ontology reference object", + "type" : "object", + "properties" : { + "@id": { "type": "string", "format": "uri-reference"}, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["OntologySourceReference"] }, + "comments": { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + }, + "description": { + "type": "string" + }, + "file": { + "type": "string" + }, + "name": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/organization_schema.json b/isatools/resources/schemas/v1.0.1/organization_schema.json new file mode 100644 index 00000000..52abc094 --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/organization_schema.json @@ -0,0 +1,17 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/organization_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title" : "ISA Organization schema", + "name" : "ISA Organization schema", + "description" : "JSON-schema representing an ISA model organization object", + "type" : "object", + "properties" : { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["Organization"] }, + "name" : { + "type" : "string" + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/person_schema.json b/isatools/resources/schemas/v1.0.1/person_schema.json new file mode 100644 index 00000000..63f1fe3e --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/person_schema.json @@ -0,0 +1,34 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/person_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title" : "ISA Person schema", + "name" : "ISA Person schema", + "description" : "JSON-schema representing an ISA model Person Object", + "type" : "object", + "properties" : { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["Person"] }, + "lastName" : { "type" : "string"}, + "firstName" : { "type" : "string"}, + "midInitials" : { "type" : "string" }, + "email" : { "type" : "string", "format" : "email"}, + "phone" : { "type": "string"}, + "fax" : { "type" : "string" }, + "address" : { "type" : "string" }, + "affiliation" : { "type" : "string" }, + "roles" : { + "type" : "array", + "items" : { + "$ref": "ontology_annotation_schema.json#" + } + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/process_parameter_value_schema.json b/isatools/resources/schemas/v1.0.1/process_parameter_value_schema.json new file mode 100644 index 00000000..b08b8adb --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/process_parameter_value_schema.json @@ -0,0 +1,33 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/process_parameter_value_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title" : "ISA process parameter value schema", + "name" : "ISA Process Parameter Value schema", + "description" : "JSON-schema representing an ISA model Parameter Value (associated with a Protocol REF) object", + "type" : "object", + "properties" : { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["ParameterValue"] }, + "category" : { + "$ref": "protocol_parameter_schema.json#" + }, + "value": { + "anyOf" : [ + { "$ref": "ontology_annotation_schema.json#"}, + { "type": "string"}, + { "type": "number"} + ] + }, + "unit": { + "$ref": "ontology_annotation_schema.json#" + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/process_schema.json b/isatools/resources/schemas/v1.0.1/process_schema.json new file mode 100644 index 00000000..341860d1 --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/process_schema.json @@ -0,0 +1,82 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/process_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "ISA process or protocol application schema, corresponds to 'Protocol REF' columns in the study and assay files", + "name" : "ISA Process schema", + "description": "JSON-schema representing an ISA model Process (protocol application) object", + "type": "object", + "properties": { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["Process"] }, + "name": { + "type": "string" + }, + "executesProtocol": { + "$ref": "protocol_schema.json#" + }, + "parameterValues": { + "type": "array", + "items": { + "$ref" : "process_parameter_value_schema.json#" + } + }, + "performer": { + "type": "string" + }, + "date": { + "anyOf": [ + { "type": "string", "format": "date-time"}, + { "type": "string", "format": "date"}, + { "type": "string", "maxLength": 0 } + ]}, + "previousProcess" : { + "$ref" : "process_schema.json#" + }, + "nextProcess": { + "$ref" : "process_schema.json#" + }, + "inputs" : { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "source_schema.json#" + }, + { + "$ref": "sample_schema.json#" + }, + { + "$ref": "data_schema.json#" + }, + { + "$ref": "material_schema.json#" + } + ] + } + }, + "outputs" : { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "sample_schema.json#" + }, + { + "$ref": "data_schema.json#" + }, + { + "$ref": "material_schema.json#" + } + ] + } + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/protocol_parameter_schema.json b/isatools/resources/schemas/v1.0.1/protocol_parameter_schema.json new file mode 100644 index 00000000..67a23817 --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/protocol_parameter_schema.json @@ -0,0 +1,23 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/protocol_parameter_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title" : "ISA Protocol Parameter schema", + "name" : "ISA Protocol Parameter schema", + "description" : "JSON-schema representing an ISA model Protocol Parameter parameter object (i.e. category declared in the investigation file)", + "type" : "object", + "properties" : { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["ProtocolParameter"] }, + "parameterName": { + "$ref": "ontology_annotation_schema.json#" + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/protocol_schema.json b/isatools/resources/schemas/v1.0.1/protocol_schema.json new file mode 100644 index 00000000..c8a53a17 --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/protocol_schema.json @@ -0,0 +1,62 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/protocol_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "ISA Protocol schema", + "name": "ISA Protocol schema", + "description": "JSON-schema representing an ISA model Protocol object", + "type": "object", + "properties": { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["Protocol"] }, + "name": { + "type": "string" + }, + "protocolType": { + "$ref": "ontology_annotation_schema.json#" + }, + "description": { + "type": "string" + }, + "uri": { + "type": "string", + "format": "uri-reference" + }, + "version": { + "type": "string" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "protocol_parameter_schema.json#" + } + }, + "components": { + "type": "array", + "items": { + "type": "object", + "properties": { + "componentName": { + "type": "string" + }, + "componentType": { + "$ref": "ontology_annotation_schema.json#" + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + } + } + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/publication_schema.json b/isatools/resources/schemas/v1.0.1/publication_schema.json new file mode 100644 index 00000000..6400bb0f --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/publication_schema.json @@ -0,0 +1,27 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/publication_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title" : "ISA Publication schema", + "name" : "ISA Publication schema", + "description" : "JSON-schema representing an ISA model Publication object", + "type" : "object", + "properties" : { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["Publication"] }, + "pubMedID" : { "type" : "string" }, + "doi" : { "type" : "string"}, + "authorList" : { "type" : "string" }, + "title" : { "type" : "string" }, + "status" : { + "$ref": "ontology_annotation_schema.json#" + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} diff --git a/isatools/resources/schemas/v1.0.1/sample_schema.json b/isatools/resources/schemas/v1.0.1/sample_schema.json new file mode 100644 index 00000000..358e4742 --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/sample_schema.json @@ -0,0 +1,39 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/sample_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title" : "ISA Sample schema", + "name" : "ISA Sample schema", + "description" : "JSON-schema representing an ISA model Sample object (A sample represents a major output resulting from a protocol application other than the special case outputs of Extract or a Labeled Extract)", + "type": "object", + "properties" : { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["Sample"] }, + "name" : { "type" : "string" }, + "characteristics" : { + "type" : "array", + "items" : { + "$ref": "material_attribute_value_schema.json#" + } + }, + "factorValues" : { + "type" : "array", + "items" : { + "$ref" : "factor_value_schema.json#" + } + }, + "derivesFrom": { + "type" : "array", + "items" : { + "$ref": "source_schema.json#" + } + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/source_schema.json b/isatools/resources/schemas/v1.0.1/source_schema.json new file mode 100644 index 00000000..bd813b9f --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/source_schema.json @@ -0,0 +1,26 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/source_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title" : "ISA Source schema", + "name" : "ISA Source schema", + "description" : "JSON-schema representing an ISA model Source object (Sources are considered as the starting biological material used in a study)", + "properties" : { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference" }, + "@type" : { "type": "string", "enum": ["Source"] }, + "name" : { "type" : "string" }, + "characteristics" : { + "type" : "array", + "items" : { + "$ref": "material_attribute_value_schema.json#" + } + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/study_group.json b/isatools/resources/schemas/v1.0.1/study_group.json new file mode 100644 index 00000000..cb64325f --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/study_group.json @@ -0,0 +1,35 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/study_group_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title" : "ISA Study Group schema", + "name" : "ISA Study Group schema", + "description" : "JSON-schema representing an ISA model Study Group object (Study Group corresponds to combinations of factor levels)", + "properties" : { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference" }, + "@type" : { "type": "string", "enum": ["Study Group"] }, + "name" : { "type" : "string" }, + "factor_levels" : { + "type" : "array", + "items" : { + "$ref": "factor_value_schema.json#" + } + }, + "study_group_size": { + "type": "integer" + }, + "members": { + "type" : "array", + "items" : { + "$ref": "sample_schema.json#" + } + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/isatools/resources/schemas/v1.0.1/study_schema.json b/isatools/resources/schemas/v1.0.1/study_schema.json new file mode 100644 index 00000000..6bea2e33 --- /dev/null +++ b/isatools/resources/schemas/v1.0.1/study_schema.json @@ -0,0 +1,116 @@ +{ + "id": "https://raw.githubusercontent.com/ISA-tools/isa-api/master/isatools/resources/schemas/v1.0.1/study_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "ISA Study JSON schema", + "name" : "ISA Study JSON schema", + "description": "JSON Schema describing an ISA model Study object", + "type": "object", + "properties": { + "@id": { "type": "string", "format": "uri-reference" }, + "@context": { "type": "string", "format": "uri-reference"}, + "@type" : { "type": "string", "enum": ["Study"] }, + "filename" : { "type" : "string"}, + "identifier" : { "type" : "string" }, + "title" : { "type" : "string"}, + "description" : { "type" : "string"}, + "submissionDate" : { + "anyOf": [ + { "type": "string", "format": "date-time"}, + { "type": "string", "format": "date"}, + { "type": "string", "maxLength": 0 } + ]}, + "publicReleaseDate" : { + "anyOf": [ + { "type": "string", "format": "date-time"}, + { "type": "string", "format": "date"}, + { "type": "string", "maxLength": 0 } + ]}, + "publications" : { + "type" : "array", + "items" : { + "$ref": "publication_schema.json#" + } + }, + "people" : { + "type" : "array", + "items" : { + "$ref": "person_schema.json#" + + } + }, + "studyDesignDescriptors":{ + "type": "array", + "items" : { + "$ref": "ontology_annotation_schema.json#" + } + }, + "protocols" : { + "type": "array", + "items" : { + "$ref": "protocol_schema.json#" + } + }, + "materials": { + "type": "object", + "properties": { + "sources": { + "type": "array", + "items": { + "$ref": "source_schema.json#" + } + }, + "samples": { + "type": "array", + "items": { + "$ref": "sample_schema.json#" + } + }, + "otherMaterials": { + "type": "array", + "items": { + "$ref": "material_schema.json#" + } + } + } + }, + "processSequence": { + "type": "array", + "items" : { + "$ref" : "process_schema.json#" + } + }, + "assays" : { + "type": "array", + "items" : { + "$ref": "assay_schema.json#" + } + }, + "factors": { + "type": "array", + "items": { + "$ref": "factor_schema.json#" + } + }, + "characteristicCategories": { + "description": "List of all the characteristics categories (or material attributes) defined in the study, used to avoid duplication of their declaration when each material_attribute_value is created. ", + "type": "array", + "items": { + "$ref": "material_attribute_schema.json#" + } + }, + "unitCategories": { + "description": "List of all the units defined in the study, used to avoid duplication of their declaration when each value is created. ", + "type": "array", + "items": { + "$ref": "ontology_annotation_schema.json#" + } + }, + "comments" : { + "type": "array", + "items": { + "$ref": "comment_schema.json#" + } + } + }, + "additionalProperties": false +} \ No newline at end of file