Positive Control
Journal

Raw instrument files to a checked package

Skills: TIP-seq, Python, OpenCode, Agent skill libraries

After every bulk TIP-seq run I write the same package by hand: an overview workbook, an experiment summary, figures from the Qubit, TapeStation and qPCR files, and a tidy folder of raw data. This week I turned that into an OpenCode skill.

It takes the Labstep experiment and the raw instrument exports, and writes the package the lab already uses. The rules it follows:

  • Every number is read from the instrument files, never typed in. A TapeStation page is only used after its own text confirms which sample it is.
  • PCR cycles come from baseline-corrected Delta Rn: the earliest quarter-maximum crossing among the real samples, added to the initial cycles. NTCs, standards and ladders are left out.
  • Warnings and QC flags go in tables, not in the written interpretation.
  • The package is checked before it is published, and the original raw files are only removed once the published copies have been verified. A report I have already edited is never overwritten; a new candidate is written next to it.

Testing it on a real run

I regenerated a past training run from copies of its raw files and compared the result with the package I had made by hand. The values matched. The only differences were places where my hand-made package disagreed with its own instrument files, which is exactly what this is meant to catch.

The real files also found problems the synthetic tests had missed: the cell line's name in my protocol text tripped the cell-count check, and a repeated TapeStation run was captioned with the wrong dilution. Both are fixed, and the skill has 773 tests.