Is this something that should be supported by dxCompiler or do I need to fix these manually?
[error] WDL code is syntactically valid BUT it fails type-checking -----
version 1.0
import "../../../../../../tasks/broad/UnmappedBamToAlignedBam.wdl" as ToBam
import "../../../../../../tasks/broad/AggregatedBamQC.wdl" as AggregatedQC
import "../../../../../../tasks/broad/Qc.wdl" as QC
import "../../../../../../tasks/broad/BamToCram.wdl" as ToCram
import "../../../../../../pipelines/broad/dna_seq/germline/variant_calling/VariantCalling.wdl" as
ToGvcf
import "../../../../../../structs/dna_seq/DNASeqStructs.wdl" as DNASeqStructs
workflow WholeGenomeGermlineSingleSample {
input {
SampleAndUnmappedBams sample_and_unmapped_bams
DNASeqSingleSampleReferences references
VariantCallingScatterSettings scatter_settings
PapiSettings papi_settings
File? fingerprint_genotypes_file
File? fingerprint_genotypes_index
File wgs_coverage_interval_list
Boolean provide_bam_output = false
Boolean use_gatk3_haplotype_caller = true
}
String pipeline_version = "2.3.4"
Int read_length = 250
Float lod_threshold = -20.0
String cross_check_fingerprints_by = "READGROUP"
String recalibrated_bam_basename = sample_and_unmapped_bams.base_file_name +
".aligned.duplicates_marked.recalibrated"
String final_gvcf_base_name = select_first(
[sample_and_unmapped_bams.final_gvcf_base_name, sample_and_unmapped_bams.base_file_name]
)
call ToBam.UnmappedBamToAlignedBam {
input:
sample_and_unmapped_bams = sample_and_unmapped_bams,
references = references,
papi_settings = papi_settings,
contamination_sites_ud = references.contamination_sites_ud,
contamination_sites_bed = references.contamination_sites_bed,
contamination_sites_mu = references.contamination_sites_mu,
cross_check_fingerprints_by = cross_check_fingerprints_by,
haplotype_database_file = references.haplotype_database_file,
lod_threshold = lod_threshold,
recalibrated_bam_basename = recalibrated_bam_basename
}
call AggregatedQC.AggregatedBamQC {
input:
base_recalibrated_bam = UnmappedBamToAlignedBam.output_bam,
base_recalibrated_bam_index = UnmappedBamToAlignedBam.output_bam_index,
base_name = sample_and_unmapped_bams.base_file_name,
sample_name = sample_and_unmapped_bams.sample_name,
recalibrated_bam_base_name = recalibrated_bam_basename,
haplotype_database_file = references.haplotype_database_file,
references = references,
fingerprint_genotypes_file = fingerprint_genotypes_file,
fingerprint_genotypes_index = fingerprint_genotypes_index,
papi_settings = papi_settings
}
call ToCram.BamToCram as BamToCram {
input:
input_bam = UnmappedBamToAlignedBam.output_bam,
ref_fasta = references.reference_fasta.ref_fasta,
ref_fasta_index = references.reference_fasta.ref_fasta_index,
ref_dict = references.reference_fasta.ref_dict,
duplication_metrics = UnmappedBamToAlignedBam.duplicate_metrics,
chimerism_metrics = AggregatedBamQC.agg_alignment_summary_metrics,
base_file_name = sample_and_unmapped_bams.base_file_name,
agg_preemptible_tries = papi_settings.agg_preemptible_tries
}
call QC.CollectWgsMetrics as CollectWgsMetrics {
input:
input_bam = UnmappedBamToAlignedBam.output_bam,
input_bam_index = UnmappedBamToAlignedBam.output_bam_index,
metrics_filename = sample_and_unmapped_bams.base_file_name + ".wgs_metrics",
ref_fasta = references.reference_fasta.ref_fasta,
ref_fasta_index = references.reference_fasta.ref_fasta_index,
wgs_coverage_interval_list = wgs_coverage_interval_list,
read_length = read_length,
preemptible_tries = papi_settings.agg_preemptible_tries
}
call QC.CollectRawWgsMetrics as CollectRawWgsMetrics {
input:
input_bam = UnmappedBamToAlignedBam.output_bam,
input_bam_index = UnmappedBamToAlignedBam.output_bam_index,
metrics_filename = sample_and_unmapped_bams.base_file_name + ".raw_wgs_metrics",
ref_fasta = references.reference_fasta.ref_fasta,
ref_fasta_index = references.reference_fasta.ref_fasta_index,
wgs_coverage_interval_list = wgs_coverage_interval_list,
read_length = read_length,
preemptible_tries = papi_settings.agg_preemptible_tries
}
call ToGvcf.VariantCalling as BamToGvcf {
input:
calling_interval_list = references.calling_interval_list,
evaluation_interval_list = references.evaluation_interval_list,
haplotype_scatter_count = scatter_settings.haplotype_scatter_count,
break_bands_at_multiples_of = scatter_settings.break_bands_at_multiples_of,
contamination = UnmappedBamToAlignedBam.contamination,
input_bam = UnmappedBamToAlignedBam.output_bam,
input_bam_index = UnmappedBamToAlignedBam.output_bam_index,
ref_fasta = references.reference_fasta.ref_fasta,
ref_fasta_index = references.reference_fasta.ref_fasta_index,
ref_dict = references.reference_fasta.ref_dict,
dbsnp_vcf = references.dbsnp_vcf,
dbsnp_vcf_index = references.dbsnp_vcf_index,
base_file_name = sample_and_unmapped_bams.base_file_name,
final_vcf_base_name = final_gvcf_base_name,
agg_preemptible_tries = papi_settings.agg_preemptible_tries,
use_gatk3_haplotype_caller = use_gatk3_haplotype_caller
}
if (provide_bam_output) {
File provided_output_bam = UnmappedBamToAlignedBam.output_bam
File provided_output_bam_index = UnmappedBamToAlignedBam.output_bam_index
}
output {
Array[File] quality_yield_metrics = UnmappedBamToAlignedBam.quality_yield_metrics
Array[File] unsorted_read_group_base_distribution_by_cycle_pdf =
UnmappedBamToAlignedBam.unsorted_read_group_base_distribution_by_cycle_pdf
Array[File] unsorted_read_group_base_distribution_by_cycle_metrics =
UnmappedBamToAlignedBam.unsorted_read_group_base_distribution_by_cycle_metrics
Array[File] unsorted_read_group_insert_size_histogram_pdf =
UnmappedBamToAlignedBam.unsorted_read_group_insert_size_histogram_pdf
Array[File] unsorted_read_group_insert_size_metrics =
UnmappedBamToAlignedBam.unsorted_read_group_insert_size_metrics
Array[File] unsorted_read_group_quality_by_cycle_pdf =
UnmappedBamToAlignedBam.unsorted_read_group_quality_by_cycle_pdf
Array[File] unsorted_read_group_quality_by_cycle_metrics =
UnmappedBamToAlignedBam.unsorted_read_group_quality_by_cycle_metrics
Array[File] unsorted_read_group_quality_distribution_pdf =
UnmappedBamToAlignedBam.unsorted_read_group_quality_distribution_pdf
Array[File] unsorted_read_group_quality_distribution_metrics =
UnmappedBamToAlignedBam.unsorted_read_group_quality_distribution_metrics
File read_group_alignment_summary_metrics = AggregatedBamQC.read_group_alignment_summary_metrics
File read_group_gc_bias_detail_metrics = AggregatedBamQC.read_group_gc_bias_detail_metrics
File read_group_gc_bias_pdf = AggregatedBamQC.read_group_gc_bias_pdf
File read_group_gc_bias_summary_metrics = AggregatedBamQC.read_group_gc_bias_summary_metrics
File? cross_check_fingerprints_metrics =
UnmappedBamToAlignedBam.cross_check_fingerprints_metrics
File selfSM = UnmappedBamToAlignedBam.selfSM
Float contamination = UnmappedBamToAlignedBam.contamination
File calculate_read_group_checksum_md5 = AggregatedBamQC.calculate_read_group_checksum_md5
File agg_alignment_summary_metrics = AggregatedBamQC.agg_alignment_summary_metrics
File agg_bait_bias_detail_metrics = AggregatedBamQC.agg_bait_bias_detail_metrics
File agg_bait_bias_summary_metrics = AggregatedBamQC.agg_bait_bias_summary_metrics
File agg_gc_bias_detail_metrics = AggregatedBamQC.agg_gc_bias_detail_metrics
File agg_gc_bias_pdf = AggregatedBamQC.agg_gc_bias_pdf
File agg_gc_bias_summary_metrics = AggregatedBamQC.agg_gc_bias_summary_metrics
File agg_insert_size_histogram_pdf = AggregatedBamQC.agg_insert_size_histogram_pdf
File agg_insert_size_metrics = AggregatedBamQC.agg_insert_size_metrics
File agg_pre_adapter_detail_metrics = AggregatedBamQC.agg_pre_adapter_detail_metrics
File agg_pre_adapter_summary_metrics = AggregatedBamQC.agg_pre_adapter_summary_metrics
File agg_quality_distribution_pdf = AggregatedBamQC.agg_quality_distribution_pdf
File agg_quality_distribution_metrics = AggregatedBamQC.agg_quality_distribution_metrics
File agg_error_summary_metrics = AggregatedBamQC.agg_error_summary_metrics
File? fingerprint_summary_metrics = AggregatedBamQC.fingerprint_summary_metrics
File? fingerprint_detail_metrics = AggregatedBamQC.fingerprint_detail_metrics
File wgs_metrics = CollectWgsMetrics.metrics
File raw_wgs_metrics = CollectRawWgsMetrics.metrics
File duplicate_metrics = UnmappedBamToAlignedBam.duplicate_metrics
File output_bqsr_reports = UnmappedBamToAlignedBam.output_bqsr_reports
File gvcf_summary_metrics = BamToGvcf.vcf_summary_metrics
File gvcf_detail_metrics = BamToGvcf.vcf_detail_metrics
File? output_bam = provided_output_bam
File? output_bam_index = provided_output_bam_index
File output_cram = BamToCram.output_cram
File output_cram_index = BamToCram.output_cram_index
File output_cram_md5 = BamToCram.output_cram_md5
File validate_cram_file_report = BamToCram.validate_cram_file_report
File output_vcf = BamToGvcf.output_vcf
File output_vcf_index = BamToGvcf.output_vcf_index
}
meta {
allowNestedInputs: true
}
}
[error] Error creating translator for WholeGenomeGermlineSingleSample.wdl
wdlTools.types.TypeException: expression sorting_collection_size_ratio of type T_Optional(T_Float) is not coercible to string at 106:41-106:70 in /Users/franciol/OneDrive - Vertex Pharmaceuticals/tools/warp/pipelines/broad/dna_seq/germline/single_sample/wgs/gatk-fixed/pipelines/broad/dna_seq/germline/single_sample/wgs/../../../../../../tasks/broad/../../tasks/broad/../../tasks/broad/BamProcessing.wdl
expression max_output of type T_Optional(T_Int) is not coercible to string at 393:22-393:32 in /Users/franciol/OneDrive - Vertex Pharmaceuticals/tools/warp/pipelines/broad/dna_seq/germline/single_sample/wgs/gatk-fixed/pipelines/broad/dna_seq/germline/single_sample/wgs/../../../../../../tasks/broad/../../tasks/broad/Qc.wdl
expression sorting_collection_size_ratio of type T_Optional(T_Float) is not coercible to string at 106:41-106:70 in /Users/franciol/OneDrive - Vertex Pharmaceuticals/tools/warp/pipelines/broad/dna_seq/germline/single_sample/wgs/gatk-fixed/pipelines/broad/dna_seq/germline/single_sample/wgs/../../../../../../tasks/broad/../../tasks/broad/../../tasks/broad/BamProcessing.wdl
expression max_output of type T_Optional(T_Int) is not coercible to string at 393:22-393:32 in /Users/franciol/OneDrive - Vertex Pharmaceuticals/tools/warp/pipelines/broad/dna_seq/germline/single_sample/wgs/gatk-fixed/pipelines/broad/dna_seq/germline/single_sample/wgs/../../../../../../tasks/broad/../../tasks/broad/Qc.wdl
expression max_output of type T_Optional(T_Int) is not coercible to string at 393:22-393:32 in /Users/franciol/OneDrive - Vertex Pharmaceuticals/tools/warp/pipelines/broad/dna_seq/germline/single_sample/wgs/gatk-fixed/pipelines/broad/dna_seq/germline/single_sample/wgs/../../../../../../tasks/broad/Qc.wdl
expression max_output of type T_Optional(T_Int) is not coercible to string at 393:22-393:32 in /Users/franciol/OneDrive - Vertex Pharmaceuticals/tools/warp/pipelines/broad/dna_seq/germline/single_sample/wgs/gatk-fixed/pipelines/broad/dna_seq/germline/single_sample/wgs/../../../../../../tasks/broad/../../tasks/broad/Qc.wdl
expression max_output of type T_Optional(T_Int) is not coercible to string at 393:22-393:32 in /Users/franciol/OneDrive - Vertex Pharmaceuticals/tools/warp/pipelines/broad/dna_seq/germline/single_sample/wgs/gatk-fixed/pipelines/broad/dna_seq/germline/single_sample/wgs/../../../../../../pipelines/broad/dna_seq/germline/variant_calling/../../../../../tasks/broad/Qc.wdl
expression sorting_collection_size_ratio of type T_Optional(T_Float) is not coercible to string at 106:41-106:70 in /Users/franciol/OneDrive - Vertex Pharmaceuticals/tools/warp/pipelines/broad/dna_seq/germline/single_sample/wgs/gatk-fixed/pipelines/broad/dna_seq/germline/single_sample/wgs/../../../../../../pipelines/broad/dna_seq/germline/variant_calling/../../../../../tasks/broad/BamProcessing.wdl
at wdlTools.types.TypeInfer.apply(TypeInfer.scala:1307)
at dx.core.languages.wdl.WdlUtils$.parseAndCheckSource(WdlUtils.scala:101)
at dx.core.languages.wdl.VersionSupport$.fromSource(VersionSupport.scala:128)
at dx.core.languages.wdl.VersionSupport$.fromSourceFile(VersionSupport.scala:141)
at dx.translator.wdl.WdlTranslatorFactory.liftedTree1$1(WdlTranslator.scala:223)
at dx.translator.wdl.WdlTranslatorFactory.create(WdlTranslator.scala:222)
at dx.translator.TranslatorFactory$$anonfun$createTranslator$6.applyOrElse(Translator.scala:97)
at dx.translator.TranslatorFactory$$anonfun$createTranslator$6.applyOrElse(Translator.scala:97)
at scala.collection.IterableOnceOps.collectFirst(IterableOnce.scala:1086)
at scala.collection.IterableOnceOps.collectFirst$(IterableOnce.scala:1078)
at scala.collection.AbstractIterable.collectFirst(Iterable.scala:920)
at dx.translator.TranslatorFactory$.createTranslator(Translator.scala:97)
at dxCompiler.Main$.compile(Main.scala:394)
at dxCompiler.Main$.dispatchCommand(Main.scala:765)
at dxCompiler.Main$.main(Main.scala:870)
at dxCompiler.MainApp$.delayedEndpoint$dxCompiler$MainApp$1(Main.scala:875)
at dxCompiler.MainApp$delayedInit$body.apply(Main.scala:874)
at scala.Function0.apply$mcV$sp(Function0.scala:39)
at scala.Function0.apply$mcV$sp$(Function0.scala:39)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:17)
at scala.App.$anonfun$main$1(App.scala:73)
at scala.App.$anonfun$main$1$adapted(App.scala:73)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:553)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:551)
at scala.collection.AbstractIterable.foreach(Iterable.scala:920)
at scala.App.main(App.scala:73)
at scala.App.main$(App.scala:71)
at dxCompiler.MainApp$.main(Main.scala:874)
at dxCompiler.MainApp.main(Main.scala)