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

Add scoring to fragmenstein multiplex #1023

Open
phraenquex opened this issue Jan 10, 2023 · 5 comments
Open

Add scoring to fragmenstein multiplex #1023

phraenquex opened this issue Jan 10, 2023 · 5 comments

Comments

@phraenquex
Copy link
Collaborator

phraenquex commented Jan 10, 2023

Check whether fits in ALC2 budget. @tdudgeon?

Which of these scores can be straightforwardly added?:
SuCOS
PointVS
CoPriNet
Interaction preservation
Ro5 (?)
...

Discuss / finalise based on effort.

Required for ALC2 milestone.

@phraenquex phraenquex changed the title Add pointVS scoring to fragmenstein multiplex Add scoring to fragmenstein multiplex Jan 10, 2023
@phraenquex
Copy link
Collaborator Author

phraenquex commented Jan 17, 2023

Conclusion from chat (this morning):
The following scores should be computed for EVERY compound generated by the existing Fragmenstein job, and added to the returned SDF.

  • SuCOS
  • Open3Dalign - quality of alignment to fragments
  • simple SA score

Out of scope, and requiring a new ticket (action: @tdudgeon):

  • No DL-based scores, as they need to solve two technical problems:
    • Set up Docker container framework - right libraries and stuff
    • Add GPUs to the K8 cluster - configuring K8 (well-documented but potential faff)
    • Squonk job definitions need to specify GPU (maybe just an extra label)
    • Unknown time to containerise PointVS and CoPriNet.
  • No FE options to configure the scoring, as that is for Implement generic squonk job configuration as backend feature #944 .
    • As part of that work, the scorings in this ticket will be "unwound" (Tim's words) from the existing Fragmentstein jobs.

@tdudgeon
Copy link
Collaborator

#1026 created to handle the first step - making GPUs available to K8S

@phraenquex
Copy link
Collaborator Author

@tdudgeon estimates ~1 day, plus minor FE work to update the configuration.

@phraenquex
Copy link
Collaborator Author

Needs hacking (something about gitlab allowing private registries, because of PyRosetta licensing.)

Options:

  • PlanA: create a new repo, combining the artefacts (fragmenstein + simple agreed-on scorings). Will be discarded later when workflows and stuff properly implemented as part of ALC3.
  • PlanB: @matteoferla create a "dumbed down" Fragmenstein to get rid of PyRosetta (but doesn't seem like a good idea).

@matteoferla
Copy link
Collaborator

matteoferla commented Feb 10, 2023

X-linking to Fragmenstein PyRosetta > OpenMM shift enhancement: matteoferla/Fragmenstein#33

Regarding Fragmenstein without the in protein minimisation, this is the code (xposted):

from fragmenstein import Victor
from fragmenstein import __version__ as fragn_version
from fragmenstein.demo import Mac1
# RuntimeWarning: PyRosetta is not installed. A mock object is loaded. Any calls will fail.
print(fragn_version)
# 0.9.12.6
from rdkit import Chem

class Wictor(Victor):
    """
    This Victor does not call Igor
    """
    def _calculate_combination_thermo(self):
        # override igor.
        pass
    
    
    def _calculate_placement_thermo(self):
        # override igor.
        pass
    
    def post_monster_step(self):
        # this is a black overridable methods that will be the last thing called
        self.minimized_mol: Chem.Mol = self.monster.positioned_mol
        self.minimized_pdbblock: str = self.unminimized_pdbblock

Wictor.capture_rdkit_log()
#Wictor.enable_stdout()
Wictor.error_to_catch = ()
wicky = Wictor(hits=Mac1.get_n_filtered_mols(2),
               pdb_block=Mac1.get_template(),
              )
wicky.combine()

NB. odd behaviour is seen however with wicky.to_nglview() as the data is incomplete. In particular there is no ∆∆G.
The rdkit FF score is however available.

@mwinokan mwinokan moved this to In production (Done) in Fragalysis May 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

4 participants