public final class Ullmann extends Pattern
 IAtomContainer query   = ...;
 Pattern        pattern = Ullmann.findSubstructure(query);
 int hits = 0;
 for (IAtomContainer m : ms)
     if (pattern.matches(m))
         hits++;
 
 
 Finding the matching to molecules which contain the query substructure. It is
 more efficient to obtain the match(org.openscience.cdk.interfaces.IAtomContainer) and check it's size rather than
 test if it Pattern.matches(org.openscience.cdk.interfaces.IAtomContainer) first. These methods automatically verify
 stereochemistry.
 IAtomContainer query = ...; Pattern pattern = Ullmann.findSubstructure(query); int hits = 0; for (IAtomContainer m : ms) { int[] match = pattern.match(m); if (match.length > 0) hits++; }
| Modifier and Type | Method and Description | 
|---|---|
static Pattern | 
findSubstructure(IAtomContainer query)
Create a pattern which can be used to find molecules which contain the
  
query structure. | 
int[] | 
match(IAtomContainer target)
Find a matching of this pattern in the  
target. | 
Mappings | 
matchAll(IAtomContainer target)
Find all mappings of this pattern in the  
target. | 
findIdentical, matchAll, matches, matchespublic int[] match(IAtomContainer target)
Patterntarget. If no such order
 exist an empty mapping is returned. Depending on the implementation
 stereochemistry may be checked (recommended).
 Pattern pattern = ...; // create pattern for (IAtomContainer m : ms) { int[] mapping = pattern.match(m); if (mapping.length > 0) { // found mapping! } }
public Mappings matchAll(IAtomContainer target)
Patterntarget. Stereochemistry
 should not be checked to allow filtering with Mappings.stereochemistry().
 
 Pattern pattern = Pattern.findSubstructure(query);
 for (IAtomContainer m : ms) {
     for (int[] mapping : pattern.matchAll(m)) {
         // found mapping
     }
 }
 
 Using the fluent interface (see Mappings) we can search and
 manipulate the mappings. Here's an example of finding the first 5
 mappings and creating an array. If the mapper is lazy other states are
 simply not explored.
 
 // find only the first 5 mappings and store them in an array
 Pattern pattern  = Pattern.findSubstructure(query);
 int[][] mappings = pattern.matchAll(target)
                           .limit(5)
                           .toArray();
 public static Pattern findSubstructure(IAtomContainer query)
query structure.query - the substructure to findqueryCopyright © 2022. All rights reserved.