stream-friendly (coordinate list) writer / reader for the per-sequence TF-IDF sparse vectors produced by the first pass of the streaming pipeline.

the on-disk layout is deliberately simple and append-friendly so that the first pass can keep a single opened BufferedStream and emit one row per sequence without ever holding the whole matrix in memory:

  • vectors.coo : tab-separated " <TAB> <TAB> " lines, grouped by row.
  • titles.idx : JSON array mapping -> original sequence title, written once at the end.
  • meta.json : number of rows / columns so the second pass knows the matrix shape.