sig
  module Remove = Biokepi_run_environment.Workflow_utilities.Remove
  module Configuration :
    sig
      module Align :
        sig
          type t = {
            name : string;
            sam_mapq_unique : int option;
            overhang_length : int option;
            parameters : (string * string) list;
          }
          val name : Biokepi_bfx_tools.Star.Configuration.Align.t -> string
          val default : Biokepi_bfx_tools.Star.Configuration.Align.t
          val to_json :
            Biokepi_bfx_tools.Star.Configuration.Align.t -> Yojson.Basic.json
          val render :
            Biokepi_bfx_tools.Star.Configuration.Align.t -> string list
        end
    end
  val index :
    reference_build:string ->
    run_with:Biokepi_run_environment.Machine.t ->
    < exists : Ketrew_pure.Target.Condition.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
  val align :
    reference_build:string ->
    fastq:< is_done : Biokepi_run_environment.Common.KEDSL.Condition.t option;
            paths : string * string option; sample_name : string; .. >
          Biokepi_run_environment.Common.KEDSL.workflow_node ->
    result_prefix:string ->
    run_with:Biokepi_run_environment.Machine.t ->
    ?configuration:Biokepi_bfx_tools.Star.Configuration.Align.t ->
    unit ->
    < host : Biokepi_run_environment.Common.KEDSL.Host.t;
      is_done : Biokepi_run_environment.Common.KEDSL.Condition.t option;
      path : string; reference_build : string;
      sorting : [ `Coordinate | `Read_name ] option >
    Biokepi_run_environment.Common.KEDSL.workflow_node
end