---
name: "cif_molecule"
section: "1"
platform: "linux"
package: "cod-tools"
version: "3.11.0+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/cif_molecule"
---

# cif\_molecule(1)

restore molecules from a CIF file.

## NAME

cif\_molecule - restore molecules from a CIF file.

## SYNOPSIS

cif\_molecule --options input1.cif input\*.cif

## DESCRIPTION

Restore molecules from a CIF file.

## OPTIONS

\--use-optimised-spacegroup-builder\
                   Use the space group builder algorithm optimised\
                   for speed as implemented in the\
                   COD::Spacegroups::Builder module. Default.

\--use-simple-spacegroup-builder\
                   Use the simpler and slower space group builder\
                   algorithm as implemented in the\
                   COD::Spacegroups::SimpleBuilder module.

\-1, --one-datablock-output\
                   Output all moieties to a single output data block.

                  However, if the --split-disorder-groups option is\
                   enabled all generated alternative conformations will\
                   be put into separate data blocks starting with the\
                   most likely one (disorder group occupancy wise) and\
                   ending with the least likely one. In order to retrieve\
                   only the most likely one, the --largest-molecule-only\
                   option should be used in combination with the\
                   \--one-datablock-output option.

\-1-, --multiple-datablocks-output\
                   Separate each molecule and each example of an alternative\
                   conformation into a separate data block. Default.

\-c, --covalent-sensitivity\
                   Set a new covalent sensitivity value. Default: 0.35.

                  This value is used as the tolerance parameter when\
                   evaluating if a chemical bond exists between two atoms.\
                   Atoms a\_1 and a\_2 are considered bonded if:

                  dist(a\_1, a\_2) \< r\_cov(a\_1) + r\_cov(a\_2) + tolerance

\-g, --geom-bond-output\
                   Output \_geom\_bond\_... data items (bond lengths,\
                   valencies, etc.).

\-g-, --no-geom-bond-output\
                   Do not output \_geom\_bond\_... information. Default.

\-h, --add-cif-header input\_header.txt\
                   Prepend comments from the beginning of the given file\
                   to the output.

\-i, --ignore-bumps\
                   Detect and warn about close atom "bumps" but do not\
                   stop processing.

\--no-ignore-bumps, --dont-ignore-bumps\
                   Stop processing immediately if bumps are detected.\
                   Default.

\-s, --sort-molecules\
                   Sort molecules in descending order by their atom count\
                   and overall occupancy before outputting them. Atom count\
                   takes precedence over overall occupancy. Default.

\--no-sort-molecules, --dont-sort-molecules\
                   Do not sort molecules, print them out in the order they\
                   are detected.

\--expand-to-P1, --P1-expand, --p1-expand\
                   Expand all atoms to the P1 unit cell, so that the\
                   translation operations can be used to restore the whole\
                   crystal.

\--no-expand-to-P1, --no-P1-expand, --no-p1-expand,

\--dont-expand-to-P1, --dont-P1-expand\
                   Do not expand to P1, output only the minimal molecule\
                   list. Default.

\--uniquify-atoms\
                   Make atom labels unique. Default.

\--no-uniquify-atoms, --dont-uniquify-atoms\
                   Do not make atom labels unique, exclude duplicates.

\--use-morgan-fingerprints\
                   Use Morgan fingerprints to identify and skip\
                   duplicated moieties.

\--no-use-morgan-fingerprints, --dont-use-morgan-fingerprints\
                   Use atom labels to identify and skip duplicated\
                   moieties. This method is the default, however under\
                   certain circumstances it leaves duplicate moieties,\
                   as the asymmetric unit can initially contain more than\
                   one copy of a single moiety. Default.

\--use-atom-classes\
                   Use COD atom classes, generated by AtomClassifier\
                   module from 'atomclasses' repository, for the\
                   generation of Morgan fingerprints. Requires the\
                   external AtomClassifier module. Default.

\--no-use-atom-classes, --dont-use-atom-classes\
                   Use atom chemical types for generation of Morgan\
                   fingerprints instead of COD atom classes.

\--bump-distance-factor 0.75\
                   A fraction of covalent bond radii sum used to\
                   determine when atoms are too close and are\
                   considered a bump. Default: 0.75.

\--vdw-distance-factor 1.2\
                   A factor for the vdW radii sum used to\
                   determine when atoms are too close and are\
                   considered a vdW clash. Default: 1.2.

\--continue-on-errors\
                   Do not stop if errors such as unrecognised atoms are\
                   encountered; the output may be incorrect and missing\
                   some atoms if this option is used!

\--no-continue-on-errors, --dont-continue-on-errors\
                   Stop immediately when an error is encountered.

\--exclude-zero-occupancies\
                   Do not use atoms with 0 occupancies in calculations.\
                   Default.

\--no-exclude-zero-occupancies, --dont-exclude-zero-occupancies\
                   Use atoms with 0 occupancies in calculations.

\--exclude-dummy-atoms\
                   Do not use dummy atoms (marked by the 'dum' calc flag)\
                   in calculations. Default.

\--no-exclude-dummy-atoms, --dont-exclude-dummy-atoms\
                   Use dummy atoms (marked by the 'dum' calc flag)\
                   in calculations. Dummy atoms can be used to mark\
                   interesting positions within the unit cell\
                   (e.g. geometric centers of coordinated atom rings),\
                   but they are not considered a part of the molecule.\
                   As a result, the occupancies of all output dummy atoms\
                   are set to '.'. It should also be noted that dummy atoms\
                   with non-numeric coordinates will still be excluded.

