Graph with ASP made easy.
phasme convert data.lp target.gexf
phasme convert data.gml --normalized
phasme split data.lp --biggest-first "data_cc.lp" --slice 0 1
phasme convert data_cc_1.lp target.gml --anonymized
phasme generate data.gml erdos_renyi_graph n=100 p=0.01
pip install phasme
Will also populate your env with the executable phasme
,
enabling access to the CLI.
CLI provides access to higher level routines.
split
: split by connected component.info
: give info about given graph.convert
: rewrite, anonymize, normalize or convert the graph to (clean) ASP or standard format.generate
: generate a graph using a given generation method.
# split a graph by cc
python -m phasme split data.lp -o "data_{}.lp"
# get infos
python -m phasme infos data.lp --graph-properties
# there is a shitload of options
python -m phasme infos --help
# conversions between formats
python -m phasme convert data.lp data.gml --anonymize
# generation of new graphs to play with
python -m phasme generate graph.gml powerlaw_cluster_graph n=5 m=2 p=0.01
# ready-to-draw tikz visualization of ASP graph
python -m phasme convert data.lp graph-in-latex-tikz.tex
# randomize a graph, keeping the same degree distribution, using switching method
python -m phasme randomize data.lp randomized-graph.gml
- 0.0.14
- 0.0.13
- randomize:
--per-cc
option to run it on each connected component independantly
- randomize:
- 0.0.12
- new subcommand: randomize, to build a random graph based on another
- new subcommand: extract, to extract subgraphs based on their nodes
- convert: new output format: latex/tikz
- infos: give infos on articulation points
- infos: indicate number of self loops, if any, or give property 'no loop'