Utility class for accessing ENCODE3's submit / data warehouse server.
[htsworkflow.git] / htsworkflow / submission / test / library.json
1 {
2     "properties": {
3         "accession": {
4             "comment": "Only admins are allowed to set or update this value.",
5             "accessionType": "LB",
6             "description": "A unique identifier to be used to reference the object.",
7             "permission": "import_items",
8             "serverDefault": "accession",
9             "format": "accession",
10             "title": "Accession",
11             "type": "string"
12         },
13         "alternate_accessions": {
14             "description": "Accessions previously assigned to objects that have been merged with this object.",
15             "title": "Alternate accessions",
16             "default": [],
17             "items": {
18                 "comment": "Only admins are allowed to set or update this value.",
19                 "format": "accession",
20                 "type": "string",
21                 "description": "An accession previously assigned to an object that has been merged with this object.",
22                 "title": "Alternate Accession"
23             },
24             "permission": "import_items",
25             "type": "array"
26         },
27         "lot_id": {
28             "type": "string",
29             "description": "The lot identifier provided by the originating lab or vendor.",
30             "title": "Lot ID"
31         },
32         "aliases": {
33             "default": [],
34             "items": {
35                 "comment": "Current convention is colon separated lab name and lab identifier. (e.g. john-doe:42).",
36                 "pattern": "^\\S+:\\S+",
37                 "type": "string",
38                 "description": "A lab specific identifier to reference an object.",
39                 "title": "Lab alias"
40             },
41             "type": "array",
42             "description": "Lab specific identifiers to reference an object.",
43             "title": "Lab aliases"
44         },
45         "submitted_by": {
46             "comment": "Do not submit, value is assigned by the server. The user that created the object.",
47             "linkTo": "user",
48             "title": "Submitted by",
49             "serverDefault": "userid",
50             "permission": "import_items",
51             "type": "string"
52         },
53         "documents": {
54             "default": [],
55             "items": {
56                 "comment": "See document.json for available identifiers.",
57                 "type": "string",
58                 "description": "A document that describe the preparation of the library. ",
59                 "linkTo": "document",
60                 "title": "Protocol document"
61             },
62             "type": "array",
63             "description": "Documents that describe the preparation of the library.",
64             "title": "Protocol documents"
65         },
66         "fragmentation_date": {
67             "comment": "Date can be submitted in as YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSTZD (TZD is the time zone designator; use Z to express time in UTC or for time expressed in local time add a time zone offset from UTC +HH:MM or -HH:MM).",
68             "type": "string",
69             "anyOf": [
70                 {
71                     "format": "date-time"
72                 },
73                 {
74                     "format": "date"
75                 }
76             ],
77             "description": "The date that the nucleic acid was fragmented.",
78             "title": "Fragmentation date"
79         },
80         "uuid": {
81             "format": "uuid",
82             "serverDefault": "uuid4",
83             "title": "UUID",
84             "requestMethod": "POST",
85             "permission": "import_items",
86             "type": "string"
87         },
88         "strand_specificity": {
89             "default": false,
90             "type": "boolean",
91             "description": "The preparation of the library using a strand-specific protocol.",
92             "title": "Strand specificity"
93         },
94         "fragmentation_method": {
95             "description": "A short description or reference of the nucleic acid fragmentation protocol used in library preparation, if applicable.",
96             "title": "Fragmentation method",
97             "default": "see document",
98             "format": "semi-controlled",
99             "XXXenum": [
100                 "sonication",
101                 "see document",
102                 "covaris shearing",
103                 "chemical (part of Illumina TruSeq mRNA Kit)",
104                 "Illumina/Nextera tagmentation",
105                 "bioruptor twin",
106                 "n/a"
107             ],
108             "type": "string"
109         },
110         "schema_version": {
111             "comment": "Do not submit, value is assigned by the server. The version of the JSON schema that the server uses to validate the object. Schema version indicates generation of schema used to save version to to enable upgrade steps to work. Individual schemas should set the default.",
112             "pattern": "^\\d+(\\.\\d+)*$",
113             "default": "2",
114             "type": "string",
115             "requestMethod": []
116         },
117         "lysis_method": {
118             "description": "A short description or reference of the cell lysis protocol used in library preparation, if applicable",
119             "title": "Lysis method",
120             "default": "see document",
121             "format": "semi-controlled",
122             "XXXenum": [
123                 "miRNeasy Mini kit (QIAGEN cat#:217004)",
124                 "Trizol (LifeTech cat#: 15596-018)",
125                 "Ambion mirVana",
126                 "Qiagen #74204",
127                 "QIAGEN DNeasy Blood & Tissue Kit",
128                 "see document",
129                 "n/a"
130             ],
131             "type": "string"
132         },
133         "source": {
134             "comment": "See source.json for available identifiers.",
135             "title": "Source",
136             "type": "string",
137             "description": "The originating lab or vendor.",
138             "linkTo": "source"
139         },
140         "biosample": {
141             "comment": "See biosample.json for available identifiers.",
142             "title": "Biosample",
143             "type": "string",
144             "description": "The biosample that nucleic acid was isolated from to generate the library.",
145             "linkTo": "biosample"
146         },
147         "extraction_method": {
148             "description": "A short description or reference of the nucleic acid extraction protocol used in library preparation, if applicable.",
149             "title": "Extraction method",
150             "default": "see document",
151             "format": "semi-controlled",
152             "XXXenum": [
153                 "miRNeasy Mini kit (QIAGEN cat#:217004)",
154                 "Trizol (LifeTech cat#: 15596-018)",
155                 "Ambion mirVana",
156                 "Qiagen #74204",
157                 "QIAGEN DNeasy Blood & Tissue Kit",
158                 "see document",
159                 "n/a"
160             ],
161             "type": "string"
162         },
163         "library_size_selection_method": {
164             "description": "A short description or reference of the size selection protocol used in library preparation, if applicable.",
165             "title": "Size selection method",
166             "default": "see document",
167             "format": "semi-controlled",
168             "XXXenum": [
169                 "gel",
170                 "see document",
171                 "SPRI beads"
172             ],
173             "type": "string"
174         },
175         "status": {
176             "default": "CURRENT",
177             "enum": [
178                 "CURRENT",
179                 "DELETED"
180             ],
181             "type": "string",
182             "title": "Status"
183         },
184         "nucleic_acid_term_name": {
185             "enum": [
186                 "DNA",
187                 "RNA",
188                 "polyadenylated mRNA",
189                 "miRNA"
190             ],
191             "type": "string",
192             "description": "SO (Sequence Ontology) term best matching the nucleic acid isolated to generate the library (e.g. 'RNA' for a total RNA library, even if that library is subsequently reverse transcribed for DNA sequencing.)",
193             "title": "Nucleic acid term"
194         },
195         "treatments": {
196             "default": [],
197             "items": {
198                 "comment": "See treatment.json for available identifiers.",
199                 "type": "string",
200                 "linkTo": "treatment",
201                 "title": "Treatment"
202             },
203             "type": "array",
204             "title": "Treatments"
205         },
206         "award": {
207             "comment": "See award.json for list of available identifiers.",
208             "title": "Grant",
209             "type": "string",
210             "description": "Grant associated with the submission.",
211             "linkTo": "award"
212         },
213         "depleted_in_term_name": {
214             "default": [],
215             "items": {
216                 "enum": [
217                     "rRNA",
218                     "polyadenylated mRNA",
219                     "capped mRNA"
220                 ],
221                 "type": "string",
222                 "description": "SO (Sequence Ontology) term best matching the nucleic acid that was diminished from the library.",
223                 "title": "Depleted in term"
224             },
225             "type": "array"
226         },
227         "paired_ended": {
228             "default": false,
229             "XXXnote": "Is this redundant to the field found in replicate.json",
230             "type": "boolean",
231             "description": "Whether or not the library was prepared with paired ends",
232             "title": "Paired ended"
233         },
234         "lab": {
235             "comment": "See lab.json for list of available identifiers.",
236             "title": "Lab",
237             "type": "string",
238             "description": "Lab associated with the submission.",
239             "linkTo": "lab"
240         },
241         "depleted_in_term_id": {
242             "default": [],
243             "items": {
244                 "comment": "Based on the choice in depleted_in_term_name use the following guide: rRNA - SO:0000252,  polyadenylated mRNA - SO:0000871 or capped mRNA - SO:0000862",
245                 "enum": [
246                     "SO:0000252",
247                     "SO:0000871",
248                     "SO:0000862"
249                 ],
250                 "type": "string",
251                 "description": "SO (Sequence Ontology) identifier best matching the nucleic acid that was diminished from the library.",
252                 "title": "Depleted in ID"
253             },
254             "type": "array"
255         },
256         "product_id": {
257             "type": "string",
258             "description": "The product identifier provided by the originating lab or vendor.",
259             "title": "Product ID"
260         },
261         "size_range": {
262             "pattern": "(^[0-9]+-[0-9]+$|^[<>][0-9]+$)",
263             "type": "string",
264             "description": "The measured size range of the purified nucleic acid, in kD.",
265             "title": "Size range"
266         },
267         "notes": {
268             "title": "Notes",
269             "type": "string",
270             "description": "Additional information.",
271             "permission": "import_items"
272         },
273         "nucleic_acid_term_id": {
274             "comment": "Based on the choice in nucleic_acid_term_name use the following guide: DNA - SO:0000352, RNA - SO:0000356,  polyadenylated mRNA - SO:0000871 or miRNA - SO:0000276",
275             "enum": [
276                 "SO:0000352",
277                 "SO:0000356",
278                 "SO:0000871",
279                 "SO:0000276"
280             ],
281             "type": "string",
282             "description": "SO (Sequence Ontology) identifier best matching the nucleic acid isolated to generate the library (e.g. 'SO:0000356' for a total RNA library, even if that library is subsequently reverse transcribed for DNA sequencing.)",
283             "title": "Nucleic acid ID"
284         },
285         "nucleic_acid_starting_quantity": {
286             "pattern": "[0-9]+",
287             "type": "string",
288             "description": "The starting amount of nucleic acid before selection and purification.",
289             "title": "Nucleic acid starting quantity"
290         },
291         "date_created": {
292             "comment": "Do not submit, value is assigned by the server. The date the object is created.",
293             "title": "Date created",
294             "serverDefault": "now",
295             "permission": "import_items",
296             "anyOf": [
297                 {
298                     "format": "date-time"
299                 },
300                 {
301                     "format": "date"
302                 }
303             ],
304             "type": "string"
305         }
306     },
307     "description": "Schema for submitting a nucleic acid library.",
308     "title": "Library",
309     "required": [
310         "award",
311         "lab",
312         "nucleic_acid_term_id"
313     ],
314     "mixinProperties": [
315         {
316             "$ref": "mixins.json#/schema_version"
317         },
318         {
319             "$ref": "mixins.json#/uuid"
320         },
321         {
322             "$ref": "mixins.json#/accession"
323         },
324         {
325             "$ref": "mixins.json#/aliases"
326         },
327         {
328             "$ref": "mixins.json#/attribution"
329         },
330         {
331             "$ref": "mixins.json#/standard_status"
332         },
333         {
334             "$ref": "mixins.json#/submitted"
335         },
336         {
337             "$ref": "mixins.json#/source"
338         },
339         {
340             "$ref": "mixins.json#/product_id"
341         },
342         {
343             "$ref": "mixins.json#/lot_id"
344         },
345         {
346             "$ref": "mixins.json#/notes"
347         }
348     ],
349     "XXXcomment": "is source required?",
350     "identifyingProperties": [
351         "uuid",
352         "accession",
353         "aliases"
354     ],
355     "additionalProperties": false,
356     "$schema": "http://json-schema.org/draft-04/schema#",
357     "type": "object",
358     "id": "/profiles/library.json"
359 }