schrodinger.application.combinatorial_screen.fingerprint_utils module

This module provides Canvas fingerprint-related functionality needed for combinatorial similarity and diversity applications.

Copyright Schrodinger LLC, All Rights Reserved.

schrodinger.application.combinatorial_screen.fingerprint_utils.combine_fingerprints(subjob_names, outfile)

Combines fingerprints from subjobs to the indicated output file.

Parameters
  • subjob_names (list(str)) – Subjob names.

  • outfile (str) – Output fingerprint file.

schrodinger.application.combinatorial_screen.fingerprint_utils.create_reactant_fp_file(reactants_file, fp_file)

Creates a Canvas dendritic fingerprint file for a set of reactants in a .csv file or a .pfx zip archive.

Parameters
  • reactants_file (str) – Input .csv file with SMILES and titles, or .pfx archive

  • fp_file (str) – Output fingerprint file. Will contain titles as the structure ids and SMILES as the lone extra data column.

Returns

The number of fingerprints written

Return type

int

Raises
  • FileNotFoundError – If reactants_file cannot be found

  • canvas.ChmException – If a Canvas-related error occurs

schrodinger.application.combinatorial_screen.fingerprint_utils.get_reactant_combo_sim(query_fp, reactant_fp_lists, reactant_combo)

Returns the Tanimoto simliarity between the provided query fingerprint and the logical OR fingerprint of a particular reactant combination.

Parameters
  • query_fp (canvas.ChmSparseBitset) – Query fingerprint

  • reactant_fp_lists (list(list(canvas.ChmSparseBitset))) – Lists of reactant fingerprints

  • reactant_combo (list(int)) – A list of 0-based positions into reactant_fp_lists which define the combination of reactants

Returns

Tanimoto similarity

Return type

float

schrodinger.application.combinatorial_screen.fingerprint_utils.rank_reactants(fp_file, query_fp, max_reactants, alpha=1.0, beta=0.0)

Reads a file of reactant fingerprints, scores them against a query fingerprint, and returns titles, SMILES, reactant indices and bitsets sorted by decreasing score and capped at max_reactants. Scores are computed as the Tversky similarity between reactant and query:

ON(R & Q) / (ON(R & Q) + alpha * ON(R - Q) + beta * ON(Q - R))

where:

ON(R & Q) = Number of ‘on’ bits shared by reactant and query ON(R - Q) = Number of ‘on’ bits that are unique to reactant ON(Q - R) = Number of ‘on’ bits that are unique to query

Parameters
  • fp_file (str) – Input file of reactant fingerprints

  • query_fp (canvas.ChmSparseBitset) – Query fingerprint for scoring reactants

  • max_reactants (int) – Cap on the number of rows in each returned list

  • alpha (float) – Reactant weight

  • beta (float) – Query weight (use 1.0 for Tanimoto similarity)

Returns

Lists of titles, SMILES, zero-based indices and bitsets

Return type

list(str), list(str), list(int), list(canvas.ChmSparseBitset)

Raises
  • FileNotFoundError – If fp_file cannot be found

  • canvas.ChmException – If a Canvas-related error occurs

schrodinger.application.combinatorial_screen.fingerprint_utils.read_reactant_fps(fp_file)

Reads a file of reactant fingerprints and returns titles, SMILES and bitsets for all rows in the file.

Parameters

fp_file (str) – Input file of reactant fingerprints

Returns

Lists of bitsets, titles and SMILES

Return type

list(canvas.ChmSparseBitset), list(str), list(str)

Raises
  • FileNotFoundError – If fp_file cannot be found

  • canvas.ChmException – If a Canvas-related error occurs

schrodinger.application.combinatorial_screen.fingerprint_utils.smiles_to_fingerprint(smiles)

Returns a dendritic fingerprint for the provided SMILES string.

Parameters

smiles (str) – SMILES string

Returns

Bitset that represents the fingerprint

Return type

canvas.ChmSparseBitset

Raises

RuntimeError – If a Canvas-related error occurs

schrodinger.application.combinatorial_screen.fingerprint_utils.smiles_to_fingerprints(smiles_list)

Returns dendritic fingerprints for a list of SMILES strings.

Parameters

smiles_list (list(str)) – List of SMILES strings

Returns

Fingerprints for the provided SMILES strings

Return type

list(canvas.ChmSparseBitset)

Raises

RuntimeError – If a Canvas-related error occurs