Skip to content

Latest commit

 

History

History
58 lines (44 loc) · 4.18 KB

README.md

File metadata and controls

58 lines (44 loc) · 4.18 KB

Introduction

This workflow is developed based on dflow, aiming to obtain the force field (FF) file required for molecular dynamics simulation generated from SMILEs formatted string. This workflow relies on variety of softwares and python libraries through PythonOP, and with good transferbility between different platfoms (by switching executors).

The whole workflow process is shown as follows:

details

workflow

step1 generate g16 input file from SMILEs

files in 1_gengjf/ directory:
1_gengjf/
├── electrolyte.json
├── ethane_to_compare.gjf
└── wf_gengjf.py

electrolyte.json中的"smi":["CC"],字段提供了所需要转换的SMILEs结构,此处以乙烷”CC”为例
The filed "SMI" : [CC] in electrolyte.json provides the SMILEs of the molecule to be converted. Here, "CC" (the SMILEs representation of ethane)is taken as an example

change the executor in wf_gengjf.py to your available maehine, in whihc openbabel model is relied,execute:

python wf_gengjf.py

最终示例文件将ethane.gjf下载回本地,该文件除坐标外的内容应与ethane_to_compare.gjf相似。
Finally one file called ethane.gjf would be generated, and the contents of this file should be the same as ethane_ to_ Compare.gjf except for the Cartesian coordinates

step2 DFT calculation

In this step, the .gjf file generated in the previous step would be submitted, and Gaussian 16 will be used to perform DFT calculation, and then return the .log file and .fchk file.

files in 2_DFTcalc/ directory:
2_DFTcalc/
├── filesIO
│ └── DME_1.gjf
└── wf_DFT.py

Change the extractor in wf_DFT.py to an available machine, and G16 and formchk executable files. To submit this step, execute:

python wf_DFT.py

results:
├── filesIO
│ ├── DME_1.gjf
│ ├── out.fchk
│ └── out.log

Step 3: partial charge by RESP

Based on the geometry optimization and wave function from the calculated DFT, This step obtains the partial charge of atoms through the RESP fitting process using Multiwfn. Since the mol2 file can record the partial charge together with the optimized geometry, and the resp charge are finally written into a mol2 file for subsequent calculation.
files in 3_1_ESPcalc_genESP/ directory:
3_1_ESPcalc_genESP/
├── filesIO
│ ├── out.fchk
│ └── out.mol2
└── wf_calcRESP.py

Similarly, change the extractor in wf_calcRESP.py to an available machine, and Multiwfn and openbabel is required . To submit this step, execute:

python wf_calcRESP.py

After completed, out.mol2 would be downloaded to ./filesio. The directory structure is as follows:
3_1_ESPcalc_genESP/
├── filesIO
│ ├── out.fchk
│ └── out.mol2
└── wf_calcRESP.py

Step 4: force field generation

This step realizes the automtic generation of a topology file based on the GAFF force field or the OPLS-AA force field from the calculated DFT optimization geometry and the resp fitting charge (out. mol2).

Files in the directory tree:
3_2_acpype/
├── filesIO
│ └── out.mol2
└── wf_genFF.py

Change the extractor in wf_genFF.py to an available machine, and ambertools and acpype is required . To submit this step, execute:

python wf_genFF.py

All files would be downloaded:
3_2_acpype/
├── filesIO
│ ├── gen_FF.sh
│ ├── leap.in
│ ├── leap.log
│ ├── Lig.frcmod
│ ├── Lig.inpcrd
│ ├── Lig.mol2
│ ├── Lig.prmtop
│ ├── out.mol2
│ └── UNL.amb2gmx
│ ├── acpype.log
│ ├── em.mdp
│ ├── md.mdp
│ ├── posre_UNL.itp
│ ├── rungmx.sh
│ ├── UNL_GMX.gro
│ └── UNL_GMX.top
└── wf_genFF.py