Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update omni-schema according to latest spec #6

Merged
merged 1 commit into from
Jun 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions examples/Benchmark-001.yaml

This file was deleted.

130 changes: 130 additions & 0 deletions examples/Benchmark_001.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
---
id: Benchmark_001
description: simple benchmark, somewhat explicit, simple params
version: 1.0
benchmarker: "John Doe at Robinsons lab, [email protected]"
storage: https://storage.github.com/
storage_api: S3
benchmark_yaml_spec: 0.01
software_environments:
R:
description: "R 4.3.3 with gfbf-2023 toolchain"
easyconfig: R_4.3.3-gfbf-2023b.eb
envmodule: R/4.3.3-gfbf-2023b
conda: R_4.3.3_try.yaml # or perhaps not
apptainer: http://registry.ch/R_4.3.3-gfbf-2023b.sif
python:
description: "Ppython3.12.0 with gfbf-2023 toolchain"
easyconfig: python_vX-gfbf-2023b.eb
envmodule: python/vX-gfbf-2023b
conda: python_vX_test.yaml
apptainer: http://registry.ch/python_vX-gfbf-2023b.sif
stages:
- id: data
modules:
- id: D1
name: "Dataset 1"
software_environment: "python"
repository:
url: https://github.com/omnibenchmark-example/data.git
commit: 061a981
- id: D2
name: "Dataset 2"
software_environment: "python"
repository:
url: https://github.com/omnibenchmark-example/data.git
commit: 061a981
outputs:
- id: data.counts
path: "{in}/{stage}/{module}/{params}/{dataset}.txt.gz"
- id: data.meta
path: "{in}/{stage}/{module}/{params}/{dataset}.meta.json"
- id: data.data_specific_params
path: "{in}/{stage}/{module}/{params}/{dataset}_params.txt"

- id: process
modules:
- id: P1
software_environment: "R"
parameters:
- values: ["-a 0", "-b 0.1"]
- values: ["-a 1", "-b 0.1"]
repository:
url: https://github.com/omnibenchmark-example/process.git
commit: 24579a8
- id: P2
software_environment: "R"
parameters:
- values: ["-a 0", "-c 0"]
- values: ["-a 1", "-c 0.1"]
repository:
url: https://github.com/omnibenchmark-example/process.git
commit: 24579a8
inputs:
- entries: [
data.counts,
data.meta
]
outputs:
- id: process.filtered
path: "{in}/{stage}/{module}/{params}/{dataset}.txt.gz"

- id: methods
modules:
- id: M1
software_environment: "python"
exclude: [ D2 ]
repository:
url: https://github.com/omnibenchmark-example/method.git
commit: 709e114
- id: M2
software_environment: "python"
parameters:
- values: ["-d1", "-e 1"]
- values: ["-d1", "-e 2"]
exclude:
- D1
repository:
url: https://github.com/omnibenchmark-example/method.git
commit: 709e114
inputs:
- entries: [
data.counts,
data.meta,
data.data_specific_params
]
- entries: [
process.filtered,
data.meta,
data.data_specific_params
]
outputs:
- id: methods.mapping
path: "{in}/{stage}/{module}/{params}/{dataset}.model.out.gz"

- id: metrics
modules:
- id: m1
software_environment: "python"
repository:
url: [email protected]:omnibenchmark-example/metric.git
commit: ba781d7
- id: m2
software_environment: "python"
repository:
url: [email protected]:omnibenchmark-example/metric.git
commit: ba781d7
- id: m3
software_environment: "python"
repository:
url: [email protected]:omnibenchmark-example/metric.git
commit: ba781d7
inputs:
- entries: [
methods.mapping,
data.meta,
data.data_specific_params
]
outputs:
- id: metrics.mapping
path: "{in}/{stage}/{module}/{params}/{dataset}.results.txt"
Binary file modified project/excel/omni_schema.xlsx
Binary file not shown.
55 changes: 29 additions & 26 deletions project/graphql/omni_schema.graphql
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
type Benchmark
{
id: Uriorcurie!
name: String!
name: String
description: String
version: String!
platform: String!
benchmarker: String!
storage: String!
orchestrator: Orchestrator!
validator: Validator!
steps: [Step]!
storageApi: StorageAPIEnum!
softwareEnvironments: [SoftwareEnvironment]!
benchmarkYamlSpec: String
stages: [Stage]!
}

interface IdentifiableEntity
{
id: Uriorcurie!
name: String!
name: String
description: String
}

Expand All @@ -26,49 +27,51 @@ type InputCollection
type IOFile
{
id: Uriorcurie!
name: String!
name: String
description: String
path: String
}

type Module
{
id: Uriorcurie!
name: String!
name: String
description: String
repo: String!
softwareEnvironment: SoftwareEnvironment!
repository: Repository!
exclude: [Module]
parameters: [Parameter]
}

type Orchestrator
type Parameter
{
name: String!
url: String!
values: [String]
}

type Parameter
type Repository
{
values: [String]
url: String!
commit: String!
}

type Step
type SoftwareEnvironment
{
id: Uriorcurie!
name: String!
name: String
description: String
initial: Boolean
terminal: Boolean
after: [Step]
members: [Module]!
inputs: [InputCollection]
outputs: [IOFile]
easyconfig: String
envmodule: String
conda: String
apptainer: String
}

type Validator
type Stage
{
name: String!
url: String!
schemaUrl: String!
id: Uriorcurie!
name: String
description: String
modules: [Module]!
inputs: [InputCollection]
outputs: [IOFile]
}

33 changes: 18 additions & 15 deletions project/jsonld/omni_schema.context.jsonld
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
{
"comments": {
"description": "Auto generated by LinkML jsonld context generator",
"generation_date": "2024-03-08T14:09:12",
"generation_date": "2024-06-18T18:10:53",
"source": "omni_schema.yaml"
},
"@context": {
"example": "https://example.org/",
"linkml": "https://w3id.org/linkml/",
"omni_schema": "https://w3id.org/omnibenchmark/omni-schema/",
"schema": "http://schema.org/",
"skos": "http://www.w3.org/2004/02/skos/core#",
"@vocab": "https://w3id.org/omnibenchmark/omni-schema/",
"after": {
"@type": "@id"
},
"description": {
"@id": "schema:description"
},
Expand All @@ -23,36 +21,41 @@
"@type": "@id"
},
"id": "@id",
"initial": {
"@type": "xsd:boolean"
},
"inputs": {
"@type": "@id"
},
"members": {
"modules": {
"@type": "@id"
},
"name": {
"@id": "schema:name"
},
"orchestrator": {
"@type": "@id"
},
"outputs": {
"@type": "@id"
},
"parameters": {
"@type": "@id"
},
"steps": {
"repository": {
"@type": "@id"
},
"terminal": {
"@type": "xsd:boolean"
"software_environment": {
"@type": "@id"
},
"software_environments": {
"@type": "@id"
},
"validator": {
"stages": {
"@type": "@id"
},
"storage_api": {
"@context": {
"@vocab": "@null",
"text": "skos:notation",
"description": "skos:prefLabel",
"meaning": "@id"
}
},
"IdentifiableEntity": {
"@id": "schema:Thing"
}
Expand Down
Loading
Loading