API Reference¶
This section provides detailed documentation for all public classes and functions in Graph ID.
Overview¶
Graph ID provides several levels of API:
flowchart TB
subgraph High-Level
A[GraphIDMaker]
end
subgraph Core
B[GraphIDGenerator]
C[DistanceClusteringGraphID]
end
subgraph Analysis
D[StructureGraph]
E[CompositionalSequence]
F[DistanceClusteringNN]
end
A --> B
B --> D
B --> E
C --> D
C --> F
Module Structure¶
graph_id¶
The main package providing high-level interfaces:
| Class | Description |
|---|---|
GraphIDMaker |
Simple interface with sensible defaults |
GraphIDGenerator |
Full-featured Python generator |
graph_id.core¶
Core implementation modules:
from graph_id.core.graph_id import GraphIDGenerator
from graph_id.core.distance_clustering_graph_id import DistanceClusteringGraphID
| Class | Description |
|---|---|
GraphIDGenerator |
Python implementation of Graph ID generation |
DistanceClusteringGraphID |
Distance-based clustering variant |
graph_id.analysis¶
Analysis utilities:
from graph_id.analysis.graphs import StructureGraph
from graph_id.analysis.compositional_sequence import CompositionalSequence
from graph_id.analysis.local_env import DistanceClusteringNN
| Class | Description |
|---|---|
StructureGraph |
Extended pymatgen StructureGraph |
CompositionalSequence |
Compositional sequence computation |
DistanceClusteringNN |
DBSCAN-based neighbor detection |
graph_id_cpp¶
C++ extension module (compiled):
| Class | Description |
|---|---|
GraphIDGenerator |
C++ implementation (fastest) |
MinimumDistanceNN |
C++ neighbor detection |
CrystalNN |
C++ Voronoi-based neighbors |
Quick Reference¶
Common Operations¶
| Task | Code |
|---|---|
| Generate ID | GraphIDMaker().get_id(structure) |
| Compare structures | gen.are_same(struct1, struct2) |
| Get unique structures | gen.get_unique_structures(structures) |
| Get site info | maker.get_site_ids(structure) |
| Batch processing | gen.get_many_ids(structures, parallel=True) |
Configuration Options¶
| Option | Default | Description |
|---|---|---|
nn |
MinimumDistanceNN() |
Neighbor detection |
wyckoff |
False |
Include Wyckoff positions |
topology_only |
False |
Ignore element types |
loop |
False |
Use loop-based identification |
diameter_factor |
2 |
Depth multiplier |
additional_depth |
1 |
Extra traversal depth |
digest_size |
8 |
Hash output length |
Detailed Documentation¶
- GraphIDMaker - High-level interface
- GraphIDGenerator - Core Python generator
- DistanceClusteringGraphID - Clustering-based variant
- Analysis Module - Low-level utilities