Package chemaxon.descriptors
Class ScalarDescriptor
- java.lang.Object
-
- chemaxon.descriptors.MolecularDescriptor
-
- chemaxon.descriptors.ScalarDescriptor
-
- All Implemented Interfaces:
Cloneable
@PublicAPI public class ScalarDescriptor extends MolecularDescriptor
Base class for all scalar descriptors. All scalar descriptors should be derived from this class.- Since:
- JChem 2.2
-
-
Field Summary
Fields Modifier and Type Field Description protected float
descrValue
descriptor value-
Fields inherited from class chemaxon.descriptors.MolecularDescriptor
params
-
-
Constructor Summary
Constructors Constructor Description ScalarDescriptor()
Creates a new, empty instance of ScalarDescriptor.ScalarDescriptor(ScalarDescriptor sd)
Copy constructor.ScalarDescriptor(SDParameters params)
Creates a new instance of ScalarDescriptor according to the parameters given.ScalarDescriptor(String params)
Creates a new instance of ScalarDescriptor according to the parameters given.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Clears the descritor: sets its value to zero value.MolecularDescriptor
clone()
Creates a new instance with identical internal state.void
fromData(byte[] dbRepr)
Builds a descriptor from an external data format, created by a previous call totoData()
.void
fromFloatArray(float[] descr)
Builds the descriptor from a float array of one element.void
fromString(String sd)
Builds a descriptpr from its string representation created bytoString()
.String[]
generate(Molecule m)
Creates the ScalarDescriptor descriptor for the given Molecule.float[]
getDefaultDissimilarityMetricThresholds()
Gets the default dissimilarity threshold values for all dissimilarity metrics defined.float
getDefaultThreshold(int metricIndex)
Gets a metric dependent default threshold value.float
getDissimilarity(MolecularDescriptor sd)
Calculates the dissimilarity between two scalar descriptor using the default metrics In the present implementation it is always the absolute difference between them.float
getDissimilarity(MolecularDescriptor sd, int metricIndex)
Calculates the dissimilarity between two scalar descriptor using the specified metric.String[]
getDissimilarityMetrics()
Gets the dissimilarity metric namesfloat
getLowerBound(MolecularDescriptor sd)
Calculates the lower bound estimate of the dissimilarity from the given descriptor.String
getName()
Gets the name of the ScalarDescriptor object.String
getParametersClassName()
Gets the name of the parameters class corresponding to the descriptor.String
getShortName()
Gets the short name of the descriptor.void
set(float newValue)
Set the value of the descriptor.void
setParameters(MDParameters parameters)
Sets parameters, allocates internal storage if needed and cleans the descriptor.void
setParameters(String parameters)
Sets the parameters of an already createdScalarDescriptor
object.byte[]
toData()
Converts aScalarDescriptor
object into an array of bytes.String
toDecimalString()
Converts the descriptor value into a readable string.float[]
toFloatArray()
Creates the float array representation of the descriptor.String
toString()
Converts the descriptor value into a readable string.-
Methods inherited from class chemaxon.descriptors.MolecularDescriptor
generate, getAtomSetColors, getAtomSetIndexes, getAtomSetNames, getDefaultMetricIndex, getDissimilarityMetricIndex, getMetricIndex, getMetricName, getMetricName, getNumberOfMetrics, getNumberOfWeights, getParameters, getThreshold, getThreshold, main, needsConfig, newInstance, newInstance, newInstanceFromXML, newInstanceSupplier, setScreeningConfiguration, toBinaryString
-
-
-
-
Constructor Detail
-
ScalarDescriptor
public ScalarDescriptor()
Creates a new, empty instance of ScalarDescriptor.
-
ScalarDescriptor
public ScalarDescriptor(SDParameters params)
Creates a new instance of ScalarDescriptor according to the parameters given.- Parameters:
params
- parameters settings
-
ScalarDescriptor
public ScalarDescriptor(String params)
Creates a new instance of ScalarDescriptor according to the parameters given.- Parameters:
params
- parameter string
-
ScalarDescriptor
public ScalarDescriptor(ScalarDescriptor sd)
Copy constructor. An identical copy of the descriptor passed is created. The old and the new instances share the sameSDParameters
object.- Parameters:
sd
- a ScalarDescriptor to be copied
-
-
Method Detail
-
clone
public MolecularDescriptor clone()
Creates a new instance with identical internal state.- Specified by:
clone
in classMolecularDescriptor
- Returns:
- the newly copied object
-
getName
public String getName()
Gets the name of the ScalarDescriptor object. The name is not the same as the class name, but a nicer, readable and more meaningful for end-users.- Overrides:
getName
in classMolecularDescriptor
- Returns:
- the nice external name for ScalarDescriptor class objects
-
getShortName
public String getShortName()
Gets the short name of the descriptor.- Overrides:
getShortName
in classMolecularDescriptor
- Returns:
- the short name used in text outputs (tables etc.)
-
getParametersClassName
public String getParametersClassName()
Gets the name of the parameters class corresponding to the descriptor.- Overrides:
getParametersClassName
in classMolecularDescriptor
- Returns:
- the name of the parameters class
-
setParameters
public void setParameters(MDParameters parameters)
Sets parameters, allocates internal storage if needed and cleans the descriptor.- Overrides:
setParameters
in classMolecularDescriptor
- Parameters:
parameters
- fingerprint parameters
-
setParameters
public void setParameters(String parameters) throws MDParametersException
Sets the parameters of an already createdScalarDescriptor
object.- Specified by:
setParameters
in classMolecularDescriptor
- Parameters:
parameters
- parameter settings for the descriptor- Throws:
MDParametersException
- any XML error
-
toData
public byte[] toData()
Converts aScalarDescriptor
object into an array of bytes. This format can be reffered to as an "external representation" since it servers as the data format for storing scalar descriptors in databases.
Use thefromData()
method to build the scalar descriptor from this "external" representation.- Specified by:
toData
in classMolecularDescriptor
- Returns:
- byte array representation of the descriptor object
-
fromData
public void fromData(byte[] dbRepr)
Builds a descriptor from an external data format, created by a previous call totoData()
.- Specified by:
fromData
in classMolecularDescriptor
- Parameters:
dbRepr
- "external" representation of theScalarDescriptor
object
-
toFloatArray
public final float[] toFloatArray()
Creates the float array representation of the descriptor.- Specified by:
toFloatArray
in classMolecularDescriptor
- Returns:
- a float array of one element
-
fromFloatArray
public void fromFloatArray(float[] descr) throws RuntimeException
Builds the descriptor from a float array of one element.- Specified by:
fromFloatArray
in classMolecularDescriptor
- Parameters:
descr
- descriptor stored in a (one element) float array- Throws:
RuntimeException
-
clear
public void clear()
Clears the descritor: sets its value to zero value.
-
toString
public final String toString()
Converts the descriptor value into a readable string. This is the default external text format.- Specified by:
toString
in classMolecularDescriptor
- Returns:
- string representation of the descriptor value
-
toDecimalString
public String toDecimalString()
Converts the descriptor value into a readable string. This is the default external text format.- Specified by:
toDecimalString
in classMolecularDescriptor
- Returns:
- string representation of the descriptor value
-
fromString
public final void fromString(String sd) throws ParseException
Builds a descriptpr from its string representation created bytoString()
.- Specified by:
fromString
in classMolecularDescriptor
- Parameters:
sd
- descriptor value as string- Throws:
ParseException
-
set
public void set(float newValue)
Set the value of the descriptor.- Parameters:
newValue
- the value to be set
-
generate
public String[] generate(Molecule m) throws MDGeneratorException
Creates the ScalarDescriptor descriptor for the given Molecule. Side-effect!!!!!! Standardizes the input molecule (as defined inMDParameters
).- Overrides:
generate
in classMolecularDescriptor
- Returns:
- property names set in the molecule passed during generation
- Throws:
MDGeneratorException
- when failed to generate descriptor
-
getDissimilarityMetrics
public String[] getDissimilarityMetrics()
Gets the dissimilarity metric names- Specified by:
getDissimilarityMetrics
in classMolecularDescriptor
- Returns:
- the metrics array
-
getDefaultDissimilarityMetricThresholds
public float[] getDefaultDissimilarityMetricThresholds()
Gets the default dissimilarity threshold values for all dissimilarity metrics defined.- Specified by:
getDefaultDissimilarityMetricThresholds
in classMolecularDescriptor
- Returns:
- array of dissimilarity threshold values
-
getDefaultThreshold
public float getDefaultThreshold(int metricIndex)
Gets a metric dependent default threshold value.- Overrides:
getDefaultThreshold
in classMolecularDescriptor
- Parameters:
metricIndex
- index of a parameterized metric
-
getDissimilarity
public float getDissimilarity(MolecularDescriptor sd)
Calculates the dissimilarity between two scalar descriptor using the default metrics In the present implementation it is always the absolute difference between them.- Specified by:
getDissimilarity
in classMolecularDescriptor
- Parameters:
sd
- a scalar descriptor value- Returns:
- dissimilarity value
-
getDissimilarity
public float getDissimilarity(MolecularDescriptor sd, int metricIndex)
Calculates the dissimilarity between two scalar descriptor using the specified metric.- Specified by:
getDissimilarity
in classMolecularDescriptor
- Parameters:
sd
- a scalar descriptormetricIndex
- index of the metric to be used- Returns:
- the dissimilarity ratio
- See Also:
MDParameters
,PFParameters
-
getLowerBound
public float getLowerBound(MolecularDescriptor sd)
Calculates the lower bound estimate of the dissimilarity from the given descriptor.- Overrides:
getLowerBound
in classMolecularDescriptor
- Parameters:
sd
- a descriptor value- Returns:
- always returns 0
-
-