schrodinger.application.canvas.similaritygui module¶
Support for Canvas fingerprint similarity operations that use GUI components.
There are classes to perform similarity calculations and to support graphical interfaces for similarity options.
Copyright Schrodinger, LLC. All rights reserved.
- class schrodinger.application.canvas.similaritygui.CanvasFingerprintSimilarityGUI(logger)¶
Bases:
schrodinger.application.canvas.similarity.CanvasFingerprintSimilarity
A subclass of the canvas fingerprint similarity manager which is to be used from a program with a TKInter interface. This class has methods for creating a component which displays all the similarity metrics options and takes care of managing the internal state
- getGUI()¶
Returns a GUI component which displays the similarity options
- setMetricCB(metric)¶
A callback for setting the similarity metric - takes care of enabling the alpha and beta boxes. Also makes sure that the program is ready to calculate similarity via the chosen metric.
- Parameters
metric (str) – the name of the similarity metric to use
- update()¶
Update the internal state to reflect the GUI (used mainly for alpha and beta values
- getCalculationGUI(command, msg=None)¶
Create the GUI section that has the calculate button
- Parameters
command (callable object) – function to be called when the Calculate Similarity button is pressed.
msg (str) – The message that appears right above the button
- Return type
swidgets.SGroupBox (QGroupBox object)
- Returns
a groupbox with the calculation widgets
- getTab(command=None, settings=True, calculation=True, msg=None)¶
Creates a tab that can be used in a QTabWidget for calculating similarity. The tab has a CanvasFingerprintSimilarityGUI section and a Similarity Calculation section (set up here).
- Parameters
command (callable object) – function to be called when the Calculate Similarity button is pressed.
settings (bool) – True if the settings section is included, False if not
calculation (bool) – True if the calculation section is included, False if not
msg (str) – The message that appears right above the button in the Calculation section
- Return type
QWidget
- Returns
widget containing the clustering gui
Usage: QTabWidget.addTab(fp_sim.getTab(doSimilarity))
- sortEntryCheck()¶
Check if entries should be sorted or not (based on the toggle state of the Sort selected entries checkbox on the Similarity Tab.
- Return type
bool
- Returns
True if the Sort checkbox is checked, False if it is not or it doesn’t exist
- SIMILARITY_METRICS = ['Tanimoto', 'Modified Tanimoto', 'Hamming', 'Soergel', 'McConnaughey', 'Dice', 'Cosine', 'Simpson', 'Petke', 'Kulczynski', 'Euclidean', 'Tversky', 'Buser', 'Variance', 'Size', 'Shape', 'Pattern Difference', 'Hamann', 'Matching', 'Pearson', 'Rogers Tanimoto', 'Yule', 'Dixon', 'MinMax']¶
- __init__(logger)¶
Initialize the similarity class
- calculateSimilarity(fp1, fp2)¶
Calculate the similarity between the two fingerprints and return the value. The similarity is calculated using the similarity method which is current for this object (as set by setMetric())
- debug(output)¶
Wrapper for debug logging, just to simplify logging
- getAlpha()¶
Get the value of Alpha as used in the tversky similarity
- getBeta()¶
Get the value of Alpha as used in the tversky similarity
- getDescription()¶
Returns a string representing a summary of the current similarity settings
- getMetric()¶
Returns the currently set metric
- getMetricStyle()¶
Return a value corresponding to the current metric style. This is used in difference matrix construction as part of clustering
- setAlpha(alpha)¶
Set the value of Alpha as used in the tversky similarity
- setBeta(beta)¶
Set the value of Alpha as used in the tversky similarity
- setMetric(metric_name)¶
Set the current metric based on the metric name
- simBuser(fp1, fp2)¶
- simCosine(fp1, fp2)¶
- simDice(fp1, fp2)¶
- simDixon(fp1, fp2)¶
- simEuclidean(fp1, fp2)¶
- simHamann(fp1, fp2)¶
- simHamming(fp1, fp2)¶
- simKulczynski(fp1, fp2)¶
- simMatching(fp1, fp2)¶
- simMcConnaughey(fp1, fp2)¶
- simMinMax(fp1, fp2)¶
- simModifiedTanimoto(fp1, fp2)¶
- simPatternDifference(fp1, fp2)¶
- simPearson(fp1, fp2)¶
- simPetke(fp1, fp2)¶
- simRogersTanimoto(fp1, fp2)¶
- simShape(fp1, fp2)¶
- simSimpson(fp1, fp2)¶
- simSize(fp1, fp2)¶
- simSoergel(fp1, fp2)¶
- simTanimoto(fp1, fp2)¶
- simTversky(fp1, fp2)¶
- simVariance(fp1, fp2)¶
- simYule(fp1, fp2)¶