Sequence Motifs
PFM → PPM → PWM Pipeline
import numpy as np
BASES = ["A", "C", "G", "T"]
def build_pfm(sequences: list[str]) -> np.ndarray:
"""Raw count matrix (4 x L)."""
L = len(sequences[0])
pfm = np.zeros((4, L), dtype=int)
for seq in sequences:
for pos, base in enumerate(seq.upper()):
if base in BASES:
pfm[BASES.index(base), pos] += 1
return pfm
def pfm_to_ppm(pfm: np.ndarray, pseudocount: float = 0.1) -> np.ndarray
[Description truncada. Veja o README completo no GitHub.]