Class CFParameters


  • @PublicAPI
    public class CFParameters
    extends MDParameters
    Manages fingerprint parameters. This class reads, stores and provides parameters for ChemicalFingerprint class. These parameters together are called the chemical fingerprint configuration. The native format of such configuration is XML.
    Since:
    JChem 2.2
    • Constructor Detail

      • CFParameters

        public CFParameters()
        Creates an empty object. Initializes fingerprint parameters to default values.
      • CFParameters

        public CFParameters​(File configFile)
                     throws MDParametersException
        Creates a new object based on a given configuration file.
        Parameters:
        configFile - XML configuration file
        Throws:
        MDParametersException - missing or bad XML configuration
      • CFParameters

        public CFParameters​(String XMLconfig)
                     throws MDParametersException
        Creates a new object based on a given configuration string.
        Parameters:
        XMLconfig - XML configuration string
        Throws:
        MDParametersException - missing or bad XML configuration
    • Method Detail

      • fromString

        public void fromString​(String parameterString)
                        throws MDParametersException
        Sets parameters from a string representation. This method processes an XML format, but derived classes may overload this and define their own format.
        Overrides:
        fromString in class MDParameters
        Parameters:
        parameterString - parameters in string
        Throws:
        MDParametersException - when the parameter string is not well-formed
      • fromFile

        public void fromFile​(File parameterFile)
                      throws MDParametersException
        Sets parameters from an XML file. Derived classes may overload this and define their own format (even other than XML).
        Overrides:
        fromFile in class MDParameters
        Parameters:
        parameterFile - initialized parameter file
        Throws:
        MDParametersException - failed to process parameter file
      • setBondCount

        public void setBondCount​(int bondCount)
        Sets the path length (number of adjacent bonds) parameter.
        Parameters:
        bondCount - the bond count parameter
      • setBitCount

        public void setBitCount​(int bitCount)
        Sets the bit count (number of fingerprint bits to be set to 1) parameter.
        Parameters:
        bitCount - the bit count parameter
      • init

        protected void init()
        This method is called by the constructors before processing the XML configuration. It creates a ChemicalFingerprint object stored in MDParameters.md.
      • initParameters

        protected void initParameters()
        Initializes those data members that depend on the XML configuration but are not directly taken from it.
        Overrides:
        initParameters in class MDParameters
      • generate

        protected String[] generate​(Molecule m,
                                    MolecularDescriptor cd)
                             throws MDGeneratorException
        Calls CFGenerator and generates the descriptor for the given molecule.
        Parameters:
        m - a molecular structure
        cd - the chemical descriptor generated for the given molecule, an output parameter
        Returns:
        names of Molecule Property-s (SDfile tags) set by the generator
        Throws:
        MDGeneratorException - when failed to generate descriptor
      • getBondCount

        public int getBondCount()
        Gets the preset path length (number of adjacent bonds) parameter.
        Returns:
        the bond count parameter
      • getBitCount

        public int getBitCount()
        Gets the preset bit count (number of fingerprint bits to be set to 1) parameter.
        Returns:
        the bit count parameter
      • getNumberOfWeights

        protected int getNumberOfWeights​(int parametrizedMetricIndex)
                                  throws IllegalArgumentException
        Gets the number of weight factors used by the specified metric. This method can be applied to the dissimilarity metrics provided by the MolecularDescriptor class or its derived classes, but not to parametrized metric.
        Overrides:
        getNumberOfWeights in class MDParameters
        Parameters:
        parametrizedMetricIndex - parametrized metric index
        Returns:
        number of weights the metric uses
        Throws:
        IllegalArgumentException - if the given parameter is not a valid metric index
      • getDefaultDocumentFrame

        public String getDefaultDocumentFrame()
        Gets the default XML configuration string. This is needed when the optional ChemicalFingerprint XML configuration is not specified.
        Overrides:
        getDefaultDocumentFrame in class MDParameters
        Returns:
        default XML configuration string of the CFParameters class
        Since:
        JChem 2.3
      • processDocument

        protected void processDocument​(boolean all)
                                throws MDParametersException
        Processes pars of the XML configuration specific to ChemicalFingerprint. Find the node in the DOM tree and leaves the rest of the work to the parent class.
        Overrides:
        processDocument in class MDParameters
        Parameters:
        all - indicates if the entire document has to be processed in which case the existing configuration is overwritten
        Throws:
        MDParametersException
      • readValues

        protected void readValues​(boolean all)
                           throws MDParametersException
        Picks parameter values from the DOM tree.
        Overrides:
        readValues in class MDParameters
        Parameters:
        all - indicates if the entire document has to be processed in which case the existing configuration is overwritten
        Throws:
        MDParametersException