\--preserve-stoichiometry\
                   Apply necessary symmetry operations to preserve molecular\
                   stoichiometry (charges, etc.).

\--no-preserve-stoichiometry, --dont-preserve-stoichiometry\
                   Do not apply any more symmetry operations than needed to\
                   reconstruct covalently connected networks; may\
                   break stoichiometry of salts and complexes. Default.

\--force-unit-occupancies\
                   Set occupancies of all output atoms to 1.0. Unit\
                   occupancies are only set when outputting the atoms\
                   and do not affect the flow of the algorithm\
                   (disorder group processing, molecule sorting, etc.).\
                   Dummy atoms are excluded from the effects of this option\
                   and are always output with the '.' occupancy.

                  Some programs, notably Jumbo converter's cif2cml,\
                   assume unresolved disorder and do not recognize\
                   aromatic rings if occupancies are not unities.\
                   Obviously, this flag only has sense in combination\
                   with --split-disorder-groups.

\--no-force-unit-occupancies, --dont-force-unit-occupancies,

\--do-not-force-unit-occupancies\
                   Leave occupancies as they are. Default.

\--dump-atoms\
                   Dump atoms (including symmetry-equivalent) in CIF\
                   format for inspection with some graphics program.

\--no-dump-atoms, --dont-dump-atoms\
                   Do not dump atoms. Default.

\--max-polymer-span 0\
                   A span, in +/- unit cells, in which polymeric\
                   molecules (repeating units) will be constructed.\
                   When the value is set to '0', polymeric molecules\
                   are represented only by the atoms that were included\
                   in the determination of the corresponding quotient\
                   graphs. Default: 0.

\--max-polymer-atoms 100\
                   The maximum allowed count of polymer example atoms.\
                   More than this number of symmetry (translational)\
                   equivalent atoms, for each atom of the asymmetric\
                   unit, will not be written to the output. Default: 100.

                  This option is considered deprecated and is only retained\
                   for backwards compatibility. The current implementation\
                   uses the quotient graph approach to find limits of the\
                   polymeric molecule. Essentially, there is no need to\
                   limit the molecule in any way. The '--max-polymer-span'\
                   option is only used to specify the desired span of the\
                   monomer repetition, but it is not required since the\
                   molecule detection is limited by quotient graph.

\--split-disorder-groups, --dont-merge-disorder-groups\
                   Put examples of disorder group conformations into\
                   separate data blocks. Default.

\--merge-disorder-groups, --no-split-disorder-groups,

\--dont-split-disorder-groups\
                   Put all disorder groups into one data block.

\--use-special-disorder-symmetry\
                   Generate symmetry equivalents for disorder groups\
                   with negative indices. Default.

\--random-seed 123456\
                   Use the provided seed to initialise the random\
                   number generator. Use "" (empty string) as a seed\
                   to revert back to the default seed.

\--special-disorder-operator-set 0

\--special-disorder-operator-set random\
                   Indicates which operator set to apply to atom groups\
                   that are disordered around a special position. Can be\
                   an integer (0, 1, 2, ...) or a special value "random",\
                   in which case a random operator is selected for each\
                   special position image.

\--no-use-special-disorder-symmetry,

\--dont-use-special-disorder-symmetry,

\--do-not-use-special-disorder-symmetry,\
                   Do not generate symmetry equivalents for disorder\
                   groups with negative indices.

\--largest, --largest-molecule-only\
                   Output only the largest molecule. The largest molecule\
                   is selected based on two criteria in the given order:\
                   atom count and overall occupancy of the molecule.\
                   When the combination of the --one-datablock-output and\
                   \--split-disorder-groups options is in effect the\
                   molecule with the most likely disorder conformation\
                   (occupancy wise) is returned.

                  NOTE: if there is more than one disorder assembly\
                   and the --split-disorder-groups option is in effect,\
                   the conformation with the highest atom count might not\
                   be generated at all. In this case, a molecule that best\
                   fits the previously defined criteria out of the generated\
                   conformation subset will be returned.

\--all, --all-molecules\
                   Output all molecules. Default.

\--use-perl-parser

\--use-c-parser\
                   Specify parser to parse CIF files. C parser is default.

\--print-quotient-graph\
                   Output the quotient graph information. Default.\
                   Quotient graphs are output only for polymeric molecules\
                   unless the '--include-non-polymer-quotient-graph' option\
                   is also specified.

\--no-print-quotient-graph\
                   Do not output the quotient graph information.

\--include-non-polymer-quotient-graph\
                   Output quotient graph for non polymer molecules.

\--no-include-non-polymer-quotient-graph\
                   Do not output quotient graph for non polymer molecules.\
                   Default.

\--symdebug\
                   Print debug output for symmetry reconstruction.

\--no-symdebug\
                   Do not print any symmetry debug output. Default.

\--debug\
                   Print some human-readable debug output.

\--no-debug\
                   Suppress any debug output. Default.

\--format "%8.6f"\
                   Use the specified format for output coordinate printout.

\--audit\
                   Print audit information to the generated CIF file. Default.

\--no-audit\
                   Do not print audit information to the generated CIF file.

\--verbose\
                   Print warning messages in long format.

\--no-verbose\
                   Print warning messages in concise format. Default.

\--help, --usage\
                   Output a short usage message (this message) and exit.

\--version\
                   Output version information and exit.

## REPORTING BUGS

Report cif\_molecule bugs using e-mail: cod-bugs@ibt.lt
