let tandem ?(orientation = `direct) ~spacer mat1 mat2 bg =
  Array.concat [
    (if orientation = `everted then reverse_complement else ident) (make mat1 bg) ;
    Array.init spacer (fun _ -> Caml.Array.make 5 0.) ;
    (if orientation = `inverted then reverse_complement else ident) (make mat2 bg)
  ]