MotifStudio is a platform for analyzing subnetwork motifs in connectome graphs. This Python SDK allows users to interact with the MotifStudio API to perform various operations such as querying graphs, retrieving motifs, and more.
In order to use the MotifStudio Python SDK, you need to install the motifstudio
package. You can do this using pip or uv
:
# SLOW:
# pip install motifstudio-client
# Add motifstudio-client to a project FAST:
uv add motifstudio-client
To use the MotifStudio Python SDK, you need to create an instance of the MotifStudioClient
class and provide the API endpoint. You can then use this instance to interact with the API. (The SDK defaults to the public API endpoint but if you are using a private instance, you can specify the URL.)
from motifstudio_client import MotifStudioClient
m = MotifStudioClient("https://api.motifstudio.bossdb.org")
To get a list of available "host" graphs, you can use the hosts
object, which behaves like a dictionary:
g.hosts.keys() # List all available host graphs
You can perform basic operations such as querying the number of vertices or edges in the graph:
m.query("Takemura2013_Medulla").vertices_count()
m.query("Takemura2013_Medulla").edges_count()
Perform a motif search on a specific graph:
my_triangle_motif = """
A->B
B->C
C->A
"""
m.query("Takemura2013_Medulla").motifs(my_triangle_motif) # Example motif query
You can also download a graph into a local NetworkX object for local analysis:
g = m.hosts.get_graph("Takemura2013_Medulla")