立即注册找回密码

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
小桔灯网 门户 资讯中心 技术杂谈 查看内容

Grail 甲基化泛癌早筛新模型测试

2024-6-7 15:54| 编辑: 归去来兮| 查看: 587| 评论: 0|来源: 玩转ATGC

摘要: 此次Grail新模型测试是在临床实验SYMPLIFY基础上进行的

Grail最近在官网更新了几篇在ASCO发表的Poster,其中有一篇是关于Galleri模型的,在此研究一下。

前边曾经写过一篇Grail建模的文章,只使用甲基化特征进行建模,感兴趣的可移步甲基化泛癌早筛—Grail是如何建模的?

此次Grail新模型测试是在临床实验SYMPLIFY基础上进行的,SYMPLIFY是验证Galleri在高风险人群(携带有可能是癌症引起相关症状中表现的临床实验。

此次模型只测试了第一步的癌症鉴别模型组织溯源模型未有更新

在原甲基化模型分值的基础上,测试联合病人的年龄,性别,一堆可能由癌症引起的症状及血常规检测的一些指标。

使用的模型还是逻辑回归,这模型真是无敌了。。明明是很简单最基础的机器学习模型,但是不管泛癌还是单癌都用它。

结果见下表,主要看红框内总的AUC变化:

甲基化模型单独的AUC是0.82

首先联合最易收集的年龄和性别:加入年龄之后AUC提升到了0.87,再继续加入性别的话AUC还是0.87没再提高。

联合年龄的效果要好于联合性别,这个也说的过去,毕竟甲基化和衰老密切相关,即使训练时做了年龄平衡,也很难完全抹除年龄信号。

然后再联合一堆可能由癌症引起的症状,比如可能由肺癌引起的症状:食欲不振,咳嗽,疲劳,咳血,呼吸急促,体重减轻;上消化道症状: 腹部肿块,腹痛,贫血,食欲不振,消化不良,吞咽困难,恶心,反流,呕吐,体重减轻等。

至于如何将这些症状特征与甲基化模型分值联合,很简单:只能分类的表型标为0或1,能衡量程度的表型使用分数或数字进行表示

这么多症状也不是全部纳入,至于具体纳入哪些症状,使用了“backward selection”的方法,即后向消元方法,从包含所有自变量的模型开始,使用逐步回归确定一个变量是否应该从模型中被删除,一次只能删除一个变量,当模型中的自变量的p值没有大于α(Grail设置为0.05)时,后向消元过程结束。

说起来费劲,其实有现成的python程序可以实现,从别处找的代码,我还没测试,仅供参考:


def backward(x,y,alpha=0.05): #同样,这里的x和y需为Series或Dataframe格式    x_const = sm.add_constant(x)    predictors = x_const.columns.to_list()    predictors_deleted = []    while True:        regr = sm.OLS(y,x_const[predictors]).fit()        pvalue = regr.pvalues.drop('const')        pvalue_max = pvalue.argmax() #返回最大p值的int索引        if pvalue[pvalue_max] > alpha:            #这里加一是因为前面pvalue drop掉了const,这里predictors没有drop,加一保持int索引一致            deleted_predictor = predictors[pvalue_max+1]            predictors.pop(pvalue_max+1)            predictors_deleted.append(deleted_predictor)            print(len(predictors_deleted),"have deleted")        else:            break        backward_select_regr = sm.OLS(y,x_const[predictors]).fit()    print(len(predictors)-1,"have reserved")    return backward_select_regr


将上一步已联合年龄,性别的模型,再联合15个在多个癌种中都可能出现的症状特征后,可将AUC进一步提升至0.89

最后是联合血液常规检测的相关指标:血红蛋白,MCH(红细胞平均体积),MCV(血红蛋白含量),血小板,WBC(白细胞数量),ALP(碱性磷酸酶),白蛋白,胆红素。

但是有血常规数据的参与者不多,年龄,性别和症状的信息更易收集,填个调查问卷就好了,血常规毕竟还需要单独抽血进行检测。

最后只有152个参与者有血常规检测数据,竟然其中147个都是癌症。。这个数据也太不平衡了,看来阳性患者有点慌,后续应该不少都做了血常规。。不过Grail还是继续在这个数据上做了联合建模。

最后三者联合的AUC达到了0.93,从最初的0.82达到了0.93。。算是质的飞跃么?

有血常规数据的阴性样本只有5个,我估计他的这个ROC曲线也没办法画,你看Grail也没加,,如果只算到联合症状的话AUC从0.82提高到了0.89,也还可以哈。

当然这个是在测试集上联合甲基化模型的结果,后续想用的话,肯定还需要在训练集上重新训练模型,再进行大规模前瞻性验证。。你看看改个模型好费劲。。

也说不准可以缩减一些指标,尽量找原来那些临床实验的样本都有的指标,然后回头建模测试,,不知道可行否。

等等看Grail后边怎么搞吧。。

声明:
1、凡本网注明“来源:小桔灯网”的所有作品,均为本网合法拥有版权或有权使用的作品,转载需联系授权。
2、凡本网注明“来源:XXX(非小桔灯网)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。其版权归原作者所有,如有侵权请联系删除。
3、所有再转载者需自行获得原作者授权并注明来源。

鲜花

握手

雷人

路过

鸡蛋

最新评论

关闭

官方推荐 上一条 /3 下一条

客服中心 搜索 官方QQ群 洽谈合作
返回顶部