fmcs(1) fmcs


usage: fmcs [-h] [--maximize {atoms,bonds}] [--min-num-atoms INT]
[--compare {topology,elements,types}] [--atom-compare {any,elements,isotopes}] [--bond-compare {any,bondtypes}] [--atom-class-tag TAG] [--ring-matches-ring-only] [--complete-rings-only] [--select SELECT] [--timeout SECONDS] [--output FILENAME] [--output-format {smarts,fragment-smiles,fragment-sdf,complete-sdf}] [--output-all] [--save-atom-class-tag TAG] [--save-counts-tag TAG] [--save-atom-indices-tag TAG] [--save-smarts-tag TAG] [--save-smiles-tag TAG] [--times] [-v] [--version] filename

Find the maximum common substructure of a set of structures

positional arguments:

SDF or SMILES file

optional arguments:

-h, --help
show this help message and exit
--maximize {atoms,bonds}
Maximize the number of 'atoms' or 'bonds' in the MCS. (Default: bonds)
--min-num-atoms INT
Minimimum number of atoms in the MCS (Default: 2)
--compare {topology,elements,types}
Use 'topology' as a shorthand for '--atom-compare any --bond-compare any', 'elements' is '--atom-compare elements --bond-compare any', and 'types' is '--atomcompare elements --bond-compare bondtypes' (Default: types)
--atom-compare {any,elements,isotopes}
Specify the atom comparison method. With 'any', every atom matches every other atom. With 'elements', atoms match only if they contain the same element. With 'isotopes', atoms match only if they have the same isotope number; element information is ignored so [5C] and [5P] are identical. This can be used to implement user-defined atom typing. (Default: elements)
--bond-compare {any,bondtypes}
Specify the bond comparison method. With 'any', every bond matches every other bond. With 'bondtypes', bonds are the same only if their bond types are the same. (Default: bondtypes)
--atom-class-tag TAG
Use atom class assignments from the field 'TAG'. The tag data must contain a space separated list of integers in the range 1-10000, one for each atom. Atoms are identical if and only if their corresponding atom classes are the same. Note that '003' and '3' are treated as identical values. (Not used by default)
Modify the bond comparison so that ring bonds only match ring bonds and chain bonds only match chain bonds. (Ring atoms can still match non-ring atoms.)
If a bond is a ring bond in the input structures and a bond is in the MCS then the bond must also be in a ring in the MCS. Selecting this option also enables --ring-matches-ring-only.
--select SELECT
Select a subset of the input records to process. Example: 1-10,13,20,50- (Default: '1-', which selects all structures)
--timeout SECONDS
Report the best solution after running for at most 'timeout' seconds. Use 'none' for no timeout. (Default: none)
Write the results to FILENAME (Default: use stdout)
--output-format {smarts,fragment-smiles,fragment-sdf,complete-sdf}
'smarts' writes the SMARTS pattern including the atom and bond criteria. 'fragment-smiles' writes a matching fragment as a SMILES string. 'fragment-sdf' writes a matching fragment as a SD file; see --save-atom-class for details on how atom class information is saved. 'complete-sdf' writes the entire SD file with the fragment information stored in the tag specified by --save-fragment-indices-tag. (Default: smarts)
By default the structure output formats only show an MCS for the first input structure. If this option is enabled then an MCS for all of the structures are shown.
--save-atom-class-tag TAG
If atom classes are specified (via --class-tag) and the output format is 'fragment-sdf' then save the substructure atom classes to the tag TAG, in fragment atom order. By default this is the value of --atomclass-tag.
--save-counts-tag TAG
Save the fragment count, atom count, and bond count to the specified SD tag as space separated integers, like '1 9 8'. (The fragment count will not be larger than 1 until fmcs supports disconnected MCSes.)
--save-atom-indices-tag TAG
If atom classes are specified and the output format is 'complete-sdf' then save the MCS fragment atom indices to the tag TAG, in MCS order. (Default: mcs-atomindices)
--save-smarts-tag TAG
Save the MCS SMARTS to the specified SD tag. Uses '-' if there is no MCS
--save-smiles-tag TAG
Save the fragment SMILES to the specified SD tag. Uses '-' if there is no MCS
Print timing information to stderr
-v, --verbose
Print progress statistics to stderr. Use twice for higher verbosity.

For more details on these options, see