预测核苷酸序列效率

Predicting nucleotide sequence efficiency

我是机器学习的新手,我想知道是否可以使用我可用的生物数据进行聚类。我想知道一组DNA序列是否可以聚成两组,有效率和无效率。

我有五组,每组包含大约 480 个短序列(我们称之为样本)。每组都有不同强度的效果:

Set1 - 效果很好

Set2 - 效果不错

Set3 - 轻微影响

Set4 - 影响很小

Set5 - 无效

每个样本都有一些特征,例如自由能,从特定的核苷酸开始...

现在我的问题是我是否可以找出我的集合中的哪种类型的样本对整个集合的效果起作用。我唯一的假设是,在 set1 中我有比 set5 中更有效的样本(none 或很少)。一个非常简单(不现实)的结果可能是,所有以核苷酸 'A' 开始并以核苷酸 'C' 结束的样本都会引起这种影响。

是否可以使用机器学习来找出答案?

谢谢!

这听起来绝对是机器学习可以提供良好结果的问题。我建议您查看 scikit-learn,这是 Python 中一个功能强大且易于使用的机器学习工具包。有许多介绍性示例和教程可用。

对于您的用例,我会说随机森林可以提供良好的结果,尽管在不了解更多数据结构的情况下很难说。它们在 sklearn 的 class RandomForestClassifier 中可用。同样,可以找到很多教程和示例。


由于您的训练数据未标记,您可能需要研究无监督学习方法。一种简单的 class 此类方法是聚类算法。例如,在 sklearn 中,您可以找到 k-means clustering 以及其他此类算法。这个想法是让算法将你的数据分成不同的集群,看看集群成员和观察到的效果之间是否有任何相关性。

从你的描述中不清楚这 5 个集合(听起来像标签)对应的是什么,但我假设你本质上是在询问特征学习:你想知道选择哪些特征来最好地预测什么设置给定的序列来自。从头开始确定这一点是机器学习中的一个悬而未决的问题,根据您的具体情况,有许多可能的方法。

您可以 select 一组特征(只需进行逻辑猜测)并针对所有序列计算它们,然后对您生成的所有向量执行 PCA。 PCA 将为您提供特征的线性组合,这些特征可以解释数据中最大的可变性,这对于设计有意义的特征很有用。