-
Notifications
You must be signed in to change notification settings - Fork 3
/
analysis_schema.json
76 lines (76 loc) · 2.74 KB
/
analysis_schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "analysis_schema",
"description": "This is UCSC Genomics Core's schema for an analysis workflow's metadata record. It is based on the schema defined in metadata_schema.json.",
"definitions": {
"time_stamp": {
"description": "ISO 8601 / RFC 3339",
"type": "string",
"format": "date-time"
},
"schema_version": {
"description": "The version of this schema is ...",
"type": "string",
"pattern": "^0.0.3$"
},
"uuid": {
"description": "uuid with all lower case or all upper case characters",
"type": "string",
"oneOf": [
{
"description": "lower case",
"pattern": "^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$"
}, {
"description": "upper case",
"pattern": "^[0-9A-F]{8}-([0-9A-F]{4}-){3}[0-9A-F]{12}$"
}
]
}
},
"type": "object",
"required": ["parent_uuids", "timestamp", "analysis_type", "bundle_uuid", "workflow_name", "workflow_version", "workflow_outputs"],
"properties": {
"analysis_type": {
"description": "The analysis type needs to be tightly controlled because it is used in the metadata merging script to assign flags.",
"enum": ["sequence_upload", "alignment", "rna_seq_quantification", "germline_variant_calling", "somatic_variant_calling", "immuno_target_pipelines"]
},
"parent_uuids": {
"description": "parent UUIDs for this workflow",
"type": "array",
"items": {
"$ref": "#/definitions/uuid"
}
},
"bundle_uuid": {
"$ref": "#/definitions/uuid"
},
"workflow_name": {
"type": "string"
},
"workflow_version": {
"type": "string"
},
"timestamp": {
"description": "We want this time stamp in detached analysis data, but not required when uploading via upload tool.",
"$ref": "#/definitions/time_stamp"
},
"workflow_outputs": {
"type": "array",
"items": {
"type": "object",
"required": ["file_path", "file_type"],
"properties": {
"file_path": {
"type": "string"
},
"file_type": {
"type": "string"
},
"file_uuid": {
"$ref": "#/definitions/uuid"
}
}
}
}
}
}