pysodafair 0.1.62__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.
- pysoda/__init__.py +0 -0
- pysoda/constants.py +3 -0
- pysoda/core/__init__.py +10 -0
- pysoda/core/dataset_generation/__init__.py +11 -0
- pysoda/core/dataset_generation/manifestSession/__init__.py +1 -0
- pysoda/core/dataset_generation/manifestSession/manifest_session.py +146 -0
- pysoda/core/dataset_generation/upload.py +3951 -0
- pysoda/core/dataset_importing/__init__.py +1 -0
- pysoda/core/dataset_importing/import_dataset.py +662 -0
- pysoda/core/metadata/__init__.py +20 -0
- pysoda/core/metadata/code_description.py +109 -0
- pysoda/core/metadata/constants.py +32 -0
- pysoda/core/metadata/dataset_description.py +188 -0
- pysoda/core/metadata/excel_utils.py +41 -0
- pysoda/core/metadata/helpers.py +250 -0
- pysoda/core/metadata/manifest.py +112 -0
- pysoda/core/metadata/manifest_package/__init__.py +2 -0
- pysoda/core/metadata/manifest_package/manifest.py +0 -0
- pysoda/core/metadata/manifest_package/manifest_import.py +29 -0
- pysoda/core/metadata/manifest_package/manifest_writer.py +666 -0
- pysoda/core/metadata/performances.py +46 -0
- pysoda/core/metadata/resources.py +53 -0
- pysoda/core/metadata/samples.py +184 -0
- pysoda/core/metadata/sites.py +51 -0
- pysoda/core/metadata/subjects.py +172 -0
- pysoda/core/metadata/submission.py +91 -0
- pysoda/core/metadata/text_metadata.py +47 -0
- pysoda/core/metadata_templates/CHANGES +1 -0
- pysoda/core/metadata_templates/LICENSE +1 -0
- pysoda/core/metadata_templates/README.md +4 -0
- pysoda/core/metadata_templates/__init__.py +0 -0
- pysoda/core/metadata_templates/code_description.xlsx +0 -0
- pysoda/core/metadata_templates/code_parameters.xlsx +0 -0
- pysoda/core/metadata_templates/dataset_description.xlsx +0 -0
- pysoda/core/metadata_templates/manifest.xlsx +0 -0
- pysoda/core/metadata_templates/performances.xlsx +0 -0
- pysoda/core/metadata_templates/resources.xlsx +0 -0
- pysoda/core/metadata_templates/samples.xlsx +0 -0
- pysoda/core/metadata_templates/sites.xlsx +0 -0
- pysoda/core/metadata_templates/subjects.xlsx +0 -0
- pysoda/core/metadata_templates/subjects_pools_samples_structure.xlsx +0 -0
- pysoda/core/metadata_templates/subjects_pools_samples_structure_example.xlsx +0 -0
- pysoda/core/metadata_templates/submission.xlsx +0 -0
- pysoda/core/permissions/__init__.py +1 -0
- pysoda/core/permissions/permissions.py +31 -0
- pysoda/core/pysoda/__init__.py +2 -0
- pysoda/core/pysoda/soda.py +34 -0
- pysoda/core/pysoda/soda_object.py +55 -0
- pysoda/core/upload_manifests/__init__.py +1 -0
- pysoda/core/upload_manifests/upload_manifests.py +37 -0
- pysoda/schema/__init__.py +0 -0
- pysoda/schema/code_description.json +629 -0
- pysoda/schema/dataset_description.json +295 -0
- pysoda/schema/manifest.json +60 -0
- pysoda/schema/performances.json +44 -0
- pysoda/schema/resources.json +39 -0
- pysoda/schema/samples.json +97 -0
- pysoda/schema/sites.json +38 -0
- pysoda/schema/soda_schema.json +664 -0
- pysoda/schema/subjects.json +131 -0
- pysoda/schema/submission_schema.json +28 -0
- pysoda/utils/__init__.py +9 -0
- pysoda/utils/authentication.py +381 -0
- pysoda/utils/config.py +68 -0
- pysoda/utils/exceptions.py +156 -0
- pysoda/utils/logger.py +6 -0
- pysoda/utils/metadata_utils.py +74 -0
- pysoda/utils/pennsieveAgentUtils.py +11 -0
- pysoda/utils/pennsieveUtils.py +118 -0
- pysoda/utils/profile.py +28 -0
- pysoda/utils/schema_validation.py +133 -0
- pysoda/utils/time_utils.py +5 -0
- pysoda/utils/upload_utils.py +108 -0
- pysodafair-0.1.62.dist-info/METADATA +190 -0
- pysodafair-0.1.62.dist-info/RECORD +77 -0
- pysodafair-0.1.62.dist-info/WHEEL +4 -0
- pysodafair-0.1.62.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"metadata_version": {
|
|
6
|
+
"type": "string",
|
|
7
|
+
"description": "The version of the metadata schema used."
|
|
8
|
+
},
|
|
9
|
+
"type": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "The type of the dataset. For example, experimental."
|
|
12
|
+
},
|
|
13
|
+
"standards_information": {
|
|
14
|
+
"type": "object",
|
|
15
|
+
"properties": {
|
|
16
|
+
"data_standard": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"description": "The name of the standard used in the project."
|
|
19
|
+
},
|
|
20
|
+
"data_standard_version": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "The version of the standard used in the project."
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": []
|
|
26
|
+
},
|
|
27
|
+
"basic_information": {
|
|
28
|
+
"type": "object",
|
|
29
|
+
"properties": {
|
|
30
|
+
"title": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"description": "The title of the project."
|
|
33
|
+
},
|
|
34
|
+
"subtitle": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"description": "The subtitle of the project."
|
|
37
|
+
},
|
|
38
|
+
"description": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"description": "A detailed description of the project."
|
|
41
|
+
},
|
|
42
|
+
"keywords": {
|
|
43
|
+
"type": "array",
|
|
44
|
+
"items": {
|
|
45
|
+
"type": "string"
|
|
46
|
+
},
|
|
47
|
+
"description": "A list of keywords related to the project."
|
|
48
|
+
},
|
|
49
|
+
"funding": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"description": "Funding awards for the project."
|
|
52
|
+
},
|
|
53
|
+
"acknowledgments": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"description": "Acknowledgments for the project."
|
|
56
|
+
},
|
|
57
|
+
"license": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"description": "The license under which the project is released."
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"required": []
|
|
63
|
+
},
|
|
64
|
+
"funding_information": {
|
|
65
|
+
"type": "object",
|
|
66
|
+
"properties": {
|
|
67
|
+
"funding_consortium": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"description": "The name of the funding consortium."
|
|
70
|
+
},
|
|
71
|
+
"funding_agency": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"description": "The name of the funding agency."
|
|
74
|
+
},
|
|
75
|
+
"award_number": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"description": "The award number for the funding."
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"study_information": {
|
|
82
|
+
"type": "object",
|
|
83
|
+
"properties": {
|
|
84
|
+
"study_purpose": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"description": "The purpose of the study."
|
|
87
|
+
},
|
|
88
|
+
"study_data_collection": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"description": "The data collection methods used in the study."
|
|
91
|
+
},
|
|
92
|
+
"study_primary_conclusion": {
|
|
93
|
+
"type": "string",
|
|
94
|
+
"description": "The primary conclusion of the study."
|
|
95
|
+
},
|
|
96
|
+
"study_organ_system": {
|
|
97
|
+
"type": "array",
|
|
98
|
+
"items": {
|
|
99
|
+
"type": "string"
|
|
100
|
+
},
|
|
101
|
+
"description": "The organ system(s) studied in the research."
|
|
102
|
+
},
|
|
103
|
+
"study_approach": {
|
|
104
|
+
"type": "array",
|
|
105
|
+
"items": {
|
|
106
|
+
"type": "string"
|
|
107
|
+
},
|
|
108
|
+
"description": "The approach used in the study. E.g., electrophysiology"
|
|
109
|
+
},
|
|
110
|
+
"study_technique": {
|
|
111
|
+
"type": "array",
|
|
112
|
+
"items": {
|
|
113
|
+
"type": "string"
|
|
114
|
+
},
|
|
115
|
+
"description": "The technique(s) used in the study. E.g., patch clamp, whole cell recording"
|
|
116
|
+
},
|
|
117
|
+
"study_collection_title": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"description": "The title of the study collection this dataset belongs to, if one exists."
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"required": []
|
|
123
|
+
},
|
|
124
|
+
"contributor_information": {
|
|
125
|
+
"type": "array",
|
|
126
|
+
"items": {
|
|
127
|
+
"type": "object",
|
|
128
|
+
"properties": {
|
|
129
|
+
"contributor_orcid_id": {
|
|
130
|
+
"type": "string",
|
|
131
|
+
"description": "The ORCiD for this contributor."
|
|
132
|
+
},
|
|
133
|
+
"contributor_affiliation": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"description": "The institutional affiliation for this contributor."
|
|
136
|
+
},
|
|
137
|
+
"contributor_name": {
|
|
138
|
+
"type": "string",
|
|
139
|
+
"pattern": "^[A-Za-z]+, [A-Za-z]+( [A-Za-z]+)?$",
|
|
140
|
+
"description": "The name of the contributor. The format should be 'Last Name, First Name'."
|
|
141
|
+
},
|
|
142
|
+
"contributor_role": {
|
|
143
|
+
"type": "string",
|
|
144
|
+
"enum": [
|
|
145
|
+
"PrincipalInvestigator",
|
|
146
|
+
"Creator",
|
|
147
|
+
"CoInvestigator",
|
|
148
|
+
"CorrespondingAuthor",
|
|
149
|
+
"DataCollector",
|
|
150
|
+
"DataCurator",
|
|
151
|
+
"DataManager",
|
|
152
|
+
"Distributor",
|
|
153
|
+
"Editor",
|
|
154
|
+
"Producer",
|
|
155
|
+
"ProjectLeader",
|
|
156
|
+
"ProjectManager",
|
|
157
|
+
"ProjectMember",
|
|
158
|
+
"RelatedPerson",
|
|
159
|
+
"Researcher",
|
|
160
|
+
"ResearchGroup",
|
|
161
|
+
"Sponsor",
|
|
162
|
+
"Supervisor",
|
|
163
|
+
"WorkPackageLeader",
|
|
164
|
+
"Other"
|
|
165
|
+
],
|
|
166
|
+
"description": "The role of the contributor in the project. There must be at least one PrincipalInvestigator."
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
"related_resource_information": {
|
|
172
|
+
"type": "array",
|
|
173
|
+
"items": {
|
|
174
|
+
"type": "object",
|
|
175
|
+
"properties": {
|
|
176
|
+
"identifier_description": {
|
|
177
|
+
"type": "string"
|
|
178
|
+
},
|
|
179
|
+
"relation_type": {
|
|
180
|
+
"type": "string",
|
|
181
|
+
"enum": [
|
|
182
|
+
"IsProtocolFor",
|
|
183
|
+
"HasProtocol",
|
|
184
|
+
"IsSoftwareFor",
|
|
185
|
+
"HasSoftware",
|
|
186
|
+
"SharesEntitiesWithDataset",
|
|
187
|
+
"IsCitedBy",
|
|
188
|
+
"Cites",
|
|
189
|
+
"IsSupplementTo",
|
|
190
|
+
"IsSupplementedBy",
|
|
191
|
+
"IsContinuedBy",
|
|
192
|
+
"Continues",
|
|
193
|
+
"IsDescribedBy",
|
|
194
|
+
"Describes",
|
|
195
|
+
"HasMetadata",
|
|
196
|
+
"IsMetadataFor",
|
|
197
|
+
"HasVersion",
|
|
198
|
+
"IsVersionOf",
|
|
199
|
+
"IsNewVersionOf",
|
|
200
|
+
"IsPreviousVersionOf",
|
|
201
|
+
"IsPartOf",
|
|
202
|
+
"HasPart",
|
|
203
|
+
"IsPublishedIn",
|
|
204
|
+
"IsReferencedBy",
|
|
205
|
+
"References",
|
|
206
|
+
"IsDocumentedBy",
|
|
207
|
+
"Documents",
|
|
208
|
+
"IsCompiledBy",
|
|
209
|
+
"Compiles",
|
|
210
|
+
"IsVariantFormOf",
|
|
211
|
+
"IsOriginalFormOf",
|
|
212
|
+
"IsIdenticalTo",
|
|
213
|
+
"IsReviewedBy",
|
|
214
|
+
"Reviews",
|
|
215
|
+
"IsDerivedFrom",
|
|
216
|
+
"IsSourceOf",
|
|
217
|
+
"IsRequiredBy",
|
|
218
|
+
"Requires",
|
|
219
|
+
"IsObsoletedBy",
|
|
220
|
+
"Obsoletes"
|
|
221
|
+
],
|
|
222
|
+
"description": "The relationship that this dataset has to the related identifier. For example, the originating article would be this dataset IsDescribedBy originating article."
|
|
223
|
+
},
|
|
224
|
+
"identifier": {
|
|
225
|
+
"type": "string"
|
|
226
|
+
},
|
|
227
|
+
"identifier_type": {
|
|
228
|
+
"type": "string",
|
|
229
|
+
"enum": [
|
|
230
|
+
"ARK",
|
|
231
|
+
"arXiv",
|
|
232
|
+
"bibcode",
|
|
233
|
+
"DOI",
|
|
234
|
+
"EAN13",
|
|
235
|
+
"EISSN",
|
|
236
|
+
"Handle",
|
|
237
|
+
"IGSN",
|
|
238
|
+
"ISBN",
|
|
239
|
+
"ISSN",
|
|
240
|
+
"ISTC",
|
|
241
|
+
"LISSN",
|
|
242
|
+
"LSID",
|
|
243
|
+
"PMID",
|
|
244
|
+
"PURL",
|
|
245
|
+
"UPC",
|
|
246
|
+
"URL",
|
|
247
|
+
"URN",
|
|
248
|
+
"w3id"
|
|
249
|
+
]
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
"required": []
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
"participant_information": {
|
|
256
|
+
"type": "object",
|
|
257
|
+
"properties": {
|
|
258
|
+
"number_of_subjects": {
|
|
259
|
+
"type": "number",
|
|
260
|
+
"description": "The number of subjects in the study."
|
|
261
|
+
},
|
|
262
|
+
"number_of_samples": {
|
|
263
|
+
"type": "number",
|
|
264
|
+
"description": "The number of samples in the study."
|
|
265
|
+
},
|
|
266
|
+
"number_of_sites": {
|
|
267
|
+
"type": "number",
|
|
268
|
+
"description": "The number of sites in the study."
|
|
269
|
+
},
|
|
270
|
+
"number_of_performances": {
|
|
271
|
+
"type": "number",
|
|
272
|
+
"description": "The number of performance in the study."
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
"required": []
|
|
276
|
+
},
|
|
277
|
+
"data_dictionary_information": {
|
|
278
|
+
"type": "object",
|
|
279
|
+
"properties": {
|
|
280
|
+
"data_dictionary_path": {
|
|
281
|
+
"type": "string",
|
|
282
|
+
"description": "The path to the data dictionary file."
|
|
283
|
+
},
|
|
284
|
+
"data_dictionary_type": {
|
|
285
|
+
"type": "string",
|
|
286
|
+
"description": "The type of the data dictionary. E.g., json-schema"
|
|
287
|
+
},
|
|
288
|
+
"data_dictionary_description": {
|
|
289
|
+
"type": "string",
|
|
290
|
+
"description": "A descrption of the data dictionary."
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "array",
|
|
4
|
+
"items": [
|
|
5
|
+
{
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"filename": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "File path to the data file. This should be a valid file path relative to the root of the dataset."
|
|
11
|
+
},
|
|
12
|
+
"timestamp": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "Timestamp of when the data was created or last modified. This should be in ISO 8601 format."
|
|
15
|
+
},
|
|
16
|
+
"description": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"description": "Description of the data file. This should provide a brief overview of the contents of the file."
|
|
19
|
+
},
|
|
20
|
+
"file_type": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "Type of the data file. This should be the extension of the data file, such as .txt, .csv, .json, etc."
|
|
23
|
+
},
|
|
24
|
+
"entity": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"description": "Each ID should be taken from the subject.xlsx, samples.xlsx, sites.xlsx, or performances.xlsx files."
|
|
27
|
+
},
|
|
28
|
+
"data_modality": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "Modality of the data. This should describe the type of data contained in the file, such as 'image', 'text', 'audio', etc."
|
|
31
|
+
},
|
|
32
|
+
"also_in_dataset": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "DOI to the dataset this data is also part of."
|
|
35
|
+
},
|
|
36
|
+
"also_in_dataset_path": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "Path to the dataset that this data file is part of. This should be a valid file path in the system where the manifest is being used."
|
|
39
|
+
},
|
|
40
|
+
"data_dictionary_path": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "Path to the data dictionary for this data file. This should be a valid file path in the system where the manifest is being used."
|
|
43
|
+
},
|
|
44
|
+
"entity_is_transitive": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"description": "Indicates whether the entity represented in this data file is transitive. This should be either true or false."
|
|
47
|
+
},
|
|
48
|
+
"additional_metadata": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"description": "Additional metadata about the data file. This can include any other relevant information that does not fit into the other categories."
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"required": ["filename"],
|
|
54
|
+
"additionalProperties": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"description": "Additional properties for the manifest file. This can include any other relevant information about the subject that is not covered by the predefined fields."
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/performances.json",
|
|
3
|
+
"type": "array",
|
|
4
|
+
"items": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"performance_id": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Unique identifier for the performance"
|
|
10
|
+
},
|
|
11
|
+
"protocol_url_or_doi": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "URL or DOI of the protocol associated with the performance",
|
|
14
|
+
"pattern": "^$|^(https?://|doi:).+"
|
|
15
|
+
},
|
|
16
|
+
"date": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"format": "date",
|
|
19
|
+
"description": "Date of the performance in YYYY-MM-DD format"
|
|
20
|
+
},
|
|
21
|
+
"start_datetime": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"format": "date-time",
|
|
24
|
+
"description": "Start date and time of the performance in ISO 8601 format"
|
|
25
|
+
},
|
|
26
|
+
"end_datetime": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"format": "date-time",
|
|
29
|
+
"description": "End date and time of the performance in ISO 8601 format"
|
|
30
|
+
},
|
|
31
|
+
"participants": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"items": {
|
|
34
|
+
"type": "string"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"additional_metadata": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "Any additional metadata related to the performance"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"required": ["performance_id"]
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "array",
|
|
4
|
+
"items": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"rrid": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Unique identifier for the site, typically an RRID"
|
|
10
|
+
},
|
|
11
|
+
"name": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "The resources name"
|
|
14
|
+
},
|
|
15
|
+
"url": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "URL to the resource.",
|
|
18
|
+
"pattern": "^(https?://)?.*$"
|
|
19
|
+
},
|
|
20
|
+
"vendor": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "The vendor or provider of the resource"
|
|
23
|
+
},
|
|
24
|
+
"version": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"description": "Version of the resource, if applicable"
|
|
27
|
+
},
|
|
28
|
+
"id_in_protocol": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "Identifier for the resource within a specific protocol or experiment"
|
|
31
|
+
},
|
|
32
|
+
"additional_metadata": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "Additional metadata about the resource, such as usage notes or specific details"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"required": ["rrid", "name", "url", "vendor", "version", "id_in_protocol"]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "array",
|
|
4
|
+
"maxItems": 19,
|
|
5
|
+
"items": [
|
|
6
|
+
{
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"sample_id": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "Unique identifier for the sample within the dataset."
|
|
12
|
+
},
|
|
13
|
+
"subject_id": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "Unique identifier for the subject from which the sample was derived."
|
|
16
|
+
},
|
|
17
|
+
"was_derived_from": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Unique identifier for the sample from which this sample was derived."
|
|
20
|
+
},
|
|
21
|
+
"pool_id": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"description": "Unique identifier for the pool to which this sample belongs."
|
|
24
|
+
},
|
|
25
|
+
"sample_experimental_group": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "Experimental group associated with the sample."
|
|
28
|
+
},
|
|
29
|
+
"sample_type": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Type of sample (e.g., blood, tissue, etc.)."
|
|
32
|
+
},
|
|
33
|
+
"sample_anatomical_location": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Anatomical location of the sample."
|
|
36
|
+
},
|
|
37
|
+
"also_in_dataset": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "Indicates if the sample is also part of another dataset."
|
|
40
|
+
},
|
|
41
|
+
"member_of": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"description": "Group or cohort the sample is a member of."
|
|
44
|
+
},
|
|
45
|
+
"metadata_only": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"description": "Indicates whether this sample is metadata only (true or false)."
|
|
48
|
+
},
|
|
49
|
+
"laboratory_internal_id": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"description": "Internal identifier used by the laboratory for the sample."
|
|
52
|
+
},
|
|
53
|
+
"date_of_derivation": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"description": "Date when the sample was derived."
|
|
56
|
+
},
|
|
57
|
+
"experimental_log_file_path": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"description": "Path to the experimental log file for the sample."
|
|
60
|
+
},
|
|
61
|
+
"reference_atlas": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"description": "Reference atlas used in the experiment."
|
|
64
|
+
},
|
|
65
|
+
"pathology": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"description": "Pathology associated with the sample."
|
|
68
|
+
},
|
|
69
|
+
"laterality": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"description": "Laterality of the sample (e.g., left, right, bilateral)."
|
|
72
|
+
},
|
|
73
|
+
"cell_type": {
|
|
74
|
+
"type": "string",
|
|
75
|
+
"description": "Cell type of the sample."
|
|
76
|
+
},
|
|
77
|
+
"plane_of_section": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"description": "Plane of section of the sample."
|
|
80
|
+
},
|
|
81
|
+
"protocol_title": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"description": "Title of the protocol used in the experiment."
|
|
84
|
+
},
|
|
85
|
+
"protocol_url_or_doi": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"description": "URL or DOI of the protocol used in the experiment."
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"required": ["sample_id", "subject_id"],
|
|
91
|
+
"additionalProperties": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"description": "Additional properties for the sample. This can include any other relevant information about the sample that is not covered by the predefined fields."
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
}
|
pysoda/schema/sites.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "array",
|
|
4
|
+
"items": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"site_id": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Unique identifier for the site"
|
|
10
|
+
},
|
|
11
|
+
"specimen_id": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Unique identifier for the specimen associated with the site"
|
|
14
|
+
},
|
|
15
|
+
"site_type": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Type of the site (e.g., 'tissue', 'cell culture')"
|
|
18
|
+
},
|
|
19
|
+
"laboratory_internal_id": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "Internal id for the site"
|
|
22
|
+
},
|
|
23
|
+
"coordinate_system": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "Coordinate system used for the site (e.g., 'microns', 'pixels')"
|
|
26
|
+
},
|
|
27
|
+
"coordinate_system_position": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "Position in the coordinate system (e.g., 'x,y,z' for 3D coordinates)"
|
|
30
|
+
},
|
|
31
|
+
"more...": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"description": "Any additional metadata related to the site"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"required": ["site_id", "specimen_id"]
|
|
37
|
+
}
|
|
38
|
+
}
|