module Make:
include File_type_specification
type 'a
repr = 'a t
type 'a
observation = 'a repr
val observe : (unit -> 'a repr) ->
'a observation
val lambda : ('a repr ->
'b repr) ->
('a -> 'b) repr
val apply : ('a -> 'b) repr ->
'a repr ->
'b repr
val list : 'a repr list ->
'a list repr
val list_map : 'a list repr ->
f:('a -> 'b) repr ->
'b list repr
val to_unit : 'a t -> unit t
val fastq : sample_name:string ->
?fragment_id:string -> r1:string -> ?r2:string -> unit -> [ `Fastq ] t
val fastq_gz : sample_name:string ->
?fragment_id:string ->
r1:string -> ?r2:string -> unit -> [ `Gz of [ `Fastq ] ] t
val bam : path:string ->
?sorting:[ `Coordinate | `Read_name ] ->
reference_build:string -> unit -> [ `Bam ] t
val bwa_aln : ?configuration:Tools.Bwa.Configuration.Aln.t ->
reference_build:string -> [ `Fastq ] t -> [ `Bam ] t
val bwa_mem : ?configuration:Tools.Bwa.Configuration.Mem.t ->
reference_build:string -> [ `Fastq ] t -> [ `Bam ] t
val star : ?configuration:Tools.Star.Configuration.Align.t ->
reference_build:string -> [ `Fastq ] t -> [ `Bam ] t
val hisat : ?configuration:Tools.Hisat.Configuration.t ->
reference_build:string -> [ `Fastq ] t -> [ `Bam ] t
val mosaik : reference_build:string -> [ `Fastq ] t -> [ `Bam ] t
val gunzip : 'a. [ `Gz of 'a ] t -> 'a t
val gunzip_concat : 'a -> 'b
val concat : 'a. 'a list t -> 'a t
val merge_bams : [ `Bam ] list t -> [ `Bam ] t
val stringtie : ?configuration:Tools.Stringtie.Configuration.t -> [ `Bam ] t -> [ `Gtf ] t
val gatk_indel_realigner : ?configuration:Tools.Gatk.Configuration.Indel_realigner.t *
Tools.Gatk.Configuration.Realigner_target_creator.t ->
[ `Bam ] t -> [ `Bam ] t
val gatk_indel_realigner_joint : ?configuration:Tools.Gatk.Configuration.Indel_realigner.t *
Tools.Gatk.Configuration.Realigner_target_creator.t ->
([ `Bam ] * [ `Bam ]) t -> ([ `Bam ] * [ `Bam ]) t
val picard_mark_duplicates : ?configuration:Tools.Picard.Mark_duplicates_settings.t ->
[ `Bam ] t -> [ `Bam ] t
val gatk_bqsr : ?configuration:Tools.Gatk.Configuration.Bqsr.t *
Tools.Gatk.Configuration.Print_reads.t ->
[ `Bam ] t -> [ `Bam ] t
val seq2hla : [ `Fastq ] t -> [ `Seq2hla_result ] t
val optitype : [< `DNA | `RNA ] -> [ `Fastq ] t -> [ `Optitype_result ] t
val gatk_haplotype_caller : [ `Bam ] t -> [ `Vcf ] t
val bam_to_fastq : sample_name:string ->
?fragment_id:'a -> [< `PE | `SE ] -> [ `Bam ] t -> [ `Fastq ] t
val mutect : ?configuration:Tools.Mutect.Configuration.t ->
normal:[ `Bam ] t -> tumor:[ `Bam ] t -> unit -> [ `Vcf ] t
val mutect2 : ?configuration:Tools.Gatk.Configuration.Mutect2.t ->
normal:[ `Bam ] t -> tumor:[ `Bam ] t -> unit -> [ `Vcf ] t
val somaticsniper : ?configuration:Tools.Somaticsniper.Configuration.t ->
normal:[ `Bam ] t -> tumor:[ `Bam ] t -> unit -> [ `Vcf ] t
val strelka : ?configuration:Tools.Strelka.Configuration.t ->
normal:[ `Bam ] t -> tumor:[ `Bam ] t -> unit -> [ `Vcf ] t
val varscan_somatic : ?adjust_mapq:int ->
normal:[ `Bam ] t -> tumor:[ `Bam ] t -> unit -> [ `Vcf ] t
val muse : ?configuration:Tools.Muse.Configuration.t ->
normal:[ `Bam ] t -> tumor:[ `Bam ] t -> unit -> [ `Vcf ] t
val virmid : ?configuration:Tools.Virmid.Configuration.t ->
normal:[ `Bam ] t -> tumor:[ `Bam ] t -> unit -> [ `Vcf ] t