nci-cidc-schemas 0.28.7__py2.py3-none-any.whl → 0.28.13__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. cidc_schemas/__init__.py +1 -1
  2. cidc_schemas/ngs_pipeline_api/__init__.py +0 -1
  3. cidc_schemas/ngs_pipeline_api/wes/wes_output_API.py +1 -1
  4. cidc_schemas/prism/constants.py +5 -8
  5. cidc_schemas/prism/pipelines.py +2 -24
  6. cidc_schemas/schemas/artifacts/artifact_parquet.json +51 -0
  7. cidc_schemas/schemas/assays/atacseq_assay.json +4 -0
  8. cidc_schemas/schemas/assays/components/available_assays.json +23 -2
  9. cidc_schemas/schemas/assays/components/ngs/atacseq/atacseq_analysis.json +4 -0
  10. cidc_schemas/schemas/assays/components/ngs/rna/rna_analysis.json +10 -1
  11. cidc_schemas/schemas/assays/components/ngs_assay_core.json +2 -1
  12. cidc_schemas/schemas/assays/ctdna_assay.json +4 -0
  13. cidc_schemas/schemas/assays/cytof_assay.json +4 -0
  14. cidc_schemas/schemas/assays/cytof_assay_core.json +4 -0
  15. cidc_schemas/schemas/assays/elisa_assay.json +8 -4
  16. cidc_schemas/schemas/assays/hande_assay.json +10 -1
  17. cidc_schemas/schemas/assays/ihc_assay.json +9 -1
  18. cidc_schemas/schemas/assays/maldi_glycan_assay.json +4 -0
  19. cidc_schemas/schemas/assays/mibi_assay.json +4 -0
  20. cidc_schemas/schemas/assays/microbiome_assay.json +5 -1
  21. cidc_schemas/schemas/assays/mif_assay.json +10 -3
  22. cidc_schemas/schemas/assays/mihc_assay.json +4 -1
  23. cidc_schemas/schemas/assays/misc_data.json +9 -1
  24. cidc_schemas/schemas/assays/nanostring_assay.json +5 -1
  25. cidc_schemas/schemas/assays/nulisa_assay.json +4 -0
  26. cidc_schemas/schemas/assays/olink_assay.json +4 -0
  27. cidc_schemas/schemas/assays/olink_ht_assay.json +100 -0
  28. cidc_schemas/schemas/assays/rna_assay-v0.json +9 -0
  29. cidc_schemas/schemas/assays/scrnaseq_analysis.json +4 -0
  30. cidc_schemas/schemas/assays/scrnaseq_assay.json +4 -0
  31. cidc_schemas/schemas/assays/tcr_analysis.json +4 -0
  32. cidc_schemas/schemas/assays/tcr_assay.json +4 -0
  33. cidc_schemas/schemas/assays/tcrseq_rna_assay.json +64 -0
  34. cidc_schemas/schemas/assays/visium_analysis.json +4 -0
  35. cidc_schemas/schemas/assays/visium_assay.json +4 -0
  36. cidc_schemas/schemas/assays/wes_analysis.json +9 -1
  37. cidc_schemas/schemas/assays/wes_assay.json +25 -3
  38. cidc_schemas/schemas/assays/wes_tumor_only_analysis.json +9 -1
  39. cidc_schemas/schemas/clinical_data.json +8 -0
  40. cidc_schemas/schemas/shipping_core.json +3 -2
  41. cidc_schemas/schemas/templates/analyses/atacseq_analysis_template.json +6 -2
  42. cidc_schemas/schemas/templates/analyses/cytof_analysis_template.json +16 -12
  43. cidc_schemas/schemas/templates/analyses/rna_level1_analysis_template.json +9 -1
  44. cidc_schemas/schemas/templates/analyses/scrnaseq_analysis_template.json +32 -28
  45. cidc_schemas/schemas/templates/analyses/tcr_analysis_template.json +9 -5
  46. cidc_schemas/schemas/templates/analyses/visium_analysis_template.json +11 -7
  47. cidc_schemas/schemas/templates/analyses/wes_analysis_template.json +9 -1
  48. cidc_schemas/schemas/templates/analyses/wes_tumor_only_analysis_template.json +9 -1
  49. cidc_schemas/schemas/templates/assays/atacseq_fastq_template.json +6 -2
  50. cidc_schemas/schemas/templates/assays/clinical_data_template.json +8 -0
  51. cidc_schemas/schemas/templates/assays/ctdna_template.json +15 -11
  52. cidc_schemas/schemas/templates/assays/cytof_template.json +9 -4
  53. cidc_schemas/schemas/templates/assays/elisa_template.json +8 -4
  54. cidc_schemas/schemas/templates/assays/hande_template.json +8 -0
  55. cidc_schemas/schemas/templates/assays/ihc_template.json +8 -0
  56. cidc_schemas/schemas/templates/assays/maldi_glycan_template.json +11 -7
  57. cidc_schemas/schemas/templates/assays/mibi_template.json +8 -4
  58. cidc_schemas/schemas/templates/assays/microbiome_template.json +12 -8
  59. cidc_schemas/schemas/templates/assays/mif_template.json +8 -0
  60. cidc_schemas/schemas/templates/assays/mihc_template.json +6 -2
  61. cidc_schemas/schemas/templates/assays/misc_data_template.json +8 -0
  62. cidc_schemas/schemas/templates/assays/nanostring_template.json +10 -6
  63. cidc_schemas/schemas/templates/assays/nulisa_template.json +8 -4
  64. cidc_schemas/schemas/templates/assays/olink_ht_template.json +86 -0
  65. cidc_schemas/schemas/templates/assays/olink_template.json +8 -4
  66. cidc_schemas/schemas/templates/assays/rna_bam_template.json +9 -1
  67. cidc_schemas/schemas/templates/assays/rna_fastq_template.json +9 -1
  68. cidc_schemas/schemas/templates/assays/scrnaseq_template.json +8 -4
  69. cidc_schemas/schemas/templates/assays/tcr_adaptive_template.json +9 -5
  70. cidc_schemas/schemas/templates/assays/tcr_fastq_template.json +10 -6
  71. cidc_schemas/schemas/templates/assays/tcrseq_rna_template.json +59 -0
  72. cidc_schemas/schemas/templates/assays/visium_template.json +13 -9
  73. cidc_schemas/schemas/templates/assays/wes_bam_template.json +8 -0
  74. cidc_schemas/schemas/templates/assays/wes_fastq_template.json +8 -0
  75. cidc_schemas/template.py +0 -4
  76. cidc_schemas/unprism.py +3 -3
  77. {nci_cidc_schemas-0.28.7.dist-info → nci_cidc_schemas-0.28.13.dist-info}/METADATA +12 -12
  78. {nci_cidc_schemas-0.28.7.dist-info → nci_cidc_schemas-0.28.13.dist-info}/RECORD +82 -78
  79. {nci_cidc_schemas-0.28.7.dist-info → nci_cidc_schemas-0.28.13.dist-info}/WHEEL +1 -1
  80. cidc_schemas/schemas/templates/manifests/tumor_normal_pairing_template.json +0 -63
  81. {nci_cidc_schemas-0.28.7.dist-info → nci_cidc_schemas-0.28.13.dist-info}/entry_points.txt +0 -0
  82. {nci_cidc_schemas-0.28.7.dist-info → nci_cidc_schemas-0.28.13.dist-info}/licenses/LICENSE +0 -0
  83. {nci_cidc_schemas-0.28.7.dist-info → nci_cidc_schemas-0.28.13.dist-info}/top_level.txt +0 -0
