---
name: "mmCQL"
section: "1"
platform: "linux"
package: "cif-tools"
version: "1.0.12-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mmCQL"
---

# mmCQL(1)

SQL-like tool to manipulate mmCIF files

## NAME

mmCQL - SQL-like tool to manipulate mmCIF files

## SYNOPSIS

mmCQL \[OPTION\] input \[output\]

## 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.

This tool is not a complete and finished piece of software, it lack perhaps a lot of functionality. However, it is already very useful to simply lookup some value or change items based on some criteria.

## OPTIONS

- **--force**

  Write output file even if the name of the output file is the same as the input file, which will of course overwrite the input file.

- **--script**=\<file\>, **-f** \<file\>

  Read commands from the file **\<file**.

- **--verbose**,**-v**

  Be more verbose, useful to diagnose validation errors.

## EXAMPLES

You can do simple updates, like so:

**UPDATE** struct\_asym **SET** id = 'X' **WHERE** id = 'BBB';

This will rename the asym with ID 'BBB' to 'X'. All children of this asym will be renamed as well if the proper dictionary was loaded.

## 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**.
