I had to makes some changes, but here is a log from running your CWL description with the CWL reference runner and empty fake inputs:
$ cwltool d430_qc.cwl d430_inputs.yml
INFO /home/michael/cwltool/env3.9/bin/cwltool 3.1.20210909133024
INFO Resolved 'd430_qc.cwl' to 'file:///home/michael/cwltool/d430/d430_qc.cwl'
INFO [job d430_qc.cwl] /tmp/17s559pv$ docker \
run \
-i \
--mount=type=bind,source=/tmp/17s559pv,target=/cRIYSz \
--mount=type=bind,source=/tmp/nvxwreul,target=/tmp \
--mount=type=bind,source=/home/michael/cwltool/d430/txprocconverted,target=/var/lib/cwl/stg36171afc-b0a3-40af-bd8f-5d1a85707011/txprocconverted,readonly \
--mount=type=bind,source=/home/michael/cwltool/d430/RoiSet.zip,target=/var/lib/cwl/stgaa029c93-2ae8-4724-acbb-8cac6a76205f/RoiSet.zip,readonly \
--mount=type=bind,source=/home/michael/cwltool/d430/collab_spots.pkl,target=/var/lib/cwl/stg91a3fc3d-1e09-45c0-a418-902d5f6080a6/collab_spots.pkl,readonly \
--mount=type=bind,source=/home/michael/cwltool/d430/collab_transcripts.pkl,target=/var/lib/cwl/stg4ad1c23d-7106-420b-a924-3f0226bc6410/collab_transcripts.pkl,readonly \
--workdir=/cRIYSz \
--read-only=true \
--net=none \
--user=1000:1000 \
--rm \
--cidfile=/tmp/3pyo89jz/20210911134538-354260.cid \
--env=TMPDIR=/tmp \
--env=HOME=/cRIYSz \
docker.pkg.github.com/hubmapconsortium/spatial-transcriptomics-pipeline/starfish:latest \
/opt/qcDriver.py \
--codebook-exp \
/var/lib/cwl/stg36171afc-b0a3-40af-bd8f-5d1a85707011/txprocconverted \
--spots-pkl \
/var/lib/cwl/stg91a3fc3d-1e09-45c0-a418-902d5f6080a6/collab_spots.pkl \
--transcript-pkl \
/var/lib/cwl/stg4ad1c23d-7106-420b-a924-3f0226bc6410/collab_transcripts.pkl \
--roi \
/var/lib/cwl/stgaa029c93-2ae8-4724-acbb-8cac6a76205f/RoiSet.zip \
--x-size \
2048 \
--y-size \
2048 \
--z-size \
11
Here is the updated description
#!/usr/bin/env cwl-runner
class: CommandLineTool
cwlVersion: v1.1
baseCommand: /opt/qcDriver.py
requirements:
DockerRequirement:
dockerPull: docker.pkg.github.com/hubmapconsortium/spatial-transcriptomics-pipeline/starfish:latest
outputs: []
inputs:
codebook:
type:
- type: record
name: pkl
fields:
pkl:
type: File
inputBinding:
prefix: --codebook-pkl
doc: A codebook for this experiment, saved in a python pickle.
- type: record
name: exp
fields:
exp:
type: Directory
inputBinding:
prefix: --codebook-exp
doc: A directory with a 'experiment.json' file inside, which has the corresponding codebook for this experiment.
spots:
type:
- 'null'
- type: record
name: pkl
fields:
pkl:
type: File
inputBinding:
prefix: --spots-pkl
doc: Spots found in this experiment, saved in a python pickle.
- type: record
name: exp
fields:
exp:
type: File
inputBinding:
prefix: --spots-exp
doc: The location of OUTPUT FROM EXPERIMENT. NETCDF?
transcripts:
type:
- type: record
name: pkl
fields:
pkl:
type: File
inputBinding:
prefix: --transcript-pkl
doc: The output DecodedIntensityTable, saved in a python pickle.
- type: record
name: exp
fields:
exp:
type: File
inputBinding:
prefix: --transcript-exp
doc: The location of OUTPUT FROM EXPERIMENT. NETCDF?
roi:
type: File?
inputBinding:
prefix: --roi
doc: The location of the RoiSet.zip, if applicable.
imagesize:
- 'null'
- type: record
fields:
- name: x-size
type: int
inputBinding:
prefix: --x-size
doc: x-dimension of image
- name: y-size
type: int
inputBinding:
prefix: --y-size
doc: y-dimension of image
- name: z-size
type: int
inputBinding:
prefix: --z-size
doc: number of z-stacks
find-ripley:
type: boolean?
inputBinding:
prefix: --run-ripley
doc: If true, will run ripley K estimates to find spatial density measures. Can be slow.
Note that no outputs are collected.