生信人用 Codex 的进阶版:别再只开交互窗口了

1. 先固定工作目录,再开工

codex -C ~/projects/rnaseq_lung

别小看 -C。生信项目最怕串目录,尤其你同时开着 bulk RNA-seq、WES、single-cell 三个项目的时候。先进目标目录,再让它干活,错误会少很多。

2. 用 exec 做一次性任务,不要什么都进交互

codex exec -C ~/projects/wes "找出这个项目里 TMB 是从哪个 VCF 算出来的"

exec 适合这类事:

  • 查流程入口
  • 找某个结果文件从哪一步生成
  • 总结一个目录下的脚本职责
  • 批量改参数
  • 补一个一次性统计脚本

它的优点很简单:跑完就结束,适合挂到工作流里,不用一直盯终端。

3. 结果直接写文件,别手动复制

codex exec -C ~/projects/scRNA \ -o pipeline_note.md \ "总结这个项目从原始矩阵到 cell type annotation 的完整流程"

这条对生信特别有用。很多时候你要的不是“看一眼答案”,而是:

  • 给同事发一份说明
  • 留一份项目笔记
  • 让下周的自己看得懂

能直接落文件,就别人工复制。

4. 想要结构化结果,用 –output-schema

这是进阶里最值钱的一条。

先准备一个 JSON Schema,比如你要它输出:

  • 输入文件
  • 主流程步骤
  • 关键脚本
  • 最终产物

然后:

codex exec -C ~/projects/chipseq \ --output-schema schema.json \ -o summary.json \ "读取当前仓库并按 schema 输出流程摘要"

这比让它吐一段自由文本稳得多。后面你可以把 summary.json 再喂给别的脚本,做项目索引、文档生成、流程检查。

5. 想做批处理,用 –json

codex exec -C ~/projects/atacseq --json \ "检查当前项目里 bigWig 和 peak 文件的生成路径"

–json 会把过程事件按 JSONL 打出来。这个适合:

  • 你想记录执行过程
  • 你要把结果接进别的程序
  • 你在做批量自动化

如果你后面真想把 Codex 接进自己的生信工具链,这个选项比交互界面更重要。

6. 长任务别重开,直接续跑

codex resume --last

这对大项目很好用。比如你昨天已经让它读完 Snakemake 主流程,今天只想接着问:

继续往下找差异分析结果是在哪一步汇总成最终表格的

不用重复解释背景,效率会高很多。

7. 用 review 看你刚改完的脚本

codex review

这个很适合生信里的“小改动高风险”场景,比如:

  • 样本分组表列名改了
  • 路径从绝对路径改相对路径
  • R 脚本多加了一个参数
  • Nextflow channel 接错了
  • 输出文件名改了但下游没同步

这些问题不难,但特别容易拖到流程跑到一半才炸。

8. 会话型开发里,apply 很有用

codex apply <TASK_ID>

如果你是在某些任务流或远端任务里让 Codex 先产出 diff,再落回本地工作树,这条命令就很好用。普通聊天式使用不一定天天碰,但一旦你开始把 Codex 当半自动开发工具,这条就会出现。