Search philosophyΒΆ

The module supports four types of search:

The basic philosophy used to set up and run searches is to:

  1. Create a search object
  2. Use the function of the search object to search a specific database

For substructure and similarity searches the database to be searched can be:

  • the CSD
  • a (multi) molecule file path
  • a reader (this can be one or more databases)
  • a Python list of identifiers
  • an individual molecule
  • an individual crystal

Because text numeric searches are carried out on fields specific to the CSD these searches can only be performed on the CSD.

The function will return a list of instances. In some cases these have been specialised for the specific type of search performed:

All hit classes contain an identifier as well as attributes to access ccdc.entry.Entry, ccdc.crystal.Crystal and ccdc.molecule.Molecule.

The additionally contains a similarity attribute.

The has two additional functions:

Furthermore the has an additional function for superimposing the hits on the first in the

A may also contain the attributes measurements and constraints if any geometric measurements/constraints have been added to the These are dictionaries keyed by the name of the measurement or constraint defined on the For more information on measurements and constraints see Substructure searching with geometric measurements and Substructure searching with geometric constraints.