Module Expr Str Import alias identifier ImportFrom alias alias alias alias Assign NameStore ListLoad Str Str Str Str Str Str Str Str Str Str Str Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults Str Str body Expr Str If BoolOpAnd CompareGt Call NameLoad SubscriptLoad NameLoad Index NameLoad Num CompareGt Call NameLoad SubscriptLoad NameLoad Index NameLoad Num body Assign NameStore Call NameLoad SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad Index NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpBitAnd CompareGt NameLoad Num CompareLtE NameLoad NameLoad Return TupleLoad SubscriptLoad NameLoad Index SubscriptLoad NameLoad ExtSlice Slice Index Num SubscriptLoad NameLoad Index SubscriptLoad NameLoad ExtSlice Slice Index Num orelse Return TupleLoad SubscriptLoad NameLoad Index ListLoad SubscriptLoad NameLoad Index ListLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults Num Num Num body Expr Str Assign TupleStore NameStore NameStore Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Index SubscriptLoad AttributeLoad NameLoad attr Index Str SubscriptLoad AttributeLoad NameLoad attr Index SubscriptLoad AttributeLoad NameLoad attr Index Str NameLoad If BoolOpAnd CompareGt Call NameLoad NameLoad Num CompareGt Call NameLoad NameLoad Num body Assign NameStore Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Str ExtSlice Slice Index AttributeLoad NameLoad attr Slice SubscriptLoad SubscriptLoad NameLoad Index Str ExtSlice Slice Index AttributeLoad NameLoad attr Slice SubscriptLoad NameLoad Index Str Assign NameStore Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Str ExtSlice Slice Index AttributeLoad NameLoad attr Slice SubscriptLoad SubscriptLoad NameLoad Index Str ExtSlice Slice Index AttributeLoad NameLoad attr Slice SubscriptLoad NameLoad Index Str Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr UnaryOpInvert Call AttributeLoad NameLoad attr SubscriptLoad SubscriptLoad NameLoad Index Str ExtSlice Slice Slice Index Num keyword Num ExtSlice Slice Index AttributeLoad NameLoad attr Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr UnaryOpInvert Call AttributeLoad NameLoad attr SubscriptLoad SubscriptLoad NameLoad Index Str ExtSlice Slice Slice Index Num keyword Num ExtSlice Slice Index AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad BinOpBitAnd BinOpBitOr CompareGt NameLoad BinOpSub BinOpDiv NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad BinOpBitOr CompareGt NameLoad BinOpSub BinOpDiv NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad attr keyword Num Return TupleLoad NameLoad NameLoad NameLoad orelse Return TupleLoad NameLoad NameLoad Call AttributeLoad NameLoad attr ListLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults vararg kwarg body Expr Str Assign TupleStore NameStore NameStore NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad Assign TupleStore NameStore NameStore NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad Return TupleLoad Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults Num Num Num Num body Expr Str Assign TupleStore NameStore NameStore Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Index SubscriptLoad AttributeLoad NameLoad attr Index Str SubscriptLoad AttributeLoad NameLoad attr Index SubscriptLoad AttributeLoad NameLoad attr Index Str NameLoad If BoolOpAnd CompareGt Call NameLoad NameLoad Num CompareGt Call NameLoad NameLoad Num body Assign NameStore Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Str ExtSlice Slice Index AttributeLoad NameLoad attr Slice SubscriptLoad SubscriptLoad NameLoad Index Str ExtSlice Slice Index AttributeLoad NameLoad attr Slice SubscriptLoad NameLoad Index Str Assign NameStore Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Str ExtSlice Slice Index AttributeLoad NameLoad attr Slice SubscriptLoad SubscriptLoad NameLoad Index Str ExtSlice Slice Index AttributeLoad NameLoad attr Slice SubscriptLoad NameLoad Index Str Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr UnaryOpInvert Call AttributeLoad NameLoad attr SubscriptLoad SubscriptLoad NameLoad Index Str ExtSlice Slice Slice Index Num keyword Num ExtSlice Slice Index AttributeLoad NameLoad attr Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr UnaryOpInvert Call AttributeLoad NameLoad attr SubscriptLoad SubscriptLoad NameLoad Index Str ExtSlice Slice Slice Index Num keyword Num ExtSlice Slice Index AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad BinOpBitAnd BinOpBitOr CompareGt NameLoad BinOpSub BinOpDiv NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad BinOpBitOr CompareGt NameLoad BinOpSub BinOpDiv NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad attr keyword Num Return TupleLoad NameLoad NameLoad NameLoad orelse Return TupleLoad NameLoad NameLoad Call AttributeLoad NameLoad attr ListLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Expr Str Assign TupleStore NameStore NameStore NameStore Call NameLoad NameLoad NameLoad NameLoad Assign TupleStore NameStore NameStore NameStore Call NameLoad NameLoad NameLoad NameLoad Return TupleLoad Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults Num Num body Expr Str Assign TupleStore NameStore NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad keyword Str keyword Str If BoolOpAnd CompareGt Call NameLoad NameLoad Num CompareGt Call NameLoad NameLoad Num body Assign NameStore Call NameLoad SubscriptLoad NameLoad Index Str SubscriptLoad NameLoad Index Str Assign NameStore Call NameLoad BinOpAdd SubscriptLoad NameLoad Index Str SubscriptLoad NameLoad Index Str SubscriptLoad NameLoad Index Str SubscriptLoad NameLoad Index Str Assign NameStore BinOpBitAnd BinOpBitOr CompareGt NameLoad BinOpSub Num NameLoad CompareLt NameLoad NameLoad BinOpBitOr CompareGt NameLoad BinOpSub Num NameLoad CompareLt NameLoad NameLoad Assign NameStore BinOpBitAnd BinOpBitAnd CompareGt NameLoad BinOpSub Num NameLoad CompareLt NameLoad BinOpAdd Num NameLoad BinOpBitOr CompareGt NameLoad BinOpSub Num NameLoad CompareLt NameLoad NameLoad Return TupleLoad NameLoad NameLoad NameLoad NameLoad orelse Return TupleLoad NameLoad NameLoad Call AttributeLoad NameLoad attr ListLoad keyword NameLoad Call AttributeLoad NameLoad attr ListLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Num body Expr Str Assign TupleStore NameStore NameStore Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Index SubscriptLoad AttributeLoad NameLoad attr Index Str SubscriptLoad AttributeLoad NameLoad attr Index SubscriptLoad AttributeLoad NameLoad attr Index Str NameLoad Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults vararg kwarg body Expr Str Assign TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad Assign TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad Return TupleLoad Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Num body Expr Str Assign TupleStore NameStore NameStore Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Index SubscriptLoad AttributeLoad NameLoad attr Index Str SubscriptLoad AttributeLoad NameLoad attr Index SubscriptLoad AttributeLoad NameLoad attr Index Str NameLoad Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults Num Num body Expr Str Assign TupleStore NameStore NameStore Call NameLoad AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index SubscriptLoad AttributeLoad NameLoad attr Index Str NameLoad keyword Str If BoolOpAnd CompareGt Call NameLoad NameLoad Num CompareGt Call NameLoad NameLoad Num body Assign NameStore Call NameLoad SubscriptLoad NameLoad Index Str BinOpSub SubscriptLoad NameLoad Index Str SubscriptLoad NameLoad Index Str Assign NameStore BinOpBitOr CompareGt NameLoad BinOpSub Num NameLoad CompareLt NameLoad NameLoad Return TupleLoad NameLoad NameLoad NameLoad orelse Return TupleLoad NameLoad NameLoad Call AttributeLoad NameLoad attr ListLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults Num Num Num body Expr Str Assign TupleStore NameStore NameStore Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Index SubscriptLoad AttributeLoad NameLoad attr Index Str SubscriptLoad AttributeLoad NameLoad attr Index SubscriptLoad AttributeLoad NameLoad attr Index Str NameLoad If BoolOpAnd CompareGt Call NameLoad NameLoad Num CompareGt Call NameLoad NameLoad Num body Assign NameStore Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Str ExtSlice Slice Index AttributeLoad NameLoad attr Slice SubscriptLoad SubscriptLoad NameLoad Index Str ExtSlice Slice Index AttributeLoad NameLoad attr Slice SubscriptLoad NameLoad Index Str Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr UnaryOpInvert Call AttributeLoad NameLoad attr SubscriptLoad SubscriptLoad NameLoad Index Str ExtSlice Slice Slice Index Num keyword Num ExtSlice Slice Index AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad BinOpBitOr CompareGt NameLoad BinOpSub BinOpDiv NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad attr keyword Num Return TupleLoad NameLoad NameLoad NameLoad orelse Return TupleLoad NameLoad NameLoad Call AttributeLoad NameLoad attr ListLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults Num Num body Expr Str Assign TupleStore NameStore NameStore Call NameLoad AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index SubscriptLoad AttributeLoad NameLoad attr Index Str NameLoad keyword Str If BoolOpAnd CompareGt Call NameLoad NameLoad Num CompareGt Call NameLoad NameLoad Num body Assign NameStore Call NameLoad SubscriptLoad NameLoad Index Str BinOpSub SubscriptLoad NameLoad Index Str SubscriptLoad NameLoad Index Str Assign NameStore BinOpBitOr CompareGt NameLoad BinOpSub Num NameLoad CompareLt NameLoad NameLoad Return TupleLoad NameLoad NameLoad NameLoad orelse Return TupleLoad NameLoad NameLoad Call AttributeLoad NameLoad attr ListLoad keyword NameLoad decorator_list
N/A N/A Module calculates interactions between two molecules (proein-protein, protein-ligand, small-small).
Currently following interacions are implemented:
    * hydrogen bonds
    * halogen bonds
    * pi stacking (parallel and perpendicular)
    * salt bridges
    * hydrophobic contacts
    * pi-cation
    * metal coordination
    * pi-metal
 N/A numpy np oddt.spatial dihedral angle angle_2v distance N/A __all__ N/A close_contacts hbond_acceptor_donor hbond halogenbond_acceptor_halogen halogenbond pi_stacking salt_bridge_plus_minus salt_bridges hydrophobic_contacts pi_cation acceptor_metal pi_metal close_contacts N/A N/A x y cutoff x_column y_column N/A coords coords N/A N/A  Returns pairs of atoms which are within close contac distance cutoff.

        Parameters
        ----------
            x, y : atom_dict-type numpy array
                Atom dictionaries generated by oddt.toolkit.Molecule objects.

            cutoff : float
                Cutoff distance for close contacts

            x_column, ycolumn : string, (default='coords')
                Column containing coordinates of atoms (or pseudo-atoms, i.e. ring centroids)

        Returns
        -------
            x_, y_ : atom_dict-type numpy array
                Aligned pairs of atoms in close contact for further processing.
     N/A N/A N/A N/A len N/A x N/A x_column 0 N/A N/A len N/A x N/A x_column 0 N/A N/A d N/A distance N/A x N/A x_column N/A y N/A y_column N/A index N/A N/A np argwhere N/A N/A d 0 N/A d cutoff N/A N/A N/A x N/A N/A index N/A N/A N/A 0 N/A y N/A N/A index N/A N/A N/A 1 N/A N/A N/A N/A x N/A N/A N/A y N/A N/A N/A hbond_acceptor_donor N/A N/A mol1 mol2 cutoff base_angle tolerance N/A 3.5 120 30 N/A N/A Returns pairs of acceptor-donor atoms, which meet H-bond criteria

    Parameters
    ----------
        mol1, mol2 : oddt.toolkit.Molecule object
            Molecules to compute H-bond acceptor and H-bond donor pairs

        cutoff : float, (default=3.5)
            Distance cutoff for A-D pairs

        base_angle : int, (default=120)
            Base angle determining allowed direction of hydrogen bond formation, which is devided by the number of neighbors of acceptor atom to establish final directional angle

        tolerance : int, (default=30)
            Range (+/- tolerance) from perfect direction (base_angle/n_neighbors) in which H-bonds are considered as strict.

    Returns
    -------
        a, d : atom_dict-type numpy array
            Aligned arrays of atoms forming H-bond, firstly acceptors, secondly donors.

        strict : numpy array, dtype=bool
            Boolean array align with atom pairs, informing whether atoms form 'strict' H-bond (pass all angular cutoffs). If false, only distance cutoff is met, therefore the bond is 'crude'.
     N/A N/A a d N/A close_contacts N/A N/A mol1 atom_dict N/A N/A N/A mol1 atom_dict N/A isacceptor N/A N/A mol2 atom_dict N/A N/A N/A mol2 atom_dict N/A isdonor cutoff N/A N/A N/A N/A len a 0 N/A N/A len d 0 N/A N/A angle1 N/A angle N/A N/A d N/A coords N/A N/A N/A N/A np newaxis N/A N/A N/A a N/A coords N/A N/A N/A N/A np newaxis N/A N/A a N/A neighbors N/A angle2 N/A angle N/A N/A a N/A coords N/A N/A N/A N/A np newaxis N/A N/A N/A d N/A coords N/A N/A N/A N/A np newaxis N/A N/A d N/A neighbors N/A a_neighbors_num N/A N/A N/A np sum N/A N/A N/A np isnan N/A N/A a N/A neighbors N/A N/A N/A N/A 0 axis -1 N/A N/A N/A N/A np newaxis N/A d_neighbors_num N/A N/A N/A np sum N/A N/A N/A np isnan N/A N/A d N/A neighbors N/A N/A N/A N/A 0 axis -1 N/A N/A N/A N/A np newaxis N/A strict N/A N/A N/A N/A N/A angle1 N/A N/A base_angle a_neighbors_num tolerance N/A N/A np isnan angle1 N/A N/A angle2 N/A N/A base_angle d_neighbors_num tolerance N/A N/A np isnan angle2 all axis -1 N/A N/A a d strict N/A N/A N/A a d N/A N/A np array N/A dtype bool N/A hbond N/A N/A mol1 mol2 N/A args kwargs N/A N/A Calculates H-bonds between molecules

    Parameters
    ----------
        mol1, mol2 : oddt.toolkit.Molecule object
            Molecules to compute H-bond acceptor and H-bond donor pairs

        cutoff : float, (default=3.5)
            Distance cutoff for A-D pairs

        base_angle : int, (default=120)
            Base angle determining allowed direction of hydrogen bond formation, which is devided by the number of neighbors of acceptor atom to establish final directional angle

        tolerance : int, (default=30)
            Range (+/- tolerance) from perfect direction (base_angle/n_neighbors) in which H-bonds are considered as strict.

    Returns
    -------
        mol1_atoms, mol2_atoms : atom_dict-type numpy array
            Aligned arrays of atoms forming H-bond

        strict : numpy array, dtype=bool
            Boolean array align with atom pairs, informing whether atoms form 'strict' H-bond (pass all angular cutoffs). If false, only distance cutoff is met, therefore the bond is 'crude'.
     N/A N/A a1 d1 s1 N/A hbond_acceptor_donor mol1 mol2 args kwargs N/A N/A a2 d2 s2 N/A hbond_acceptor_donor mol2 mol1 args kwargs N/A N/A N/A N/A np concatenate N/A a1 d2 N/A N/A np concatenate N/A d1 a2 N/A N/A np concatenate N/A s1 s2 N/A halogenbond_acceptor_halogen N/A N/A mol1 mol2 base_angle_acceptor base_angle_halogen tolerance cutoff N/A 120 180 30 4 N/A N/A Returns pairs of acceptor-halogen atoms, which meet halogen bond criteria

    Parameters
    ----------
        mol1, mol2 : oddt.toolkit.Molecule object
            Molecules to compute halogen bond acceptor and halogen pairs

        cutoff : float, (default=4)
            Distance cutoff for A-H pairs

        base_angle_acceptor : int, (default=120)
            Base angle determining allowed direction of halogen bond formation, which is devided by the number of neighbors of acceptor atom to establish final directional angle

        base_angle_halogen : int (default=180)
            Ideal base angle between halogen bond and halogen-neighbor bond

        tolerance : int, (default=30)
            Range (+/- tolerance) from perfect direction (base_angle/n_neighbors) in which halogen bonds are considered as strict.

    Returns
    -------
        a, h : atom_dict-type numpy array
            Aligned arrays of atoms forming halogen bond, firstly acceptors, secondly halogens

        strict : numpy array, dtype=bool
            Boolean array align with atom pairs, informing whether atoms form 'strict' halogen bond (pass all angular cutoffs). If false, only distance cutoff is met, therefore the bond is 'crude'.
     N/A N/A a h N/A close_contacts N/A N/A mol1 atom_dict N/A N/A N/A mol1 atom_dict N/A isacceptor N/A N/A mol2 atom_dict N/A N/A N/A mol2 atom_dict N/A ishalogen cutoff N/A N/A N/A N/A len a 0 N/A N/A len h 0 N/A N/A angle1 N/A angle N/A N/A h N/A coords N/A N/A N/A N/A np newaxis N/A N/A N/A a N/A coords N/A N/A N/A N/A np newaxis N/A N/A a N/A neighbors N/A angle2 N/A angle N/A N/A a N/A coords N/A N/A N/A N/A np newaxis N/A N/A N/A h N/A coords N/A N/A N/A N/A np newaxis N/A N/A h N/A neighbors N/A a_neighbors_num N/A N/A N/A np sum N/A N/A N/A np isnan N/A N/A a N/A neighbors N/A N/A N/A N/A 0 axis -1 N/A N/A N/A N/A np newaxis N/A h_neighbors_num N/A N/A N/A np sum N/A N/A N/A np isnan N/A N/A h N/A neighbors N/A N/A N/A N/A 0 axis -1 N/A N/A N/A N/A np newaxis N/A strict N/A N/A N/A N/A N/A angle1 N/A N/A base_angle_acceptor a_neighbors_num tolerance N/A N/A np isnan angle1 N/A N/A angle2 N/A N/A base_angle_halogen h_neighbors_num tolerance N/A N/A np isnan angle2 all axis -1 N/A N/A a h strict N/A N/A N/A a h N/A N/A np array N/A dtype bool N/A halogenbond N/A N/A mol1 mol2 N/A kwargs N/A N/A Calculates halogen bonds between molecules

    Parameters
    ----------
        mol1, mol2 : oddt.toolkit.Molecule object
            Molecules to compute halogen bond acceptor and halogen pairs

        cutoff : float, (default=4)
            Distance cutoff for A-H pairs

        base_angle_acceptor : int, (default=120)
            Base angle determining allowed direction of halogen bond formation, which is devided by the number of neighbors of acceptor atom to establish final directional angle

        base_angle_halogen : int (default=180)
            Ideal base angle between halogen bond and halogen-neighbor bond

        tolerance : int, (default=30)
            Range (+/- tolerance) from perfect direction (base_angle/n_neighbors) in which halogen bonds are considered as strict.

    Returns
    -------
        mol1_atoms, mol2_atoms : atom_dict-type numpy array
            Aligned arrays of atoms forming halogen bond

        strict : numpy array, dtype=bool
            Boolean array align with atom pairs, informing whether atoms form 'strict' halogen bond (pass all angular cutoffs). If false, only distance cutoff is met, therefore the bond is 'crude'.
     N/A N/A a1 h1 s1 N/A halogenbond_acceptor_halogen mol1 mol2 kwargs N/A N/A a2 h2 s2 N/A halogenbond_acceptor_halogen mol2 mol1 kwargs N/A N/A N/A N/A np concatenate N/A a1 h2 N/A N/A np concatenate N/A h1 a2 N/A N/A np concatenate N/A s1 s2 N/A pi_stacking N/A N/A mol1 mol2 cutoff tolerance N/A 5 30 N/A N/A Returns pairs of rings, which meet pi stacking criteria

    Parameters
    ----------
        mol1, mol2 : oddt.toolkit.Molecule object
            Molecules to compute ring pairs

        cutoff : float, (default=5)
            Distance cutoff for Pi-stacking pairs

        tolerance : int, (default=30)
            Range (+/- tolerance) from perfect direction (parallel or perpendicular) in which pi-stackings are considered as strict.

    Returns
    -------
        r1, r2 : ring_dict-type numpy array
            Aligned arrays of rings forming pi-stacking

        strict_parallel : numpy array, dtype=bool
            Boolean array align with ring pairs, informing whether rings form 'strict' parallel pi-stacking. If false, only distance cutoff is met, therefore the stacking is 'crude'.

        strict_perpendicular : numpy array, dtype=bool
            Boolean array align with ring pairs, informing whether rings form 'strict' perpendicular pi-stacking (T-shaped, T-face, etc.). If false, only distance cutoff is met, therefore the stacking is 'crude'.
     N/A N/A r1 r2 N/A close_contacts N/A mol1 ring_dict N/A mol2 ring_dict cutoff x_column centroid y_column centroid N/A N/A N/A N/A len r1 0 N/A N/A len r2 0 N/A N/A angle1 N/A angle_2v N/A r1 N/A vector N/A r2 N/A vector N/A angle2 N/A angle N/A N/A r1 N/A vector N/A r1 N/A centroid N/A r1 N/A centroid N/A r2 N/A centroid N/A strict_parallel N/A N/A N/A angle1 N/A 180 tolerance N/A angle1 tolerance N/A N/A angle2 N/A 180 tolerance N/A angle2 tolerance N/A strict_perpendicular N/A N/A N/A angle1 N/A 90 tolerance N/A angle1 N/A 90 tolerance N/A N/A angle2 N/A 180 tolerance N/A angle2 tolerance N/A N/A r1 r2 strict_parallel strict_perpendicular N/A N/A N/A r1 r2 N/A N/A np array N/A dtype bool N/A N/A np array N/A dtype bool N/A salt_bridge_plus_minus N/A N/A mol1 mol2 cutoff N/A 4 N/A N/A Returns pairs of plus-mins atoms, which meet salt bridge criteria

    Parameters
    ----------
        mol1, mol2 : oddt.toolkit.Molecule object
            Molecules to compute plus and minus pairs

        cutoff : float, (default=4)
            Distance cutoff for A-H pairs

    Returns
    -------
        plus, minus : atom_dict-type numpy array
            Aligned arrays of atoms forming salt bridge, firstly plus, secondly minus

     N/A N/A m1_plus m2_minus N/A close_contacts N/A N/A mol1 atom_dict N/A N/A N/A mol1 atom_dict N/A isplus N/A N/A mol2 atom_dict N/A N/A N/A mol2 atom_dict N/A isminus cutoff N/A N/A m1_plus m2_minus N/A salt_bridges N/A N/A mol1 mol2 N/A args kwargs N/A N/A Calculates salt bridges between molecules

    Parameters
    ----------
        mol1, mol2 : oddt.toolkit.Molecule object
            Molecules to compute plus and minus pairs

        cutoff : float, (default=4)
            Distance cutoff for plus-minus pairs

    Returns
    -------
        mol1_atoms, mol2_atoms : atom_dict-type numpy array
            Aligned arrays of atoms forming salt bridges

     N/A N/A m1_plus m2_minus N/A salt_bridge_plus_minus mol1 mol2 args kwargs N/A N/A m2_plus m1_minus N/A salt_bridge_plus_minus mol2 mol1 args kwargs N/A N/A N/A N/A np concatenate N/A m1_plus m1_minus N/A N/A np concatenate N/A m2_minus m2_plus N/A hydrophobic_contacts N/A N/A mol1 mol2 cutoff N/A 4 N/A N/A Calculates hydrophobic contacts between molecules

    Parameters
    ----------
        mol1, mol2 : oddt.toolkit.Molecule object
            Molecules to compute hydrophobe pairs

        cutoff : float, (default=4)
            Distance cutoff for hydrophobe pairs

    Returns
    -------
        mol1_atoms, mol2_atoms : atom_dict-type numpy array
            Aligned arrays of atoms forming hydrophobic contacts

     N/A N/A h1 h2 N/A close_contacts N/A N/A mol1 atom_dict N/A N/A N/A mol1 atom_dict N/A ishydrophobe N/A N/A mol2 atom_dict N/A N/A N/A mol2 atom_dict N/A ishydrophobe cutoff N/A N/A h1 h2 N/A pi_cation N/A N/A mol1 mol2 cutoff tolerance N/A 5 30 N/A N/A Returns pairs of ring-cation atoms, which meet pi-cation criteria

    Parameters
    ----------
        mol1, mol2 : oddt.toolkit.Molecule object
            Molecules to compute ring-cation pairs

        cutoff : float, (default=5)
            Distance cutoff for Pi-cation pairs

        tolerance : int, (default=30)
            Range (+/- tolerance) from perfect direction (perpendicular) in which pi-cation are considered as strict.

    Returns
    -------
        r1 : ring_dict-type numpy array
            Aligned rings forming pi-stacking

        plus2 : atom_dict-type numpy array
            Aligned cations forming pi-cation

        strict_parallel : numpy array, dtype=bool
            Boolean array align with ring-cation pairs, informing whether they form 'strict' pi-cation. If false, only distance cutoff is met, therefore the interaction is 'crude'.

     N/A N/A r1 plus2 N/A close_contacts N/A mol1 ring_dict N/A N/A mol2 atom_dict N/A N/A N/A mol2 atom_dict N/A isplus cutoff x_column centroid N/A N/A N/A N/A len r1 0 N/A N/A len plus2 0 N/A N/A angle1 N/A angle_2v N/A r1 N/A vector N/A N/A plus2 N/A coords N/A r1 N/A centroid N/A strict N/A N/A angle1 N/A 180 tolerance N/A angle1 tolerance N/A N/A r1 plus2 strict N/A N/A N/A r1 plus2 N/A N/A np array N/A dtype bool N/A acceptor_metal N/A N/A mol1 mol2 base_angle tolerance cutoff N/A 120 30 4 N/A N/A Returns pairs of acceptor-metal atoms, which meet metal coordination criteria
    Note: This function is directional (mol1 holds acceptors, mol2 holds metals)

    Parameters
    ----------
        mol1, mol2 : oddt.toolkit.Molecule object
            Molecules to compute acceptor and metal pairs

        cutoff : float, (default=4)
            Distance cutoff for A-M pairs

        base_angle : int, (default=120)
            Base angle determining allowed direction of metal coordination, which is devided by the number of neighbors of acceptor atom to establish final directional angle

        tolerance : int, (default=30)
            Range (+/- tolerance) from perfect direction (base_angle/n_neighbors) in metal coordination are considered as strict.

    Returns
    -------
        a, d : atom_dict-type numpy array
            Aligned arrays of atoms forming metal coordination, firstly acceptors, secondly metals.

        strict : numpy array, dtype=bool
            Boolean array align with atom pairs, informing whether atoms form 'strict' metal coordination (pass all angular cutoffs). If false, only distance cutoff is met, therefore the interaction is 'crude'.
     N/A N/A a m N/A close_contacts N/A N/A mol1 atom_dict N/A N/A N/A mol1 atom_dict N/A isacceptor N/A N/A mol2 atom_dict N/A N/A N/A mol2 atom_dict N/A ismetal cutoff N/A N/A N/A N/A len a 0 N/A N/A len m 0 N/A N/A angle1 N/A angle N/A N/A m N/A coords N/A N/A N/A N/A np newaxis N/A N/A N/A a N/A coords N/A N/A N/A N/A np newaxis N/A N/A a N/A neighbors N/A a_neighbors_num N/A N/A N/A np sum N/A N/A N/A np isnan N/A N/A a N/A neighbors N/A N/A N/A N/A 0 axis -1 N/A N/A N/A N/A np newaxis N/A strict N/A N/A N/A N/A angle1 N/A N/A base_angle a_neighbors_num tolerance N/A N/A np isnan angle1 all axis -1 N/A N/A a m strict N/A N/A N/A a m N/A N/A np array N/A dtype bool N/A pi_metal N/A N/A mol1 mol2 cutoff tolerance N/A 5 30 N/A N/A Returns pairs of ring-metal atoms, which meet pi-metal criteria

    Parameters
    ----------
        mol1, mol2 : oddt.toolkit.Molecule object
            Molecules to compute ring-metal pairs

        cutoff : float, (default=5)
            Distance cutoff for Pi-metal pairs

        tolerance : int, (default=30)
            Range (+/- tolerance) from perfect direction (perpendicular) in which pi-metal are considered as strict.

    Returns
    -------
        r1 : ring_dict-type numpy array
            Aligned rings forming pi-metal

        m : atom_dict-type numpy array
            Aligned metals forming pi-metal

        strict_parallel : numpy array, dtype=bool
            Boolean array align with ring-metal pairs, informing whether they form 'strict' pi-metal. If false, only distance cutoff is met, therefore the interaction is 'crude'.

     N/A N/A r1 m N/A close_contacts N/A mol1 ring_dict N/A N/A mol2 atom_dict N/A N/A N/A mol2 atom_dict N/A ismetal cutoff x_column centroid N/A N/A N/A N/A len r1 0 N/A N/A len m 0 N/A N/A angle1 N/A angle_2v N/A r1 N/A vector N/A N/A m N/A coords N/A r1 N/A centroid N/A strict N/A N/A angle1 N/A 180 tolerance N/A angle1 tolerance N/A N/A r1 m strict N/A N/A N/A r1 m N/A N/A np array N/A dtype bool N/A