///|
/// FreqTable module demo - Frequency table for sequence analysis.
///
/// Run: moon run examples/freq_table_demo
fn main {
  println("=== FreqTable Module Demo ===")
  println("Frequency table for sequence alphabet analysis")
  println("Reference: Biopython Bio.SubsMat.FreqTable module")
  println("")

  // ------------------------------------------------------------------
  // 1. Read a count file and display frequencies
  // ------------------------------------------------------------------
  println("=== 1. Read Count File ===")
  let count_text = @bio.freq_table_sample_count_text()
  println("Input count file:")
  println(count_text)
  let ft = @bio.freq_table_read_count(count_text)
  println("Parsed frequency table:")
  println(ft.to_string())
  println("Total count: \{ft.total_count()}")
  println("Has counts: \{ft.has_counts()}")
  println("")

  // ------------------------------------------------------------------
  // 2. Read a frequency file
  // ------------------------------------------------------------------
  println("=== 2. Read Frequency File ===")
  let freq_text = @bio.freq_table_sample_freq_text()
  println("Input frequency file:")
  println(freq_text)
  let ft2 = @bio.freq_table_read_freq(freq_text)
  println("Parsed frequency table:")
  println(ft2.to_string())
  println("Has counts: \{ft2.has_counts()}")
  println("")

  // ------------------------------------------------------------------
  // 3. Build from a sequence
  // ------------------------------------------------------------------
  println("=== 3. Build From Sequence ===")
  let sequence = "ATGCGTACGTAGATGCGTACGTACGTACGTACGATCGATCG"
  let ft3 = @bio.freq_table_from_sequence(sequence, None)
  println("Sequence: \{sequence}")
  println("Length: \{sequence.length()}")
  println("Letter counts:")
  let letters = ft3.letters()
  for i in 0..