smftools.preprocessing.append_sequence_mismatch_annotations

smftools.preprocessing.append_sequence_mismatch_annotations#

smftools.preprocessing.append_sequence_mismatch_annotations(adata, seq1_column, seq2_column, output_prefix=None, match_score=1, mismatch_score=-1, gap_score=-2, ignore_n=True, bypass=False, force_redo=False, uns_flag='append_sequence_mismatch_annotations_performed')#

Append mismatch annotations by aligning full reference sequences.

Extracts the full reference sequences from per-position base columns in adata.var, performs a single global alignment, and maps mismatches (substitutions, insertions, deletions) back to adata.var indices.

Results stored in adata.var:
  • {prefix}_mismatch_type: Per-position str — "substitution", "insertion", "deletion", or "" (no mismatch).

  • {prefix}_mismatch_identity: Per-position str — e.g. "A->G", "ins:T", "del:C", or "").

  • {prefix}_is_mismatch: Per-position bool flag.

Parameters:
  • adata (AnnData) -- AnnData object.

  • seq1_column (str) -- Column in adata.var with per-position bases for reference 1.

  • seq2_column (str) -- Column in adata.var with per-position bases for reference 2.

  • output_prefix (str | None (default: None)) -- Prefix for output columns. Defaults to {seq1_column}__{seq2_column}.

  • match_score (int (default: 1)) -- Alignment match score.

  • mismatch_score (int (default: -1)) -- Alignment mismatch score.

  • gap_score (int (default: -2)) -- Alignment gap score.

  • ignore_n (bool (default: True)) -- Whether to ignore mismatches involving N bases.

  • bypass (bool (default: False)) -- Whether to skip processing.

  • force_redo (bool (default: False)) -- Whether to rerun even if uns_flag is set.

  • uns_flag (str (default: 'append_sequence_mismatch_annotations_performed')) -- Flag in adata.uns indicating prior completion.

Return type:

None