cidc_schemas/__init__.py CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  __author__ = """NCI"""
4
4
  __email__ = "nci-cidc-tools-admin@mail.nih.gov"
5
- __version__ = "0.28.7"
5
+ __version__ = "0.28.13"
@@ -3,7 +3,6 @@
3
3
  import os
4
4
  from json import load
5
5
 
6
-
7
6
  # __author__ = """NCI"""
8
7
  # __email__ = "nci-cidc-tools-admin@mail.nih.gov"
9
8
  # __version__ = "0.1.25"
@@ -485,7 +485,7 @@ def main():
485
485
  default=False,
486
486
  action="store_true",
487
487
  )
488
- (options, args) = optparser.parse_args(sys.argv)
488
+ options, args = optparser.parse_args(sys.argv)
489
489
 
490
490
  run_id_files = [
491
491
  r for r in map(lambda x: evalWildcards(x, "{run}", "{run id}"), run_files)
@@ -2,7 +2,6 @@
2
2
 
3
3
  from typing import Dict
4
4
 
5
-
6
5
  PROTOCOL_ID_FIELD_NAME = "protocol_identifier"
7
6
 
8
7
  SUPPORTED_ASSAYS = [
@@ -30,9 +29,11 @@ SUPPORTED_ASSAYS = [
30
29
  "visium",
31
30
  "nulisa",
32
31
  "maldi_glycan",
32
+ "olink_ht",
33
+ "tcrseq_rna",
33
34
  ]
34
35
 
35
- SUPPORTED_SHIPPING_MANIFESTS = [
36
+ SUPPORTED_MANIFESTS = [
36
37
  "pbmc",
37
38
  "plasma",
38
39
  "tissue_slide",
@@ -43,12 +44,6 @@ SUPPORTED_SHIPPING_MANIFESTS = [
43
44
  "h_and_e",
44
45
  "microbiome_dna",
45
46
  ]
46
- # weird non shipping manifest
47
- SUPPORTED_WEIRD_MANIFESTS = [
48
- "tumor_normal_pairing",
49
- ]
50
- SUPPORTED_MANIFESTS = SUPPORTED_SHIPPING_MANIFESTS + SUPPORTED_WEIRD_MANIFESTS
51
-
52
47
  SUPPORTED_ANALYSES = [
53
48
  "atacseq_analysis",
54
49
  "cytof_analysis",
@@ -147,6 +142,8 @@ ASSAY_TO_FILEPATH: Dict[str, str] = {
147
142
  "visium_analysis",
148
143
  "nulisa",
149
144
  "maldi_glycan",
145
+ "olink_ht",
146
+ "tcrseq_rna",
150
147
  ]
151
148
  },
152
149
  }
@@ -9,7 +9,7 @@ from typing import Dict, List, NamedTuple, Union
9
9
  import jinja2
10
10
  import pandas as pd
11
11
 
12
- from .constants import PROTOCOL_ID_FIELD_NAME, SUPPORTED_SHIPPING_MANIFESTS
12
+ from .constants import PROTOCOL_ID_FIELD_NAME, SUPPORTED_MANIFESTS
13
13
  from ..template import Template
14
14
  from ..util import get_logger, load_pipeline_config_template, participant_id_from_cimac
15
15
 
@@ -108,10 +108,6 @@ class _Wes_pipeline_config:
108
108
  for both - normal and tumor sample - and we render tumor/normal pipeline config for those
109
109
  and tumor_only config otherwise
110
110
 
111
- As a result each assay or tumor_normal_pairing upload that "completes" some
112
- analysis run/pair (making all 3 pieces available - both samples data and a pairing)
113
- will be rendered only once - right after that upload.
114
-
115
111
  Patch is expected to be already merged into full_ct.
116
112
  """
117
113
  if upload_type not in ["assay", "pairing"]:
@@ -552,15 +548,8 @@ class _Wes_pipeline_config:
552
548
  ) -> Dict[str, Union[bytes, str]]:
553
549
  """
554
550
  Generates a mapping from filename to the files to attach.
555
- Attachments differ depending on whether the upload is wes_[bam/fastq] vs tumor_normal_pairing
556
551
  For wes_[bam/faq]:
557
552
  generates a pairing.csv file attempting to pair WES samples
558
- For tumor_normal_pairing:
559
- generates a pairing.csv file attempting to pair WES samples
560
- generates WES Monitor .yaml configs for each batch of 20 affected samples
561
- generates ingestion .xlsx templates for each affected sample
562
- for paired samples, for wes_analysis
563
- for unpaired samples, for wes_tumor_only_analysis
564
553
 
565
554
  For the pairing.csv
566
555
  - tumor samples already in a paired analysis are ignored
@@ -652,16 +641,6 @@ class _Wes_pipeline_config:
652
641
  + "_pairing.csv": self._generate_pairing_csv(trial_id, tumor_pair_list)
653
642
  }
654
643
 
655
- # for tumor_normal_pairing, also generate configs and ingestion sheets
656
- if "pairing" in self.upload_type:
657
- res.update(
658
- self._generate_configs_and_ingestion_sheets(
659
- trial_id=trial_id,
660
- patch=patch,
661
- data_bucket=data_bucket,
662
- )
663
- )
664
-
665
644
  return res
666
645
 
667
646
 
@@ -821,7 +800,6 @@ _ANALYSIS_CONF_GENERATORS = {
821
800
  "wes_bam": _Wes_pipeline_config("assay"),
822
801
  "tcr_adaptive": _tcr_pipeline_config,
823
802
  "tcr_fastq": _tcr_pipeline_config,
824
- "tumor_normal_pairing": _Wes_pipeline_config("pairing"),
825
803
  "rna_fastq": _rna_level1_pipeline_config,
826
804
  "rna_bam": _rna_level1_pipeline_config,
827
805
  }
@@ -843,7 +821,7 @@ def generate_analysis_configs_from_upload_patch(
843
821
  """
844
822
  ret = {}
845
823
 
846
- if template_type in SUPPORTED_SHIPPING_MANIFESTS:
824
+ if template_type in SUPPORTED_MANIFESTS:
847
825
  ret.update(_shipping_manifest_new_participants(ct, patch, data_bucket))
848
826
 
849
827
  if template_type in _ANALYSIS_CONF_GENERATORS:
@@ -0,0 +1,51 @@
1
+ {
2
+ "$schema": "metaschema/strict_meta_schema.json#",
3
+ "$id": "parquet_artifact",
4
+ "title": "Parquet Artifact",
5
+ "type": "object",
6
+ "description": "Information about a parquet file.",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "data_format": {
10
+ "description": "Data format.",
11
+ "const": "parquet"
12
+ },
13
+ "upload_placeholder": {
14
+ "$ref": "artifacts/artifact_core.json#properties/upload_placeholder"
15
+ },
16
+ "artifact_creator": {
17
+ "$ref": "artifacts/artifact_core.json#properties/artifact_creator"
18
+ },
19
+ "uploader": { "$ref": "artifacts/artifact_core.json#properties/uploader" },
20
+ "uuid": { "$ref": "artifacts/artifact_core.json#properties/uuid" },
21
+ "file_name": {
22
+ "$ref": "artifacts/artifact_core.json#properties/file_name"
23
+ },
24
+ "object_url": {
25
+ "$ref": "artifacts/artifact_core.json#properties/object_url"
26
+ },
27
+ "uploaded_timestamp": {
28
+ "$ref": "artifacts/artifact_core.json#properties/uploaded_timestamp"
29
+ },
30
+ "file_size_bytes": {
31
+ "$ref": "artifacts/artifact_core.json#properties/file_size_bytes"
32
+ },
33
+ "md5_hash": { "$ref": "artifacts/artifact_core.json#properties/md5_hash" },
34
+ "crc32c_hash": {
35
+ "$ref": "artifacts/artifact_core.json#properties/crc32c_hash"
36
+ },
37
+ "visible": { "$ref": "artifacts/artifact_core.json#properties/visible" },
38
+ "artifact_category": {
39
+ "$ref": "artifacts/artifact_core.json#properties/artifact_category"
40
+ },
41
+ "facet_group": {
42
+ "$ref": "artifacts/artifact_core.json#properties/facet_group"
43
+ }
44
+ },
45
+ "allOf": [
46
+ {
47
+ "$ref": "artifacts/artifact_core.json"
48
+ }
49
+ ],
50
+ "mergeStrategy": "objectMerge"
51
+ }
@@ -55,6 +55,10 @@
55
55
  "batch_id": {
56
56
  "description": "ATACseq batch identification number. Unique to every batch.",
57
57
  "type": "string"
58
+ },
59
+ "optional_id": {
60
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
61
+ "type": "string"
58
62
  },
59
63
  "error": {"$ref": "artifacts/artifact_yaml.json"},
60
64
  "assay_creator": {"$ref": "assays/components/assay_core.json#properties/assay_creator"},
@@ -77,7 +77,7 @@
77
77
  },
78
78
  "mergeStrategy": "arrayMergeById",
79
79
  "mergeOptions": {
80
- "idRef": "assay_run_id"
80
+ "idRef": "batch_id"
81
81
  }
82
82
  },
83
83
  "olink": {
@@ -189,7 +189,28 @@
189
189
  "mergeOptions": {
190
190
  "idRef": "batch_id"
191
191
  }
192
+ },
193
+ "olink_ht": {
194
+ "type": "array",
195
+ "description": "Olink HT",
196
+ "items": {
197
+ "$ref": "assays/olink_ht_assay.json"
198
+ },
199
+ "mergeStrategy": "arrayMergeById",
200
+ "mergeOptions": {
201
+ "idRef": "batch_id"
202
+ }
203
+ },
204
+ "tcrseq_rna": {
205
+ "type": "array",
206
+ "description": "TCR RNA",
207
+ "items": {
208
+ "$ref": "assays/tcrseq_rna_assay.json"
209
+ },
210
+ "mergeStrategy": "arrayMergeById",
211
+ "mergeOptions": {
212
+ "idRef": "batch_id"
213
+ }
192
214
  }
193
-
194
215
  }
195
216
  }
@@ -55,6 +55,10 @@
55
55
  "batch_id":{
56
56
  "$ref": "assays/atacseq_assay.json#properties/batch_id"
57
57
  },
58
+ "optional_id": {
59
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
60
+ "type": "string"
61
+ },
58
62
  "records": {
59
63
  "type": "array",
60
64
  "mergeStrategy": "arrayMergeById",
@@ -18,6 +18,15 @@
18
18
  },
19
19
  "excluded_samples": {
20
20
  "$ref": "assays/components/excluded_samples.json"
21
+ },
22
+ "batch_id": {
23
+ "description": "Batch identification number. Unique to every upload.",
24
+ "type": "string"
25
+ },
26
+ "optional_id": {
27
+ "description": "Optional user provided id. Currently, comes from CIDC submission ID",
28
+ "type": "string"
21
29
  }
22
- }
30
+ },
31
+ "required": ["batch_id"]
23
32
  }
@@ -16,7 +16,8 @@
16
16
  "Illumina - NextSeq 550",
17
17
  "Illumina - HiSeq 4000",
18
18
  "Illumina - NovaSeq 6000",
19
- "MiSeq"
19
+ "MiSeq",
20
+ "Oxford Nanosphere"
20
21
  ]
21
22
  },
22
23
  "library_kit": {
@@ -89,6 +89,10 @@
89
89
  "batch_id": {
90
90
  "description": "ctDNA batch identification number. Unique to every batch.",
91
91
  "type": "string"
92
+ },
93
+ "optional_id": {
94
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
95
+ "type": "string"
92
96
  },
93
97
  "summary_plots": {"$ref": "artifacts/artifact_pdf.json"},
94
98
  "records": {
@@ -21,6 +21,10 @@
21
21
  "barcodes": {"$ref": "assays/cytof_assay_core.json#properties/barcodes"},
22
22
  "controls": {"$ref": "assays/cytof_assay_core.json#properties/controls"},
23
23
  "batch_id": {"$ref": "assays/cytof_assay_core.json#properties/batch_id"},
24
+ "optional_id": {
25
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
26
+ "type": "string"
27
+ },
24
28
  "excluded_samples": {"$ref": "assays/cytof_assay_core.json#properties/excluded_samples"},
25
29
  "injector": {
26
30
  "description": "Name of Injector component used as part of the CyTOF software",
@@ -31,6 +31,10 @@
31
31
  "description": "CyTOF batch identification number. Unique to every batch.",
32
32
  "type": "string"
33
33
  },
34
+ "optional_id": {
35
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
36
+ "type": "string"
37
+ },
34
38
  "controls": {
35
39
  "type": "array",
36
40
  "mergeStrategy": "arrayMergeById",
@@ -52,9 +52,13 @@
52
52
 
53
53
  "properties": {
54
54
  "assay_creator": {"$ref": "assays/components/assay_core.json#properties/assay_creator"},
55
- "assay_run_id": {
56
- "type": "string",
57
- "description": "User defined unique identifier for this assay run."
55
+ "batch_id": {
56
+ "description": "Batch identification number. Unique to every upload.",
57
+ "type": "string"
58
+ },
59
+ "optional_id": {
60
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
61
+ "type": "string"
58
62
  },
59
63
  "assay_xlsx": {
60
64
  "$ref": "artifacts/artifact_elisa_xlsx.json"
@@ -72,5 +76,5 @@
72
76
  },
73
77
  "mergeStrategy": "objectMerge",
74
78
  "additionalProperties": false,
75
- "required": ["assay_run_id", "assay_xlsx", "antigens"]
79
+ "required": ["batch_id", "assay_xlsx", "antigens"]
76
80
  }
@@ -102,6 +102,14 @@
102
102
 
103
103
  "properties": {
104
104
  "assay_creator": {"$ref": "assays/components/assay_core.json#properties/assay_creator"},
105
+ "batch_id": {
106
+ "description": "Batch identification number. Unique to every upload.",
107
+ "type": "string"
108
+ },
109
+ "optional_id": {
110
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
111
+ "type": "string"
112
+ },
105
113
  "records": {
106
114
  "type": "array",
107
115
  "description": "A single data record from H & E assay.",
@@ -116,6 +124,7 @@
116
124
  },
117
125
  "required": [
118
126
  "records",
119
- "assay_creator"
127
+ "assay_creator",
128
+ "batch_id"
120
129
  ]
121
130
  }
@@ -122,7 +122,14 @@
122
122
 
123
123
  "properties": {
124
124
  "assay_creator": {"$ref": "assays/components/assay_core.json#properties/assay_creator"},
125
-
125
+ "batch_id": {
126
+ "description": "Batch identification number. Unique to every upload.",
127
+ "type": "string"
128
+ },
129
+ "optional_id": {
130
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
131
+ "type": "string"
132
+ },
126
133
  "slide_scanner_model": {
127
134
  "description": "Model version of the slide scanner instrument.",
128
135
  "type": "string",
@@ -165,6 +172,7 @@
165
172
  }
166
173
  },
167
174
  "required": [
175
+ "batch_id",
168
176
  "slide_scanner_model",
169
177
  "staining_platform",
170
178
  "autostainer_model",
@@ -35,6 +35,10 @@
35
35
  "description": "Batch identification number. Unique to every upload.",
36
36
  "type": "string"
37
37
  },
38
+ "optional_id": {
39
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
40
+ "type": "string"
41
+ },
38
42
  "molecular_assignments_file": {
39
43
  "$ref": "artifacts/artifact_tsv.json"
40
44
  },
@@ -35,6 +35,10 @@
35
35
  "type": "string",
36
36
  "description": "Batch identification number. Unique to every batch."
37
37
  },
38
+ "optional_id": {
39
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
40
+ "type": "string"
41
+ },
38
42
  "metadata_tsv": {
39
43
  "description": "Deidentified metadata as a TSV file",
40
44
  "$ref": "artifacts/artifact_tsv.json"
@@ -50,6 +50,10 @@
50
50
  "description": "Microbiome batch identification number.",
51
51
  "type": "string"
52
52
  },
53
+ "optional_id": {
54
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
55
+ "type": "string"
56
+ },
53
57
  "sequencer_platform": { "$ref": "assays/components/ngs_assay_core.json#properties/sequencer_platform" },
54
58
  "forward_fastq": {"$ref": "artifacts/artifact_fastq_gz.json"},
55
59
  "forward_index": {"$ref": "artifacts/artifact_fastq_gz.json"},
@@ -68,4 +72,4 @@
68
72
  }
69
73
  }
70
74
  }
71
- }
75
+ }
@@ -4,7 +4,7 @@
4
4
  "title": "mIF Assay",
5
5
  "type": "object",
6
6
 
7
- "$comment": "description used in docs/index.html and docs/assays.mif.html",
7
+ "$comment": "description used in docs/index.html and docs/assays.mif.html",
8
8
  "description": "Multiplex immunofluorescence.",
9
9
 
10
10
  "additionalProperties": false,
@@ -28,7 +28,14 @@
28
28
  "imaging_status": {"$ref": "assays/components/imaging_data.json#properties/imaging_status"},
29
29
 
30
30
  "qc_report": {"$ref": "artifacts/artifact_zip.json"},
31
-
31
+ "batch_id": {
32
+ "description": "Batch identification number. Unique to every upload.",
33
+ "type": "string"
34
+ },
35
+ "optional_id": {
36
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
37
+ "type": "string"
38
+ },
32
39
  "panel": {
33
40
  "type": "string",
34
41
  "enum": [
@@ -65,6 +72,6 @@
65
72
  }
66
73
  }
67
74
  },
68
- "required": ["records", "panel", "antibodies"],
75
+ "required": ["records", "panel", "antibodies", "batch_id"],
69
76
  "mergeStrategy": "objectMerge"
70
77
  }
@@ -46,7 +46,10 @@
46
46
  "description": "Batch identification number. Unique to every upload.",
47
47
  "type": "string"
48
48
  },
49
-
49
+ "optional_id": {
50
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
51
+ "type": "string"
52
+ },
50
53
  "samples_file": {"$ref": "artifacts/artifact_csv.json"},
51
54
 
52
55
  "panel": {"type": "string"},
@@ -43,6 +43,14 @@
43
43
  "assay_creator": {
44
44
  "$ref": "assays/components/assay_core.json#properties/assay_creator"
45
45
  },
46
+ "batch_id": {
47
+ "description": "Batch identification number. Unique to every upload.",
48
+ "type": "string"
49
+ },
50
+ "optional_id": {
51
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
52
+ "type": "string"
53
+ },
46
54
  "files": {
47
55
  "type": "array",
48
56
  "description": "A single file containing miscellaneous data.",
@@ -59,4 +67,4 @@
59
67
  "files",
60
68
  "assay_creator"
61
69
  ]
62
- }
70
+ }
@@ -61,6 +61,10 @@
61
61
  "type": "string",
62
62
  "description": "A unique ID that separates the different batches of Nanostring."
63
63
  },
64
+ "optional_id": {
65
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
66
+ "type": "string"
67
+ },
64
68
  "data": {
65
69
  "type": "object",
66
70
  "additionalProperties": false,
@@ -82,5 +86,5 @@
82
86
  "items": { "$ref": "assays/nanostring_assay.json#definitions/run" }
83
87
  }
84
88
  },
85
- "required": ["data", "runs"]
89
+ "required": ["data", "runs", "batch_id"]
86
90
  }
@@ -35,6 +35,10 @@
35
35
  "description": "Batch identification number. Unique to every upload.",
36
36
  "type": "string"
37
37
  },
38
+ "optional_id": {
39
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
40
+ "type": "string"
41
+ },
38
42
  "npq_file": {
39
43
  "$ref": "artifacts/artifact_csv.json"
40
44
  },
@@ -119,6 +119,10 @@
119
119
  "type": "string",
120
120
  "description": "A unique identifier for this Olink upload"
121
121
  },
122
+ "optional_id": {
123
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
124
+ "type": "string"
125
+ },
122
126
  "assay_creator": {
123
127
  "$ref": "assays/components/assay_core.json#properties/assay_creator"
124
128
  },
@@ -0,0 +1,100 @@
1
+ {
2
+ "$schema": "metaschema/strict_meta_schema.json#",
3
+ "$id": "olink_ht_assay",
4
+ "title": "Olink HT Assay",
5
+ "type": "object",
6
+ "$comment": "description used in docs/index.html and docs/assays.olink_ht.html",
7
+ "description": "Olink HT assay",
8
+ "additionalProperties": false,
9
+ "definitions": {
10
+ "record": {
11
+ "type": "object",
12
+ "mergeStrategy": "objectMerge",
13
+ "description": "A single data record from an Olink HT assay.",
14
+ "additionalProperties": false,
15
+ "required": [
16
+ "cimac_id",
17
+ "npx_run_file",
18
+ "instrument",
19
+ "npx_manager_version"
20
+ ],
21
+ "properties": {
22
+ "cimac_id": {
23
+ "description": "Id of an sample within this clinical trial, that this assay record is based upon.",
24
+ "$ref": "sample.json#properties/cimac_id"
25
+ },
26
+ "npx_run_file": {
27
+ "$ref": "artifacts/artifact_parquet.json",
28
+ "$comment": "Parquet file of the overall run the sample was in."
29
+ },
30
+ "instrument": {
31
+ "description": "Instrument used for the Olink HT assay.",
32
+ "type": "string"
33
+ },
34
+ "npx_manager_version": {
35
+ "description": "Version of NPX manager used for the analysis.",
36
+ "type": "string"
37
+ },
38
+ "comments": {
39
+ "description": "Comments on the Olink HT assay sample.",
40
+ "type": "string"
41
+ }
42
+ }
43
+ }
44
+ },
45
+ "properties": {
46
+ "assay_creator": {
47
+ "$ref": "assays/components/assay_core.json#properties/assay_creator"
48
+ },
49
+ "batch_id": {
50
+ "description": "Batch identification number. Unique to every upload.",
51
+ "type": "string"
52
+ },
53
+ "optional_id": {
54
+ "description": "User provided optional id. Currently comes from CIDC Submission ID",
55
+ "type": "string"
56
+ },
57
+ "panel": {
58
+ "description": "Panel used for the assay.",
59
+ "type": "string"
60
+ },
61
+ "assay_panel_lot": {
62
+ "description": "Lot number of the assay panel.",
63
+ "type": "string"
64
+ },
65
+ "study_level_combined_file": {
66
+ "$comment": "Parquet file of the study level run.",
67
+ "$ref": "artifacts/artifact_parquet.json"
68
+ },
69
+ "study_level_combined_npx_manager_version": {
70
+ "description": "Version of NPX manager used for the analysis.",
71
+ "type": "string"
72
+ },
73
+ "batch_level_combined_file": {
74
+ "$comment": "Parquet file of the batch level run.",
75
+ "$ref": "artifacts/artifact_parquet.json"
76
+ },
77
+ "batch_level_combined_npx_manager_version": {
78
+ "description": "Version of NPX manager used for the analysis.",
79
+ "type": "string"
80
+ },
81
+ "records": {
82
+ "type": "array",
83
+ "description": "A single data record from an Olink HT assay.",
84
+ "items": {
85
+ "$ref": "assays/olink_ht_assay.json#definitions/record"
86
+ },
87
+ "mergeStrategy": "append"
88
+ }
89
+ },
90
+ "required": [
91
+ "assay_creator",
92
+ "batch_id",
93
+ "panel",
94
+ "assay_panel_lot",
95
+ "study_level_combined_file",
96
+ "study_level_combined_npx_manager_version",
97
+ "batch_level_combined_file",
98
+ "batch_level_combined_npx_manager_version"
99
+ ]
100
+ }