Newer
Older
class: CommandLineTool
cwlVersion: v1.0
$namespaces:
sbg: 'https://www.sevenbridges.com/'
id: sort_times_into_freqGroups
baseCommand:
- python3
inputs:
- id: msin
type: Directory[]
doc: MS to sort
inputBinding:
position: 0
- id: numbands
type: int?
default: 10
doc: Number of how many files should be grouped together in frequency.
- id: NDPPPfill
type: boolean?
default: True
doc: Add dummy file-names for missing frequencies, so that NDPPP can fill the data with flagged dummy data.
- id: stepname
type: string?
doc: Add this step-name into the file-names of the output files.
- id: firstSB
type: int?
default: null
doc: If set, then reference the grouping of files to this station-subband. As if a file with this station-subband would be included in the input files.
- id: mergeLastGroup
type: boolean?
default: False
doc: Add dummy file-names for missing frequencies, so that NDPPP can fill the data with flagged dummy data.
- id: truncateLastSBs
type: boolean?
default: True
doc: Add dummy file-names for missing frequencies, so that NDPPP can fill the data with flagged dummy data.
label: sort_times_into_freqGroups.py
arguments:
- '-c'
- |
import sys
import json
from sort_times_into_freqGroups_CWL import main as sort_times_into_freqGroups
mss = sys.argv[1:]
numbands = int($(inputs.numbands))
stepname = "$(inputs.stepname)"
NDPPPfill = $(inputs.NDPPPfill)
mergeLastGroup = $(inputs.mergeLastGroup)
truncateLastSBs = $(inputs.truncateLastSBs)
output = sort_times_into_freqGroups(mss, numbands, NDPPPfill, stepname, mergeLastGroup, truncateLastSBs, firstSB)
filenames = output['filenames']
groupnames = output['groupnames']
with open('./filenames.json', 'w') as fp:
json.dump(filenames, fp)
with open('./out.json', 'w') as fp:
json.dump(cwl_output, fp)
outputs:
- id: filenames
type: File
outputBinding:
glob: 'filenames.json'
- id: groupnames
type: string[]
outputBinding:
loadContents: true
glob: 'out.json'
outputEval: $(JSON.parse(self[0].contents).groupnames)
- id: total_bandwidth
type: int
outputBinding:
loadContents: true
glob: 'out.json'
outputEval: $(JSON.parse(self[0].contents).total_bandwidth)
- id: logfile
type: File?
outputBinding:
glob: sort_times_into_freqGroups.log
requirements:
- class: InlineJavascriptRequirement
hints:
- class: DockerRequirement
dockerPull: lofareosc/prefactor:HBAcalibrator
stdout: sort_times_into_freqGroups.log