使用机器学习来测量基因间的相关性:一个多特征模型(Using Machine Learning to Measure Relatedness Between Genes)

本文主要是介绍使用机器学习来测量基因间的相关性:一个多特征模型(Using Machine Learning to Measure Relatedness Between Genes),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 摘要

    测量一对基因间的条件亲缘关系是计算生物学的一项基本技术,也是一个重大的挑战。论文提出了一个新的机器学习模型—多特征相关性(MFR),通过将表达相似度和基于先验知识的相似度纳入评估标准,来准确地测量一对基因之间的条件相关性。

2. 介绍

    基因之间的相互作用通常被建模为一对基因之间0/1(非相互作用/相互作用)的二元关系,而亲缘性则意味着一对基因之间的某种程度的关系。

    相关性可以通过两种特征来衡量:表达相似度和基于先验知识的相似度。第一种特性通常是在一定条件下测量一对基因的共表达水平,第二种类型的特征通常是使用公共生物数据和功能注释数据库来测量基因的相关性。

    论文提出的机器学习模型MFR,通过使用带线性核的支持向量机,整合表达相似度和基于先验知识的相似度,保留并推荐具有高表达相似性和高先验知识相似性的基因对,准确地测量基因间的条件相关性。

3. 材料和方法

3.1 MFR工作流程

如图1所示,MFR工作流程有5个步骤:
(i)从已发表的研究成果中收集基因对样本;
(ii)从GEO、GO和orthoDB数据库中提取基因特征,用于评估基于相似性的基因对功能;
(iii)利用4个基因特征和反应体数据库和HTRIdb数据库计算12个基于相似性的基因对特征
(iv)通过10倍交叉验证构建基于svm的模型。
(v)实验验证基因-基因相互作用,预测基因功能,并与其他模型和方法进行比较。

3.2 基因特征

    MFR使用12个相似的基因对特征来评估一对基因之间的条件相关性。

表达数据。使用GEO数据库中的15679个样本作为表达数据源,进行预处理步骤,最终保留16,391个编码蛋白的基因,以供进一步的表达数据分析。

基因本体论数据。 GO注释使用GO数据库(共435975)中43340个与实验相关的生物学过程。

相应的数据。使用了5000多个物种的2200万个基因,其中包括20个物种的169376个人类同源基因。

亚细胞定位数据。从GO数据库中获得的人类基因的160537个细胞成分注释被用作亚细胞源来衡量一对基因之间亚细胞定位的相似性。

3.3 基因对特征计算

    MFR中使用了12个基于相似性的基因对特征,定义如下。

    7个基于表达相似性的特征:每个基因exp1和exp2的平均表达水平,PCC度量的线性共表达关系,SRC和MI用于测量的非线性共表达关系,MI度量的两个基因表达水平的联合分布与因子边际分布的产物相似性。

GO相似性(goSim),因为相互作用的基因被认为参与了类似的生物过程:

在这里插入图片描述
其中,Oi和Oj分别表示用于注释基因i和j的GO项集;A(o, q)是GO项o和q的共同祖先集;P(o)为GO项o实例注释的一个基因的概率;D(o)和D(root)分别表示GO项o的后代GO项集和根GO项集。

亚细胞定位相似度(lcSim),用来计算两个蛋白质编码基因出现在一个普通细胞器中的概率:
在这里插入图片描述

其中Li和Lj是由基因i和j编码的亚细胞定位组。

同源相似性(hgSim),使用改进的皮尔逊相关方法:

在这里插入图片描述
其中,ni和nj分别为基因组中包含i和j基因同源基因的物种数目;N =21 是我们使用的物种 的总数和,M为基因组中同时包含i和j基因同源基因的物种数量。

基因对的归一化距离(rxSim),从反应体途径得到的202772个基因-基因相互作用被用来构建一个未加权图,其中节点表示基因,边表示基因之间的相互作用:

在这里插入图片描述
其中disi,j为基因i与j之间的最短距离,dismax为图中最远的一对基因之间的最短距离。

基于转录调控相似度(trSim),如果有一个基因对有转录调控相互作用的记录,trSim为1,否则为0。

3.4 支持向量机模型

由于文章在服务器上,全文详见:
http://bbit.vip/service/main.php?version=1&type=article&id=87

这篇关于使用机器学习来测量基因间的相关性:一个多特征模型(Using Machine Learning to Measure Relatedness Between Genes)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/432420

相关文章

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

使用Python实现一个优雅的异步定时器

《使用Python实现一个优雅的异步定时器》在Python中实现定时器功能是一个常见需求,尤其是在需要周期性执行任务的场景下,本文给大家介绍了基于asyncio和threading模块,可扩展的异步定... 目录需求背景代码1. 单例事件循环的实现2. 事件循环的运行与关闭3. 定时器核心逻辑4. 启动与停

如何使用Nginx配置将80端口重定向到443端口

《如何使用Nginx配置将80端口重定向到443端口》这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙... 目录1. 创建或编辑Nginx配置文件2. 配置HTTP重定向到HTTPS3. 配置HTTPS服务器

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm