Some of my utils

About 5.5 Mb

Source code included

EPDSETS is a command line tool to create EPD Opening Sets for eng-eng Matches. It uses a database of 174.000+ opening positions created from the openings as used by CCRL and CEGT during the 2006-2017 period. The database of 174.000 positions is analyzed by Stockfish 9 in order to create selective opening EPD sets based on score.




Select EPD file. Default: database.epd


Score overview database, see example.


Split the database in parts of (any number)


Create EPD opening sets based on score.



Is an extra, removes doubles in EPD sets.

Score overview, number of EPD 174707
 0.00 | 0.10 | 0.20 | 0.25 | 0.30 | 0.40 | 0.50 | 0.75 | 1.00 | >2.00
29048 |24196 |11862 |11652 |21844 |19159 |33242 |15197 | 8257 |  250


SOMU 1.1

SOMU is a command line utility operated by the arrow keys. It contains 6 PGN and 6 EPD tools. PGN files are found (stored) in the PGN folder, likewise EPD files in the EPD folder. It's functions:


The PGN part

Match Stats

From a PGN create and (automatically) view a HTML file, example-1 is created from gambit.pgn (provided in the download) taken from the YAT gambit tournament. Example-2 is created from a CCRL pgn testing Komodo 12.


Match Compare

Check the PGN of an engine-engine PLY-Match, games should be indentical else perhaps something is wrong. Different moves are marked and stored in OUTPUT.PGN Background: it's extremely important (especially for starters) that a PLY-MATCH (say PLY=10) produces the exact same reverse game, so game-1 and game-2 in the PGN should be 100% equal, game-3 = game-4 and so on.



This function will create a cross table from a (large) PGN file. Maximum number of players (human and/or engine) is 100. Example taken from the gambit.pgn mentioned earlier. Another example, the final FCP rating list by Frank Quisinsky.


Count Games

Quickly count the number of games of a PGN.

Split PGN

Split large PGN files into smaller parts.

Remove Double Openings (games)

From a PGN collection display the match score, then remove the double openings and calculate the new match score without the double openings. This util is handy in 3 ways:


. checking an eng-eng match for opening doubles, see screenshot (file bf.pgn)

. pre-checking your predefined opening sets for eng-eng matches.

. In case a PGN doesn't contain comments it will check for duplicated games.




The EPD part

Remove Doubles

Remove doubles from an EPD collection.


Converts EPD to PGN, bm and ce tags included when present. Try this with the included 150 positions example.epd file.

Split EPD

Split large EPD files into smaller parts.

EPD Stats

Create a statistic from an EPD collection. It also will create 10 separate EPD files:

. Queen | Rook | Bishop and Knight promotions

. Possitive Mate in X moves | Negative Mate in -X moves

. Pawn Endings | Bishop Knight endings | Rook endings | Queen Endings


Mirror EPD

Reverse (mirror) an EPD collection. Output stored as OUTPUT.EPD

EPD Legal Check

Check an EPD collection for illegal positions.

Remark - The PGN part is compatible with Arena and Cutechess-cli, the gibberish ChessBase PGN's work for the most part except for depth and time statistics.

3.8 Mb