sig   type 'a pipeline = 'Biokepi_pipeline_edsl.Pipeline.t   type workflow_option_failure_mode = [ `Fail_if_not_happening | `Silent ]   type workflow_option =       [ `Map_reduce of [ `Gatk_indel_realigner ]       | `Multi_sample_indel_realignment of           Biokepi_pipeline_edsl.Pipeline.Compiler.workflow_option_failure_mode       | `Parallel_alignment_over_fastq_fragments of           [ `Bwa | `Bwa_mem | `Hisat | `Mosaik | `Star ] list *           Biokepi_pipeline_edsl.Pipeline.Compiler.workflow_option_failure_mode ]   type t = {     reference_build : Biokepi_run_environment.Reference_genome.name;     work_dir : string;     machine : Biokepi_run_environment.Machine.t;     options : Biokepi_pipeline_edsl.Pipeline.Compiler.workflow_option list;     wrap_bam_node :       Biokepi_pipeline_edsl.Pipeline.bam       Biokepi_pipeline_edsl.Pipeline.Compiler.pipeline ->       Biokepi_run_environment.Common.KEDSL.bam_file       Biokepi_run_environment.Common.KEDSL.workflow_node ->       Biokepi_run_environment.Common.KEDSL.bam_file       Biokepi_run_environment.Common.KEDSL.workflow_node;     wrap_vcf_node :       Biokepi_pipeline_edsl.Pipeline.vcf       Biokepi_pipeline_edsl.Pipeline.Compiler.pipeline ->       Biokepi_run_environment.Common.KEDSL.vcf_file       Biokepi_run_environment.Common.KEDSL.workflow_node ->       Biokepi_run_environment.Common.KEDSL.vcf_file       Biokepi_run_environment.Common.KEDSL.workflow_node;     wrap_gtf_node :       Biokepi_pipeline_edsl.Pipeline.gtf       Biokepi_pipeline_edsl.Pipeline.Compiler.pipeline ->       Biokepi_run_environment.Common.KEDSL.single_file       Biokepi_run_environment.Common.KEDSL.workflow_node ->       Biokepi_run_environment.Common.KEDSL.single_file       Biokepi_run_environment.Common.KEDSL.workflow_node;   }   val create :     ?wrap_bam_node:(Biokepi_pipeline_edsl.Pipeline.bam                     Biokepi_pipeline_edsl.Pipeline.Compiler.pipeline ->                     Biokepi_run_environment.Common.KEDSL.bam_file                     Biokepi_run_environment.Common.KEDSL.workflow_node ->                     Biokepi_run_environment.Common.KEDSL.bam_file                     Biokepi_run_environment.Common.KEDSL.workflow_node) ->     ?wrap_vcf_node:(Biokepi_pipeline_edsl.Pipeline.vcf                     Biokepi_pipeline_edsl.Pipeline.Compiler.pipeline ->                     Biokepi_run_environment.Common.KEDSL.vcf_file                     Biokepi_run_environment.Common.KEDSL.workflow_node ->                     Biokepi_run_environment.Common.KEDSL.vcf_file                     Biokepi_run_environment.Common.KEDSL.workflow_node) ->     ?wrap_gtf_node:(Biokepi_pipeline_edsl.Pipeline.gtf                     Biokepi_pipeline_edsl.Pipeline.Compiler.pipeline ->                     Biokepi_run_environment.Common.KEDSL.single_file                     Biokepi_run_environment.Common.KEDSL.workflow_node ->                     Biokepi_run_environment.Common.KEDSL.single_file                     Biokepi_run_environment.Common.KEDSL.workflow_node) ->     ?options:Biokepi_pipeline_edsl.Pipeline.Compiler.workflow_option list ->     reference_build:Biokepi_run_environment.Reference_genome.name ->     work_dir:string ->     machine:Biokepi_run_environment.Machine.t ->     unit -> Biokepi_pipeline_edsl.Pipeline.Compiler.t   val has_option :     Biokepi_pipeline_edsl.Pipeline.Compiler.t ->     (Biokepi_pipeline_edsl.Pipeline.Compiler.workflow_option -> bool) -> bool   val apply_with_metadata :     metadata_spec:[< `Add_tags of string list | `Add_tags_rec of string list ] ->     (< is_done : Biokepi_run_environment.Common.KEDSL.Condition.t option;        .. >      as 'a)     Biokepi_run_environment.Common.KEDSL.product     Biokepi_run_environment.Common.KEDSL.workflow_node ->     'Biokepi_run_environment.Common.KEDSL.product     Biokepi_run_environment.Common.KEDSL.workflow_node   val fastq_step :     read:[ `R1 of string | `R2 of string ] ->     compiler:Biokepi_pipeline_edsl.Pipeline.Compiler.t ->     Biokepi_pipeline_edsl.Pipeline.fastq     Biokepi_pipeline_edsl.Pipeline.Compiler.pipeline ->     Biokepi_pipeline_edsl.Pipeline.File.t   val fastq_sample_step :     compiler:Biokepi_pipeline_edsl.Pipeline.Compiler.t ->     Biokepi_pipeline_edsl.Pipeline.fastq_sample     Biokepi_pipeline_edsl.Pipeline.Compiler.pipeline ->     < escaped_sample_name : string; fragment_id : string option;       fragment_id_forced : string;       is_done : Biokepi_run_environment.Common.KEDSL.Condition.t option;       paths : string * string option;       r1 : Biokepi_run_environment.Common.KEDSL.single_file;       r2 : Biokepi_run_environment.Common.KEDSL.single_file option;       sample_name : string >     Biokepi_run_environment.Common.KEDSL.product     Biokepi_run_environment.Common.KEDSL.workflow_node   val compile_aligner_step :     compiler:Biokepi_pipeline_edsl.Pipeline.Compiler.t ->     Biokepi_pipeline_edsl.Pipeline.bam     Biokepi_pipeline_edsl.Pipeline.Compiler.pipeline ->     Biokepi_run_environment.Common.KEDSL.bam_file     Biokepi_run_environment.Common.KEDSL.workflow_node   val compile_bam_pair :     compiler:Biokepi_pipeline_edsl.Pipeline.Compiler.t ->     Biokepi_pipeline_edsl.Pipeline.bam_pair     Biokepi_pipeline_edsl.Pipeline.Compiler.pipeline ->     [ `Normal of         Biokepi_run_environment.Common.KEDSL.bam_file         Biokepi_run_environment.Common.KEDSL.workflow_node ] *     [ `Tumor of         Biokepi_run_environment.Common.KEDSL.bam_file         Biokepi_run_environment.Common.KEDSL.workflow_node ] *     [ `Pipeline of         Biokepi_pipeline_edsl.Pipeline.bam_pair         Biokepi_pipeline_edsl.Pipeline.Compiler.pipeline ]   val compile_variant_caller_step :     compiler:Biokepi_pipeline_edsl.Pipeline.Compiler.t ->     Biokepi_pipeline_edsl.Pipeline.vcf     Biokepi_pipeline_edsl.Pipeline.Compiler.pipeline ->     Biokepi_run_environment.Common.KEDSL.vcf_file     Biokepi_run_environment.Common.KEDSL.product     Biokepi_run_environment.Common.KEDSL.product     Biokepi_run_environment.Common.KEDSL.workflow_node   val compile_gtf_step :     compiler:Biokepi_pipeline_edsl.Pipeline.Compiler.t ->     Biokepi_pipeline_edsl.Pipeline.gtf     Biokepi_pipeline_edsl.Pipeline.Compiler.pipeline ->     < exists : Ketrew_pure.Target.Condition.t;       host : Biokepi_run_environment.Common.KEDSL.Host.t;       is_bigger_than : int -> Ketrew_pure.Target.Condition.t;       is_done : Biokepi_run_environment.Common.KEDSL.Condition.t option;       path : string >     Biokepi_run_environment.Common.KEDSL.product     Biokepi_run_environment.Common.KEDSL.product     Biokepi_run_environment.Common.KEDSL.workflow_node   val seq2hla_hla_types_step :     compiler:Biokepi_pipeline_edsl.Pipeline.Compiler.t ->     Biokepi_pipeline_edsl.Pipeline.seq2hla_hla_types     Biokepi_pipeline_edsl.Pipeline.Compiler.pipeline ->     Biokepi_bfx_tools.Seq2HLA.product     Biokepi_run_environment.Common.KEDSL.workflow_node   val optitype_hla_types_step :     compiler:Biokepi_pipeline_edsl.Pipeline.Compiler.t ->     Biokepi_pipeline_edsl.Pipeline.optitype_hla_types     Biokepi_pipeline_edsl.Pipeline.Compiler.pipeline ->     Biokepi_bfx_tools.Optitype.product     Biokepi_run_environment.Common.KEDSL.workflow_node end