Possible bug in size() function

ruslanafrazerruslanafrazer Member, Broadie
edited August 2017 in Ask the WDL team

I tried to use the size() function inside my tasks input section like this:

Int preemptible
File snpValidatedMafliteCaptureFile
String genomeBuild
File oncoDBTarBall
String pairName
String outputFilename = "${pairName}.snp.capture.maf.annotated"
File defaultConfig
String inputFormat
String outputFormat
String txMode
String additionalOptions
File? canonicalTXFile
String? logFilename
Int diskGB = ceil((size(snpValidatedMafliteCaptureFile)+size(oncoDBTarBall)+size(defaultConfig)+size(canonicalTXFile))/1000000000+3)

The path for canonicalTXFile (which is optional) evaluates just fine everywhere else, but once it's put in the size() function I get this error:
message: Couldn't resolve all inputs for CallingGroup_Workflow.Oncotate_74 at index None.
message: Input evaluation for Call CallingGroup_Workflow.Oncotate_74 failed.
message: diskGB
message: Could not find diskGB in input section of call CallingGroup_Workflow.Oncotate_74
message: The specified GCS path '"gs://fc-48b23f20-a0a4-4576-914d-9e347b53f58a/workspace_files/tx_exact_uniprot_matches.txt"' does not parse as a URI. Illegal character in scheme name at index 0: %22gs://fc-48b23f20-a0a4-4576-914d-9e347b53f58a/workspace_files/tx_exact_uniprot_matches.txt%22

I checked and the file path does not contain any spaces. Also, once I removed "size(canonicalTXFile)" from my computation, everything ran just fine.

So, is it possible that size() has a problem with optional inputs? And if not, what did I do wrong?

Best Answer


Sign In or Register to comment.