Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated Ligand Motifs Code #59

Open
wants to merge 53 commits into
base: main
Choose a base branch
from

Conversation

toadlover
Copy link
Member

The code I am contributing here are updates to improve the functionality of the ligand motif code. This includes improvements to the following protocols:

motifs/LigandDiscoverySearch - Created a method for scoring placed ligands based on how much of a user-defined binding pocket is filled, improved use of score functions, collection and analysis of motifs collected off of placed ligands to confirm contacts against residues of interest

motifs/IdentifyLigandMotifs - Moved usage of process_for_motifs from private to public so that the function to collect motifs can be used on poses in runtime (and not exclusively from imported files). The process_for_motifs function is now used in LigandDiscoverySearch.

Added new options in options_rosetta.py under motifs for use in LigandDiscoverySearch.

Added public app remove_duplicate_motifs.cc, which removed motifs that are considered duplicates based on similar distance and angle of atoms involved. This helps improve runtimes of protocols that use lists of motifs by not considering the use of motifs that are effectively very similar/same. I have added an integration test as well.

…used in other apps on poses generated in runtime
Adjusting use of downstream score functions
…e in optional use of atrrep function after high res dock
…tifs and record residues in the pose that yield motifs
…ct motifs from a placed ligand and determine if they look like real motifs
…s to chunks of motif library if we only want to look at motifs with specific residues and atoms
@toadlover toadlover added 90 standard tests ready_for_review This PR is ready to be reviewed and merged. and removed 90 standard tests labels May 9, 2024
toadlover and others added 18 commits May 13, 2024 21:55
…score function in high res dock

need to beautify and add option for motifs::highresdock_with_whole_score_fxn
…that I do not remember why I had them,removed commented code for better presentation
…to allow customization of rounding error tolerance when calculating sin and cos
…for users to define tolerance

Users can now use option run:sin_cos_range_tolerance to use tolerance values that are different from 0.001. Additionally, sin_cos_range can now allow any value pass with the use of run:keep_beyond_sin_cos_range being set to true.
Reasoning is that library levels requirement makes it impossible for numeric code to call for basic (which is where options is).
…is()

Increased tolerance to better account for rounding errors
…de of the native range

A warning is thrown that the value is out of range, and the value is then set to the corresponding range bound, just like is done if using BOINC.
…breaks the function in benchmark tests for pyrosetta (works in other builds)

I adjusted sin_cos_range anyway to always return -1 or 1 if the value is outside the range with tolerance
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
90 standard tests ready_for_review This PR is ready to be reviewed and merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant