Skip to content

Commit 3b7b7d9

Browse files
committed
revert input json
1 parent 8b889a4 commit 3b7b7d9

2 files changed

Lines changed: 38 additions & 34 deletions

File tree

payload-gen-seq-experiment/main.py

Lines changed: 36 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -187,12 +187,8 @@ def validate_args(args):
187187
"""
188188
))
189189

190-
def validatePayload(payload,args):
191-
if args.schema_url:
192-
url=args.schema_url
193-
else:
194-
url="https://submission-song.rdpc.cancercollaboratory.org/schemas/sequencing_experiment"
195-
190+
def validatePayload(payload,url):
191+
196192
resp=requests.get(url)
197193
if not resp.status_code==200:
198194
sys.exit("Unable to retrieve schema. Please check URL\n")
@@ -207,7 +203,7 @@ def validatePayload(payload,args):
207203

208204

209205

210-
def main(metadata, extra_info=dict()):
206+
def main(metadata,url,extra_info=dict()):
211207
empty_str_to_null(metadata)
212208

213209
payload = {
@@ -330,7 +326,7 @@ def main(metadata, extra_info=dict()):
330326
else:
331327
existing_ele.update(extra_info[item][ele_to_update])
332328

333-
validatePayload(payload,args)
329+
validatePayload(payload,url)
334330
with open("%s.sequencing_experiment.payload.json" % str(uuid.uuid4()), 'w') as f:
335331
f.write(json.dumps(payload, indent=2))
336332

@@ -353,9 +349,17 @@ def main(metadata, extra_info=dict()):
353349

354350
validate_args(args)
355351

352+
if args.schema_url:
353+
url=args.schema_url
354+
else:
355+
url="https://submission-song.rdpc.cancercollaboratory.org/schemas/sequencing_experiment"
356+
356357
if args.metadata_json:
357358
with open(args.metadata_json, 'r') as f:
358359
metadata = json.load(f)
360+
validatePayload(metadata,url)
361+
with open("%s.sequencing_experiment.payload.json" % str(uuid.uuid4()), 'w') as f:
362+
f.write(json.dumps(metadata, indent=2))
359363
else:
360364
# firstly TSV format conformity check, if not well-formed no point to continue
361365
tsv_confomity_check('experiment', args.experiment_info_tsv)
@@ -369,28 +373,28 @@ def main(metadata, extra_info=dict()):
369373
args.file_info_tsv
370374
)
371375

372-
extra_info = dict()
373-
if args.extra_info_tsv:
374-
with open(args.extra_info_tsv, 'r') as f:
375-
for row in csv.DictReader(f, delimiter='\t'):
376-
377-
for row_type in ['type','submitter_id','submitter_field','field_value']:
378-
if row_type not in row.keys():
379-
sys.exit(f"Incorrect formatting of : {args.extra_info_tsv}. {row_type} is missing")
380-
381-
row_type = row['type']
382-
row_id= row['submitter_id']
383-
row_field= row['submitter_field']
384-
row_val= row['field_value']
385-
386-
if (row_type!="sample") and (row_type!="donor") and (row_type!="specimen") and (row_type!="files") and (row_type!="experiment"):
387-
sys.exit(f"Incorrect identifier supplied. Must be on the following : 'sample','donor','specimen','files','experiments'. Offending value: {type}, in file: {args.extra_info_tsv}")
388-
389-
if row_type not in extra_info:
390-
extra_info[row_type]=dict()
391-
if row_id not in extra_info[row_type]:
392-
extra_info[row_type][row_id]=dict()
393-
extra_info[row_type][row_id][row_field]=row_val
376+
extra_info = dict()
377+
if args.extra_info_tsv:
378+
with open(args.extra_info_tsv, 'r') as f:
379+
for row in csv.DictReader(f, delimiter='\t'):
394380

395-
396-
main(metadata, extra_info)
381+
for row_type in ['type','submitter_id','submitter_field','field_value']:
382+
if row_type not in row.keys():
383+
sys.exit(f"Incorrect formatting of : {args.extra_info_tsv}. {row_type} is missing")
384+
385+
row_type = row['type']
386+
row_id= row['submitter_id']
387+
row_field= row['submitter_field']
388+
row_val= row['field_value']
389+
390+
if (row_type!="sample") and (row_type!="donor") and (row_type!="specimen") and (row_type!="files") and (row_type!="experiment"):
391+
sys.exit(f"Incorrect identifier supplied. Must be on the following : 'sample','donor','specimen','files','experiments'. Offending value: {type}, in file: {args.extra_info_tsv}")
392+
393+
if row_type not in extra_info:
394+
extra_info[row_type]=dict()
395+
if row_id not in extra_info[row_type]:
396+
extra_info[row_type][row_id]=dict()
397+
extra_info[row_type][row_id][row_field]=row_val
398+
399+
400+
main(metadata,url, extra_info)
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"metadata_payload_json": "input/submission_input.json",
2+
"metadata_payload_json": "input/12c64309-4f21-4a86-8175-ca2340babadd.sequencing_experiment.payload.json",
33
"file_info_tsv": "input/file.v2.tsv",
44
"expected_output": "input/12c64309-4f21-4a86-8175-ca2340babadd.sequencing_experiment.payload.json",
55
"publish_dir": "outdir"
6-
}
6+
}

0 commit comments

Comments
 (0)