LehighInfolab / Infolab-Utils

GNU General Public License v3.0
0 stars 2 forks source link

Create x3 utility function files from graph_data_set.ipynb #4

Open G-Armstrong opened 1 year ago

G-Armstrong commented 1 year ago

The file graph_data_set.ipynb contains many modular functions that can be utilized by others to repeat similar forms of analysis. This tasks asks you to extract a series of these reusable functions and make them available as independent scripts.

For the 1st file: Extract parse_cones_file( ) and return_condensed_dicts( ). The first function parses a single .cones file and returns a formatted dictionary of all of its cones. The second function, return_condensed_dicts( ) takes two of these formatted dictionaries as well as the interface atoms for both dictionaries and condenses the larger formatted dictionaries into just those key, value pairs that occur at the interface. Call this 1st file `return_interface_cones.py'

For the 2nd file: Extract functions extract_lists( ) and eliminate_triplets( ). The first function extracts all apex atom coordinates from the input dictionaries and returns 2 lists of tuples containing only the apex atom coordinates for both dictionaries. The second function eliminate_triplets( ) takes these 2 lists of tuples as well as a cutoff value and returns the condensed lists of only those (x,y,z) coordinate tuples that are within the pairwise distance cut off for hydrogen bonds. Both functions are intended to work together. This synergistic combination of functions is how you identify those atomic coordinates in 2 interacting halves of a PPI that are close enough to one another to be involved in interfacial hydrogen bonding. Call this 2nd file return_interfacial_hbond_coordinates.py

For the 3rd file: Extract functions find_intersection( ), face_each_other( ), intersect( ), distance( ), and dot( ). All function can be found under the header:

CODE FOR FINDING INTERSECTING CONES

These functions work together to identify those interfacial hbond cones that face each other and intersect, i.e., forming a hydrogen bond. The function find_intersection( ) call all subsequent functions and can be considered as the main function in the group. Call this 3rd file `find_intersecting_spherical_cones.py'

NOTE: For all files, be sure to include proper documentation, import the relevant dependencies, and include a usage example at the bottom of the file.