public class RGroupDecomposition extends StandardizedMolSearch implements chemaxon.license.Licensable
R-group decomposition.
Given a scaffold structure with attached R1, R2, ... nodes as query,
determines the possible R-group decompositions of given target molecule.
A decomposition consists of the matching scaffold and the R1, R2, ... ligands
with attachment points. Each decomposition corresponds to a group hit, see
Search.findFirstGroup() and Search.findNextGroup().
After setting the query, the target, and possibly the search options,
call findFirstDecomposition() and findNextDecomposition()
to get the decompositions. Call Decomposition.equals(java.lang.Object)
to filter equivalent decompositions that provide the same ligands (but
correspond to different group hits). Color the decomposition by calling
Decomposition.color() or Decomposition.color(java.lang.String).
To create a result table with all decompositions right away, call
findLigandTable(int, int, java.lang.String). Alternatively,
you can get the table header with query, target and R-atoms, call
getLigandTableHeader(int, int, java.lang.String) and then add only
a single table row corresponding to the first decomposition by calling
findLigandTableRow(int, java.lang.String).
Different ligand attachment types can be set in setAttachmentType(int).
As of JChem 5.3, extra ligands without matching R-atom are not allowed.
As of JChem 5.3, a query without R-atoms will be automatically modified in
setQuery(chemaxon.struc.Molecule): R-atoms will be added in place of
implicit hydrogens by addRGroups(chemaxon.struc.Molecule).
The R-grouped query can be retrieved by getRGroupedQuery().
If the original query contains R-atoms then the default R-atom matching
behavior is SearchConstants.UNDEF_R_MATCHING_GROUP_H,
otherwise the default matching behavior of the automatically added R-atoms is
SearchConstants.UNDEF_R_MATCHING_GROUP_H_EMPTY (the empty
set matching is allowed here because we expect that ligands are attached to
some of the implicit hydrogens in the original query, but not necessarily all
implicit hydrogens have corresponding ligands).
Search options:
The options below have different default values as in MolSearch:
SearchOptions.setRLigandEqualityCheck(boolean):
sets whether undefined R-atoms with the same R-group ID should match the same structure.
Default: true.
SearchOptions.setBridgingRAllowed(boolean value):
sets whether different undefined R-atoms can match the same group of atoms.
Default: true.
SearchOptions.setUndefinedRAtom(int):
sets the matching behavior of an undefined R atom in the query.
Default: SearchConstants.UNDEF_R_MATCHING_GROUP_H if the original
query has R-atoms, SearchConstants.UNDEF_R_MATCHING_GROUP_H_EMPTY
with automatically added R-atoms in place of implicit hydrogens otherwise.
API usage examples:
query: the query molecule
target: the target molecule
RGroupDecomposition rgd = new RGroupDecomposition(); // set search options rgd.getSearchOptions().setRLigandEqualityCheck(false); rgd.getSearchOptions().setBridgingRAllowed(false); rgd.getSearchOptions().setUndefinedRAtom(SearchOptions.UNDEF_R_MATCHING_GROUP); // set query and target rgd.setQuery(query); rgd.setTarget(target); // find decompositions, output colored and aligned target MolExporter exporter = new MolExporter(System.out, "sdf:-a"); ArrayListlist = new ArrayList (); Decomposition d = rgd.findFirstDecomposition(); while (d != null) { boolean duplicate = false; for (int i=list.size()-1; i >= 0; --i) { if (d.equals(list.get(i))) { duplicate = true; break; } } if (!duplicate) { list.add(d); d.color("DMAP"); exporter.write(d.getTarget()); } d = rgd.findNextDecomposition(); } exporter.close();
// standardize query and targets to find hits
// in most cases aromatization only will be sufficient
Standardizer st = new Standardizer("aromatize..N=[N:1]#[N:2]>>N=[N+:1]=[N-:2]");
RGroupDecomposition rgd = new RGroupDecomposition();
rgd.setAttachmentType(SearchConstants.ATTACHMENT_MAP);
// standardize and set query
st.standardize(query);
rgd.setQuery(query);
// standardize and set target
st.standardize(target);
rgd.setTarget(target);
// process decomposition, output ligands
Decomposition d = rgd.findDecomposition();
if (d != null) {
Molecule[] ligands = d.getLigands();
for (Molecule ligand : ligands) {
if (ligand != null) {
System.out.println(ligand.toFormat("smiles"));
}
}
}
RGroupDecomposition rgd = new RGroupDecomposition();
rgd.setAttachmentType(SearchConstants.ATTACHMENT_POINT);
rgd.setAlign(true);
rgd.setQuery(query);
rgd.setTarget(target);
MolExporter exporter = new MolExporter(System.out, "mrv:-a");
Decomposition d = rgd.findDecomposition();
if (d != null) {
d.color();
Molecule[] ligands = d.getLigands();
Molecule scaffold = d.getScaffold();
for (Molecule ligand : ligands) {
if (ligand != null) {
exporter.write(ligand);
} else {
exporter.write(scaffold);
}
}
}
exporter.close();
// standardize query and targets to find hits
// in most cases aromatization only will be sufficient
Standardizer st = new Standardizer("aromatize..N=[N:1]#[N:2]>>N=[N+:1]=[N-:2]");
// init RGroupDecomposition
RGroupDecomposition rgd = new RGroupDecomposition();
// set target and ligand alignment according to query
rgd.setAlign(true);
// set attachment data in atom labels as "R1", "R2", ...
rgd.setAttachmentType(SearchConstants.ATTACHMENT_RLABEL);
// standardize and set query
st.standardize(query);
rgd.setQuery(query);
// standardize and set target
st.standardize(target);
rgd.setTarget(target);
// process decompositions
int index = 0;
Decomposition d = null;
if ((d = rgd.findDecomposition()) != null) {
++index;
// color in atom sets
d.color();
// get the colored target
Molecule mol = d.getTarget();
// convert to PNG with default set colors
// 'mono' option is needed to supress the default CPK atom coloring
byte[] png = mol.toBinFormat("png:-a,mono,setcolors");
// write to file
BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream("img-"+index+".png"));
os.write(png, 0, png.length);
os.flush();
os.close();
// get the query from the decomposition (possibly with automatically added R-atoms):
Molecule rgquery = d.getQuery();
// get the colored ligands
Molecule[] ligands = d.getLigands();
for (int i=0; i < ligands.length; ++i) {
if (ligands[i] != null) {
png = ligands[i].toBinFormat("png:-a,mono,setcolors");
os = new BufferedOutputStream(
new FileOutputStream("img-"+index+"-R"+rgquery.getAtom(i).getRgroup()+".png"));
os.write(png, 0, png.length);
os.flush();
os.close();
}
}
}
RGroupDecomposition rgd = new RGroupDecomposition();
rgd.setAttachmentType(SearchConstants.ATTACHMENT_ATOM); // attachment type: any-atoms
rgd.setQuery(query);
rgd.setTarget(target);
Molecule[][] ligandTable = rgd.findLigandTable(RGroupDecomposition.HEADER_RGROUP,
RGroupDecomposition.COL_MOLECULE | RGroupDecomposition.COL_SCAFFOLD, "DMAP");
null
if there is no hit), align target and ligands according to query,
coloring data set in atom sets (for MRV output):
RGroupDecomposition rgd = new RGroupDecomposition();
rgd.setAttachmentType(SearchConstants.ATTACHMENT_MAP);
rgd.setAlign(true);
rgd.setQuery(query);
Molecule[][] ligandTable = new Molecule[targets.length+1][];
ligandTable[0] = rgd.getLigandTableHeader(RGroupDecomposition.HEADER_MAP,
RGroupDecomposition.COL_MOLECULE);
for (int i=0; i < targets.length; ++i) {
rgd.setTarget(targets[i]);
ligandTable[i+1] = rgd.findLigandTableRow(RGroupDecomposition.COL_MOLECULE);
}
// standardize query and targets to find hits
// in most cases this is not needed, since the
// default standardization (aromatization only) will be sufficient
Standardizer st = new Standardizer("aromatize..N=[N:1]#[N:2]>>N=[N+:1]=[N-:2]");
// init RGroupDecomposition, set query
RGroupDecomposition rgd = new RGroupDecomposition();
rgd.setAttachmentType(SearchConstants.ATTACHMENT_MAP);
rgd.getSearchOptions().setRLigandEqualityCheck(false);
// standardize and set query
st.standardize(query);
rgd.setQuery(query);
// standardize and set target
st.standardize(target);
rgd.setTarget(target);
// process decomposition
Decomposition d = rgd.findDecomposition();
if (d != null) {
// get query from decomposition, possibly R-atoms added automatically:
Molecule rgquery = d.getQuery();
// get the ligands:
Molecule[] ligands = d.getLigands();
// look for R1 ligands:
for (int i=0; i < ligands.length; ++i) {
if ((rgquery.getAtom(i).getAtno() == MolAtom.RGROUP) &&
(rgquery.getAtom(i).getRgroup() == 1)) {
if (ligands[i] != null) {
System.out.println(ligands[i].toFormat("smiles"));
}
}
}
}
| Modifier and Type | Field and Description |
|---|---|
static int |
COL_MOLECULE
Constant for adding query-target column to ligand table.
|
static int |
COL_SCAFFOLD
Constant for adding scaffold column to ligand table.
|
static int |
HEADER_MAP
Constant for header type: header with any atoms mapped by Rgroup indexes.
|
static int |
HEADER_NONE
Constant for header type: no header.
|
static int |
HEADER_RGROUP
Constant for header type: header with Rgroup atoms (cannot be exported to SMILES).
|
static String |
SEPARATOR
Separator in atom color code property string representation.
|
isOrigTargetMayBeMarkushMRV_OUTPUT_LEVEL, preMatchMap, searchOptionsANTI, ATOMSTEREO_EITHER, ATOMSTEREO_MASK, ATOMSTEREO_NONE, ATOMSTEREO_SPECIFIC, CHIRALITY_M, CHIRALITY_MASK, CHIRALITY_P, CHIRALITY_r, CHIRALITY_R, CHIRALITY_s, CHIRALITY_S, CHIRALITYSUPPORT_ALL, CHIRALITYSUPPORT_ALL_POSSIBLE, CHIRALITYSUPPORT_NONE, CHIRALITYSUPPORT_SELECTED, CIS, CIS_TRANS, CTUMASK, CTUNKNOWN, CTUNSPEC, DBS_ALL, DBS_MARKED, DBS_NONE, ENDO, EXO, PARITY_ALLENE, PARITY_EITHER, PARITY_EVEN, PARITY_MASK, PARITY_NONE, PARITY_ODD, PARITY_TETRAHEDRAL, PARITY_UNSPEC, STGRP_ABS, STGRP_AND, STGRP_NONE, STGRP_OR, SYN, TRANSABS_STEREO_ALWAYS_ON, ABS_STEREO_CHIRAL_FLAG, ABS_STEREO_TABLE_OPTION, ATTACHED_DATA_MATCH_EXACT, ATTACHED_DATA_MATCH_GENERAL, ATTACHED_DATA_MATCH_IGNORE, ATTACHMENT_ATOM, ATTACHMENT_LABEL, ATTACHMENT_MAP, ATTACHMENT_NONE, ATTACHMENT_POINT, ATTACHMENT_RLABEL, CHARGE_MATCHING_DEFAULT, CHARGE_MATCHING_EXACT, CHARGE_MATCHING_IGNORE, DEFAULT_DISSIMILARITY_THRESHOLD, DEFAULT_SEARCHTYPE, DISSIMILARITY_PROPERTY_NAME, DUPLICATE, FULL, FULL_FRAGMENT, HCOUNT_MATCHING_AUTO, HCOUNT_MATCHING_EQUAL, HCOUNT_MATCHING_GREATER_OR_EQUAL, HIT_EXCLUDEDQ, HIT_LP, HIT_MULTICENTER, HIT_NON_R, HIT_ORDERING_NONE, HIT_ORDERING_UNDEF_R_MATCHING_GROUP_FIRST, HIT_R, HIT_R_EMPTY_MATCH, HIT_UNMAPABLE, IMPLICIT_H_MATCHING_DEFAULT, IMPLICIT_H_MATCHING_DISABLED, IMPLICIT_H_MATCHING_ENABLED, IMPLICIT_H_MATCHING_IGNORE, ISOTOPE_MATCHING_DEFAULT, ISOTOPE_MATCHING_EXACT, ISOTOPE_MATCHING_IGNORE, MARKUSH_HIT_INNER, MARKUSH_HIT_ORIGINAL, MATCH_COUNT_BETWEEN, MATCH_COUNT_RELATION, NO_ABAS, NO_SCREEN, POSITION_ON_0TH_HEAVY_ATOM, RADICAL_MATCHING_DEFAULT, RADICAL_MATCHING_EXACT, RADICAL_MATCHING_IGNORE, SEARCH_MODE_NAMES, SEARCH_TYPE_NAMES, SIMILARITY, STEREO_DIASTEREOMER, STEREO_ENANTIOMER, STEREO_EXACT, STEREO_IGNORE, STEREO_MODEL_COMPREHENSIVE, STEREO_MODEL_DEFAULT, STEREO_MODEL_GLOBAL, STEREO_MODEL_LOCAL, STEREO_SPECIFIC, SUBSTRUCTURE, SUPERSTRUCTURE, TAUTOMER_SEARCH_DEFAULT, TAUTOMER_SEARCH_OFF, TAUTOMER_SEARCH_ON, TAUTOMER_SEARCH_ON_IGNORE_TAUTOMERSTEREO, UNDEF_R_MATCHING_ALL, UNDEF_R_MATCHING_GROUP, UNDEF_R_MATCHING_GROUP_H, UNDEF_R_MATCHING_GROUP_H_EMPTY, UNDEF_R_MATCHING_UNDEF_R, VAGUE_BOND_DEFAULT, VAGUE_BOND_LEVEL_HALF, VAGUE_BOND_LEVEL1, VAGUE_BOND_LEVEL2, VAGUE_BOND_LEVEL3, VAGUE_BOND_LEVEL4, VAGUE_BOND_OFF| Constructor and Description |
|---|
RGroupDecomposition()
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
addRGroups(Molecule query)
Adds different rgroup atoms connected by any-bonds
to query molecule in place of all implicit H-s.
|
static void |
addRGroups(Molecule query,
int bondType)
Adds different rgroup atoms connected by the specified bond type
to query molecule in place of all implicit H-s.
|
Decomposition |
findDecomposition()
Finds the first decomposition result.
|
Decomposition |
findDecomposition(boolean first)
Finds a decomposition result.
|
Decomposition |
findFirstDecomposition()
Finds the first decomposition result.
|
Molecule[][] |
findLigandTable(int headerType,
int addCols)
Returns the ligand table.
|
Molecule[][] |
findLigandTable(int headerType,
int addCols,
String colorTag)
Returns the ligand table.
|
Molecule[] |
findLigandTableRow(int addCols)
Returns a ligand table row with ligands corresponding to a the first search hit.
|
Molecule[] |
findLigandTableRow(int addCols,
String colorTag)
Returns a ligand table row with ligands corresponding to a the first search hit.
|
Decomposition |
findNextDecomposition()
Finds the next decomposition result.
|
Molecule[] |
getLigandTableHeader(int headerType,
int addCols)
Returns ligand table header.
|
Molecule[] |
getLigandTableHeader(int headerType,
int addCols,
String colorTag)
Returns ligand table header.
|
Molecule |
getQuery()
Retrieves the original query structure.
|
Molecule |
getRGroupedQuery()
Returns the R-grouped query.
|
int |
getRLigandCount()
Returns the number of R-atoms in the R-grouped query
(see
getRGroupedQuery()). |
boolean |
isLicensed() |
boolean |
isMarkushQuery()
Returns
true if query contains Markush features
which will be enumerated (all features except defined R-rgroups
and homologies). |
void |
setAlign(boolean align)
Sets alignment.
|
void |
setAttachmentType(int type)
Sets the attachment point representation type in ligand molecules.
|
void |
setLicenseEnvironment(String env) |
protected void |
setParameters() |
void |
setQuery(Molecule mol)
Specifies the query structure to search for.
|
void |
setSearchOptions(MolSearchOptions options)
Sets search options.
|
void |
setTarget(Molecule mol)
Specifies the target molecule to search in.
|
addComparator, addMatch, addMatch, checkFilter, checkFilter, clearComparators, clearMatch, findAllHits, findFirstHit, findNextHit, getSearcher, getTarget, isMatching, removeComparator, setOrigTargetMayBeMarkush, setQuery, setQuery, setStandardizer, setTarget, setTransformer, stopfindAll, findAllGroups, findFirst, findFirstGroup, findNext, findNextGroup, getMatchCount, getQueryAsString, getQueryToPrint, getSearchOptions, getTargetAsString, getTargetToPrint, isMatchCountBetween, isMatchCountInRelation, isMatchCountInRelation, isVerbose, setSearchOptions, setVerbosepublic static final int COL_MOLECULE
public static final int COL_SCAFFOLD
public static final int HEADER_NONE
public static final int HEADER_RGROUP
public static final int HEADER_MAP
public static final String SEPARATOR
public void setAttachmentType(int type)
type - is the attachment point representation typepublic static void addRGroups(Molecule query)
setQuery(chemaxon.struc.Molecule).query - is the query molecule to be setpublic static void addRGroups(Molecule query, int bondType)
MolBond.
In this way ligands will be accepted and stored
at all possible attachments.
Call this before setQuery(chemaxon.struc.Molecule).query - is the query molecule to be setbondType - is the attachment bond typepublic void setAlign(boolean align)
false.align - is true if ligands and target should be aligned (cleaned)public boolean isMarkushQuery()
true if query contains Markush features
which will be enumerated (all features except defined R-rgroups
and homologies).true if query contains Markush features
other than defined R-groups and homologiespublic void setQuery(Molecule mol)
addRGroups(chemaxon.struc.Molecule) is called to put R-atoms in place of
implicit hydrogens - in this case undefined R-atoms are allowed to match the empty set,
apart from heavy atom groups or hydrogen atoms. If the query contains R-atoms, these are
allowed to match heavy atom groups or hydrogen atoms, but not the empty set.setQuery in interface SimpleSearchersetQuery in class MolSearchmol - the standardized query structure.
See note on aromatic bonds.public void setTarget(Molecule mol)
setTarget in interface SimpleSearchersetTarget in class MolSearchmol - the possibly standardized target molecule. See
note on aromatic bonds.public Molecule getQuery()
public Molecule getRGroupedQuery()
public int getRLigandCount()
throws IllegalStateException
getRGroupedQuery()).
Should be called after the query is set by setQuery(chemaxon.struc.Molecule).
This is the number of R-ligands in the decompositions
returned by findDecomposition().IllegalStateException - if the query is not setpublic Decomposition findFirstDecomposition() throws SearchException
null if there is no hitSearchException - on search errorfindNextDecomposition(),
findDecomposition(),
findDecomposition(boolean)public Decomposition findNextDecomposition() throws SearchException
null if there is no hitSearchException - on search errorfindFirstDecomposition(),
findDecomposition(),
findDecomposition(boolean)public Decomposition findDecomposition() throws SearchException
findFirstDecomposition().null if there is no hitSearchException - on search errorfindFirstDecomposition(),
findNextDecomposition(),
findDecomposition(boolean)public Decomposition findDecomposition(boolean first) throws SearchException
first - true if first decomposition,
false if next decompositionnull if there is no hitSearchException - on search errorfindFirstDecomposition(),
findNextDecomposition(),
findDecomposition()public Molecule[][] findLigandTable(int headerType, int addCols) throws SearchException
query scaffold R1 R2 R3 ... --------------------------------------------------------- target scaffold1 ligand1.1 ligand1.2 ligand1.3 target scaffold2 ligand2.1 ligand2.2 ligand2.3in a
Molecule[][] array (table):
table[0]: the table header with Rgroups as 1-atom molecules
table[i], i > 0: target molecule, scaffold, ligands
null.
Color map is stored in atom sets which can be written in MRV format and
is automatically handled by MView. See MolAtom.getSetSeq().
Rgroups in the table header are represented by any-atoms with rgroup index
set in atom map to enable SMILES export.headerType - is the header type:
HEADER_NONE for no header
HEADER_RGROUP for header with rgroup atoms (cannot be exported to SMILES)
HEADER_MAP for mapped any atoms (for SMILES export)
addCols - additional columns to include:
COL_MOLECULE for including the target,
COL_SCAFFOLD for including the scaffold,
COL_MOLECULE | COL_SCAFFOLD for both,
0 for none
SearchException - on search errorpublic Molecule[][] findLigandTable(int headerType, int addCols, String colorTag) throws SearchException
query scaffold R1 R2 R3 ... --------------------------------------------------------- target scaffold1 ligand1.1 ligand1.2 ligand1.3 target scaffold2 ligand2.1 ligand2.2 ligand2.3in a
Molecule[][] array (table):
table[0]: the table header with Rgroups as 1-atom molecules
table[i], i > 0: target molecule, scaffold, ligands
null.
If the colorTag is specified then a color map symbol is set in the molecule
property for each atom, separated by SEPARATOR characters:
0 for scaffold atoms
mview -t DMAP -p Colors.ini ligands.sdfBy default, color map is stored in atom sets which can be written in MRV format and is automatically handled by MView. See
MolAtom.getSetSeq().
Rgroups in the table header are represented by any-atoms with rgroup index
set in atom map to enable SMILES export.headerType - is the header type:
HEADER_NONE for no header
HEADER_RGROUP for header with rgroup atoms (cannot be exported to SMILES)
HEADER_MAP for mapped any atoms (for SMILES export)
addCols - additional columns to include:
COL_MOLECULE for including the target,
COL_SCAFFOLD for including the scaffold,
COL_MOLECULE | COL_SCAFFOLD for both,
0 for none
colorTag - is the molecule property name for setting the color map
null if color should be stored in atomsetsSearchException - on search errorpublic Molecule[] findLigandTableRow(int addCols) throws SearchException
target scaffold ligand R1 ligand R2 ligand R3 ...The target and the scaffold columns are optional. The color map is stored in atom sets which can be written in MRV format and is automatically handled by MView. See
MolAtom.getSetSeq().
Attachment points in ligands are represented according to attachment type
set in setAttachmentType(int).addCols - additional columns to include:
COL_MOLECULE for including the target,
COL_SCAFFOLD for including the scaffold,
COL_MOLECULE | COL_SCAFFOLD for both,
0 for none
SearchException - on search errorpublic Molecule[] findLigandTableRow(int addCols, String colorTag) throws SearchException
target scaffold ligand R1 ligand R2 ligand R3 ...The target and the scaffold columns are optional. By default, color map is stored in atom sets which can be written in MRV format and is automatically handled by MView. See
MolAtom.getSetSeq().
Attachment points in ligands are represented according to attachment type
set in setAttachmentType(int).addCols - additional columns to include:
COL_MOLECULE for including the target,
COL_SCAFFOLD for including the scaffold,
COL_MOLECULE | COL_SCAFFOLD for both,
0 for none
colorTag - is the molecule property name for setting the color map,
null if color should be stored in atomsetsSearchException - on search errorpublic Molecule[] getLigandTableHeader(int headerType, int addCols)
query scaffold R1 R2 R3 ...The query and the scaffold columns are optional. Color maps are stored in atom sets which can be written in MRV format and is automatically handled by MView. See
MolAtom.getSetSeq().
Rgroups in the table header are represented by any-atoms with rgroup index
set in atom map or by rgroup atoms.headerType - is the header type:
HEADER_RGROUP for header with rgroup atoms (cannot be exported to SMILES)
HEADER_MAP for mapped any atoms (for SMILES export)
addCols - additional columns to include:
COL_MOLECULE for including the query,
COL_SCAFFOLD for including the scaffold,
COL_MOLECULE | COL_SCAFFOLD for both,
0 for none
public Molecule[] getLigandTableHeader(int headerType, int addCols, String colorTag)
query scaffold R1 R2 R3 ...The query and the scaffold columns are optional. By default, color map is stored in atom sets which can be written in MRV format and is automatically handled by MView. See
MolAtom.getSetSeq().
Rgroups in the table header are represented by any-atoms with rgroup index
set in atom map or by rgroup atoms.headerType - is the header type:
HEADER_RGROUP for header with rgroup atoms (cannot be exported to SMILES)
HEADER_MAP for mapped any atoms (for SMILES export)
addCols - additional columns to include:
COL_MOLECULE for including the query,
COL_SCAFFOLD for including the scaffold,
COL_MOLECULE | COL_SCAFFOLD for both,
0 for none
colorTag - is the molecule property name for setting the color map,
null if color should be stored in atomsetspublic boolean isLicensed()
isLicensed in interface chemaxon.license.LicensableisLicensed in class MolSearchpublic void setLicenseEnvironment(String env)
setLicenseEnvironment in interface chemaxon.license.LicensablesetLicenseEnvironment in class MolSearchpublic void setSearchOptions(MolSearchOptions options)
MolSearchsetSearchOptions in class MolSearchoptions - search options. A copy of this object will be stored.Search.getSearchOptions()protected void setParameters()
throws SearchException
setParameters in class MolSearchSearchException