mmCQL(1)
π mmCQL π
okay bestie, so this is the manual page for mmCQL β it's a User Commands type thing, section 1, and it's genuinely one of my faves. buckle up π
β¨ NAME β¨
mmCQL β a SQL-like tool to manipulate mmCIF files. no cap, it's exactly what it sounds like π¦
πΈ SYNOPSIS πΈ
mmCQL [OPTION] input [output]
like... you give it an input, you may give it an output, and you sprinkle [OPTION]s on top. that's the whole vibe π
π«Ά DESCRIPTION π«Ά
so the tea is: the mmCIF format is a structured format, and when you load it up with a proper dictionary it literally starts looking like a database β with relations between categories that act as tables. it's giving relational, it's giving schema, it's giving slay β¨
and in pipelines where you're processing mmCIF files, you very often just need to change the content of one single field, or add a little data, or delete it, etc. literally the tiniest thing. that's exactly what mmCQL is here for β it offers a SQL-like language for doing precisely that π
real talk though: this tool is not a complete and finished piece of software. it lacks perhaps a lot of functionality. i'm not gonna pretend otherwise π BUT it is already very useful for simply looking up some value, or changing items based on some criteria. so like... imperfect queen, still a queen π
π OPTIONS π
--forceβ writes the output file even when the name of the output file is the same as the input file. which, yes, will absolutely overwrite your input file. highkey destructive, do it on purpose or don't do it at all π--script=<file>,-f <file>β read commands from the file<file.--verbose,-vβ be more verbose. super useful for diagnosing validation errors. when something's wrong and you can't tell what, this is your girl π
π EXAMPLES π
you can do simple updates, like so:
UPDATE struct_asym SET id = 'X' WHERE id = 'BBB';
what this does: it renames the asym with ID 'BBB' to 'X'. and the iconic part β all children of this asym will be renamed as well, if the proper dictionary was loaded. chef's kiss, it cascades, it's β¨doing the mostβ¨ in the best way π
π AUTHOR π
Written by Maarten L. Hekkelman <maarten@hekkelman.com> π«Ά
π REPORTING BUGS π
found a bug? not me gatekeeping. report bugs at https://github.com/PDB-REDO/cif-tools/issues π
π§ SEE ALSO π§
cif-diff, cif-grep, cif-merge, cif2pdb, mmCQL, pdb2cif.
the whole squad fr fr π
okay that's the whole page bestie π this was version 1.0.5, dated 2022-11-20, and that's on periodt. go rename some asyms, stay hydrated, and don't --force over a file you love πβ¨π¦
π¦ where this page comes from
- debian bookworm: cif-tools 1.0.7-1 Β· BSD-2-Clause
- debian trixie: cif-tools 1.0.12-4 Β· BSD-2-Clause
- ubuntu noble: cif-tools 1.0.7-1 Β· BSD-2-Clause
- ubuntu questing: cif-tools 1.0.12-4
- ubuntu resolute: cif-tools 1.0.13-1 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms