Best way to pass a parameter into a method
I'm setting up a method that is based on an executable that has multiple functions. When run from the command line, the user chooses the function by passing in a string. For example: bamUtil trimBam -L 30 tells bamUtil to trim 30 bases from each read in a bam file.
What is the best way to provide these instructions to the executable in FireCloud? I could hardwire them into the docker image, but then we'd need a new image each time we wanted to perform a different function or make a minor adjustment. Alternatively, the parameters could be included as attributes of the sample (since the bam file name will be an attribute of the sample). Then we would need to change the sample attributes each time we wanted to run a variation.
My method configuration template has a line that looks like this:
because I've built the docker image to accept the function as a variable called "tool".
Ideally, I'd like to set the value of the "tool" string here in the method configuration. But when I try to do that I get an error message.