Equivalent to file.metadata for local environment

I have a cwl tool written for Seven Bridges Genomics. I have a local repository for testing and am running the tool using cwltool. Is there a way to attach metadata (such as sample_id) to fastq file inputs using an input.yaml? I noticed this thread: proposal: File metadata handling and propagation #710. However, it is not clear if an equivalent to SBG’s file.metadata has been implemented.

cwlVersion 1.2
cwltool 3.1.20230213100550

Welcome @Jennifer_Altreuter .

When it comes to metadata and workflows, I group metadata into two categories.

  1. Information that will be used as an input to at least one tool in the workflow
  2. Information you want to track and propogate, but doesn’t affect the execution.

Category 1 metadata is real data, from a strict perspective. It affects the results. Therefore I suggest using a normal CWL input for that piece of information. Perhaps using a CWL record type.

Category 2 is “pure” metadata, and we are currently working on mechanisms to better propogate that. See also Propagate input annotations to primary.cwlprov files by RenskeW · Pull Request #1678 · common-workflow-language/cwltool · GitHub

Therefore I would ask you, is your sample_id pure metadata, or secretly “real” data?

Thank you for your reply. The information in the metadata field is information which is being tracked and propagated from tool to tool in a workflow. However, in at least one tool it appears to be used as input. (I am still parsing the code which was implemented in Seven Bridges.). I should mention that the tools and workflow were designed by someone at Seven Bridges. I have been tasked with creating a local environment for testing. What I am trying to determine is if there is a current equivalent to SBG’s file.metadata which can be used such that I do not initially change the code, but provide the equivalent information in an input.yaml for cwltool execution.