tidymut.core.sequence module

class tidymut.core.sequence.BaseSequence(sequence: str, alphabet: BaseAlphabet, name: str | None = None, metadata: Dict | None = None)[source]

Bases: ABC

Base class for biological sequences

apply_mutation(mutation: BaseMutation | MutationSet | MutationSet[BaseMutation]) SequenceType[source]

Apply a mutation or set of mutations to the sequence and return a new sequence.

Parameters:

mutation (Union[BaseMutation, CodonMutationSet, AminoAcidMutationSet]) – A single mutation or a set of mutations to apply

Returns:

A new sequence with the mutation(s) applied

Return type:

SequenceType

Raises:
  • ValueError – If mutation position is invalid or mutation is incompatible

  • TypeError – If mutation type is not supported

get_subsequence(start: int, end: int | None = None) SequenceType[source]

get subsequence (0-indexed, inclusive)

class tidymut.core.sequence.DNASequence(sequence: str, alphabet: DNAAlphabet | None = None, name: str | None = None, metadata: Dict | None = None)[source]

Bases: BaseSequence

DNA sequence with nucleotide validation

reverse_complement() DNASequence[source]

Get reverse complement of DNA sequence

transcribe() RNASequence[source]

Transcribe DNA sequence into RNA sequence

translate(codon_table: CodonTable | None = None, start_at_first_met: bool = False, stop_at_stop_codon: bool = False, require_mod3: bool = True, start: int | None = None, end: int | None = None) ProteinSequence[source]

Translate DNA sequence into amino acid sequence using this codon table.

Parameters:
  • codon_table (Optional[CodonTable], default=None) – Codon table to use for translation. If None, uses standard genetic code.

  • start_at_first_met (bool, default=False) – Start translation at the first start codon if found.

  • stop_at_stop_codon (bool, default=False) – Stop translation when a stop codon is encountered.

  • require_mod3 (bool, default=True) – Whether the sequence must be a multiple of 3 in length.

  • start (Option[int], default=None) – Custom 0-based start position. Overrides start_at_first_met.

  • end (Option[int], default=None) – Custom 0-based end position. Overrides stop_at_stop_codon.

Returns:

Translated amino acid sequence.

Return type:

ProteinSequence

class tidymut.core.sequence.ProteinSequence(sequence: str, alphabet: ProteinAlphabet | None = None, name: str | None = None, metadata: Dict | None = None)[source]

Bases: BaseSequence

Protein sequence with amino acid validation

find_motif(motif: str) List[int][source]

Find all positions where motif occurs (0-indexed)

get_residue(position: int) str[source]

Get amino acid at specific position (0-indexed)

class tidymut.core.sequence.RNASequence(sequence: str, alphabet: RNAAlphabet | None = None, name: str | None = None, metadata: Dict | None = None)[source]

Bases: BaseSequence

RNA sequence with nucleotide validation

back_transcribe() DNASequence[source]

Back-transcribe RNA sequence into DNA sequence

reverse_complement() RNASequence[source]

Get reverse complement of RNA sequence

translate(codon_table: CodonTable | None = None, start_at_first_met: bool = False, stop_at_stop_codon: bool = False, require_mod3: bool = True, start: int | None = None, end: int | None = None) ProteinSequence[source]

Translate RNA sequence into amino acid sequence using this codon table.

Parameters:
  • codon_table (Optional[CodonTable], default=None) – Codon table to use for translation. If None, uses standard genetic code.

  • start_at_first_met (bool, default=False) – Start translation at the first start codon if found.

  • stop_at_stop_codon (bool, default=False) – Stop translation when a stop codon is encountered.

  • require_mod3 (bool, default=True) – Whether the sequence must be a multiple of 3 in length.

  • start (Option[int], default=None) – Custom 0-based start position. Overrides start_at_first_met.

  • end (Option[int], default=None) – Custom 0-based end position. Overrides stop_at_stop_codon.

Returns:

Translated amino acid sequence.

Return type:

ProteinSequence