schrodinger.application.phase.packages.mmp2d module¶
This module provides functions that perform various types of queries on a matched molecular pairs 2D database.
- class schrodinger.application.phase.packages.mmp2d.MMPDatabaseConnection(db_path)¶
Bases:
object
Context manager for a 2D MMP SQLite database connection.
- __init__(db_path)¶
- schrodinger.application.phase.packages.mmp2d.get_activity_cliffs(mmp2d_db_path, property_name, property_diff)¶
Given an MMP 2D SQLite database, this function returns all pairs of compound ids from the pair table for which the absolute difference in the indicated property is greater than or equal to property_diff.
- Parameters
mmp2d_db_path (str) – Path to MMP 2D database
- Property_name
Name of the property for activity cliffs
- Property_diff
Threshold on absolute property difference
- Returns
Pairs of compound ids that exhibit an activity cliff
- Return type
list[(int, int)]
- schrodinger.application.phase.packages.mmp2d.get_compound_smiles(mmp2d_db_path)¶
Returns the compound id –> SMILES dictionary created from the compound table of the supplied MMP 2D SQLite database.
- Parameters
mmp2d_db_path (str) – Path to MMP 2D database
- Returns
compound id –> SMILES dictionary
- Return type
dict{int: str}
- schrodinger.application.phase.packages.mmp2d.get_ids_from_pairs(compound_pairs)¶
Returns all unique compound ids in the provided pairs of compound ids.
- Parameters
compound_pairs (list[(int, int)]) – Pairs of compound ids
- Returns
Unique compound ids in increasing order
- Return type
list[int]
- schrodinger.application.phase.packages.mmp2d.get_pair_rule_env_ids(mmp2d_db_path, compound_pairs)¶
Returns a dictionary that maps each of the provided pairs of compound ids to a sorted list of rule environment ids, which are primary keys in the rule_environment table. For each pair (id1, id2), both the input order and the reverse order (id2, id1) are considered and are entered into the dictionary if rule environment ids are found for the given order. Thus, both orders should be checked when using the returned dictionary, and if a given pair must be reversed to find a match in the dictionary, the order-sensitive data in the transformation must be reversed/negated.
- Parameters
mmp2d_db_path (str) – Path to MMP 2D database
compound_pairs (set((int, int))) – Pairs of compound ids
- Returns
(compound1_id, compound2_id) –> rule environment ids
- Return type
dict{(int, int): list[int]}
- schrodinger.application.phase.packages.mmp2d.get_property_names(mmp2d_db_path)¶
Returns the property name –> property id dictionary created from the property_name table of the supplied MMP 2D SQLite database.
- Parameters
mmp2d_db_path (str) – Path to MMP 2D database
- Returns
property name –> property id dictionary
- Return type
dict{str: int}
- schrodinger.application.phase.packages.mmp2d.get_property_values(mmp2d_db_path, prop_name)¶
Returns the compound id –> property value dictionary created from the compound_property table of the supplied MMP 2D SQLite database.
- Parameters
mmp2d_db_path (str) – Path to MMP 2D database
property_name (str) – Property name whose values are desired
- Returns
compound id –> property value dictionary
- Return type
dict{int: float}
- schrodinger.application.phase.packages.mmp2d.get_public_ids(mmp2d_db_path)¶
Returns the compound id –> public id dictionary created from the compound table of the supplied MMP 2D SQLite database.
- Parameters
mmp2d_db_path (str) – Path to MMP 2D database
- Returns
property id –> public id dictionary
- Return type
dict{int: str}
- schrodinger.application.phase.packages.mmp2d.get_rule_env_rule_id(mmp2d_db_path)¶
Returns the rule_environment id –> rule_id dictionary created from the rule_environment table of the supplied MMP 2D SQLite database.
- Parameters
mmp2d_db_path (str) – Path to MMP 2D database
- Returns
rule environment id –> rule id dictionary
- Return type
dict{int: int}
- schrodinger.application.phase.packages.mmp2d.get_rule_env_stats(mmp2d_db_path)¶
Returns the rule_environment id –> [min, max, avg, std, count] dictionary for the corresponding statistics in the rule_environment_statistics table. If a particular statistic is NULL (e.g., std when count is 1), a value of None is returned for that statistic.
- Parameters
mmp2d_db_path (str) – Path to MMP 2D database
- Returns
rule environment id –> statistics dictionary
- Return type
dict{int: [float, float, float, float, int]}
- schrodinger.application.phase.packages.mmp2d.get_rule_id_rule_smiles(mmp2d_db_path)¶
Returns the rule_id –> [from_smiles, to_smiles] dictionary created from the rule and rule_smiles tables of the supplied MMP 2D SQLite database.
- Parameters
mmp2d_db_path (str) – Path to MMP 2D database
- Returns
rule_id –> [from_smiles, to_smiles] dictionary
- Return type
dict{int: [str, str]}
- schrodinger.application.phase.packages.mmp2d.get_transformations(compound_pair, pair_to_rule_env_ids, env_id_to_rule_id, rule_id_to_rule_smiles, env_id_to_stats)¶
Given a pair of compound ids and various dictionaries created from the database tables, this function returns a list of dictionaries that hold data for one or more MMP transformations that relate the first compound to the second compound. Each dictionary in the returned list contains the following key, value pairs:
Key Value — —– TRANS_KEYS.FROM_SMILES MMP fragment SMIRKS for the first compound (str) TRANS_KEYS.TO_SMILES MMP fragment SMIRKS for the second compound (str) TRANS_KEYS.MIN The min statistic for the transformation (float) TRANS_KEYS.MAX The max statistic for the transformation (float) TRANS_KEYS.AVG The avg statistic for the transofrmation (float) TRANS_KEYS.STD The std statistic for the transformation (float) TRANS_KEYS.COUNT The count statistic for the transformation (int)
- Parameters
mmp2d_db_path (str) – Path to MMP 2D database
compound_pair ((int, int)) – A pair of compound ids from the compound table. The input order and reverse order of the ids are considered, with reversal of from_smiles and to_smiles and negation of min, max and avg in the latter case.
pair_to_rule_env_ids (dict{(int, int): list[int]}) – Dictionary that maps compound id pairs to to rule environment ids. See get_pair_rule_env_ids.
env_id_to_rule_id (dict{int: int}) – Dictionary that maps rule_environment id to rule_id. See get_rule_env_rule_id.
rule_id_to_rule_smiles (dict{int: (str, str)}) – Dictionary that maps rule_id to the (from_smiles, to_smiles) pair that defines the transformation. See get_rule_id_rule_smiles.
env_id_to_stats (dict{int: (float, float, float, float, int)}) – Dictionary that maps rule_environment id to the tuple (min, max, avg, std, count). See get_rule_env_stats.
- Returns
List of transformation dictionaries
- Return type
list[dict{str: str/str/float/float/float/float/int}]
- Raises
KeyError if neither the input compound_pair nor its reverse is found in pair_to_rule_env_ids
- schrodinger.application.phase.packages.mmp2d.select_dictionary(mmp2d_db_path, select_stmt)¶
Executes a select statement on the supplied MMP 2D SQLite database and returns the results as a dictionary.
- Parameters
mmp2d_db_path (str) – Path to MMP 2D database
select_stmt (str) – SELECT statement containing two fields
- Returns
field1 –> field2 dictionary
- Return type
dict{type(field1): type(field2)}
- schrodinger.application.phase.packages.mmp2d.table_exists(mmp2d_db_path, table_name)¶
Returns true if the specified table exists in the supplied MMP 2D SQLite database.
- Parameters
mmp2d_db_path (str) – Path to MMP 2D database
table_name (str) – Table whose existence is sought
- Returns
Whether the table exists
- Return type
bool