Class McsSearchOptions


@PublicAPI public final class McsSearchOptions extends MatchingOptions
Options class for MaxCommonSubstructure (MCS) search. Instances of this class are immutable, they can be created using the McsSearchOptions.Builder nested class. For example,
 McsSearchOptions searchOpts = new McsSearchOptions.Builder().chargeMatching(true).build();

There are various options for specifying when the atoms and bonds of the two molecules can be matched with each other. By default, only atom and bond types are considered, but other properties can also be taken into account optionally (e.g. charge, isotope, radical).

MCS algorithms can search for connected and disconnected common substructures as well. The latter one is the default, which means that the common substructures could consist of more than one fragment. A minimum required size can be specified for these fragments, but the largest fragment is kept regardless of the specified minimum size.

  • Field Details

  • Method Details

    • getDefault

      public static McsSearchOptions getDefault()
      Returns the default search options object. It is the same as new SearchOptions.Builder().build(), but it does not create a new object, it returns the same immutable McsSearchOptions instance for each call.
      the default search options
    • getRingHandlingMode

      public RingHandlingMode getRingHandlingMode()
      Gets the ring handling mode specified.
      the ring handling mode (not null)
    • getMaxConsideredRingSize

      public int getMaxConsideredRingSize()
      Gets the maximum size of rings considered during search for the specified ring handling mode.
      the maximum considered ring size
      See Also:
    • isConnectedMode

      public boolean isConnectedMode()
      Gets whether the common substructures should be connected or they can consist of multiple fragments. See McsSearchOptions.Builder.connectedMode(boolean).
      true if the search is for a connected common substructure
    • getMinFragmentSize

      public int getMinFragmentSize()
      Gets the minimum required size of the fragments of the common substructures. Fragments having less bonds than this limit are ignored, except for one largest fragment found. See McsSearchOptions.Builder.minFragmentSize(int).
      minimum required bond count in additional fragments (except for the largest one)