pub fn align_nuc(
  qry_seq: &[Nuc],
  ref_seq: &[Nuc],
  gap_open_close: &[i32],
  params: &AlignPairwiseParams,
) -> Result<AlignmentOutput<Nuc>, Report> {
  let qry_len: usize = qry_seq.len();
  let min_len: usize = params.min_length;
  if qry_len < min_len {
    return make_error!(
      "Unable to align: sequence is too short. Details: sequence length: {qry_len}, min length allowed: {min_len}"
    );
  }

  let stripes = seed_alignment(qry_seq, ref_seq, params)?;

  let result = align_pairwise(qry_seq, ref_seq, gap_open_close, params, &stripes)?;

  trace!("Score: {}", result.alignment_score);

  Ok(result)
}
/// align nucleotide sequences via seed alignment and banded smith watermann without penalizing terminal gaps
align nucleotide sequences via seed alignment and banded smith watermann without penalizing terminal gaps
align nucleotide sequences via seed alignment and banded smith watermann without penalizing terminal gaps
pub fn align_nuc(
  qry_seq: &[Nuc],
  ref_seq: &[Nuc],
  gap_open_close: &[i32],
  params: &AlignPairwiseParams,
) -> Result<AlignmentOutput<Nuc>, Report> {
  let qry_len: usize = qry_seq.len();
  let min_len: usize = params.min_length;
  if qry_len < min_len {
    return make_error!(
      "Unable to align: sequence is too short. Details: sequence length: {qry_len}, min length allowed: {min_len}"
    );
  }
  let stripes = seed_alignment(qry_seq, ref_seq, params)?;
  let result = align_pairwise(qry_seq, ref_seq, gap_open_close, params, &stripes)?;
  trace!("Score: {}", result.alignment_score);
  Ok(result)
}
pub fn align_nuc ( qry_seq : & [ Nuc ] , ref_seq : & [ Nuc ] , gap_open_close : & [ i32 ] , params : & AlignPairwiseParams , ) -> Result < AlignmentOutput < Nuc > , Report > { let qry_len : usize = qry_seq . len ( ) ; let min_len : usize = params . min_length ; if qry_len < min_len { return make_error ! ( " " ) ; } let stripes = seed_alignment ( qry_seq , ref_seq , params ) ? ; let result = align_pairwise ( qry_seq , ref_seq , gap_open_close , params , & stripes ) ? ; trace ! ( " " result alignment_score ) ; Ok ( result ) }
align nucleotide sequences via seed alignment and banded smith watermann without penalizing terminal gaps
align nucleotide sequences via seed alignment and banded smith watermann without penalizing terminal gaps
qry_seq
&[Nuc]
ref_seq
&[Nuc]
gap_open_close
&[i32]
params
&AlignPairwiseParams
qry_seq
&[Nuc]
ref_seq
&[Nuc]
gap_open_close
&[i32]
params
&AlignPairwiseParams