2. 生信审计的法规基础

聊法规之前,我先讲个真事。几年前我去一家CXO做审计,对方的生信负责人拍着胸脯说“我们完全合规”。结果我一问,他那套分析流程全靠手改脚本,版本控制用的是“final_v3_真的不改了.sh”。嗯,这背后暴露的问题,说白了就是法规理解没到位。

生信审计不是凭空来的。你得知道监管机构到底想要什么。FDA、EMA、NMPA这些大佬,他们的要求其实有共通的内核。今天我就把这些法规掰开揉碎了,让你看看它们在生信场景下到底怎么落地。

核心观点:所有法规都围绕三个关键词——数据完整性、系统验证、审计追踪。你只要抓住这三条线,生信审计的框架就立住了。

2.1 FDA 21 CFR Part 11:电子记录与电子签名的门槛

Part 11是1997年发布的,但到现在依然是电子记录合规的“金标准”。我刚开始接触时觉得它很抽象,后来发现其实就是管三件事:记录不能丢、签名不能假、改要有痕迹。

  • 电子记录:你跑完生信流程生成的BAM、VCF、报告,都算电子记录。Part 11要求这些记录必须可读、可追溯、防篡改。
  • 电子签名:如果你用电子签名代替手写签名,系统必须能唯一标识签名人,并且签名和记录绑死。
  • 审计追踪:谁、什么时候、改了什么东西,系统必须自动记录。这个在生信环境里尤其容易被忽视。

举个例子。你有个NGS分析流程,每次跑完都会生成一份QC报告。Part 11的要求是什么?

# 合规的审计日志应该长这样:
2025-01-15 10:23:45 | user:li_jun | action:run_pipeline 
  | params:--min-depth 30 --caller gatk4
  | input:/data/sample_001.fastq
  | output:/results/sample_001/
  | checksum:sha256:a3f1b2c8...

2025-01-15 14:01:12 | user:li_jun | action:modify_report
  | detail:changed QC threshold from 20 to 30
  | reason:updated per protocol v2.1

我的经验:很多团队用Nextflow或Snakemake跑流程,但日志只记录“跑完了”,没有记录“谁以什么参数跑的”。我在审计时就遇到过这种情况,最后让对方补了大半天的解释。建议你在流程脚本里强制加上--user和--reason参数。

2.2 ICH Q10:质量体系怎么放进生信流程

ICH Q10讲的是 Pharmaceutical Quality System。你可能会问:这跟生信有什么关系?关系大了。Q10的核心是“持续改进”和“风险管理”,而这恰恰是生信流程最容易翻车的地方。

ICH Q10要素 生信场景映射 常见问题
工艺性能与产品质量监控 对每个样本的分析流程做QC监控 只看一次QC,不做趋势分析
纠正与预防措施(CAPA) 流程跑出异常结果时的调查与修复 重跑一次就完事,不追根因
变更管理 分析软件版本升级、参数调整 直接改脚本,不留变更记录
知识管理 流程文档、SOP、验证报告的维护 全靠老人传帮带,人走流程荒

我记得有一次去一家初创公司做合规评估。他们的生信主管说:“我们QA流程很完善,每次跑完都看覆盖率。” 我一查,确实看了,但问题是他们三个月没更新过参考基因组版本。这就是典型的“有监控无改进”——Q10明确要求你不仅要发现问题,还得主动预防。

2.3 GxP原则:生信里的“好习惯”

GxP是个伞形概念,GLP、GCP、GMP、GDP都在里面。它们对生信的共同要求总结下来就四条:

  1. 可重复性:换个人、换个机器、换个时间,跑同样的数据必须得到一样的结果。
  2. 可追溯性:每一步操作都有记录,能倒查回去。
  3. 数据完整性:ALCOA+原则——Attributable, Legible, Contemporaneous, Original, Accurate。
  4. 权限控制:谁有权限改数据,谁只能读,管得死死的。

避坑提醒:我曾经审计过一家CRO,他们的生信分析都在HPC集群上跑。为了图方便,所有用户共用同一个服务账号。结果发生数据误删后,根本查不出是谁干的。GxP审计员看了直接给出Major Finding。千万别在这种事上省事。

2.4 EMA与NMPA指南:本地化的差异

EMA和NMPA的指南跟FDA本质上高度一致,但有些细节值得注意。

监管机构 核心要求 生信特有关注点
FDA (21 CFR Part 11) 电子记录、电子签名、审计追踪 强调系统验证,软件版本控制
EMA (Annex 11) 与Part 11类似,增加“定期评估”要求 要求对遗留系统做风险评估
NMPA (《药品记录与数据管理要求》) 强调“原汁原味”,数据不可篡改 生信原始数据(FASTQ)的归档很严格

EMA的Annex 11我特别喜欢一条:它要求对已上线系统做“定期周期性评估”。什么意思?不是你验证完就一劳永逸了,每年都得回头看看系统还行不行。生信工具更新太快,这个要求非常实用。

2.5 法规要求到生信实践的映射

讲了这么多法规,咱们落地看看。下面这张SVG图展示了我归纳的法规到生信实践的核心映射关系:

法规要求 → 生信实践映射 FDA 21 CFR Part 11 ICH Q10 GxP / EMA / NMPA 电子记录 · 审计追踪 监控 · CAPA · 变更管理 可重复 · 可追溯 · 权限 数据完整性 流程可重复(容器/SOP) Docker/Singularity + 版本锁定 记录可追溯(审计日志) 自动化日志 + 变更记录 数据可防篡改(校验和) SHA256 + 不可篡改存储 生信审计的底层逻辑:用技术手段把法规要求变成可执行的系统行为

2.6 法规落地检查清单

法规太多记不住?我整理了一个速查清单,你每次搭建新流程时过一遍就行:

  • 系统验证:你的生信流程做过验证吗?验证文档齐全吗?
  • 版本锁定:每次分析用的软件版本、数据库版本、参考基因组版本都锁死了吗?
  • 权限分离:分析人员不能直接改原始数据,管理员不能跑分析,做到了吗?
  • 审计日志:每个步骤都有谁在什么时候做了什么,能查出来吗?
  • 备份策略:原始数据、中间结果、最终报告,分别怎么备份?恢复演练过吗?
  • 变更管控:从GATK 3.8换成GATK 4.0,你走变更流程了吗?

我个人习惯:把这些检查项做成一个YAML配置文件,放在流程仓库的根目录下,每次跑流程前自动校验一遍。这样审计员来了,直接看配置文件和CI/CD log就够了,不用翻几十个文件夹找证据。

2.7 常见的审计发现与应对

结合我做审计的经验,生信部分最容易出现的问题集中在下面几个点:

审计发现 典型场景 我的建议
缺少电子签名 分析报告PDF上只写了“Approved by SL”,没有签名记录 用DocuSign或类似的工具,或者自建签名认证服务
审计追踪不完整 流程日志只记录“success”或“failed”,没有具体参数 强化日志记录,强制输出JSON格式的详细元数据
数据生命周期不明 原始FASTQ存了三份,但没人知道哪份是“官方版本” 定义数据主副本,其他位置只存索引或链接
软件版本不兼容 某次分析用了GATK旧版,结果与之前不一致 所有流程强制使用Docker/Singularity容器

千万别踩这个坑:我曾经遇到过一家公司,他们的生信主管说“我们用了一个特别高级的版本控制工具”。结果我去一看,所谓的“版本控制”就是把每次跑的脚本按日期命名文件夹,然后手动复制一份。这根本不是版本控制,这是存档。版本控制要能回溯、能对比、能回滚,Git才是标准答案。