Metadata » History » Revision 3
Revision 2 (Peter Amstutz, 10/21/2016 03:29 PM) → Revision 3/4 (Peter Amstutz, 10/21/2016 03:31 PM)
h1. Metadata
Input and output documents gain parallel "input metadata" and "output metadata" documents.
The input metadata is parallel to the input document, except that it describes metadata about each parameter. For example, for this input:
<pre>
foo:
class: File
location: keep:abc+123/foo.bam
</pre>
the metadata might be:
<pre>
foo:
xyz:sample: sample1122333
xyz:sequencer: illumina
</pre>
On workflow start, reverse lookup PDH to UUID and find all tags. Create input metadata document.
On workflow end, create output metadata document based on "arv:PropagateMetadata".
<pre>
hints:
arv:PropagateMetadata:
setMetadata:
- outputParameter: bar
valueFrom: $(metadata.foo)
</pre>
Resulting in output:
<pre>
bar:
class: File
location: keep:abc+123/result.vcf
</pre>
with output metadata:
<pre>
bar:
xyz:sample: sample1122333
xyz:sequencer: illumina
</pre>
Arvados then creates tags to the output collection based on output metadata document:
<pre>
link_class: tag
name: xyz:sample
head_uuid: zzzzz-4zz18-zzzzzzzzzzzzzzz
properties:
value: sample1122333
path: result.vcf
</pre>
<pre>
link_class: tag
name: xyz:sequencer
head_uuid: zzzzz-4zz18-zzzzzzzzzzzzzzz
properties:
value: illumina
path: result.vcf
</pre>
alternate representation (better for query):
<pre>
link_class: xyz:samplename
name: sample1122333
head_uuid: zzzzz-4zz18-zzzzzzzzzzzzzzz
properties:
path: result.vcf
</pre>