diff --git a/bin/cmmde.py b/bin/cmmde.py index 17043f8..8ddfef6 100755 --- a/bin/cmmde.py +++ b/bin/cmmde.py @@ -129,6 +129,7 @@ parser.add_argument('-droplet','--droplet',type=str,default='False',help='Apakah parser.add_argument('-r_droplet','--droplet_radius',type=float,default=8.0, help='Radius droplet dalam Angstrom. Default: 10.0.') # DOCKER module in Orca 6 parser.add_argument('-guest','--guest',type=str, default='none',help='File untuk docking menggunakan Orca.') +parser.add_argument('-guestcharge','--guestcharge',type=int, default=0,help='Muatan molekul ligan/guest yang akan didocking. Default:0.') parser.add_argument('-docklevel','--docklevel',type=str,default='NORMAL', help='Tingkat akurasi docking. Default: NORMAL. Pilihan: SCREENING, COMPLETE.') parser.add_argument('-nrepeatguest','--nrepeatguest',type=int,default=1, help='Jumlah ligan yang akan dilibatkan dalam docking. Default: 1.') parser.add_argument('-cumulativeguest','--cumulativeguest',type=str,default='False',help='Update file ligan yang akan didocking. Default: False.') @@ -288,7 +289,7 @@ elif ('.mol2' not in opt.input and '.xyz' not in opt.input and '.pdb' not in opt geom = 'geom.xyz' ### ORCA if opt.software == 'orca': - orca(opt.job,opt.method,opt.nproc,geom,opt.charge,opt.mult,opt.scalefreq,opt.temp,opt.pressure,opt.nroots,opt.tda,opt.solvent,opt.constraints,opt.qmatoms,opt.totalcharge,opt.totalmult,opt.qm2method,opt.qm2basis,opt.activeatoms,opt.hessfile,opt.dispersion,opt.aim,opt.produk,opt.transitionstate,opt.irciter,opt.printlevel, opt.inithess,opt.grid, opt.finalgrid,opt.iter,opt.solvtype,opt.cpcmsurface,opt.draco,opt.draco_charges,opt.solvator,opt.nsolv,opt.solventfile,opt.solvprint,opt.randomsolv,opt.fixsolute,opt.use_eeq,opt.droplet,opt.droplet_radius,opt.guest,opt.docklevel,opt.nrepeatguest,opt.cumulativeguest,opt.fixhost,opt.evpes,opt.nopt,opt.no_opt,opt.goat_iter,opt.goat_opt_iter,opt.skip_initopt,opt.randomseed,opt.readensemble,opt.autowall,opt.mintemplist,opt.nworkers,opt.maxitermult,opt.keepworker,opt.worker_randstart,opt.uphill_atoms,opt.gfn_uphill,opt.align,opt.en_diff,opt.max_en,opt.max_entropy,opt.conf_temp,opt.min_delta_S,opt.conf_degen,opt.free_heteroatoms,opt.free_nonh_atoms,opt.free_fragments,opt.freeze_bonds,opt.freeze_angles,opt.freeze_cistrans,opt.freeze_amides,opt.maxcoordnum,opt.max_topo_diff) + orca(opt.job,opt.method,opt.nproc,geom,opt.charge,opt.mult,opt.scalefreq,opt.temp,opt.pressure,opt.nroots,opt.tda,opt.solvent,opt.constraints,opt.qmatoms,opt.totalcharge,opt.totalmult,opt.qm2method,opt.qm2basis,opt.activeatoms,opt.hessfile,opt.dispersion,opt.aim,opt.produk,opt.transitionstate,opt.irciter,opt.printlevel, opt.inithess,opt.grid, opt.finalgrid,opt.iter,opt.solvtype,opt.cpcmsurface,opt.draco,opt.draco_charges,opt.solvator,opt.nsolv,opt.solventfile,opt.solvprint,opt.randomsolv,opt.fixsolute,opt.use_eeq,opt.droplet,opt.droplet_radius,opt.guest,opt.guestcharge,opt.docklevel,opt.nrepeatguest,opt.cumulativeguest,opt.fixhost,opt.evpes,opt.nopt,opt.no_opt,opt.goat_iter,opt.goat_opt_iter,opt.skip_initopt,opt.randomseed,opt.readensemble,opt.autowall,opt.mintemplist,opt.nworkers,opt.maxitermult,opt.keepworker,opt.worker_randstart,opt.uphill_atoms,opt.gfn_uphill,opt.align,opt.en_diff,opt.max_en,opt.max_entropy,opt.conf_temp,opt.min_delta_S,opt.conf_degen,opt.free_heteroatoms,opt.free_nonh_atoms,opt.free_fragments,opt.freeze_bonds,opt.freeze_angles,opt.freeze_cistrans,opt.freeze_amides,opt.maxcoordnum,opt.max_topo_diff) ### NWChem if opt.software == 'nwchem': diff --git a/lib/__pycache__/cmmde_orca.cpython-310.pyc b/lib/__pycache__/cmmde_orca.cpython-310.pyc index 03e279a..57ebe90 100644 Binary files a/lib/__pycache__/cmmde_orca.cpython-310.pyc and b/lib/__pycache__/cmmde_orca.cpython-310.pyc differ diff --git a/lib/cmmde_orca.py b/lib/cmmde_orca.py index e9f04a3..4b61c4c 100644 --- a/lib/cmmde_orca.py +++ b/lib/cmmde_orca.py @@ -1,4 +1,4 @@ -def orca(job,method,nproc,geom,charge,mult,scalfreq,temperature,pressure,nroots,tda,solvent,constraints,qmatoms,totalcharge,totalmult,qm2method,qm2basis,activeatoms,hessfile,disp,aim,product,ts,irciter, printlevel, inithess,grid, finalgrid,maxiter,solvtype,cpcmsurface,draco,draco_charges,solvator,nsolv,solventfile,solvprint,randomsolv,fixsolute,use_eeq,droplet,droplet_radius,guest,docklevel,nrepeatguest,cumulativeguest,fixhost,evpes,nopt,no_opt,goat_iter,goat_opt_iter,skip_initopt,randomseed,readensemble,autowall,mintemplist,nworkers,maxitermult,keepworker,worker_randstart,uphill_atoms,gfn_uphill,align,en_diff,max_en,max_entropy,conf_temp,min_delta_S,conf_degen,free_heteroatoms,free_nonh_atoms,free_fragments,freeze_bonds,freeze_angles,freeze_cistrans,freeze_amides,maxcoordnum,max_topo_diff): +def orca(job,method,nproc,geom,charge,mult,scalfreq,temperature,pressure,nroots,tda,solvent,constraints,qmatoms,totalcharge,totalmult,qm2method,qm2basis,activeatoms,hessfile,disp,aim,product,ts,irciter, printlevel, inithess,grid, finalgrid,maxiter,solvtype,cpcmsurface,draco,draco_charges,solvator,nsolv,solventfile,solvprint,randomsolv,fixsolute,use_eeq,droplet,droplet_radius,guest,guestcharge,docklevel,nrepeatguest,cumulativeguest,fixhost,evpes,nopt,no_opt,goat_iter,goat_opt_iter,skip_initopt,randomseed,readensemble,autowall,mintemplist,nworkers,maxitermult,keepworker,worker_randstart,uphill_atoms,gfn_uphill,align,en_diff,max_en,max_entropy,conf_temp,min_delta_S,conf_degen,free_heteroatoms,free_nonh_atoms,free_fragments,freeze_bonds,freeze_angles,freeze_cistrans,freeze_amides,maxcoordnum,max_topo_diff): if 'opt' in job or 'Opt' in job or 'OPT' in job and not 'ts' in job: method += ' opt' if 'freq' in job and ('XTB2' in method or 'XTB' in method): @@ -19,11 +19,11 @@ def orca(job,method,nproc,geom,charge,mult,scalfreq,temperature,pressure,nroots, method += ' {}'.format(disp) if aim == 'true' or aim == 'True' or aim == 'TRUE': method += ' AIM' - if solvent != 'none' and ('XTB2' in method or 'XTB' in method or 'XTBFF' in method): + if solvent != 'none' and ('XTB2' in method or 'XTB' in method or 'XTBFF' in method or 'GFNFF' in method or 'GFN0XTB' in method or 'GFN1XTB' in method or 'GFN2XTB' in method): method += ' ALPB({})'.format(solvent) if solvtype == 'GBSA': method += ' GBSA({})'.format(solvent) - if solvent != 'none' and ('XTB2' not in method and 'XTB' not in method and 'XTBFF' not in method): + if solvent != 'none' and ('XTB2' not in method and 'XTB' not in method and 'XTBFF' not in method and 'GFNFF' not in method and 'GFN0XTB' not in method and 'GFN1XTB' not in method and 'GFN2XTB' not in method): if draco == True: method += ' DRACO' if solvtype == 'CPCM' or solvtype == 'cpcm': @@ -143,6 +143,7 @@ end if 'docker' in job: print('%DOCKER',file=f) print(""" GUEST "{}" """.format(guest),file=f) + print(' GuestCharge {}'.format(guestcharge)) print(' DOCKLEVEL {}'.format(docklevel),file=f) print(' NREPEATGUEST {}'.format(nrepeatguest),file=f) print(' CUMULATIVE {}'.format(cumulativeguest),file=f)