Skip to main content

STRND: Graph reconstruction via Node2Vec (pecanpy) + UMAP

Project description

STRND

STRND = Spatio Topological Recovery by Network Discovery

  • Feed an edge list (pandas DataFrame, NX, PyG, list of edges)
  • Get back node coordinates in 2D or 3D (pandas DataFrame)

Install

pip install strnd

Minimal use

from strnd import get_strnd_positions_df

coords_df = get_strnd_positions_df(edge_df, dim=2)
# coords_df columns: node_ID, x, y

edge_df must have columns source, target (and optionally weight).

Example with Graph Generation + Quality Metrics

import numpy as np
from proxigraph.config import GraphConfig
from proxigraph.core import ProximityGraph
from PointQuality import QualityMetrics
from strnd import get_strnd_positions_df

np.random.seed(42)

# 1) create a graph
config = GraphConfig(dim=2, num_points=1000, L=1, point_mode="circle", proximity_mode="delaunay_corrected")
pg = ProximityGraph(config=config)
positions = pg.generate_positions()
edge_df = pg.get_edge_list(as_dataframe=True)

# 2) run STRND
rec_positions = get_strnd_positions_df(edge_df, dim=2)

# 3) quality
rec_positions_ordered = rec_positions.sort_values("node_ID")[["x","y"]].to_numpy()
qm = QualityMetrics(positions, rec_positions_ordered)
print(qm.evaluate_metrics(compute_distortion=False))

# 4) print head
print(rec_positions.head())

dependencies

  • numpy
  • pandas
  • matplotlib
  • pecanpy (node2vec)
  • umap-learn
  • (optional) proxigraph for the demo

Citation

If you use STRND in your work, please cite:

Core STRND paper

Fernández Bonet, D., & Hoffecker, I. T. (2023). Image recovery from unknown network mechanisms for DNA sequencing-based microscopy. Nanoscale, 15, 8153–8157. https://doi.org/10.1039/D2NR05435C

Related work

Dahlberg, S. K., Fernández Bonet, D., & Hoffecker, I. T. (2025). Hidden network preserved in Slide-tags data allows reference-free spatial reconstruction. Nature Communications. https://doi.org/10.1038/s41467-025-65295-w

Fernández Bonet, D., Blumenthal, J. I., Lang, S., Dahlberg, S. K., & Hoffecker, I. T. (2024). Spatial coherence of DNA barcode networks. bioRxiv. https://doi.org/10.1101/2024.05.12.593725

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

strnd-0.3.0.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

strnd-0.3.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file strnd-0.3.0.tar.gz.

File metadata

  • Download URL: strnd-0.3.0.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for strnd-0.3.0.tar.gz
Algorithm Hash digest
SHA256 826f26d3b76d93f992c8ca113acb03f83c75a7f7c358c4863a6597237f6ac7ab
MD5 380e057ccbd39803b80640d869cee451
BLAKE2b-256 dcfc07b1e4f8c7187b89ae6763726c599e3b696e6982ccbf792f0c0b3f6e783a

See more details on using hashes here.

File details

Details for the file strnd-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: strnd-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for strnd-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6b07fe07953a9add8558b1ebd2ff667dd73fb9961279ceb3b8feb994193a51b
MD5 ae90553d9e28505cdebc0d0a3f69dfaa
BLAKE2b-256 68870da9c2d3e665be4a757fe4baa9d725b8013c333e9dfe88847b17a62eda4f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page