My wdl is expecting a map and the method config reads it as such. How should the data model be set for using maps as input for the method config?
I've been thinking about this -- the map is the wrong way to go in the first place. When I originally wrote that WDL it seemed like a good idea because generating the map in json is easy enough and it adds some convenience. But in the FireCloud context it's just too awkward to manage inputs formatted as a map.
I think a better approach would be to modify the WDL to take a TSV file where each map is flattened into an array/line. The logic of how the fields are extracted will have to be modified but it shouldn't be too bad. On the bright side that should also obviate the need for specifying the readgroup_list explicitly since the WDL can just be set up to iterate over lines produced by readlines(tsv_of_readgroups).
Then you just need to make the tsv of readgroups an attribute of the sample -- just like you would for a list of ubams. In fact, the output of the WDL should now be a list of ubams in tsv format, so that it can be fed directly to eg the $5 genome pipeline.