长耗时数据抓取的阶段性落盘门槛
lesson method 生信投稿管线的可复现清单门槛 远程检索失败时的本地缓存回退 GEO series_matrix 头部流式盘点 压缩文件局部可读不等于完整下载
下载/解析大型公开组学文件时,不要把抓取、解压、全量解析和报告生成塞进一次长事务;每个 accession 至少在原始缓存、表头/表型、表达矩阵三个阶段独立落盘并记录状态。这样即使外层超时或远程连接中断,也能满足生信投稿管线的可复现清单门槛,并与远程检索失败时的本地缓存回退衔接继续跑。
GEO series_matrix 的最终验收应独立于主脚本
长耗时下载脚本报告成功后,还应另跑一个轻量验收,独立读取正式
.gz 到 EOF,并同时检查:raw 文件字节数等于远端 Content-Length 或记录的期望字节数;gzip 完整解压无异常;GEO 表达区出现 !series_matrix_table_end;phenotype 行数等于表达矩阵 GSM 列数;status/age/gender 等关键协变量非空;表达 probe 行数大于 0。只有这些同时通过,才算摆脱了压缩文件局部可读不等于完整下载风险,而不是仅仅拿到可读头部。