---
name: "nauty-uniqg"
section: "1"
platform: "linux"
package: "nauty"
version: "2.8.9+ds-1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/nauty-uniqg"
---

# nauty-uniqg(1)

remove duplicates from a file of graphs or digraphs

## NAME

nauty-uniqg - remove duplicates from a file of graphs or digraphs

## SYNOPSIS

**uniqg** \[*-q*\] \[*-xFILE*\] \[*-Xfile*\] \[*-hFILE*\] \[*-fxxx*\] \[*-u\|-S\|-t*\]

## DESCRIPTION

-

  \[-c\] \[-k\] \[-i# **-I**#:# **-K**#\] \[infile \[outfile\]\]

-

  Remove duplicates from a file of graphs or digraphs.

-

  The SHA256 cryptographic hash function is used for comparisons

- **-S**

  Use sparse representation internally.

-

  Note that this changes the canonical labelling. Multiple edges are not supported.  One loop per vertex is ok.

- **-t**

  Use Traces.

- **-u**

  No output, just count

- **-H**

  Write hash codes, not graphs (note: binary output)

- **-k**

  Write the input graph exactly, not a canonical graph

- **-c**

  Assume graphs from infile are canonically labelled already

- **-xFILE**

  Read a file of graphs and exclude them from the output

- **-XFILE**

  Like **-xFILE** but assume they are already canonically labelled

- **-hFILE**

  Read a file of hash codes and exclude them from the output

- **-F**

  Flush output for each new graph (expensive if there are many)

- **-fxxx**

  Specify a partition of the vertex set.  xxx is any

- string of ASCII characters except nul.

  This string is

-

  considered extended to infinity on the right with the character 'z'. The sequence 'x^N', where x is a character and N is a number, is equivalent to writing 'x' N times.  One character is associated with each vertex, in the order given.  The labelling used obeys these rules:

-

  (1) the new order of the vertices is such that the associated

-

  characters are in ASCII ascending order

-

  (2) if two graphs are labelled using the same string xxx,

-

  the output graphs are identical iff there is an associated-character-preserving isomorphism between them. If a leading '-' is used, as in **-f-xxx**, the characters are assigned to the vertices starting at the last vertex, and the new order of the vertices respects decreasing ASCII order.

- **-i**#

  select an invariant (1 = twopaths, 2 = adjtriang(K), 3 = triples,

-

  4 = quadruples, 5 = celltrips, 6 = cellquads, 7 = cellquins, 8 = distances(K), 9 = indsets(K), 10 = cliques(K), 11 = cellcliq(K),

-

  12 = cellind(K), 13 = adjacencies, 14 = cellfano, 15 = cellfano2, 16 = refinvar(K))

- **-I**#:#

  select mininvarlevel and maxinvarlevel (default 1:1)

- **-K**#

  select invararg (default 3)

- **-q**

  suppress auxiliary information
