Skip to content

Linkml based description #24

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

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from
Draft
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
6 changes: 6 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,9 @@ Testing

sudo apt-get install jsonschema-jv
jv -output detailed execution_report.schema.json example.json


.. code:: bash

job_report.py [-h] [-j JOB_ID] [-k API_KEY] [-u API_URL] [-o OUT]

24 changes: 13 additions & 11 deletions example.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@
"report_format_version": "0.0.2",
"affiliation": [ "https://ror.org/044rwnt51" ],

"tool_identifier": [
"http://toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/0.7.18" ,
"https://bio.tools/bwa",
"https://identifiers.org/RRID/RRID:SCR_010910" ],
"tool_name": "BWA",
"tool_version": "0.7.18",
"tool_package_version": "0.7.18-he4a0461_1",
"input_size": 50000,
"tool": {
"identifier": [
"http://toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/0.7.18" ,
"https://bio.tools/bwa",
"https://identifiers.org/RRID/RRID:SCR_010910" ],
"name": "BWA",
"version": "0.7.18",
"package_version": "0.7.18-he4a0461_1"
},
"input_size_bytes": 50000,

"infra": [
{ "infra_name": "de.NBI Cloud BW",
Expand Down Expand Up @@ -39,10 +41,10 @@
"cpu_mods": "spectre_v1 spectre_v2 spec_store_bypass mds swapgs itlb_multihit srbds mmio_stale_data retbleed gds",
"cpu_cores_assigned": 1,

"start_time": "2024-10-16T11:11:35",
"end_time": "2024-10-16T11:12:20",
"start_time": "2024-10-16T11:11:35Z",
"end_time": "2024-10-16T11:12:20Z",

"final_outputs_size": 192000,
"final_outputs_size_bytes": 192000,
"memory_used": 243059916,
"cpu_cores_used": 1,
"gpu_cores_used": 0
Expand Down
127 changes: 127 additions & 0 deletions execution_report.linkml.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
id: https://elixir-europe.org/platforms/compute/execution_report.linkml.yaml
name: execution_report
description: Gives credit for the specific execution of a data analysis tool.
prefixes:
linkml: https://w3id.org/linkml/
report: https://w3id.example.com/execution_report#
schema: http://schema.org/
imports:
- linkml:types
default_range: string
version: "0.0.2"

classes:
Provider:
description: Infrastructure provider.
attributes:
infra_name:
description: |
Name of the infrastructure (who should get credit).
infra_identifier:
description: |
Unique identifier for this infrastructure.
multivalued: true
inlined_as_list: true
infra_version:
slot_uri: schema:softwareVersion
description: |
For software-based infrastructure: the version.

Address:
description: |
The name of the physical location where the computation took place.
class_uri: schema:PostalAddress
attributes:
addressCountry:
slot_uri: schema:addressCountry
postalCode:
slot_uri: schema:postalCode
addressRegion:
slot_uri: schema:addressRegion
addressLocality:
slot_uri: schema:addressLocality
Location:
class_uri: schema:Place
description: |
Physical location where the computer was. Don't really care more than city/country.
attributes:
name:
slot_uri: schema:name
address:
range: Address

Tool:
class_uri: schema:SoftwareApplication
description: The data analysis tool that was executed, for which this tool execution report was generated about.
attributes:
name:
description: |
What the tool author calls the tool.
slot_uri: schema:name
identifier:
description: |
Tool identifier from bio.tools, an RRID, or other source. Multiple identifiers can be supplied for tools known to multiple registries
multivalued: true
inlined_as_list: true
slot_uri: schema:identifier
range: uri
# `identifier: true`, can't be used as there is more than 1
version:
slot_uri: schema:softwareVersion
package_version:
description: |
Version of the tool that was actually run, ideally captured from the tool itself or a packaging system (apt, conda, pip, etc..).

Report:
description: "Tool execution report. Gives credit for the specific execution of a data analysis tool."
tree_root: true
# https://schema.org/CreateAction ???
attributes:
report_format_version:
description: |
The version of the execution schema used.
pattern: "0.0.2"
affiliation:
description: |
Identifier of the project associated with this tool execution. Ideally from the Research Organization Registry (ROR) https://ror.org/.
slot_uri: schema:affiliation
multivalued: true
inlined_as_list: true
tool:
range: Tool
input_size_bytes:
description: |
The total size of the inputs in bytes, MUST be (rounded or binned, details TBD).
range: integer
unit:
ucum_code: By # bytes
infra:
multivalued: true
inlined_as_list: true
range: Provider
location:
description: |
Physical location
range: Location
cpu_identifier:
cpu_mods:
cpu_cores_assigned:
range: integer
start_time:
range: datetime
slot_uri: schema:startTime
end_time:
range: datetime
slot_uri: schema:endTime
duration:
final_outputs_size_bytes:
range: integer
unit:
ucum_code: By
memory_used:
range: integer
cpu_cores_used:
range: integer
gpu_cores_used:
range: integer

Loading