chemaxon.clustering
Class Compare

java.lang.Object
  extended by chemaxon.clustering.Common
      extended by chemaxon.clustering.Compare

public class Compare
extends Common

Compares two sets of objects (like compound libraries) using diversity and dissimilarity calculations.
This class can be used from command-line or from the API.
See the documentation for details.

An example for running Compare:


 ConnectionHandler ch;
 String selectString1;
 String selectString2;
 ...
 Compare cp=new Compare();
 cp.setInput1(ch, selectString1 );
 cp.setInput2(ch, selectString2 );
 cp.setOutput(System.out);
 cp.setDimensions(0);
 cp.setFpSize(512);
 cp.setStatNeeded(true);
 cp.setOnlyStat(false);
 cp.setStatStream(System.out);
 cp.setIdGeneration(true);
 cp.setThreshold(0.1f);
 cp.setOnlyDissimilarListed(true);
 cp.setDifferentIdsOnly(true);
 cp.run();
 

Since:
JChem 1.6.2
Author:
Ferenc Csizmadia, Szilard Dorant

Constructor Summary
Compare()
           
 
Method Summary
 int getMaxSimilar()
          Gets the maximum allowed number of similar objects for a compound.
 float getThreshold()
          Gets the threshold value.
 boolean isDifferentIdsOnly()
          Indicates whether compounds with different id-s compared only.
 boolean isOnlyDissimilarListed()
          Indicates whether only dissimilar objects are printed.
 boolean isOrderSimilarObjects()
          Indicates, whether the list similar objects should be ordered by distance (closest first).
 boolean isSimilarListed()
          Indicates whether similar objects listed from the first set.
static void main(java.lang.String[] args)
          The command line version entry point.
 void run()
          Starts processing.
 void setDifferentIdsOnly(boolean b)
          Specifies whether compounds with identical id should be compared.
 void setInput1(ConnectionHandler conh, java.lang.String querySQL)
          Sets the first compound library (first set) as an SQL query.
 void setInput1(java.io.File file)
          Sets the first compound library (first set) as a file.
 void setInput1(java.io.InputStream is)
          Sets the first compound library (first set) as an InputStream
 void setInput1(java.lang.String fileName)
          Sets the first compound library (first set) as a file, specified by the file's path.
 void setInput2(ConnectionHandler conh, java.lang.String querySQL)
          Sets the second compound library (second set) as an SQL query.
 void setInput2(java.io.File file)
          Sets the second compound library (second set) as a file.
 void setInput2(java.io.InputStream is)
          Sets the second compound library (second set) as an InputStream
 void setInput2(java.lang.String fileName)
          Sets the second compound library (second set) as a file, specified by the file's path.
 void setMaxSimilar(int maxSimilar)
          Sets the maximum allowed number of similar objects for a compound.
 void setOnlyDissimilarListed(boolean b)
          Specifies, if only dissimilar objects are to be printed.
 void setOrderSimilarObjects(boolean orderSimilarObjects)
          Specifies, whether the list similar objects should be ordered by distance (closest first).
 void setSimilarListed(boolean b)
          Specifies if similar objects are to be listed from the first set.
 void setThreshold(float threshold)
          Sets the threshold value.
 
Methods inherited from class chemaxon.clustering.Common
getDimensions, getElapsedTime, getFpSize, getIdGeneration, getStartTime, getStatStream, getWeights, isOnlyStat, isStatNeeded, setDimensions, setFpSize, setIdGeneration, setOnlyStat, setOutput, setOutput, setOutput, setOutput, setStatNeeded, setStatStream, setWeights
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Compare

public Compare()
Method Detail

setInput1

public void setInput1(ConnectionHandler conh,
                      java.lang.String querySQL)
               throws java.sql.SQLException
Sets the first compound library (first set) as an SQL query.

Parameters:
conh - ConnectionHandler object opened to the database
querySQL - an SQL SELECT statement used as data source
Throws:
java.sql.SQLException

setInput2

public void setInput2(ConnectionHandler conh,
                      java.lang.String querySQL)
               throws java.sql.SQLException
Sets the second compound library (second set) as an SQL query.

