sig   type output_type = [ `CSV of string | `HTML of string ]   type predictor_type =       [ `NetMHC       | `NetMHCIIpan       | `NetMHCcons       | `NetMHCcons_IEDB       | `NetMHCpan       | `NetMHCpan_IEDB       | `Random       | `SMM       | `SMM_IEDB       | `SMM_PMBEC       | `SMM_PMBEC_IEDB ]   val predictor_to_string :     [< `NetMHC      | `NetMHCIIpan      | `NetMHCcons      | `NetMHCcons_IEDB      | `NetMHCpan      | `NetMHCpan_IEDB      | `Random      | `SMM      | `SMM_IEDB      | `SMM_PMBEC      | `SMM_PMBEC_IEDB ] ->     string   val predictor_to_tool :     run_with:Biokepi_run_environment.Machine.t ->     [> `NetMHC | `NetMHCIIpan | `NetMHCcons | `NetMHCpan ] ->     (Biokepi_run_environment.Common.KEDSL.phony_workflow *      Biokepi_run_environment.Common.KEDSL.Program.t)     option   module Configuration :     sig       type t = {         name : string;         rna_gene_fpkm_tracking_file : string option;         rna_min_gene_expression : float;         rna_transcript_fpkm_tracking_file : string option;         rna_min_transcript_expression : float;         rna_transcript_fkpm_gtf_file : string option;         mhc_epitope_lengths : int list;         only_novel_epitopes : bool;         ic50_cutoff : float;         percentile_cutoff : float;         padding_around_mutation : int option;         self_filter_directory : string option;         skip_variant_errors : bool;         parameters : (string * string) list;       }       val to_json :         Biokepi_bfx_tools.Topiary.Configuration.t -> Yojson.Basic.json       val render : Biokepi_bfx_tools.Topiary.Configuration.t -> string list       val default : Biokepi_bfx_tools.Topiary.Configuration.t       val name : Biokepi_bfx_tools.Topiary.Configuration.t -> string     end   val run :     run_with:Biokepi_run_environment.Machine.t ->     configuration:Biokepi_bfx_tools.Topiary.Configuration.t ->     reference_build:string ->     vcfs:< is_done : Biokepi_run_environment.Common.KEDSL.Condition.t option;            path : string; .. >          Biokepi_run_environment.Common.KEDSL.workflow_node list ->     predictor:[< `NetMHC                | `NetMHCIIpan                | `NetMHCcons                | `NetMHCcons_IEDB                | `NetMHCpan                | `NetMHCpan_IEDB                | `Random                | `SMM                | `SMM_IEDB                | `SMM_PMBEC                | `SMM_PMBEC_IEDB                > `NetMHC `NetMHCIIpan `NetMHCcons `NetMHCpan ] ->     alleles_file:< is_done : Biokepi_run_environment.Common.KEDSL.Condition.t                              option;                    path : string; .. >                  Biokepi_run_environment.Common.KEDSL.workflow_node ->     output:[< `CSV of string | `HTML of string ] ->     < 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.workflow_node end