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.