Skip to main content

Find graph motifs using simple, intuitive notation.

Project description

d o t m o t i f

Find graph motifs using intuitive notation

PyPI Codecov


DotMotif is a library that identifies subgraphs or motifs in a large graph. It looks like this:

# Look for all motifs of the form,

# Neuron A synapses on Neuron B:
A -> B
# ...and B inhibits C:
B -> C [type = "inhibitory"]

Examples

Notebook Description
Open In Colab Looking for motifs in the IARPA MICrONS Pinky100 Dataset
Open In Colab Motif search in a custom graph
Open In Colab Subgraph search in the Janelia Hemibrain dataset

Get Started

If you have DotMotif, a NetworkX graph, and a curious mind, you already have everything you need to start using DotMotif:

from dotmotif import Motif, GrandIsoExecutor

executor = GrandIsoExecutor(graph=my_networkx_graph)

triangle = Motif("""
A -> B
B -> C
C -> A
""")

results = executor.find(triangle)

Parameters

You can also pass optional parameters into the constructor for the dotmotif object. Those arguments are:

Argument Type, Default Behavior
ignore_direction bool: False Whether to disregard direction when generating the database query
limit int: None A limit (if any) to impose on the query results
enforce_inequality bool: False Whether to enforce inequality; in other words, whether two nodes should be permitted to be aliases for the same node. For example, in A->B->C; if A!=C, then set to True
exclude_automorphisms bool: False Whether to return only a single example for each detected automorphism. See more in the documentation

For more details on how to write a query, see Getting Started.


Citing

If this tool is helpful to your research, please consider citing it with:

# https://doi.org/10.1038/s41598-021-91025-5
@article{Matelsky_Motifs_2021, 
    title={{DotMotif: an open-source tool for connectome subgraph isomorphism search and graph queries}},
    volume={11}, 
    ISSN={2045-2322}, 
    url={http://dx.doi.org/10.1038/s41598-021-91025-5}, 
    DOI={10.1038/s41598-021-91025-5}, 
    number={1}, 
    journal={Scientific Reports}, 
    publisher={Springer Science and Business Media LLC}, 
    author={Matelsky, Jordan K. and Reilly, Elizabeth P. and Johnson, Erik C. and Stiso, Jennifer and Bassett, Danielle S. and Wester, Brock A. and Gray-Roncal, William},
    year={2021}, 
    month={Jun}
}

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

dotmotif-0.17.0.tar.gz (941.8 kB view details)

Uploaded Source

Built Distribution

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

dotmotif-0.17.0-py3-none-any.whl (49.0 kB view details)

Uploaded Python 3

File details

Details for the file dotmotif-0.17.0.tar.gz.

File metadata

  • Download URL: dotmotif-0.17.0.tar.gz
  • Upload date:
  • Size: 941.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dotmotif-0.17.0.tar.gz
Algorithm Hash digest
SHA256 c00afc4644d2f543e2845d95a4e42dbb64ba0745a000ee57d9a4b03e6249bb6e
MD5 1e55fa5131bb4334af525191a83fa900
BLAKE2b-256 e8f8924cc6ad4ce592d629b76bdbcac1ca5b002bed1c1d477d39afb8dd652ece

See more details on using hashes here.

File details

Details for the file dotmotif-0.17.0-py3-none-any.whl.

File metadata

  • Download URL: dotmotif-0.17.0-py3-none-any.whl
  • Upload date:
  • Size: 49.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dotmotif-0.17.0-py3-none-any.whl
Algorithm Hash digest
SHA256 306a1ffda8d781e82714c50307de797b7f12fb7ed167cc0433d97a56d7b326f1
MD5 982ee004fdbe0ab5c72e54f88b03f9f3
BLAKE2b-256 5eea05f7f60a81f747b0de8b76197025c44ae7442fa69d2fb3a8596ee04382c7

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