sig
  module To_display = Biokepi_pipeline_edsl.To_display
  module To_workflow = Biokepi_pipeline_edsl.To_workflow
  module To_json :
    sig
      type 'a repr = var_count:int -> Yojson.Basic.json
      val lambda : ('a repr -> 'b repr) -> ('-> 'b) repr
      val apply : ('-> 'b) repr -> 'a repr -> 'b repr
      type 'a observation = Yojson.Basic.json
      val observe : (unit -> 'a repr) -> 'a observation
      val list : 'a repr list -> 'a list repr
      val list_map : 'a list repr -> f:('-> 'b) repr -> 'b list repr
      val pair : 'a repr -> 'b repr -> ('a * 'b) repr
      val pair_first : ('a * 'b) repr -> 'a repr
      val pair_second : ('a * 'b) repr -> 'b repr
      val to_unit : 'a repr -> unit repr
      val fastq :
        sample_name:string ->
        ?fragment_id:string ->
        r1:string -> ?r2:string -> unit -> [ `Fastq ] repr
      val fastq_gz :
        sample_name:string ->
        ?fragment_id:string ->
        r1:string -> ?r2:string -> unit -> [ `Gz of [ `Fastq ] ] repr
      val bam :
        path:string ->
        ?sorting:[ `Coordinate | `Read_name ] ->
        reference_build:string -> unit -> [ `Bam ] repr
      val gunzip : [ `Gz of 'a ] repr -> 'a repr
      val gunzip_concat : [ `Gz of 'a ] list repr -> 'a repr
      val concat : 'a list repr -> 'a repr
      val merge_bams : [ `Bam ] list repr -> [ `Bam ] repr
      val bam_to_fastq :
        sample_name:string ->
        ?fragment_id:string ->
        [ `PE | `SE ] -> [ `Bam ] repr -> [ `Fastq ] repr
      val bwa_aln :
        ?configuration:Biokepi_bfx_tools.Bwa.Configuration.Aln.t ->
        reference_build:Biokepi_run_environment.Reference_genome.name ->
        [ `Fastq ] repr -> [ `Bam ] repr
      val bwa_mem :
        ?configuration:Biokepi_bfx_tools.Bwa.Configuration.Mem.t ->
        reference_build:Biokepi_run_environment.Reference_genome.name ->
        [ `Fastq ] repr -> [ `Bam ] repr
      val star :
        ?configuration:Biokepi_bfx_tools.Star.Configuration.Align.t ->
        reference_build:Biokepi_run_environment.Reference_genome.name ->
        [ `Fastq ] repr -> [ `Bam ] repr
      val hisat :
        ?configuration:Biokepi_bfx_tools.Hisat.Configuration.t ->
        reference_build:Biokepi_run_environment.Reference_genome.name ->
        [ `Fastq ] repr -> [ `Bam ] repr
      val mosaik :
        reference_build:Biokepi_run_environment.Reference_genome.name ->
        [ `Fastq ] repr -> [ `Bam ] repr
      val stringtie :
        ?configuration:Biokepi_bfx_tools.Stringtie.Configuration.t ->
        [ `Bam ] repr -> [ `Gtf ] repr
      val gatk_indel_realigner :
        ?configuration:Biokepi_bfx_tools.Gatk.Configuration.indel_realigner ->
        [ `Bam ] repr -> [ `Bam ] repr
      val gatk_indel_realigner_joint :
        ?configuration:Biokepi_bfx_tools.Gatk.Configuration.indel_realigner ->
        ([ `Bam ] * [ `Bam ]) repr -> ([ `Bam ] * [ `Bam ]) repr
      val picard_mark_duplicates :
        ?configuration:Biokepi_bfx_tools.Picard.Mark_duplicates_settings.t ->
        [ `Bam ] repr -> [ `Bam ] repr
      val gatk_bqsr :
        ?configuration:Biokepi_bfx_tools.Gatk.Configuration.bqsr ->
        [ `Bam ] repr -> [ `Bam ] repr
      val seq2hla : [ `Fastq ] repr -> [ `Seq2hla_result ] repr
      val optitype :
        [ `DNA | `RNA ] -> [ `Fastq ] repr -> [ `Optitype_result ] repr
      val gatk_haplotype_caller : [ `Bam ] repr -> [ `Vcf ] repr
      val mutect :
        ?configuration:Biokepi_bfx_tools.Mutect.Configuration.t ->
        normal:[ `Bam ] repr -> tumor:[ `Bam ] repr -> unit -> [ `Vcf ] repr
      val mutect2 :
        ?configuration:Biokepi_bfx_tools.Gatk.Configuration.Mutect2.t ->
        normal:[ `Bam ] repr -> tumor:[ `Bam ] repr -> unit -> [ `Vcf ] repr
      val somaticsniper :
        ?configuration:Biokepi_bfx_tools.Somaticsniper.Configuration.t ->
        normal:[ `Bam ] repr -> tumor:[ `Bam ] repr -> unit -> [ `Vcf ] repr
      val varscan_somatic :
        ?adjust_mapq:int ->
        normal:[ `Bam ] repr -> tumor:[ `Bam ] repr -> unit -> [ `Vcf ] repr
      val strelka :
        ?configuration:Biokepi_bfx_tools.Strelka.Configuration.t ->
        normal:[ `Bam ] repr -> tumor:[ `Bam ] repr -> unit -> [ `Vcf ] repr
      val virmid :
        ?configuration:Biokepi_bfx_tools.Virmid.Configuration.t ->
        normal:[ `Bam ] repr -> tumor:[ `Bam ] repr -> unit -> [ `Vcf ] repr
      val muse :
        ?configuration:Biokepi_bfx_tools.Muse.Configuration.t ->
        normal:[ `Bam ] repr -> tumor:[ `Bam ] repr -> unit -> [ `Vcf ] repr
    end
  module To_dot :
    sig
      type 'a repr
      val lambda : ('a repr -> 'b repr) -> ('-> 'b) repr
      val apply : ('-> 'b) repr -> 'a repr -> 'b repr
      type 'a observation = SmartPrint.t
      val observe : (unit -> 'a repr) -> 'a observation
      val list : 'a repr list -> 'a list repr
      val list_map : 'a list repr -> f:('-> 'b) repr -> 'b list repr
      val pair : 'a repr -> 'b repr -> ('a * 'b) repr
      val pair_first : ('a * 'b) repr -> 'a repr
      val pair_second : ('a * 'b) repr -> 'b repr
      val to_unit : 'a repr -> unit repr
      val fastq :
        sample_name:string ->
        ?fragment_id:string ->
        r1:string -> ?r2:string -> unit -> [ `Fastq ] repr
      val fastq_gz :
        sample_name:string ->
        ?fragment_id:string ->
        r1:string -> ?r2:string -> unit -> [ `Gz of [ `Fastq ] ] repr
      val bam :
        path:string ->
        ?sorting:[ `Coordinate | `Read_name ] ->
        reference_build:string -> unit -> [ `Bam ] repr
      val gunzip : [ `Gz of 'a ] repr -> 'a repr
      val gunzip_concat : [ `Gz of 'a ] list repr -> 'a repr
      val concat : 'a list repr -> 'a repr
      val merge_bams : [ `Bam ] list repr -> [ `Bam ] repr
      val bam_to_fastq :
        sample_name:string ->
        ?fragment_id:string ->
        [ `PE | `SE ] -> [ `Bam ] repr -> [ `Fastq ] repr
      val bwa_aln :
        ?configuration:Biokepi_bfx_tools.Bwa.Configuration.Aln.t ->
        reference_build:Biokepi_run_environment.Reference_genome.name ->
        [ `Fastq ] repr -> [ `Bam ] repr
      val bwa_mem :
        ?configuration:Biokepi_bfx_tools.Bwa.Configuration.Mem.t ->
        reference_build:Biokepi_run_environment.Reference_genome.name ->
        [ `Fastq ] repr -> [ `Bam ] repr
      val star :
        ?configuration:Biokepi_bfx_tools.Star.Configuration.Align.t ->
        reference_build:Biokepi_run_environment.Reference_genome.name ->
        [ `Fastq ] repr -> [ `Bam ] repr
      val hisat :
        ?configuration:Biokepi_bfx_tools.Hisat.Configuration.t ->
        reference_build:Biokepi_run_environment.Reference_genome.name ->
        [ `Fastq ] repr -> [ `Bam ] repr
      val mosaik :
        reference_build:Biokepi_run_environment.Reference_genome.name ->
        [ `Fastq ] repr -> [ `Bam ] repr
      val stringtie :
        ?configuration:Biokepi_bfx_tools.Stringtie.Configuration.t ->
        [ `Bam ] repr -> [ `Gtf ] repr
      val gatk_indel_realigner :
        ?configuration:Biokepi_bfx_tools.Gatk.Configuration.indel_realigner ->
        [ `Bam ] repr -> [ `Bam ] repr
      val gatk_indel_realigner_joint :
        ?configuration:Biokepi_bfx_tools.Gatk.Configuration.indel_realigner ->
        ([ `Bam ] * [ `Bam ]) repr -> ([ `Bam ] * [ `Bam ]) repr
      val picard_mark_duplicates :
        ?configuration:Biokepi_bfx_tools.Picard.Mark_duplicates_settings.t ->
        [ `Bam ] repr -> [ `Bam ] repr
      val gatk_bqsr :
        ?configuration:Biokepi_bfx_tools.Gatk.Configuration.bqsr ->
        [ `Bam ] repr -> [ `Bam ] repr
      val seq2hla : [ `Fastq ] repr -> [ `Seq2hla_result ] repr
      val optitype :
        [ `DNA | `RNA ] -> [ `Fastq ] repr -> [ `Optitype_result ] repr
      val gatk_haplotype_caller : [ `Bam ] repr -> [ `Vcf ] repr
      val mutect :
        ?configuration:Biokepi_bfx_tools.Mutect.Configuration.t ->
        normal:[ `Bam ] repr -> tumor:[ `Bam ] repr -> unit -> [ `Vcf ] repr
      val mutect2 :
        ?configuration:Biokepi_bfx_tools.Gatk.Configuration.Mutect2.t ->
        normal:[ `Bam ] repr -> tumor:[ `Bam ] repr -> unit -> [ `Vcf ] repr
      val somaticsniper :
        ?configuration:Biokepi_bfx_tools.Somaticsniper.Configuration.t ->
        normal:[ `Bam ] repr -> tumor:[ `Bam ] repr -> unit -> [ `Vcf ] repr
      val varscan_somatic :
        ?adjust_mapq:int ->
        normal:[ `Bam ] repr -> tumor:[ `Bam ] repr -> unit -> [ `Vcf ] repr
      val strelka :
        ?configuration:Biokepi_bfx_tools.Strelka.Configuration.t ->
        normal:[ `Bam ] repr -> tumor:[ `Bam ] repr -> unit -> [ `Vcf ] repr
      val virmid :
        ?configuration:Biokepi_bfx_tools.Virmid.Configuration.t ->
        normal:[ `Bam ] repr -> tumor:[ `Bam ] repr -> unit -> [ `Vcf ] repr
      val muse :
        ?configuration:Biokepi_bfx_tools.Muse.Configuration.t ->
        normal:[ `Bam ] repr -> tumor:[ `Bam ] repr -> unit -> [ `Vcf ] repr
    end
end