Read dreadnaut digraphs
This was raised in issue #15, but as far as I know never implemented. @mtorpey said he'd added a Trello card for this, but I think that's somewhat inactive now 🙂
See https://github.com/digraphs/Digraphs/issues/15#issuecomment-261236109
@wilfwilson any idea of where the dreadnaut format is defined?
@forktree
Help output from Drednaut on the command line, for reference:
Dreadnaut (Debian 2.6r10+ds-1ubuntu1) version 2.6 (64 bits).
> h
Modes: An = dense, As = sparse, At = Traces; extra + to convert graph
+- a : write automs v,vv : write degrees *=# : select invariant:
b : write canong w=# : set worksize (units of 2m)
+- c : canonise x : run nauty -1 = user-defined
+- d : digraph or loops y=# : set tc_level 0 = none
e : edit graph z : write hashcode 1 = twopaths
-f, f=#, f=[...] : set colours 2 = adjtriang(K=0,1)
g : read graph $=# : set origin 3 = triples
h,H : help $$ : restore origin 4 = quadruples
i : refine ? : type options 5 = celltrips
I : refine using invar _ : compl __ : conv 6 = cellquads
j : relabel randomly % : Mathon doubling 7 = cellquins
k=# # : set invar levels & : type colouring 8 = distances(K)
K=# : set invar param && : + quotient matrix 9 = indsets(K)
l=# : set line length >ff : write to file 10 = cliques(K)
+- m : write markers >>ff : append to file 11 = cellcliq(K)
n=# : set order ->/->> : close/flush output 12 = cellind(K)
o : write orbits <ff : read from file 13 = adjacencies
+- p : set autom format @ : save canong 14 = cellfano
q : quit # : canong = savedg? 15 = cellfano2
r,R : relabel/subgraph ## : + write mapping 16 = refinvar
s=# : random g (p=1/#) sr=# : random reg "..." : copy comment
-G,G=# : schreier param F=# : fix extra vertex FF: fix target vertex
t,T : type graph ! : ignore line O : orbits->partition
+- P : keep group PP : add automorphism Type H for more..
> H
Commands for g and e :
There is always a "current vertex" v, initially first vertex.
# : add edge v-# ; : increment v (exit if over limit)
-# : delete edge v-# #: : set v := #
? : list nbhs of v . : exit
Mode change: An = dense nauty, As = sparse nauty, At = Traces
Use An+, As+ or At+ to also convert graph between dense and sparse
Command line argument -o options allows a,c,d,m,p,l,G,P,w,y,$,A,V,M
Syntax for f : f=[2 3|4:9|10] (rest in extra cell at right)
-f same as f=[], f=# same as f=[#]
Syntax for r : r 2:4 1 5; (rest appended in order)
r& relabels the graph and partition in order of the partition
Syntax for R : R 2:4 1 5; or -R 0 3 6:10;
Syntax for PP : PP 2:4 1 5 0; (must be complete)
Arguments for u : 1=node,2=autom,4=level,16=ref,32=canon (add them)
Accurate times: M=#/# set number of runs and minimum total cpu.
I don't know anything about dreadnaut format. The manual for Nauty Traces just talks about graph6, sparse6, and digraph6 encodings in §19 of its manual: https://pallini.di.uniroma1.it/Guide.html
However, on this page of the Nauty Traces website https://pallini.di.uniroma1.it/Graphs.html there are many data files containing graphs, and there are separate tabs for "DIMACS format" and "dreadnaut format" - so perhaps the format specification can be deduced by downloading and looking at the files from the "dreadnaut format" tab.
Looking at those files, in combination with the information in http://manpages.ubuntu.com/manpages/trusty/man1/dretog.1.html (the non - arguments) and what @mtorpey posted, I reckon it can be worked out.