-
Notifications
You must be signed in to change notification settings - Fork 5
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
Skeleton of README details #36
Changes from 6 commits
16ef762
61a1161
c8e39e5
0c8f3ab
195fcb0
ca81a2a
037a2b9
ef5d820
d6c8372
bad14ef
e991a33
d77d23c
4e78832
747cf0f
9eeca98
1a079cd
333d1b6
e9adc33
10b137f
5d2c118
43eb73e
ed5bfed
13e4a01
31796f8
cc607fe
ab3a1af
b96690c
72d5cfe
c0dc15c
9d97330
1a13e84
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,53 @@ | ||
# MoSDeF-dihedral-fit | ||
MoSDeF-dihedral-fit: A simple software package to fit dihedrals via the MoSDeF software | ||
MoSDeF-dihedral-fit: A simple software package to fit dihedrals via the MoSDeF software. | ||
|
||
This package is a tool to add dihedral parameters for [Ryckaert-Bellemans](https://manual.gromacs.org/current/reference-manual/functions/bonded-interactions.html#proper-dihedrals-ryckaert-bellemans-function) dihedral based forcefields by fitting QM calculations for the rotation about the dihedral angle to this functional form. The main functionality is found through the following code snippet. | ||
```python | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should remove this, as we always forget to change these. Let's just leave the link to the examples below, removing the example here There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You mean remove the whole code snippet or just the surrounding text? I would suggest at least having some example of the API because that's a huge selling point. No one wants to use something that they can't understand how to get started, so showing them it's a single function call would be nice. Linking to the examples hides that selling point behind a few more clickable links that a casual user may or may not actually get to. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I also don't think this API should change. And if it does, the examples have to change too so changing this one function call that's actually part of the main repo would be easy to do in a single PR as opposed to changing code in the example too. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. My point was all this is in the example in the docs and on the wsu file examples. We should just put a link. Otherwise, we have to change it 3 times if it changes (in different locations). I think a link is ok, as it is 1 click. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If you want to add the print file to the WSU examples and the docs, I am ok with that There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I meant remove the code example here and just put a link to the examples |
||
import unyt as u | ||
from mosdef_dihedral_fit.dihedral_fit.fit_dihedral_with_gomc import fit_dihedral_with_gomc | ||
fit_dihedral_with_gomc( | ||
["HC", "CT", "CT", "HC"], #atomclass names of the dihedral | ||
"molecule.mol2" # mol2 file with relevant structure | ||
"compound.xml", # xml file with other atomtyped parameters in foyer format | ||
298.15 * u.Kelvin, # relevant temperature | ||
gomc_binary_directory, # path to binary command from GOMC install | ||
{"HC_CT_CT_HC_multiplicity_1.log": []}, # log file to store info | ||
zeroed_dihedral_atom_types=None, | ||
qm_engine="gaussian", | ||
VDWGeometricSigma=False, | ||
atom_type_naming_style="general", | ||
gomc_cpu_cores=1, | ||
fit_min_validated_r_squared=0.99, | ||
fit_validation_r_squared_rtol=1e-03, | ||
) | ||
import os | ||
os.system("cat RB_torsion_k_constants_fit_energy.txt") | ||
``` | ||
|
||
## Installation/Setup | ||
``` | ||
conda install -c conda-forge mosdef_dihedral_fit | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The package may need to be name with "-" not _ . I thought conda does not like "_" for packages? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Well here's the issue then that we should discuss. Whether it's installed from pypi or condo, the import syntax should be the same. Right now when you pip install it has the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If conda allows _ keep that, I like this better There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I know mosdef-GOMC is used for conda. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we keep folder _ and mosdef-dihedral-fit for conda and pip, this is what mosdef-GOMC does. If we can do mosdef_dihedral_ fit for conda and pip, I am fine with that. |
||
git clone https://github.com/GOMC-WSU/GOMC.git | ||
cd GOMC | ||
chmod u+x metamake.sh | ||
./metamake.sh | ||
./GOMC_<CPU|GPU>_XXXX +p4 in.conf # set to 4 threads | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "cd GOMC". ->. "cd GOMC # or GOMC-main or main folder as downloaded..." I think we remove this. They don't need to run GOMC? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. GOMC needs to be installed. Testing your install is certainly best practice. If something is screwed up in the install, it would be good to identify that that was the issue and not some bug in There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, I was not aware GOMC has it’s own tests. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would write like remove this as they will not run this command as they conf have test files for GOMC ./GOMC_<CPU|GPU>_XXXX +p4 in.conf There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Instead of running GOMC text, you can provide a link to the mosdef comic examples to test the GOMC install, which has video tutorials (https://github.com/GOMC-WSU/GOMC_Examples/tree/main/MoSDef-GOMC/Part_5_NPT_Example), if you think it is important |
||
pytest -v | ||
daico007 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
``` | ||
|
||
## Documentation | ||
|
||
## Examples | ||
Some basic workflows that use this package</br> | ||
- [ethane dihedral](https://github.com/GOMC-WSU/GOMC_Examples/tree/main/MoSDeF-dihedral-fit/ethane_HC_CT_CT_HC)</br> | ||
- [propanoic acid dihedral](https://github.com/GOMC-WSU/GOMC_Examples/tree/main/MoSDeF-dihedral-fit/protonated_fragment_CT_CT_C_OH)</br> | ||
|
||
## Resources | ||
This package is made as an API with [MoSDeF](https://github.com/mosdef-hub) and [MoSDeF-GOMC](https://github.com/GOMC-WSU/MoSDeF-GOMC). In order to get the most of the dihedral-fitter, it is recommended to do your forcefielding via MoSDeF and simulations via GOMC. Included are some information to get users familiar with those pacakges. | ||
daico007 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [MoSDeF tools](https://mosdef.org) | ||
- [MoSDeF-GOMC integration](https://mosdef-gomc.readthedocs.io/en/latest/index.html) | ||
- [GOMC Examples](https://github.com/GOMC-WSU/GOMC_Examples/tree/main/MoSDef-GOMC) | ||
- | ||
|
||
## Citations | ||
- Please cite MoSDeF-GOMC [here.](https://mosdef-gomc.readthedocs.io/en/latest/reference/citing_mosdef_gomc_python.html) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should just add a link to the citations listed in the MoSDeF_dihedral_fit docs, which include all mosdef packages, and vmd.... We can add the docs link once they are published... This is currently what the docs say (not to add here, just for reference):
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should not say RB only. It should say the same as in the docs or similar.
"The MoSDeF-dihedral-fit program is an open-source, transparent, and lightweight Python software package capable
of fitting dihedrals for existing forces fields. This software fits the
Optimized Potentials for Liquid Simulations (OPLS) <https://pubs.acs.org/doi/10.1021/ja9621760>
_ styledihedrals, then also analytically converts them to the periodic/
CHARMM <https://www.charmm.org>
_ dihedral andRyckaert-Bellemans (RB) torsion.."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah this is fair. Maybe we should show an example somewhere on the README of the file outputs that you might get from a fit.