0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🧠 ADは「ネットワーク病」

アルツハイマー病:
Aβ
Tau
炎症
ミクログリア
ミトコンドリア
シナプス
BBB
APOE
老化
が相互作用するネットワーク疾患

これからやる研究の全体像(ロードマップ)

① AD病態知識の構造化(知識グラフ)
↓
② 病態ネットワーク解析
↓
③ Key driver(支配ノード)探索
↓
④ 創薬ターゲット候補抽出
↓
⑤ 既存薬・化合物との接続
※現在地:①の入り口

STEP1 : AD病態知識グラフの作成

実際にNeo4jに入れる

JupyterLabのセルで以下を実行。

neo4j.py
def create_ad_core(tx):
    tx.run("""
    MERGE (app:Gene {name: "APP"})
    MERGE (ab:Protein {name: "Amyloid-beta"})
    MERGE (tau:Protein {name: "Tau"})
    MERGE (syn:Process {name: "Synaptic dysfunction"})
    MERGE (cog:Process {name: "Cognitive decline"})
    MERGE (infl:Process {name: "Neuroinflammation"})

    MERGE (app)-[:PRODUCES]->(ab)
    MERGE (ab)-[:CAUSES]->(syn)
    MERGE (syn)-[:LEADS_TO]->(cog)

    MERGE (tau)-[:CAUSES]->(:Process {name: "Neurofibrillary tangle"})
    MERGE (:Cell {name: "Microglia"})-[:MEDIATES]->(infl)
    """)
    
with driver.session() as session:
    session.execute_write(create_ad_core)

Neo4j Desktop → Query → 実行

query.py
MATCH (n)-[r]->(m)
RETURN n,r,m

以上を実行するとADの病態構造が可視化されるので、これを基に「ADとは何がどう繋がっている病気なのか」が構造として見えるようになる。

今回は以上。
次回はわけわかんない単語の解説と私の仮説を用いたneo4jを使った病理解明の続きをする。と思ったけど、キリが悪いのでここで書いとく。

・ノードって何?
・遺伝子(APP, APOE)
・タンパク質(Aβ, Tau)
・細胞(ミクログリア)
・病態(炎症、シナプス障害)
  =“主語になれるもの”
・エッジって何?
・産生する
・活性化する
・抑制する
・引き起こす
  などの動詞
・知識グラフって何?
今まで ・論文を読む ・知識を頭でつなぐ ・因果関係を理解する をやってきた。
・ノード(概念)
・エッジ(関係)
としてコンピュータにそのまま渡してデータにしたもの。
・ネットワーク病って何?
1個壊れて起きる病気でないもの。
・創薬ターゲットってどういう意味?
病態ネットワークの中で
・影響力が大きい点
・複数の経路を同時に制御できる点

ADの「骨格」をグラフにする

ADを「構造」として理解することを目的として次のノードとエッジの関係性をグラフ化する。

ノード
APP(遺伝子)
Amyloid-beta(Aβ)
Tau
Microglia
Neuroinflammation
Synaptic dysfunction
Cognitive decline
エッジ
PRODUCES
CAUSES
MEDIATES
LEADS_TO

JupyterLabで以下のコードを実行

node.py
def create_nodes(tx):
    tx.run("""
    MERGE (:Gene {name: "APP"})
    MERGE (:Protein {name: "Amyloid-beta"})
    MERGE (:Protein {name: "Tau"})
    MERGE (:Cell {name: "Microglia"})
    MERGE (:Process {name: "Neuroinflammation"})
    MERGE (:Process {name: "Synaptic dysfunction"})
    MERGE (:Process {name: "Cognitive decline"})
    """)

with driver.session() as session:
    session.execute_write(create_nodes)

上記のコードによりノードを作成。

edge.py
def create_edges(tx):
    tx.run("""
    MATCH (app:Gene {name:"APP"}),
          (ab:Protein {name:"Amyloid-beta"}),
          (syn:Process {name:"Synaptic dysfunction"}),
          (cog:Process {name:"Cognitive decline"}),
          (micro:Cell {name:"Microglia"}),
          (infl:Process {name:"Neuroinflammation"}),
          (tau:Protein {name:"Tau"})
    MERGE (app)-[:PRODUCES]->(ab)
    MERGE (ab)-[:CAUSES]->(syn)
    MERGE (syn)-[:LEADS_TO]->(cog)
    MERGE (ab)-[:ACTIVATES]->(micro)
    MERGE (micro)-[:MEDIATES]->(infl)
    MERGE (infl)-[:EXACERBATES]->(syn)
    MERGE (tau)-[:CAUSES]->(:Process {name:"Neurofibrillary tangle"})
    """)

with driver.session() as session:
    session.execute_write(create_edges)

これにより、エッジを足す。

Neo4jで実行

以下のコードを実行。

query.py
MATCH (n)-[r]->(m)
RETURN n, r, m

これにより以下のような関係性が見えてくる。
image.png

APP(Gene)→ Aβ(Protein)→ Microglia(Cell)→ 炎症(Process)→ シナプス障害(Process)→ 認知低下(Process)の流れが見えてきた。

今回はここまで。
次回は私の仮説を織り交ぜてさらに深掘りしていく。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?