文本文件水印2
前情提要
在去年,我思考过一个文本文件水印的方案,目标是避免出售的文本数据库被客户二次分发。现在我想针对方案三,寻求一个水印位点的设计思路。
通过在数据库中加入虚构的不可能检出或者检出也是良性的位点注释信息,按加入信息的排列组合来追踪客户的编号。
核心原则
- 寄生性:必须依附在“绝对不能删”的热门基因上。
- 隐蔽性:伪装成“剪接良性突变”或“错义良性突变”,看起来像真实的生物学突变,并且客户不敢从数据库删掉。
- 无害性:就算被错误地当作真实位点检出,也必须被评级为“Benign(良性)”,绝不能干扰临床用药。
位点选择
不要选择冷门基因(冷门基因容易被客户为了节省空间而整个切掉)。一定要选择NCCN指南或FDA批准药物相关的热门基因。
因此,可选的基因可以是:EGFR、KRAS、TP53、BRCA1、BRCA2、PIK3CA、ALK、BRAF等。
策略: 选择这些基因的非核心热点区域的外显子。
不要选 EGFR 的 19del 或 L858R 那个密码子(太显眼,容易被重点人工复核)。选 EGFR 的 非热点外显子区域。
目标的在上述基因中,设计出24个位点,通过这24个位点在数据库中(无/有),达成(0/1)标记。进阶做法:双态方案,利用位点的两个不同突变方向,达成(0/1)标记。
造假
为了安全,我们采用**“人造突变”(Artificial Variants)**。
设计逻辑:
- 找到目标密码子。
- 选择性质相似的氨基酸,比如 Val <-> Ile/Leu(疏水三兄弟);Asp <-> Glu(酸性双胞胎);Arg <-> Lys(碱性表兄弟)。
- 关键点: 确保造出来的这个突变,人群频率极低,在所有数据库中无报道或者报道为良性,有害性预测均是良性。
实例演示
以坐标 chr7:55161585(hg38)为例,该坐标在NCBI中,SNP记录是rs2128942943。
该坐标无Clinvar记录。
在UCSC的基因组浏览器里,确认这里是一个 GTC(Val)。
可以构筑出突变(Val -> Leu),也可以构筑出(Val -> Ile),我们可以调整成CTC、ATC。
即构筑出了下面的突变均可,然后可以使用预测工具验证突变的有害性。
EGFR:c.1585G>C (p.Val529Leu)
EGFR:c.1585G>A (p.Val529Ile)
毫无疑问,两个突变的多软件预测结果都是良性。同时我们需要在GnomAD查询这些突变的人群频率。其中c.1585G>A是有记录的,在共计1614294样本数目(Allele Number)只检出1个。
突变的AplhaMissense得分是
EGFR:c.1585G>C (p.Val529Leu):0.2096
EGFR:c.1585G>A (p.Val529Ile):0.0841
根据AplhaMissense的描述,在0~0.34范围内,评估为Likely Benign。
编码
利用设计获得的24个位点,为每个客户生成唯一的指纹。每个客户会有一个十进制的ID,假设客户的ID是100,转换为24位二进制就是0000...0001100100。使用双态方案,可以确保无论客户拿到的是哪个版本,这24个位置永远都有数据。
总结
- 抓得准:24个位点, 种组合,几乎不可能碰撞。只要发现市面上的数据库里,这24个位点的组合和你卖给某客户的一模一样,那就是铁证。
- 洗不掉: 客户不敢轻易删除 EGFR 或 TP53 里的数据,因为怕误删真实数据。
- 不出事: 即使真的检出了这个位点,但位点的多重评级都是良性的,不影响解读结果。