Skip to content
Snippets Groups Projects
Commit 36980108 authored by Mattia Mancini's avatar Mattia Mancini
Browse files

Add psrfits file to quality

parent ed27b2df
No related branches found
No related tags found
1 merge request!7Add requantize workflow
Pipeline #49458 passed
......@@ -7,6 +7,8 @@ requirements:
- class: InlineJavascriptRequirement
inputs:
- id: summary_psrfits_file
type: File?
- id: summary_file
type: File?
- id: plots
......@@ -31,6 +33,9 @@ expression: |
if(inputs.summary_file){
plots.push(inputs.summary_file);
}
if(inputs.summary_psrfits_file){
plots.push(inputs.summary_psrfits_file)
}
var summary = {}
for (var s_idx in inputs.summaries) {
......
#!/usr/bin/env cwl-runner
cwlVersion: v1.2
class: CommandLineTool
requirements:
- class: InlineJavascriptRequirement
- class: InitialWorkDirRequirement
listing:
- entryname: summary.json
entry: $(inputs.metadata)
- entryname: script.py
entry: |
#!/usr/bin/env python3
import os
import sys
import json
SIZE_FACTORS = ["B", "kB", "MB", "GB", "TB", "PB", "EB"]
def size_to_string(size: int):
for factor_index, label in enumerate(SIZE_FACTORS):
factor = 1024 ** factor_index
next_factor = 1024 * factor
if size < next_factor:
return "{:.2f} {}".format(size / factor, label).strip()
else:
return None
files_in = sys.argv[1:]
file_out_path = sys.argv[1].split('/')[-1]
sasid = file_out_path.split('-')[0].lstrip('L')
with open('summary.json', 'r') as fin:
summaries = json.load(fin)
total_input = 0
total_output = 0
for summary in summaries:
total_input += summary['input_size']
total_output += summary['output_size']
with open(file_out_path, 'w') as fout:
fout.write('#'*97+'\n')
fout.write('There are %s tarballs processed for the SASId %s\n' % (len(summaries), sasid))
fout.write('The total size of all input tarballs: %s \n' % (size_to_string(total_input), ))
fout.write('The total size of all output tarballs: %s \n' % (size_to_string(total_output), ))
fout.write('The size ratio (output/input) is: %.2f \n' % (total_output/total_input, ))
fout.write('#'*97+'\n')
for file in files_in:
with open(file, 'r') as fin:
fout.write(fin.read())
inputs:
- id: metadata
type: Any[]
- id: summary_files
type: File[]
inputBinding:
position: 1
- id: metadata
type: Any[]
- id: summary_files
type: File[]?
inputBinding:
position: 1
outputs:
- id: summary_file
type: File
outputBinding:
glob: "$(inputs.summary_files[0].basename)"
- id: summary_file
type: File
outputBinding:
glob: $(inputs.summary_files[0].basename)
baseCommand:
- python3
- script.py
hints:
- class: DockerRequirement
dockerPull: git.astron.nl:5000/ldv/bf_double_tgz:latest
requirements:
- class: InlineJavascriptRequirement
- class: InitialWorkDirRequirement
listing:
- entryname: summary.json
entry: $(inputs.metadata)
- entryname: script.py
entry: |
#!/usr/bin/env python3
import os
import sys
import json
SIZE_FACTORS = ["B", "kB", "MB", "GB", "TB", "PB", "EB"]
def size_to_string(size: int):
for factor_index, label in enumerate(SIZE_FACTORS):
factor = 1024 ** factor_index
next_factor = 1024 * factor
if size < next_factor:
return "{:.2f} {}".format(size / factor, label).strip()
else:
return None
files_in = sys.argv[1:]
file_out_path = sys.argv[1].split('/')[-1]
sasid = file_out_path.split('-')[0].lstrip('L')
with open('summary.json', 'r') as fin:
summaries = json.load(fin)
total_input = 0
total_output = 0
for summary in summaries:
total_input += summary['input_size']
total_output += summary['output_size']
with open(file_out_path, 'w') as fout:
fout.write('#'*97+'\n')
fout.write('There are %s tarballs processed for the SASId %s\n' % (len(summaries), sasid))
fout.write('The total size of all input tarballs: %s \n' % (size_to_string(total_input), ))
fout.write('The total size of all output tarballs: %s \n' % (size_to_string(total_output), ))
fout.write('The size ratio (output/input) is: %.2f \n' % (total_output/total_input, ))
fout.write('#'*97+'\n')
for file in files_in:
with open(file, 'r') as fin:
fout.write(fin.read())
- class: DockerRequirement
dockerPull: git.astron.nl:5000/ldv/bf_double_tgz:latest
......@@ -23,7 +23,7 @@ outputs:
type: File[]
outputSource: requantise/summary_file
- id: summary_psrfits_file
type: File[]
type: File[]?
outputSource: requantise/summary_psrfits_file
- id: ingest
type: Any
......@@ -63,8 +63,19 @@ steps:
run: ../steps/join_contents.cwl
out:
- id: summary_file
- id: join_contents_psrfits
in:
- id: summary_files
source: requantise/summary_psrfits_file
- id: metadata
source: requantise/summary
run: ../steps/join_contents.cwl
out:
- id: summary_file
- id: format_quality
in:
- id: summary_psrfits_file
source: join_contents_psrfits/summary_file
- id: summary_file
source: join_contents/summary_file
- id: plots
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment