///|
/// Demo for tfbstools module: TF binding site analysis.
fn main {
  println("=== TFBSTools Demo: TF Binding Site Analysis ===")
  println("")

  // Example 1: PFM normalization
  println("--- Step 1: PFM Normalization ---")
  let counts = [
    [8.0, 2.0, 0.0, 0.0],
    [0.0, 10.0, 0.0, 0.0],
    [1.0, 1.0, 8.0, 0.0],
    [0.0, 0.0, 2.0, 8.0],
  ]
  let pfm = @src.tfbs_pfm_normalize(counts, pseudocount=0.8)
  println("PFM: " + pfm.length().to_string() + " positions")
  println("")

  // Example 2: PFM to PWM
  println("--- Step 2: PFM to PWM ---")
  let pwm = @src.tfbs_pfm_to_pwm(pfm)
  println("PWM: " + pwm.length().to_string() + " positions")
  for i in 0..