Closed trudack closed 7 years ago
MDFF needs a pdb output of the last frame with correct chain IDs. Right now it takes the first letter of the segname as chain ID.
From my point of view the prep module should also have the options to create the Restraints files for secondary structure, cis peptide bonds, and chirality
the mdff run needs also the options to set each of the three restraints on or off
In this commit I added a makepsf
command which wraps a modified version of the old auto_makepsf
command used by start_mdff_run
. It does not yet support the mutations
option because there is not an example of that in the tutorial, so I am not totally clear on how it works or what it expects as input.
As for the "MDFF module", I am still contemplating its functionality. In principle, all of the remaining requested functionality already exists in the mdff
plugin. In general, my view of the modelmaker
command line interface (CLI) is that it should be a collection of discreet methods that can be tied together in 'protocols'. This is similar to the older RosettaVMD
scripts. So, in practice, anyone can take the individual modelmaker
commands and piece them together with, for example, the mdff
commands, for their particular problem. I do perhaps see the use of something like start_mdff_run
for easily setting up very simple mdff simulations, especially for people that don't want to learn mdff. However it worries me a bit because it adds even more layers of assumptions and abstractions. Perhaps I will mock up one of these "protocols" as I envision them (which will be fully functional with existing features) so we can discuss it further.
However, the usage can be more abstracted when using ModelMaker from the GUI. In GUI usage, the user can create protocols like in qwikmd, where the GUI will take all the necessary steps to generate all of the Rosetta, MDFF, or whatever else files for each step with one click of a button.
As I discussed with @trudack over Skype, I will implement a wrapper to the start_mdff_run
along the same lines as the other commands, and making sure the old command uses the new syntax for auto_makepsf
. Additionally, in whatever documentation or example shows how to run MDFF, we will also show the more 'verbose' way of calling the individual commands, in case the user wants more customization beyond what the wrapper allows.
I understood that if I use makepsf on a pdb with chain IDs and segnames it will keep them by default. However modelmaker believes that this is the naming if I do not specify -chseg
name:rpn11 chain:A segname:AP1
which has nothing to do with my pdb.
What is the right syntax to use the -chseg option? I always get this error what ever I tried.
Unknown argument -chseg
I will sent the pdb I tried to @ryanmcgreevy as git hub does not allow to upload pdb file format.
Yes sorry, I just replied to your email. I accidentally left a line of code I was using to test something in when it was meant to be removed before committing. It should work now.
I've just pushed a new "mdff" branch that you can check out, if you want. It is completely untested at this point, but I'm not sure how far I would be able to get in its testing before the weekend, that I wanted to go ahead and at least get it committed in some form. I'll continue to work on that branch if there are problems with it and merge it to master when everything is done.
The not yet used "muation" option should be activated and should be incorporated as protonation option to make psf.
This option allows to change the protonation state e.g. of an HIS from default delta to epsilon. This is effectlivly reached by the mutation command during psfgen (mutate 279 HSE)
-protonation {279 HSE}
In the case example for Rpn11 this should change the protonation of HIS 279 from HSD to HSE.
QwikMD Code also handles Protonation states. Check the code if QwikMD does it in a better way.
In this commit I merged the mdff branch into master because I added a bunch of bug fixes and successfully tested the mdff
command using the tutorial example. I added the example commands I tested into the wiki on the new mdff
page.
makepsf
now has a -prot option for setting the protonation states
@ryanmcgreevy there is a bug in the mdff module
the output from mdff (dcd-last.pdb) should have the same chain IDs as the input for MDFF. However MDFF does only keep the segnames but not chain IDs. MDFF uses the first letter of the segname as chain ID.
I will sent you an example file by mail
It should be possible to use the refine and the mdff command modular.
So far I was only able to run one rosetta refine followed by one mdff run.
Most of the time it makes sense to start with MDFF, which is not possible so far.
In principle it should be possible to run a script like this:
modelmaker mdff modelmake refine cartesian modelmaker mdff modelmaker mdff modelmaker refine backbone modelmaker mdff modelmaker refine sidechain modelmaker mdff
I will sent @ryanmcgreevy an example script and inputfiles.
We likely have to think about a better way to name the files as with the existing way the file names are getting to long.
If I run mdff on GPU I got already a couple of times this error:
------------- Processor 3 Exiting: Called CmiAbort ------------ Reason: FATAL ERROR: CUDA error cudaGetDeviceCount(&deviceCount) in file src/DeviceCUDA.C, function initialize on Pe 3 (sinope): unknown error
Just restarting the run usually solves it. However it would be pretty annoying if an iterative run crashes due to this error. It might be good if modelmaker would not stop if this error ocures but just restarts. There could be a safety mechanism that if the error ocurs three times in a row it will stop.
I just committed a new, basic, rework of the mdff
command. It retains the same arguments as the old version, but now allows you to start with any pdb, not only specifically one from a rosetta run. I am still not sure whether I want this code in the modelmaker
or mdff
plugin, but for now it is in modelmaker
for ease of updating and testing.
@trudack please test this new version and let me know what bug fixes or enhancements you want.
prepare a psf for mdff run:
inputpdb, either a list for each {, , } or a text file containing the list for all subunits, list of topology files (optional, default charmm36)
mdff run:
input pdb, input map, map resolution, gscale, number of min steps, number of mdrun steps, fix selection, extrabond files