Project

General

Profile

Metadata » History » Revision 2

Revision 1 (Peter Amstutz, 10/21/2016 03:21 PM) → Revision 2/4 (Peter Amstutz, 10/21/2016 03:29 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: 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>