Skip to main content

cepy

Implementation of the connectome embedding (CE) framework.

Embedding of brain graph or connectome embedding (CE) involves finding a compact vectorized representation of nodes that captures their higher-order topological attributes. CE are obtained using the node2vec algorithm fitted on random walk on a brain graph. The current framework includes a novel approach to align separately learned embeddings to the same latent space. Cepy is tested on Python 3.6, 3.7 and 3.8.

Installation

pip install cepy

Usage

import cepy as ce
import numpy as np

# Load an adjacency matrix (structural connectivity matrix)
sc_group = ce.get_example('sc_group_matrix')

# Initiate and fit the connectome embedding model
ce_group = ce.CE(permutations = 1, seed=1)  
ce_group.fit(sc_group)

# Extract the cosine similarity matrix among all pairwise nodes
cosine_sim = ce_group.similarity()

# Save and load the model
ce_group.save_model('group_ce.json') 
ce_loaded = ce.load_model('group_ce.json') # load it

# Load two existing CE models  
ce_subject1 = ce.get_example('ce_subject1')
ce_subject2 = ce.get_example('ce_subject2')

# Align the two to the space of the [ce_group]:
ce_subject1_aligned = ce.align(ce_group, ce_subject1)
ce_subject2_aligned = ce.align(ce_group, ce_subject2)

# Extract the node vectorized representations (normalized) for subsequent use - prediction, for example 
w_sbject1 = ce_subject1_aligned.weights.get_w_mean(norm = True)
w_sbject2 = ce_subject2_aligned.weights.get_w_mean(norm = True)

A set of example interactive Jupyter notebooks are also available here.

Citing

If you find cepy useful for your research, please consider citing the following paper:

Levakov, G., Faskowitz, J., Avidan, G. & Sporns, O. (2021). Mapping structure to function
 and behavior with individual-level connectome embedding. bioRxiv. doi: https://doi.org/10.1101/2021.01.13.426513 

Contributing

Cepy is an open-source software project, and we welcome contributions from anyone. We suggest raising an issue prior to working on a new feature.

Reference

  • The node2vec implementation is modeified from the node2vec package by Elior Cohen and the connectome_embedding code by Gideon Rosenthal.
  • Rosenthal, G., Váša, F., Griffa, A., Hagmann, P., Amico, E., Goñi, J., ... & Sporns, O. (2018). Mapping higher-order relations between brain structure and function with embedded vector representations of connectomes. Nature communications, 9(1), 1-12. ;

Release files for cepy 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cepy 1.0.0
File Size Uploaded
cepy-1.0.0.tar.gz 2.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for cepy 1.0.0
File Interpreter ABI Platform
cepy-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 5.5 MB

Release files / cepy-1.0.0.tar.gz

Download URL cepy-1.0.0.tar.gz
Size 2.7 MB
Tags Source
SHA-256 checksum
How to use checksums
c600659ea341551792d3fcc3c5d1217b3575b87b2a7f218ef861559286262891
BLAKE2b-256 checksum
How to use checksums
52f87d9d63163c079ef805a7d116b9419c02f47c80774de30f1a81aad8931f8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.0.post20200714 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.7.7

Release files / cepy-1.0.0-py3-none-any.whl

Download URL cepy-1.0.0-py3-none-any.whl
Size 2.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
4c6ac41ad94cf48e6a8758d63a7e46ba5ccec1344e1f26ef15802828eaa9183f
BLAKE2b-256 checksum
How to use checksums
090b8612a620ead532d703109146ed68a3c57fd6ff81b35f9ae0a1ec6ffd547e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.0.post20200714 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.7.7

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page