Mit der Poincarē-Einbettung des Genismus habe ich versucht, ein Netzwerk von Protein-Protein-Wechselwirkungen in Poancare-Bälle einzubetten.
Zwillingsraum Der Zwillingsraum ist einer der nichteuklidischen Räume, der ein gekrümmter Raum mit einer negativen Krümmung ist. Es hat die Eigenschaft, dass sich der Raum zur Peripherie hin ausdehnt, und soll zum Einbetten von Netzwerken mit einer hierarchischen Struktur geeignet sein.
Poancare Ball
Eines der Modelle des zweigleisigen Raums ist der Poancare-Ball. Der Abstand zwischen zwei Punkten auf dem Poancare-Ball
Die Einbettung von Poincarē ist im Genismus der Python-Bibliothek zur Verarbeitung natürlicher Sprache implementiert. Verwenden Sie sie daher. Wenn Sie eine Liste von Wortpaaren angeben, wird ein Netzwerk von Wörtern in Poancareball eingebettet.
# Bibliotheksimport
import pandas as pd
import numpy as np
from gensim.models.poincare import PoincareModel
from genism.viz.poincare import poincare_2d_visualization
from plotly.offline import iplot
# Datensatz laden
# Laden Sie gene_attribute_edges.txt.gz herunter und entpacken Sie es.
# Die Proteinpaare, die an die Quell- und Zielabschnitte binden, werden aufgelistet.
dataset = pd.read_csv('gene_attribute_edges.txt', delimiter = '\t', usecols = [0,3], skiprows = [1])
# Erstellen Sie eine Liste der gebundenen Proteinpaare
relations = []
for i in range(len(dataset)):
relations.append((dataset.source[i], dataset.target[i]))
# Wenden Sie das Poancare-Modell auf das Proteinpaar an
# Wir werden es später in zwei Dimensionen visualisieren, also setze Größe = 2.
model = PoincareModel(relations, size = 2)
model.train(epochs = 1000)
# Visualisierung
# Wenn alle Bindungen zwischen Proteinen durch Linien verbunden sind, ist es zu kompliziert, die Abbildung zu verstehen, sodass die Anzahl der Linien mit num_nodes auf 5 begrenzt ist.
map = poincare_2d_visualization(model = model, tree = relations, figure_title = 'PPI network', num_nodes = 5)
iplot(map)
Jeder Punkt repräsentiert ein Protein und die Bindungsproteine sind durch eine Linie verbunden. Wenn der Wert der Epochen allmählich erhöht wird, das Lernen fortschreitet und wenn die Verlustfunktion abnimmt, wird das Protein mit weniger Bindung in der Peripherie platziert und das Protein, das als Hub dient, befindet sich im Zentrum, was zu einer hierarchischen Struktur führt.
Ich habe die Poincarē-Einbettung von gensim verwendet, um ein Netzwerk von Interproteinbindungen in Poancare-Bälle einzubetten. Es wurde festgestellt, dass im Verlauf des Lernens Proteine mit weniger Bindung im peripheren Teil platziert werden, während Proteine, die als Hubs dienen, im zentralen Teil verbleiben und eine hierarchische Struktur erhalten wird. Das Einbetten von Poincarē scheint ein guter Weg zu sein, um ein skalierungsfreies Netzwerk einzubetten.
Maximillian Nickel and Douwe Kiela, “Poincaré Embeddings for Learning Hierarchical Representations” genism Nuclear Receptor Signaling Atlas Malovannaya, A et al., "Analysis of the human endogenous coregulator complexome"
Recommended Posts