networkx-graph-analysis
Graph and network analysis toolkit. Four graph types (directed, undirected, multi-edge), centrality, shortest paths, community detection, generators, I/O (GraphML, GML, edge list), matplotlib viz. For large graphs (100K+ nodes) use igraph or graph-tool; for GNNs use PyG.
npx skills add BioTender-max/awesome-bio-agent-skills --skill networkx-graph-analysis --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Guides an agent to perform graph creation, manipulation, analysis, and I/O using NetworkX. It covers undirected, directed, and multi-edge graphs, and demonstrates centrality measures, path computations, connectivity checks, community detection, I/O operations (GraphML, GML, edge lists, JSON), visualization, and a variety of graph generators.
How it works
- Demonstrates creating graphs of different types (Graph, DiGraph, MultiGraph) and adding nodes/edges with attributes.
- Shows node and edge operations, including querying degrees, neighbors, and edge existence; setting attributes via direct assignment and set_node_attributes.
- Provides Centrality and Path modules usage, including degree, betweenness, closeness centralities, PageRank, and shortest path calculations; notes approximate options for large graphs.
- Covers connectivity and component analysis for both undirected and directed graphs, including strong/weak connectivity and various connectivity metrics.
- Implements Community Detection using greedy modularity, label propagation, and Girvan–Newman methods.
- Details I/O and serialization across multiple formats: edge lists, GraphML, JSON, and pandas interoperability; includes conversion to NumPy arrays and sparse matrices.
- Includes visualization snippet: spring_layout positioning, coloring by degree, sizing by betweenness, and saving outputs in PNG/PDF.
- Provides Generators for common graph models (Erdős–Rényi, Barabási–Albert, Watts–Strogatz, stochastic block models) and built-in sample graphs.
- Presents key concepts, layouts, and practical workflows (social network analysis, biological networks).
When to use it
- When analyzing networks such as protein interactions, social ties, transportation routes, or co-expression data.
- When you need centrality-based ranking, shortest paths, community structure, or network statistics.
- When you require robust I/O to persist graphs across formats or to exchange data with pandas or NumPy ecosystems.
- When generating synthetic networks for simulations or null models.
What it can touch
- Python package usage:
networkx,matplotlib,scipy,pandas,numpy. - I/O:
write_edgelist,read_edgelist,write_graphml,read_graphml, node-link JSON vianode_link_data/from_pandas_edgelist,to_pandas_edgelist. - Centrality, path, and connectivity functions from NetworkX core modules.
- Generators like
erdos_renyi_graph,barabasi_albert_graph,watts_strogatz_graph,stochastic_block_model. - Visualization via
matplotlib.pyplotandnx.draw.
Caveats
- Uses BSD-3-Clause license.
- Documents performance considerations for large graphs (advocates using igraph/graph-tool for 100K+ nodes and OpenMP/cuGraph for GPU-accelerated workloads).
- Requires appropriate optional tools for advanced layouts and graph visualization when enabled (Graphviz via pydot/pygraphviz).
# NetworkX Graph Analysis ## Overview NetworkX is a Python library for creating, manipulating, and analyzing complex networks and graphs. It provides data structures for undirected, directed, and multi-edge graphs along with a comprehensive collection of graph algorithms, generators, and I/O utilities. Use NetworkX when working with relationship data in social networks, biological interaction networks, transportation systems, citation graphs, or any domain involving pairwise entity relationships. ## When to Use - Analyzing protein-protein interaction networks, gene regulatory networks, or metabolic pathways - Computing centrality measures (degree, betweenness, PageRank) to identify important nodes - Finding shortest paths or optimal routes in transportation or communication networks - Detecting communities or clusters in social networks or co-expression data - Generating synthetic networks (scale-free, small-world, random) for simulation or null models - Reading and writing graph data in standard formats (GraphML, GML, edge lists, JSON) - Visualizing network topology with node/edge attribute mapping - Checking graph properties: connectivity, planarity, isomorphism, DAG structure -
- Overview
- When to Use
- Prerequisites
- Quick Start
- Core API
- Module 1: Graph Creation and Types
- Module 2: Node and Edge Operations
- Module 3: Graph Analysis (Centrality)
- Module 4: Path and Connectivity
- Module 5: Community Detection
- Module 6: I/O and Serialization
- Module 7: Visualization
- Module 8: Generators
- Key Concepts
pip install networkx matplotlib scipy pandas numpy
What does the networkx-graph-analysis skill do?
Graph and network analysis toolkit. Four graph types (directed, undirected, multi-edge), centrality, shortest paths, community detection, generators, I/O (GraphML, GML, edge list), matplotlib viz. For large graphs (100K+ nodes) use igraph or graph-tool; for GNNs use PyG.
How do I install it?
Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill networkx-graph-analysis --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From BioTender-max/awesome-bio-agent-skills, a repository with 135 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
