This is a priority-view of the project and how large-scale concepts depend on different technical developments. Basically, it’s just split into
“Stuff that’s already done” (before Jan 2020)
“Stuff that’s already in progress” (overlaps Jan 30)
“Stuff that isn’t in progress but that we plan to complete before Sage” (stuff between Jan 30 and red line)
“Stuff that might be completed before Sage, but we don’t expect it to be” (overlaps red line)
“Stuff that we won’t consider starting until after Sage” (right of red line)
The “Conceptual” lane provides a high-level view of the functionality we will provide, in priority order. The subsequent lanes describe the discrete features that need to be added (They’ll end up roughly lining up with PRs in the different packages)
Conceptual
QCArchive
Forcebalance
OFFTK
Chemper
Fragmenter
Feature 1
Feature 2
Feature 3
Feature 4
Load the molecule into the OFFTK
Identify degrees of freedom to scan
Optional fragmentation
Design specific SMARTS
Prepare for QCArchive/fractal submission
collect results from archive
Prepare forcebalance targets
Run forcebalance
iOS app
Android app
Archive crawler
Add charge_from_molecules/other OFF opts
Find rotatable bonds
make molecules from QCArchive
QCArchive submission framework
Collecting results from archive
transfer qcarchive data to local targets
Universal canonical ordering
Wrap forcebalance
Integrate fragmenter
Chemper integration/ToolkitWrapper
CMILES integration/ToolkitWrapper
Produce conda package
Switch to rdkit backend
Switch to AmberTools WBO backend
Milestones and deadlines
Milestone
Owner
Deadline
Status
Alpha release (hard OE dependence)
Conda installable bespokefit package
Have QCA → FB data flow use SDF
Add option to use Parsley values for torsion as an initial guess, but mention that “we don’t recommend it”
Make alpha user instructions/tutorial
Dependency installation
For ANI backend, make sure to pip install ANI
For QM on linux, install psi4
For QM on mac, have special instructions for installing psi4 into a separate environment, and then spinning up workers using that separate environment
QCA setup
When to use snowflake vs. standalone/persistent QCF server
Instructions
Start with either Merck comp chem protein-ligand complex or one of D Hahn’s systems
Take ligand file, show bespokefit configuration in YAML, call bespokefit from CLI
Explain why we have to select a “base” FF, which will affect the final values of the torsions
Indicate that it’s possible to call from python, but don’t provide an example. Just point users to API docs.
Talk about output shown during execution
Walk through results file (OFFXML)
Show a diff of the Parsley (base FF) torsion values vs final (bespokefit) torsion values – Maybe use label_molecules and grab results for specific torsions?
Explain that this new file will be APPENDED to Parsley, so that the torsions simply override certain values from the base FF
Show how to start a solvated protein-ligand simulation from it (using OpenMMForceFields)