mmcql(1)

NAME
mmcql - SQL-like tool to manipulate mmCIF files

SYNOPSIS
mmcql [OPTION] cif-file

DESCRIPTION
The mmCIF format is a structured format and with a proper dictionary it even looks a lot like a database with relations between categories that act as tables.

In pipelines processing mmCIF files it is often required to simply change the content of a single field, or add some data, delete it, etc. For this the mmcql tool offers a SQL like language.

The actual implementation of the SQL interface is offered by the well-known sqlite3 library. Therefore, almost all of the functionality of sqlite3 is available with only a few exceptions.

Most notably, the ALTER TABLE option is not working. And if you create new tables, they will not be recorded in the mmCIF file you're manipulating. That's something that still needs to be implemented.

The command should be started with a single file as argument

mmcql file

The specified file will be opened and the first datablock will be selected as the current datablock to manipulate. When no other option was specified, the program will display a prompt and you can then type SQL commands or backslash commands.

BACKSLASH COMMANDS
Commands that are preceded by a backslash are treated as backslash commands. These commands are used to manipulate the working of the mmcql application.

A list of available backslash commands is displayed by typing the following command followed by the ENTER key.

\?

Other commands are:

\file <file>
    Close the currently open file (if any) and load the specified file.

\db <datablock>
    Select the specified datablock as current.

\dict <dictionary>
    Use the specified dictionary instead of the default.

\format <spec>
    Use the specified format for the output of tabulated results. Available options are: cif, csv, tsv, list, column, markdown, table and box.

\dd Show a list of all the datablocks in the file.

\dc Show a list of all the categories in the current datablock.

\dc+
    Show a list of all the categories in the entire file.

\d <category>
    Show a list of all items in the specified category.

\d+ <category>
    Show a list of all items in the specified category, including a column with aliased names.

OPTIONS

--help, -h
    Write out some help and the available options.

--version
    Write out the current version (with --verbose more info is displayed)

--verbose,-v
    Be more verbose, useful to diagnose validation errors.

--datablock=datablockname, -D datablockname
    Load the datablock as specified instead of the first one.

--dict=dictionary, -d dictionary
    Load the dictionary as specified instead of the default one.

--file=<file>, -f <file>
    Read and execute the commands from the specified file and then exit.

--command=<SQL-statement>, -c <SQL-statement>
    Execute the specified command and then exit.

--format=<fmt>
    Use the specified output format for printing out tabular results.

AUTHOR
Written by Maarten L. Hekkelman <maarten@hekkelman.com>

REPORTING BUGS
Report bugs at https://github.com/PDB-REDO/cif-tools/issues

SEE ALSO
cif-diff, cif-grep, cif-merge, cif2pdb, mmcql, pdb2cif.