diff --git a/README.md b/README.md index 6a4a3cd..d59ba29 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # extension_schema + extension schema for BCO diff --git a/dataset/README.md b/dataset/README.md index 0841680..13c0767 100644 --- a/dataset/README.md +++ b/dataset/README.md @@ -1,8 +1,9 @@ # Extension to External References: Additional Licenses and Dataset Catagories The external references example extension to list additional licenses and dataset catagories . + ```json - + "extension_domain": [ { "extension_schema": "http://www.w3id.org/biocompute/extension_domain/1.1.0/dataset/dataset_extension.json", @@ -43,56 +44,36 @@ The external references example extension to list additional licenses and datase ``` ## **additional_license** + The additional license property contains the details about the licenses applied to the dataset and the script or tool/software used to process the given dataset. Licenses ensure the permissions are clear to use, modify, and share one’s work by other users. - **data_license**: The license applied to the data or the dataset by the author. Usually, most organizations and academic settings widely use Creative Commons licenses that allow open access to knowledge with no or limited restrictions. The most popular license is the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/) license that allows users to use, share, transform, and distribute the data as per their requirement provided attribution is given to the original author. - eg. ``` - "data_license": "https://creativecommons.org/licenses/by/4.0/" ``` - - **script_license**: The license applied to the computational script or the tool/software developed to process (parse, QC, align) the input dataset for a final output dataset. There are 5 types of commonly used software licenses for publishing the code. Four of these licenses are open-source allowing reuse of the code to some extent while proprietary licenses are the most restrictive license in terms of code reuse. For most dataset scripts, open-source license such as [GNU General Public License v3](http://www.gnu.org/licenses/gpl-3.0.html) is used. -eg. ``` "script_license": "https://www.gnu.org/licenses/gpl-3.0.en.html"``` +**data_license**: The license applied to the data or the dataset by the author. Usually, most organizations and academic settings widely use Creative Commons licenses that allow open access to knowledge with no or limited restrictions. The most popular license is the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/) license that allows users to use, share, transform, and distribute the data as per their requirement provided attribution is given to the original author. +eg. ` "data_license": "https://creativecommons.org/licenses/by/4.0/"` + +**script_license**: The license applied to the computational script or the tool/software developed to process (parse, QC, align) the input dataset for a final output dataset. There are 5 types of commonly used software licenses for publishing the code. Four of these licenses are open-source allowing reuse of the code to some extent while proprietary licenses are the most restrictive license in terms of code reuse. For most dataset scripts, open-source license such as [GNU General Public License v3](http://www.gnu.org/licenses/gpl-3.0.html) is used. +eg. ` "script_license": "https://www.gnu.org/licenses/gpl-3.0.en.html"` ## dataset_categories + Dataset categories describe and provide more information about the dataset which can be used to classify, group, sort and filter datasets. Currently, there are six categories for describing a dataset: species, molecule, tags, file_type, status, and scope. Each category has a distinct value. **species**: This category provides information about the species to which the data belongs. The values can be a single scientific name of any species in NCBI taxonomy. When the datasets contain data from multiple species the value can be repeated -eg. ```{ - "category_value": "Homo sapiens", - "category_name": "species" - } ``` - +eg. `{ "category_value": "Homo sapiens", "category_name": "species" } ` **molecule**: This category provides information about the biological macromolecules to which the data belongs. The value of the category can be either protein, glycan, nucleic acid, lipids, and proteoform. Other molecule values can be used if the molecule category is different than the above. -eg. ``` { - "category_value": "Protein", - "category_name": "molecule" - }``` +eg. ` { "category_value": "Protein", "category_name": "molecule" }` -**tag**: This category adds a tag to a dataset. The values for the tag category can be a dataset name, resource name, data types, etc. -eg. ```{ - "category_value": "Protein Canonical Accessions", - "category_name": "tag" - } ``` +**tag**: This category adds a tag to a dataset. The values for the tag category can be a dataset name, resource name, data types, etc. +eg. `{ "category_value": "Protein Canonical Accessions", "category_name": "tag" } ` **file_type**: This category describes the file format type of the dataset. The values of the file_type category can be csv, txt, fasta, tsv, nt, gpff, etc -eg. ```{ - "category_value": "csv", - "category_name": "file_type" - } ``` +eg. `{ "category_value": "csv", "category_name": "file_type" } ` **status**: This category provides information about the current status of the dataset. The values of the status category can be: reviewed and retired. -eg. ``` { - "category_value": "reviewed", - "category_name": "status" - }``` +eg. ` { "category_value": "reviewed", "category_name": "status" }` **scope**: This category provides information about the usage scope of the dataset. The values of the scope category are internal and external. Datasets with the internal scope are used for internal purposes whereas datasets with the external scope are custom processed for use by external people or resources. -eg. ```{ - "category_value": "external", - "category_name": "scope" - } ``` +eg. `{ "category_value": "external", "category_name": "scope" } ` The external references **example** extension to list additional licenses and dataset catagories . - - diff --git a/dataset/dataset_extension.json b/dataset/dataset_extension.json index 00ad667..f71efaa 100644 --- a/dataset/dataset_extension.json +++ b/dataset/dataset_extension.json @@ -1,86 +1,78 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "http://www.w3id.org/biocompute/extension_domain/1.1.0/dataset/dataset_extension.json", - "title": "dataset_extension", - "type": "object", - "description": "The external references extension to list additional licenses and dataset catagories for a dataset BCO (dsBCO).", - "required": ["dataset_extension", "extension_schema"], - "additionalProperties": false, - "properties": { - "dataset_extension": { - "type": "object", + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://www.w3id.org/biocompute/extension_domain/1.1.0/dataset/dataset_extension.json", + "title": "dataset_extension", + "type": "object", + "description": "The external references extension to list additional licenses and dataset catagories for a dataset BCO (dsBCO).", + "required": ["dataset_extension", "extension_schema"], + "additionalProperties": false, + "properties": { + "dataset_extension": { + "type": "object", + "additionalProperties": false, + "required": ["dataset_categories"], + "properties": { + "additional_license": { + "type": "object", + "description": "The additional license property contains the details about the licenses applied to the dataset and the script or tool/software used to process the given dataset.", + "additionalProperties": false, + "properties": { + "data_license": { + "title": "data_license", + "type": "string", + "description": "The license applied to the data or the dataset by the author", + "examples": ["https://creativecommons.org/licenses/by/4.0/"] + }, + "script_license": { + "title": "script_license", + "type": "string", + "description": "The license applied to the computational script or the tool/software developed to process (parse, QC, align) the input dataset for a final output dataset.", + "examples": ["https://www.gnu.org/licenses/gpl-3.0.en.html"] + } + } + }, + "dataset_categories": { + "title": "dataset_categories", + "type": "array", + "description": "Dataset categories describe and provide more information about the dataset which can be used to classify, group, sort and filter datasets.", + "items": { + "required": ["category_value", "category_name"], "additionalProperties": false, - "required": ["dataset_categories"], "properties": { - "additional_license": { - "type": "object", - "description": "The additional license property contains the details about the licenses applied to the dataset and the script or tool/software used to process the given dataset.", - "additionalProperties": false, - "properties": { - "data_license": { - "title": "data_license", - "type": "string", - "description": "The license applied to the data or the dataset by the author", - "examples": [ - "https://creativecommons.org/licenses/by/4.0/" - ] - }, - "script_license": { - "title": "script_license", - "type": "string", - "description": "The license applied to the computational script or the tool/software developed to process (parse, QC, align) the input dataset for a final output dataset.", - "examples": [ - "https://www.gnu.org/licenses/gpl-3.0.en.html" - ] - } - } - }, - "dataset_categories": { - "title": "dataset_categories", - "type": "array", - "description": "Dataset categories describe and provide more information about the dataset which can be used to classify, group, sort and filter datasets.", - "items": { - "required": [ - "category_value", - "category_name" - ], - "additionalProperties": false, - "properties": { - "category_value": { - "type": "string", - "title": "category_value", - "description": "An explanation about the purpose of this instance.", - "examples": [ - "Homo sapiens" - ] - }, - "category_name": { - "type": "string", - "title": "category_name", - "description": "An explanation about the purpose of this instance.", - "enum": [ - "species", - "molecule", - "tag", - "file_type", - "status", - "scope" - ] - } - } - } - } + "category_value": { + "type": "string", + "title": "category_value", + "description": "An explanation about the purpose of this instance.", + "examples": ["Homo sapiens"] + }, + "category_name": { + "type": "string", + "title": "category_name", + "description": "An explanation about the purpose of this instance.", + "enum": [ + "species", + "molecule", + "tag", + "tags", + "priority", + "file_type", + "status", + "scope" + ] + } } - }, - "extension_schema": { - "title": "extension_schema", - "type": "string", - "format": "uri", - "description": "The schema applied to the extension object", - "examples": [ - "http://www.w3id.org/biocompute/extension_domain/example.json" - ] - - } + } + } + } + }, + "extension_schema": { + "title": "extension_schema", + "type": "string", + "format": "uri", + "description": "The schema applied to the extension object", + "examples": [ + "http://www.w3id.org/biocompute/extension_domain/example.json" + ] } + } } diff --git a/fhir/README.md b/fhir/README.md index 594ab34..97363d2 100644 --- a/fhir/README.md +++ b/fhir/README.md @@ -1,11 +1,10 @@ - # Extension to External References: SMART on FHIR Genomics The external references **example** extension to FHIR resource demonstrates how specific data elements can be extracted from EHR systems or other secure FHIR endpoints via technologies such as [SMART on FHIR Genomics](https://www.ncbi.nlm.nih.gov/pubmed/26198304) without compromising patient and providers’ information. This is because the portions being transferred contain no identifiable information about the patient. Instead there is a reference to the actual resource instance (via FHIR URL) through which all data is accessed. -The link to FHIR can also be added to the usability domain. More on FHIR Genomics in release 3 of FHIR can be found here: https://www.hl7.org/fhir/genomics.html +The link to FHIR can also be added to the usability domain. More on FHIR Genomics in release 3 of FHIR can be found here: https://www.hl7.org/fhir/genomics.html -SMART on FHIR Genomics provides a framework for EHR-based apps built on FHIR that integrate clinical and genomic information. For more information on how to use the SMART on FHIR Genomics apps, please visit http://projects.iq.harvard.edu/smartgenomics/. +SMART on FHIR Genomics provides a framework for EHR-based apps built on FHIR that integrate clinical and genomic information. For more information on how to use the SMART on FHIR Genomics apps, please visit http://projects.iq.harvard.edu/smartgenomics/. ```json "extension_domain":[ @@ -45,7 +44,7 @@ SMART on FHIR Genomics provides a framework for EHR-based apps built on FHIR tha ## FHIR Extension "fhir_extension" -The `fhir_extension` is defined as an array of endpoints from which to fetch resources. +The `fhir_extension` is defined as an array of endpoints from which to fetch resources. ## FHIR Endpoint "fhir_endpoint" @@ -53,4 +52,4 @@ The `fhir_extension` is defined as an array of endpoints from which to fetch res ## FHIR Resources "fhir_resources" -`fhir_resources` is an array of resources to fetch from the endpoint, where `fhir_resource` is a string containing the type of resource used according to the specified version. (a full list of permitted FHIR 3 resources is available at http://hl7.org/fhir/STU3/resourcelist.html) `fhir_id` is a string containing the server-specific identifier for the resource instance. +`fhir_resources` is an array of resources to fetch from the endpoint, where `fhir_resource` is a string containing the type of resource used according to the specified version. (a full list of permitted FHIR 3 resources is available at http://hl7.org/fhir/STU3/resourcelist.html) `fhir_id` is a string containing the server-specific identifier for the resource instance. diff --git a/fhir/fhir_extension.json b/fhir/fhir_extension.json index 383169e..0eb9da9 100644 --- a/fhir/fhir_extension.json +++ b/fhir/fhir_extension.json @@ -1,67 +1,57 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://w3id.org/biocompute/extension_domain/1.1.0/fhir/fhir_extension.json", - "title": "fhir_extension", - "type": "object", - "description": "The external references extension to FHIR resource", - "required": ["fhir_extension", "extension_schema"], - "additionalProperties": false, - "properties":{ - "extension_schema": { - "title": "extension_schema", + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://w3id.org/biocompute/extension_domain/1.1.0/fhir/fhir_extension.json", + "title": "fhir_extension", + "type": "object", + "description": "The external references extension to FHIR resource", + "required": ["fhir_extension", "extension_schema"], + "additionalProperties": false, + "properties": { + "extension_schema": { + "title": "extension_schema", + "type": "string", + "format": "uri", + "description": "The schema applied to the extension object", + "examples": [ + "http://www.w3id.org/biocompute/extension_domain/example.json" + ] + }, + "fhir_extension": { + "title": "", + "type": "array", + "decription": "", + "items": { + "required": ["fhir_endpoint", "fhir_version", "fhir_resources"], + "properties": { + "fhir_endpoint": { "type": "string", - "format": "uri", - "description": "The schema applied to the extension object", - "examples": [ - "http://www.w3id.org/biocompute/extension_domain/example.json" - ] - - }, - "fhir_extension":{ - "title": "", + "description": "Base URI of FHIR server where the resources are stored", + "examples": ["http://fhirtest.uhn.ca/baseDstu3"], + "format": "uri" + }, + "fhir_version": { + "type": "string", + "description": "FHIR version of the server endpoint" + }, + "fhir_resources": { "type": "array", - "decription": "", "items": { - "required": [ - "fhir_endpoint", - "fhir_version", - "fhir_resources" - ], - "properties": { - "fhir_endpoint": { - "type": "string", - "description": "Base URI of FHIR server where the resources are stored", - "examples": [ - "http://fhirtest.uhn.ca/baseDstu3" - ], - "format": "uri" - }, - "fhir_version": { - "type": "string", - "description": "FHIR version of the server endpoint" - }, - "fhir_resources": { - "type": "array", - "items": { - "type": "object", - "required": [ - "fhir_resource", - "fhir_id" - ], - "properties": { - "fhir_resource": { - "type": "string", - "description": "Type of FHIR resource used" - }, - "fhir_id": { - "type": "string", - "description": "Server-specific identifier string" - } - } - } - } + "type": "object", + "required": ["fhir_resource", "fhir_id"], + "properties": { + "fhir_resource": { + "type": "string", + "description": "Type of FHIR resource used" + }, + "fhir_id": { + "type": "string", + "description": "Server-specific identifier string" } + } } + } } + } } + } } diff --git a/galaxy/README.md b/galaxy/README.md index ff1f114..6811a32 100644 --- a/galaxy/README.md +++ b/galaxy/README.md @@ -13,10 +13,11 @@ The external references **example** extension for a Galaxy BCO. } ] ``` + ##Galaxy URL "galaxy_url" The base url for the galaxy instance used to create the BioCompute Object. ## Galaxy Version "galaxy_version" -The specific version of the Galaxy software used to generate the BioCompute Object. \ No newline at end of file +The specific version of the Galaxy software used to generate the BioCompute Object. diff --git a/galaxy/galaxy_extension.json b/galaxy/galaxy_extension.json index eb59a87..7367d54 100644 --- a/galaxy/galaxy_extension.json +++ b/galaxy/galaxy_extension.json @@ -1,44 +1,36 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "http://www.w3id.org/biocompute/extension_domain/1.1.0/galaxy/galaxy_extension.json", - "title": "galaxy_extension", - "type": "object", - "description": "The external references **example** extension for a Galaxy BCO.", - "required": ["galaxy_extension", "extension_schema"], - "additionalProperties": false, - "properties": { - "extension_schema": { - "type": "string", - "format": "uri", - "description": "The schema applied to the extension object", - "examples": [ - "http://www.w3id.org/biocompute/extension_domain/example.json" - ] - + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://www.w3id.org/biocompute/extension_domain/1.1.0/galaxy/galaxy_extension.json", + "title": "galaxy_extension", + "type": "object", + "description": "The external references **example** extension for a Galaxy BCO.", + "required": ["galaxy_extension", "extension_schema"], + "additionalProperties": false, + "properties": { + "extension_schema": { + "type": "string", + "format": "uri", + "description": "The schema applied to the extension object", + "examples": [ + "http://www.w3id.org/biocompute/extension_domain/example.json" + ] + }, + "galaxy_extension": { + "type": "object", + "required": ["galaxy_url", "galaxy_version"], + "properties": { + "galaxy_url": { + "type": "string", + "description": "The base url for the galaxy instance used to create the BioCompute Object.", + "examples": ["https://galaxy.aws.biochemistry.gwu.edu/"], + "format": "uri" }, - "galaxy_extension": { - "type": "object", - "required": [ - "galaxy_url", - "galaxy_version" - ], - "properties": { - "galaxy_url": { - "type": "string", - "description": "The base url for the galaxy instance used to create the BioCompute Object.", - "examples": [ - "https://galaxy.aws.biochemistry.gwu.edu/" - ], - "format": "uri" - }, - "galaxy_version": { - "type": "string", - "description": "The specific version of the Galaxy software used to generate the BioCompute Object.", - "examples": [ - "20.01" - ] - } - } + "galaxy_version": { + "type": "string", + "description": "The specific version of the Galaxy software used to generate the BioCompute Object.", + "examples": ["20.01"] } + } } + } } diff --git a/license/README.md b/license/README.md index f1b6e00..272ad46 100644 --- a/license/README.md +++ b/license/README.md @@ -1,4 +1,4 @@ -# Extension to External References: Additional Licenses +# Extension to External References: Additional Licenses The external references **example** extension to add additional licenses. @@ -13,6 +13,7 @@ The external references **example** extension to add additional licenses. } ] ``` + ##Data License "data_license" The base url for the licence assigned to the data. diff --git a/license/license_extension.json b/license/license_extension.json index dabe902..118c758 100644 --- a/license/license_extension.json +++ b/license/license_extension.json @@ -1,41 +1,34 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "http://www.w3id.org/biocompute/extension_domain/1.1.0/license/license_extension.json", - "type": "object", - "description": "The extension to add additional licenses.", - "required": ["licence_extension", "extension_schema"], - "additionalProperties": false, - "properties":{ - "extension_schema": { - "title": "extension_schema", - "type": "string", - "format": "uri", - "description": "The schema applied to the extension object", - "examples": [ - "http://www.w3id.org/biocompute/extension_domain/example.json" - ] + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://www.w3id.org/biocompute/extension_domain/1.1.0/license/license_extension.json", + "type": "object", + "description": "The extension to add additional licenses.", + "required": ["licence_extension", "extension_schema"], + "additionalProperties": false, + "properties": { + "extension_schema": { + "title": "extension_schema", + "type": "string", + "format": "uri", + "description": "The schema applied to the extension object", + "examples": [ + "http://www.w3id.org/biocompute/extension_domain/example.json" + ] + }, + "licence_extension": { + "required": ["data_license", "scripts_license"], + "properties": { + "data_license": { + "type": "string", + "examples": ["https://github.com/example/repo1"], + "format": "uri" }, - "licence_extension":{ - "required": [ - "data_license", - "scripts_license" - ], - "properties": { - "data_license": { - "type": "string", - "examples": [ - "https://github.com/example/repo1" - ], - "format": "uri" - }, - "scripts_license": { - "type": "string", - "examples": [ - "https://github.com/example/repo1" - ], - "format": "uri" - } - } + "scripts_license": { + "type": "string", + "examples": ["https://github.com/example/repo1"], + "format": "uri" } + } } + } } diff --git a/scm/README.md b/scm/README.md index c404008..9fe899c 100644 --- a/scm/README.md +++ b/scm/README.md @@ -16,6 +16,7 @@ The external references **example** extension to a SCM repository demonstrates h } ] ``` + ## SCM Repository "scm_repository" The base url for the SCM repository. @@ -34,4 +35,4 @@ This is the path from the repository to the source code referenced. `scm_path` s ## SCM Preview "scm_preview" -The full uri for the source code referenced by the BioCompute. \ No newline at end of file +The full uri for the source code referenced by the BioCompute. diff --git a/scm/scm_extension.json b/scm/scm_extension.json index ed29c55..af0f8c7 100644 --- a/scm/scm_extension.json +++ b/scm/scm_extension.json @@ -1,67 +1,50 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://w3id.org/biocompute/extension_domain/1.1.0/scm/scm_extension.json", - "title": "scm_extension", - "type": "object", - "description": "The external references extension to a SCM repository", - "required": ["scm_extension", "extension_schema"], - "additionalProperties": false, - "properties":{ - "extension_schema": { - "title": "extension_schema", - "type": "string", - "format": "uri", - "description": "The schema applied to the extension object", - "examples": [ - "http://www.w3id.org/biocompute/extension_domain/example.json" - ] - + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://w3id.org/biocompute/extension_domain/1.1.0/scm/scm_extension.json", + "title": "scm_extension", + "type": "object", + "description": "The external references extension to a SCM repository", + "required": ["scm_extension", "extension_schema"], + "additionalProperties": false, + "properties": { + "extension_schema": { + "title": "extension_schema", + "type": "string", + "format": "uri", + "description": "The schema applied to the extension object", + "examples": [ + "http://www.w3id.org/biocompute/extension_domain/example.json" + ] + }, + "scm_extension": { + "required": ["scm_repository", "scm_type", "scm_commit", "scm_path"], + "properties": { + "scm_repository": { + "type": "string", + "examples": ["https://github.com/example/repo1"], + "format": "uri" }, - "scm_extension":{ - "required": [ - "scm_repository", - "scm_type", - "scm_commit", - "scm_path" - ], - "properties": { - "scm_repository": { - "type": "string", - "examples": [ - "https://github.com/example/repo1" - ], - "format": "uri" - }, - "scm_type": { - "type": "string", - "enum": [ - "git", - "svn", - "hg", - "other" - ] - }, - "scm_commit": { - "type": "string", - "examples": [ - "c9ffea0b60fa3bcf8e138af7c99ca141a6b8fb21" - ] - }, - "scm_path": { - "type": "string", - "examples": [ - "workflow/hive-viral-mutation-detection.cwl" - ], - "format": "string" - }, - "scm_preview": { - "type": "string", - "examples": [ - "https://github.com/example/repo1/blob/c9ffea0b60fa3bcf8e138af7c99ca141a6b8fb21/workflow/hive-viral-mutation-detection.cwl" - ], - "format": "uri" - } - } + "scm_type": { + "type": "string", + "enum": ["git", "svn", "hg", "other"] + }, + "scm_commit": { + "type": "string", + "examples": ["c9ffea0b60fa3bcf8e138af7c99ca141a6b8fb21"] + }, + "scm_path": { + "type": "string", + "examples": ["workflow/hive-viral-mutation-detection.cwl"], + "format": "string" + }, + "scm_preview": { + "type": "string", + "examples": [ + "https://github.com/example/repo1/blob/c9ffea0b60fa3bcf8e138af7c99ca141a6b8fb21/workflow/hive-viral-mutation-detection.cwl" + ], + "format": "uri" } + } } + } }