使用中心与备忘录法师识别必需蛋白质
#database #算法 #memgraph #graphdatabase

近年来,基本蛋白质的鉴定已成为重要的研究领域。必需蛋白质与disease genes之间的相关性对于疾病诊断和治疗至关重要。传统的生物学实验通常太昂贵且耗时,这意味着计算方法变得越来越重要。

在本教程中,我们将利用中心性来识别必需蛋白质。对于此任务,我们使用的是图形分析平台Memgraph,可以对各种网络进行复杂的图形分析。即使我们将使用互感中心性,其他图算法也可以应用于蛋白质 - 蛋白质相互作用网络,例如其他中心度测度或PageRank算法。

我们还创建了一个简单的Web应用程序,可以帮助您可视化网络。访问GitHub repository了解更多信息。

先决条件

对于本教程,您需要:

  • 运行 memgraph 实例;
  • memgraph Lab 视觉用户界面。

两者安装的最简单方法是下载Memgraph Platform Docker Image。
只是install Docker并执行以下命令以使所有内容启动并运行:

docker run -it -p 7687:7687 -p 3000:3000 memgraph/memgraph-platform

命令将在本地搜索Memgraph平台图像,如果找不到,Docker将为您下载。
下载结束和备忘录开始后,您可以在browser中打开Memgraph Lab,在地址https://localhost:3000

1.构建图形数据模型

我们将在本教程中使用的数据是基于Tissue-specific protein-protein interaction network [1]创建的。该数据集包含特定的蛋白质 - 蛋白质相互作用网络 。。

memgraph-tutorial-protein-graph-data-model

图中的节点均为PROTEIN,代表在人体组织中发现的蛋白质。 Entrez Gene National Center for Biotechnology Information (NCBI)上的基因特异性数据库, Entrez Gene ID 是代表蛋白质特异性指令的基因的唯一标识符。

对于本教程,我们已经扩展了现有数据集,并从NCBI上删除了其他信息,因此您可以轻松探索蛋白质网络。每个节点具有属性:

  • entrezgeneid
  • 官方符号
  • 官方fullname
  • 摘要

边缘 INTERACTION类型代表蛋白质之间的组织特异性物理相互作用,它们不包括任何特性。

2.导入蛋白质网络

每个组织都可以使用两个文件,一个文件包含所选组织中蛋白质的描述,另一个列出了所有蛋白质相互作用。您可以从here下载本教程中使用的特定于组织数据。

下载并提取CSV文件后,我们需要将它们复制到Memgraph可以访问它们的Docker容器。

1。首先,通过运行:
找到memgraph Platform CONTAINER_ID

docker ps

2。现在,您可以使用docker cp命令将文件复制到容器:

docker cp interactions_cochlea.csv CONTAINER_ID:/
docker cp interactions_cochlea_properties.csv.csv CONTAINER_ID:/

不要忘记将CONTAINER_ID替换为上一步的实际ID。

3。 LOAD CSV子句使您可以在查询中加载和使用选择的CSV文件中的数据。首先,我们将导入节点。在 memgraph Lab mgconsole 中运行以下查询:

LOAD CSV FROM "/interactions_cochlea_properties.csv"
WITH HEADER DELIMITER "|" AS row
CREATE (n:PROTEIN 
    {EntrezGeneID: ToInteger(row.EntrezGeneID),
    OfficialSymbol: row.OfficialSymbol,
    OfficialFullName: row.OfficialFullName,
    Summary: row.Summary}
    );

4。现在,我们将创建一个数据库索引以更有效地导入边缘:

CREATE INDEX ON :PROTEIN(EntrezGeneID);

5。最后,我们可以创建边缘:

LOAD CSV FROM "/interactions_cochlea.csv"
WITH HEADER DELIMITER "|" AS row
MATCH (a:PROTEIN {EntrezGeneID: toInteger(row.EntrezGeneID1)}), 
(b:PROTEIN {EntrezGeneID: toInteger(row.EntrezGeneID2)})
CREATE (a)-[e:INTERACTION]->(b);

3.确定具有中心性中心的必需蛋白质

法师图库

Memgraph Advanced Graph Extensions或简称 mage 是一个开源图库,其中包含标准和增量图算法的实现。您可以使用任何算法并实现自己的算法。

中间性包括在法师中,算法实现受Brandes algorithm的启发。

计算每种蛋白质的中间性中心性

1。我们将创建一个Cypher查询,该查询将调用每个节点的中间性算法并将结果存储在属性BetweennessCentrality

CALL betweenness_centrality.get(FALSE, TRUE)
YIELD node, betweenness_centrality
SET node.BetweennessCentrality = toFloat(betweenness_centrality);

2。我们计算每个节点的中心中心性后,我们可以根据此值对它们进行排序。组织中最重要的蛋白质将具有最高的中心度度量:

MATCH (node:PROTEIN)
RETURN node
ORDER BY node.BetweennessCentrality DESC;

如果您正在Memgraph Lab中运行查询,则结果应类似于下面的查询:

memgraph-tutorial-protein-betweenness-centrality

结果很清楚,耳蜗中心中心性最高的必需蛋白质组织是 app 。 App蛋白与阿尔茨海默氏病之间存在相关性,可以将其解释为一般的基本蛋白质与疾病之间的联系。虽然这是一个很大的简化,但它仍然是一个有趣的网络分析实验。

结论

由于蛋白质 - 蛋白质相互作用网络是非常复杂且高度连接的结构,因此图理论领域的技术非常适合分析和鉴定必需蛋白质。技术突破使使用此类方法变得更容易,而不是执行资源密集型实验。虽然该教程帖子侧重于一般的中间度度量,但也可以使用其他算法,例如PageRank

我们还创建了一个简单的 Web应用程序,可以可视化这些蛋白质 - 蛋白质相互作用网络。只需遵循简单的installation instructions,您就应该获得一个简单而功能强大的工具,用于分析人体组织中的蛋白质相互作用。

memgraph-tutorial-protein-network-visualization

参考:
[1]:Marinka Zitnik和Jure Leskovec。 (2018)。生物NAP数据集:斯坦福生物医学网络数据集收集。 http://snap.stanford.edu/biodata

Read more about graph algorithms on memgraph.com