Parameters:
conh - ConnectionHandler object opened to the database
querySQL - an SQL SELECT statement used as data source
Throws:
java.sql.SQLException

setInput1

public void setInput1(java.io.File file)
               throws java.io.FileNotFoundException
Sets the first compound library (first set) as a file.

Parameters:
file - the File to be used for input
Throws:
java.io.FileNotFoundException

setInput2

public void setInput2(java.io.File file)
               throws java.io.FileNotFoundException
Sets the second compound library (second set) as a file.

Parameters:
file - the File to be used for input
Throws:
java.io.FileNotFoundException

setInput1

public void setInput1(java.lang.String fileName)
               throws java.io.FileNotFoundException
Sets the first compound library (first set) as a file, specified by the file's path.

Parameters:
fileName - the path of the input file
Throws:
java.io.FileNotFoundException

setInput2

public void setInput2(java.lang.String fileName)
               throws java.io.FileNotFoundException
Sets the second compound library (second set) as a file, specified by the file's path.

Parameters:
fileName - the path of the input file
Throws:
java.io.FileNotFoundException

setInput1

public void setInput1(java.io.InputStream is)
Sets the first compound library (first set) as an InputStream

Parameters:
is - the InputStream to be used for input

setInput2

public void setInput2(java.io.InputStream is)
Sets the second compound library (second set) as an InputStream

Parameters:
is - the InputStream to be used for input

setThreshold

public void setThreshold(float threshold)
Sets the threshold value.

Parameters:
threshold - the threshold value to be set

getThreshold

public float getThreshold()
Gets the threshold value.

Returns:
the threshold value currently set

setOnlyDissimilarListed

public void setOnlyDissimilarListed(boolean b)
Specifies, if only dissimilar objects are to be printed.

Parameters:
b - if set to true only dissimilar objects are printed, otherwise all objects are listed

isOnlyDissimilarListed

public boolean isOnlyDissimilarListed()
Indicates whether only dissimilar objects are printed.

Returns:
true, if only dissimilar objects are printed, false otherwise

setSimilarListed

public void setSimilarListed(boolean b)
Specifies if similar objects are to be listed from the first set.

Parameters:
b - if set to true, similar objects are printed from the first set

isSimilarListed

public boolean isSimilarListed()
Indicates whether similar objects listed from the first set.

Returns:
true, if similar objects are printed from the first set

setDifferentIdsOnly

public void setDifferentIdsOnly(boolean b)
Specifies whether compounds with identical id should be compared.

Parameters:
b - if set to true, compounds with different id-s compared only. Otherwise all compounds are compared.

isDifferentIdsOnly

public boolean isDifferentIdsOnly()
Indicates whether compounds with different id-s compared only.

Returns:
true, if compunds with identical id-s are not compared

setMaxSimilar

public void setMaxSimilar(int maxSimilar)
Sets the maximum allowed number of similar objects for a compound. If set to 0 (default), the number of similar objects is unlimited.

Parameters:
maxSimilar - the maximum number of similar neighbors

getMaxSimilar

public int getMaxSimilar()
Gets the maximum allowed number of similar objects for a compound. If 0 (default), the number of similar objects is unlimited.

Returns:
the maximum number of similar neighbors

setOrderSimilarObjects

public void setOrderSimilarObjects(boolean orderSimilarObjects)
Specifies, whether the list similar objects should be ordered by distance (closest first).

Parameters:
orderSimilarObjects - if set to true, the list of similar objects should be ordered by distance in the output. Default value is false.

isOrderSimilarObjects

public boolean isOrderSimilarObjects()
Indicates, whether the list similar objects should be ordered by distance (closest first).

Returns:
true, if the list of similar objects will be ordered by distance in the output. Default value is false.

run

public void run()
         throws chemaxon.clustering.ClusteringException,
                java.io.IOException,
                java.sql.SQLException,
                chemaxon.clustering.InvalidLicenseKeyException
Starts processing.

Throws:
chemaxon.clustering.ClusteringException
java.io.IOException
java.sql.SQLException
chemaxon.clustering.InvalidLicenseKeyException

main

public static void main(java.lang.String[] args)
The command line version entry point. Parameter parsing, initialization then start.

Parameters:
args - the command line parameters