在生物文本数据中应用机器学习

我正在尝试解决以下问题 – 给定一个包含大量生物信息的文本文件,找出其中一个被{上/下}调控的基因。现在,我有许多这样的文件(60,000个),并对其中一些(1,000个)进行了注释,标明了哪个基因被{上/下}调控。

条件 –

  • 文件中的许多句子提到了基因名称,其中一些句子还包含邻近的文本,这些文本可以帮助判断这是否确实是正在调控的基因。
  • 有些文件中没有基因被调控。但这些文件仍然提到了基因名称。

鉴于此,我想问(我完全没有机器学习背景),我应该使用哪种序列学习算法/工具来处理我的注释(训练)数据(可能需要将文本转换为向量!),并构建一个好的模型,然后我可以用这个模型来测试更多的文件?

示例数据 –

标题:评估预热冲击hsp70(-/-)和(+/+)细胞的耐热性

生物体:Mus musculus

实验类型:通过阵列进行的表达谱分析

摘要:从初步实验中得知,缺乏HSP70的MEF细胞在43摄氏度的轻度预热冲击后,对45.5摄氏度的严重热冲击表现出中等的耐热性,即使在没有hsp70蛋白的情况下。我们希望确定这些细胞中哪些基因被激活以解释这种耐热性。AQP也被报道为重要因素。

关键词:热应激,热休克反应,敲除,细胞培养,hsp70

总体设计:分析了两条细胞系 – hsp70敲除和hsp70恢复细胞。分析了来自(-/-)敲除细胞的6个微阵列(3个预处理与3个未加热对照)。对于(+/+)恢复细胞,使用了4个微阵列(2个预处理和2个未加热对照)。细胞在96孔板中以每孔3000个的密度铺设,用气体渗透密封膜覆盖,并在20小时时间点以43摄氏度热冲击30分钟。热处理后3小时收获RNA

在这里,我的主要基因是hsp70,它是下调的(可以从hsp(-/-)HSP70缺失中推断出来)。还有许多其他基因名称,如AQP。可能还有另一个文件中没有任何基因被修改。事实上,更多的文件没有实际的基因调控,但所有文件都包含基因名称的提及。

任何建议都将非常受欢迎!!


回答:

如果你没有机器学习背景,我建议购买像这个这个这个这样的产品。这些产品的开发已经持续了几十年,团队预算达数百万美元。

你试图做的事情并不简单。例如,很多论文通过首先引用另一篇论文的原始陈述,然后否定它来包含否定性陈述。在你的例子中,你将如何处理以下情况:

AQP也被Doe等人报道为重要因素。然而,这项研究表明情况可能并非如此。

此外,如果你正在研究大量的生物医学研究论文,或者任何研究论文的语料库。你会发现大量的论文建议某些事情,例如基因被上调或未被上调,然后有一篇发表在Cell杂志上的论文指出之前的所有研究都是错误的。

更糟糕的是,基因/蛋白质名称并不稳定。除了少数著名的如P53之外,还有一大群普通的基因,最初被认为是一个基因,但后来发现它们是两个不同的东西。当这种情况发生时,社区有两种处理方式。一种是两个基因都获得新名称(通常在末尾加上一些标识符),另一种是如果分裂不均匀,则较大的类别保留原始名称,第二个获得新名称。为了加剧这个问题,分裂发生后,并不是所有研究人员都能立即收到通知,因此仍然有一系列使用旧名称的出版物。

这些只是两个简单的问题,还有数百个这样的问题。

如果你这样做是为了个人提升。这里有一些建议:

  1. 在生物医学论文上构建语言模型。现有的语言模型通常是基于新闻线源或社交媒体数据构建的。这三个语料库都声称使用英语语言编写。但实际上,这些是三种不同的语言,各有自己的语法和词汇

  2. 研究嵌入和word2vec等技术。

  3. 查看Kaggle竞赛,这是一个相当流行的话题。

  4. 订阅KDD和BIBM杂志,或者在附近的图书馆找到它们。关于这个主题有数百篇论文。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注