Difference between revisions of "Developer's Info Goals"

From Rizzo_Lab
Jump to: navigation, search
(DOCK_DN - De Novo Design)
(Current Coding Progress:)
Line 81: Line 81:
 
=DOCK_DN - De Novo Design=
 
=DOCK_DN - De Novo Design=
 
=== Current Coding Progress: ===
 
=== Current Coding Progress: ===
Working on these currently:
 
 
# John: Implement fragment frequency picking as an option
 
# John: Professional web page
 
# John: Implement Adjacency Matrix into fraglib/dn (initialize matrix and utilize matrix for graph and random fragment picking)
 
# Chris: Guided FPS
 
# Lauren: Covalent anchor for denovo growth
 
 
 
{| border="1" cellpadding="8" cellspacing="0" style="background:white; text-align:left; width:90%"
 
{| border="1" cellpadding="8" cellspacing="0" style="background:white; text-align:left; width:90%"
 
|- style="background:lightblue"
 
|- style="background:lightblue"
Line 94: Line 86:
 
! style="width:10%" !|Owner
 
! style="width:10%" !|Owner
 
! style="width:30%" !|Notes
 
! style="width:30%" !|Notes
 +
|-
 +
|Fragment frequency selection || John || Currently testing
 +
|-
 +
|Roulette torsion acceptance || John || Currently testing
 +
|-
 +
|Fragment pair selection of fragments matrix method || John || Currently implementing
 +
|-
 +
|Dynamic reference || Chris ||
 
|-
 
|-
 
|Addition of 3-mer combination fragment checks || John, kinda || Post torsion
 
|Addition of 3-mer combination fragment checks || John, kinda || Post torsion

Revision as of 13:16, 24 October 2022

DOCK 6.11 Information

Planned additions:

DOCK 6.10 Information

New features include: an enhanced chemical searching methods termed: molecular evolution DOCK (DOCK_GA), which is an evolution-based method for ligand construction that employs principles of breeding and mutations (see Prentis et al.), a new fragment library generation function was added to the docking protocol, a simplex minimization step ramping functionality for enhanced speed during docking, a new scoring function (internal energy score) that allows for generation and scoring of molecules without a protein, and a molecular weight smoothing function for de novo design that will allow a softer curve of weight distributions in the final ensemble. Secondary score, introduced in 6.1, has been fully removed in this version.

Using this page

This page is designed to be a unified location for development goals we have set for each sampling/experimental type we are able to perform in DOCK. New tasks and goals can be included in the following tables, and can link to their own development pages if need be.

The current page setup includes an Archive page for completed tasks. When a task is deemed complete, please move it to the designated section on the Archive, sign it with your initials, and date it. Any relevant information should also be included in notes, being brief but descriptive (ex. 'pushed addition/fix to GitHub on MM/DD/YYYY, Commit Hash: ######')


If there are any questions on anything for this page, please direct them to any of the current graduate students or post-docs listed on the Contact page. If they don't know an answer to your inquiry, they will be able to direct you to someone that does.


General DOCK Goals

Tasks src Owner Notes
Web server Open
Integrated development pipeline, including IDE Brian
Add the DUDE systems created by Jiaye, Brian, and Yuchen to the standard DOCK test set
Create an RNA test set using systems suggested by Al-Hashimi Rodger, John
HMS Islands Use HMS to determine clusters of best overlaid congeneric poses John
Anchor names Output anchor names alongside molecule number when writing out conformers Brock


DOCK_VS - Virtual Screening/Traditional Docking

Tasks src Owner Notes
put in warning flag for missing flex defn type instead of segfaulting
update torenv in dock6 beta fraglib_torenv.dat JDB
Add total conformers samples
Put minimize = 0 in flex.defn is a depricated feature in manual manual LEP
input checks in the vs protocol scripts to check whether the step before finalized mpi routines
SYLVIA Score
determine which library generation outputs are appended rather than overwritten, and change to overwrite
put in best first clustering option for database filter
Consensus score (within descriptor score) Open
Clean GNU warnings
Multigrid footprint text file formatting needs adjustment LEP
Fix minimization issue with perfectly linear (alkyne) compounds Open Add dummy atom 90* as in other codes so dihedral is defined, treat the hydrogen as a part of the carbon or heavy atom (united atom) approach, flag dihedrals that are undefined or close to 180* as non rotatable
HMS Islands Open Use HMS to determine clusters of best overlaid congeneric poses
Anchor names Brock Output anchor names alongside molecule number when writing out conformers



DOCK_DN - De Novo Design

Current Coding Progress:

Task Owner Notes
Fragment frequency selection John Currently testing
Roulette torsion acceptance John Currently testing
Fragment pair selection of fragments matrix method John Currently implementing
Dynamic reference Chris
Addition of 3-mer combination fragment checks John, kinda Post torsion
Adding chirality into internal DOCK fingerprints Brock Would help w/ uniqueness pruning and fragmentation
Uniqueness pruning postprocess John
Uniqueness pruning during growth Brock
MPI integration - each anchor/all anchors Brock
Using RDKit for guided growth - QED, SynthA, etc. Pak, Guilherme Planned for 6.11
When minimizing with descriptor score, make sure fingerprint is turned off xxx
HMS needs to be fixed when no heavy atoms matching.
Add print out anchor with frequency option into fraglib code.
Using different references for different layers of dn growth (GFPS protocol) Guided footprint similarity - divide the reference into smaller pieces (layers) to help guide the growth paths more efficiently (i.e. directed growth)
Min and max formal charge. Step down as layers of growth proceed FC = 4 for layers 1-3, FC =3 for 4-5, etc.
Stereo centers / volume overlap pruning
Capping group functions (H, CH3, NH2, NH3, Halogen)
Incorporate GA at the end of each layer (not easy)
Monte carlo algorithm that checks bond frequency
Scaling max root / layer size with layer
Select torenv before selecting fragment. Will need to overhaul fraggraph, will keep us from needing to assemble mols that will not pass torenv.
Add fragname string to restart and dump files, already done for final and fraglib files.
Add ZINC name to torenv table
Unusual behavior during library generation when frequency cutoff == 0
Print out how many molecules cannot be capped. (Difference between ensemble size and dump.)
building from anchor 0 -> building from scf.98
keep tables of what fragments (and torsion types) are already included in a growing molecule (i.e.e the name string has this info) and only accept a new fragment (or torsion type) within certain ranges and probabilities. In other words use knowledge of chemical makeup probabilities to keep from over including or under including certain fragment and bond types (essentially use datamining to help us only build molecules within certain boundaries)
De novo design with scaled VDW parameters. Exaggerate them and ramp them down or vice versus. May help to eliminate the anchor and slop or anchor and slosh problem.

DOCK_GA - Genetic Algorithm

Tasks src Owner Complete?
Horizontal pruning issue not catching chemically identical molecules LEP no
Fix bug that collapsed atom coordinates everywhere? nowhere? somewhere. LEP YES MUAHAHAHAHA!
Added Delimeter header conf_gen_ga LEP Yes
Fix xover only feature conf_gen_ga LEP Yes
Put in error messages for mut_rate > 1 conf_gen_ga LEP Yes
Manual user-defined mutation type conf_gen_ga LEP Yes
Remove check only option conf_gen_ga LEP Yes
Add single molecule evolution in testcase in install dir. install/test/genetic LEP yes
Add leading 0's to xover output filenames conf_gen_ga.cpp JDB no
DNM replacement unable to build list? conf_gen_ga.cpp JDB no
Multi-layer replacement for Amides conf_gen_ga.cpp JDB no
Compute delta slope of fitness score congen_ga.cpp BTB no
slow down molecular evolution so there are less drastic canges between each successive generation congen_ga.cpp BTB no
bring in new parents (e.g. from a pool of molecules) based on convergence confgen_ga.cpp BTB no
user defined point vs on-the-fly convergence confgen_ga.cpp BTB no
metropolis selection for tournament/roulette conf_gen_ga.cpp BTB no



To Do List

  1. tanimoto coefficient percent change - might be inaccurate due to tan coef behavior
  2. Rotatable bond changes (???)
  3. Limit number of aromatic rings.
  4. -xover (guided based on score) - Good v Good ; Bad v Good ; Bad v Bad THIS
  5. Nonexhaustive xover (pick subset of xover based on probability)
  6. Nonexhaustive xover for each pair of parents - have a set number of bonds for xover rather than trying all of them.
  7. Crossover on multiple points simultaneously (2-3 crossovers on a given pair to make 3+ children rather than 2+).
  8. Adaptive maintenance of ensemble based on convergence (extinction, delta max, etc.).
  9. Stop convergence.
  10. Mutations-
    1. Adaptive mutation rate - change rate of mutation based on some internal criteria.
    2. Pick location of mutation based on some internal criteria.
    3. Pick mutation type based on ensemble behavior.
    4. If molecules are too large, boost deletion (useful for elitism).
    5. If molecules are too small, boost additive mutations.
    6. If molecules are too similar, boost replacements and substitutions.
    7. mutation type selection based on probability vs ensemble
    8. Complete x # y mutation so far so less prevalent etc
    9. Note: 3 layer substitutions probably aren't going to work.
    10. 2-layer replacements.
  11. fitness-
    1. turn on and off niching adaptive/extinction
    2. reduce boost of fragments and all poor mols with niching
    3. pareto/mulitobjective ga
  12. selection-
    1. Adaptively keep differing #'s of parents and children based on some internal criteria (similarity?)
  13. extinction-
  14. which molecules are best-
    1. best first pruning - now uses descriptor score even if niching ned to delta to fitness/niching when used
    2. geometric diversity using Hingarian and Tan pruning
  15. Determine whether the dummy vdw file is necessary for all DN (including GA) or just DN.
  16. Choose crossover pairs based on measure of similarity (boost crossovers between dissimilar molecules).

Known Bugs

  1. Molecules Processed bug (dock.cpp)
  2. verbose mol stats (amber typer)
  3. molecule being renamed when going into repl even tho it's the same molecule

DOCK_CV - Covalent Docking

As of right now only tested on pose reproduction for 2 testcases.

Create a sphere file by using the sidechain of the CYS residue. In this case isolate the sulfur, carbon, and carbon, and save as a pdb. Using the script pdbtosph, convert that pdb to a .sph file to be read by DOCK. Three atoms are required for spheres and orienting.

Prepare receptor: Remove the covalently bound ligand. Add Hydrogens and charge to the receptor. Remove the CYS sulfur and the next carbon with their associated Hydrogens only. Save as mol2.

Prepare the ligand: Remove all of the protein except for the CYS residue. Delete the backbone and some of the sidechain, leaving the sulfur and attached carbon. Add hydrogens and charge, and manually delete the hydrogens added onto the residue sidechain (ie sulfur and carbon). Save ligand as mol2. Open and edit the ligand.mol2 in vi and change the name of the sulfur to D1 and the atomtype to Du. Change the name of the carbon to D2 and the atomtype to Du. Save the ligand mol2.