From da8871cde3897b35b72f3c71e3adc90c3f477548 Mon Sep 17 00:00:00 2001 From: Aditya Wibawa Sakti Date: Wed, 14 Aug 2024 19:08:00 +0900 Subject: [PATCH] update features for ORCA6 --- README.md | 2 +- bin/cmmde.py | 57 +++++++++- bin/cmmdepost.py | 2 +- lib/__pycache__/cmmde_dcdftb.cpython-310.pyc | Bin 7403 -> 7403 bytes lib/__pycache__/cmmde_dcdftb.cpython-311.pyc | Bin 0 -> 17176 bytes lib/__pycache__/cmmde_dftb.cpython-311.pyc | Bin 0 -> 18305 bytes lib/__pycache__/cmmde_dock.cpython-311.pyc | Bin 0 -> 23012 bytes lib/__pycache__/cmmde_hubbard.cpython-311.pyc | Bin 0 -> 1523 bytes lib/__pycache__/cmmde_mass.cpython-311.pyc | Bin 0 -> 3195 bytes lib/__pycache__/cmmde_mdpro.cpython-311.pyc | Bin 0 -> 3788 bytes lib/__pycache__/cmmde_nw.cpython-311.pyc | Bin 0 -> 2506 bytes lib/__pycache__/cmmde_orca.cpython-310.pyc | Bin 2465 -> 5771 bytes lib/__pycache__/cmmde_orca.cpython-311.pyc | Bin 0 -> 5158 bytes lib/__pycache__/cmmde_qe.cpython-311.pyc | Bin 0 -> 8364 bytes lib/__pycache__/cmmde_xtb.cpython-311.pyc | Bin 0 -> 9236 bytes lib/cmmde_orca.py | 98 +++++++++++++++++- 16 files changed, 153 insertions(+), 6 deletions(-) create mode 100644 lib/__pycache__/cmmde_dcdftb.cpython-311.pyc create mode 100644 lib/__pycache__/cmmde_dftb.cpython-311.pyc create mode 100644 lib/__pycache__/cmmde_dock.cpython-311.pyc create mode 100644 lib/__pycache__/cmmde_hubbard.cpython-311.pyc create mode 100644 lib/__pycache__/cmmde_mass.cpython-311.pyc create mode 100644 lib/__pycache__/cmmde_mdpro.cpython-311.pyc create mode 100644 lib/__pycache__/cmmde_nw.cpython-311.pyc create mode 100644 lib/__pycache__/cmmde_orca.cpython-311.pyc create mode 100644 lib/__pycache__/cmmde_qe.cpython-311.pyc create mode 100644 lib/__pycache__/cmmde_xtb.cpython-311.pyc diff --git a/README.md b/README.md index e1f7e58..2ec8fce 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ CMMDE is a set of tools based on Python for running computational jobs, as well - Core developers: Aditya Wibawa Sakti, Atthar Luqman Ivansyah, Hasan Al Rasyid, Muhamad Abdulkadir Martoprawiro, Aulia Sukma Hutama - Contributors: Athiya Mahmud Hanna, Arifin, Daniel Sethio - Core reviewers: Rahmat Gunawan, Imam Siswanto, Parsaoran Siahaan, Nova Pratiwi Indriyani -- Committed users: Yusthinus Thobias Male, Veliyana Londong, Mirella Fonda, Riyanto, Badra, Hilda, Rustaman, Edu +- Committed users: Yusthinus Thobias Male, Veliyana Londong, Mirella Fonda, Riyanto, Badra Sanditya Rattyananda, Suci Zulaikha Hildayani, Rustaman, Eduardus CMMDE telah diluncurkan dan akan diikuti oleh serangkaian lokakarya: diff --git a/bin/cmmde.py b/bin/cmmde.py index 76e9f33..919ec87 100755 --- a/bin/cmmde.py +++ b/bin/cmmde.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3 +#!/usr/bin/env python import sys import os import argparse @@ -113,6 +113,59 @@ parser.add_argument('-calcrmsd','--calcrmsd',type=str,default='no',help='Apakah parser.add_argument('-nlig','--nligands',type=int,help='Jumlah ligan yang akan didocking.') # Model Pelarut Implisit parser.add_argument('-solvent','--solvent',type=str,default='none',help='Pelarut yang digunakan dalam perhitungan.') +parser.add_argument('-solvtype','--solvtype',type=str,default='CPCM', help='Model pelarut implisit yang digunakan. Pilihan: CPCM, CPCMC, GBSA,dan GBSA.') +parser.add_argument('-cpcmsurf','--cpcmsurface',type=str,default='VDW',help='Pilihan model skema muatan titik dalam pemodelan pelarut implisit. Pilihan: VDW dan SES.') +parser.add_argument('-draco','--draco',type=bool,default=False,help='Apakah ingin menggunakan model DRACO? Default: False.') +parser.add_argument('-draco_c','--draco_charges',type=str,default='eeq',help='Pilihan tipe muatan dalam model DRACO. Default: eeq, pilihan lain: ceh.') +# Input for the solvator module in Orca6 +parser.add_argument('-solvator','--solvator',type=bool,default=False, help='Apakah ingin menggunakan pelarut explisit? Default: False.') +parser.add_argument('-nsolv','--nsolv',type=int,default=5, help='Jumlah pelarut yang digunakan dalam model pelarut eksplisit. Default: 5.') +parser.add_argument('-solventfile','--solventfile',type=str,help='File pelarut yang digunakan jika digunakan pelarut yang tidak ada dalam model ALPB.') +parser.add_argument('-solvprint','--solvprint',type=str,default='NORMAL',help='Seberapa detail output perhitungan solvator. Default: NORMAL, pilihan: LOW, HIGH.') +parser.add_argument('-randomsolv','--randomsolv',type=str, default='True', help='Apakah pelarut diletakkan secara sangat acak? Default: False.') +parser.add_argument('-fixsolute','--fixsolute',type=str, default='True',help='Apakah posisi terlarut tidak berubah selama proses solvasi. Default: True.') +parser.add_argument('-use_eeq','--use_eeq',type=str, default='True', help='Apakah akan digunakan model muatan EEQ dalam model Stochastic? Default: True.') +parser.add_argument('-droplet','--droplet',type=str,default='False',help='Apakah ingin dibuat model droplet? Default: False.') +parser.add_argument('-r_droplet','--droplet_radius',type=float,default=10.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('-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.') +parser.add_argument('-fixhost','--fixhost',type=str,default='False', help='Struktur host tidak dioptimasi? Default: False.') +parser.add_argument('-evpes','--evpes',type=str,default='GFNFF',help='Pilihan metode dalam proses docking. Default: GFNFF. Pilihan: GFNFF, GFN0XTB, GFN1XTB, GFN2XTB.') +parser.add_argument('-nopt','--nopt',type=int,default=10,help='Jumlah struktur yang akan dioptimasi setelah proses docking. Default: 10.') +parser.add_argument('-no_opt','--no_opt',type=str,default='False',help='Tidak melakukan optimasi setelah proses docking. Default:False.') +# GOAT module related in Orca 6 +parser.add_argument('-goat_iter','--goat_iter',type=int, default=128, help='Maksimum iterasi GOAT. Default: 128.') +parser.add_argument('-goat_opt_iter','--goat_opt_iter',type=int,default=256,help='Jumlah maksimum optimasi geometri per iterasi GOAT. Default: 256.') +parser.add_argument('-skip_initopt','--skip_initopt',type=str,default='False', help='Skip optimasi geometri sebelum melakukan GOAT. Default: False.') +parser.add_argument('-randomseed','--randomseed',type=str,default='True',help='Melakukan sampling random number dalam GOAT? Default: True.') +parser.add_argument('-readensemble','--readensemble',type=str,default='none',help='File (jika ada) ensemble konformer dengan format seperti halnya output GOAT.') +parser.add_argument('-autowall','--autowall',type=str,default='False',help='Menambahkan dinding potensial (sekitar 5 angstrom dari pusat massa molekul) secara otomatis di sekitar molekul. Default: False.') +parser.add_argument('-mintemplist','--mintemplist',type=str,default='none',help='Isikan 4 bilangan dipisahkan dengan koma untuk mendefinisikan suhu untuk menginisiasi basic workers. Jika tidak tahu tidak perlu diisi.') +parser.add_argument('-nworkers','--nworkers',type=str,default='AUTO',help='Jumlah worker yang digunakan. Default: AUTO. Pilihan: Bilangan kelipatan 4 (jumlah temperature untuk menginisiasi worker).') +parser.add_argument('-maxitermult','--maxitermult',type=str,default='none',help='Jumlah pengali optimasi geometri per worker. Isikan suatu bilangan jika dibutuhkan.') +parser.add_argument('-keepworker','--keepworker',type=str,default='False',help='Menyimpan file optimasi worker. Default: False.') +parser.add_argument('-worker_randstart','--worker_randstart',type=str,default='True', help='Memulai worker secara acak. Default: True.') +parser.add_argument('-up_atoms','--uphill_atoms',type=str,default='none',help='Hanya melakukan GOAT untuk atom tertentu saja. Misal, jika hanya atom 1-3, 5, dan 14, maka tuliskan dalam kurung kurawal angka 0:2, 4, 13.') +parser.add_argument('-gfn_up','--gfn_uphill',type=str,default='GFNFF',help='Metode XTB yang digunakan untuk memvariasikan konformer. Default: GFNFF. Pilihan: GFN0XTB, GFN1XTB, GFN2XTB.') +parser.add_argument('-align','--align',type=str,default='False',help='Membandingkan energi konformer dengan energi konformer terrendah. Default: False.') +parser.add_argument('-en_diff','--en_diff',type=float,default=0.5,help='Perbedaan energi antar konformer dalam kcal/mol. Default: 0.5.') +parser.add_argument('-max_en','--max_en',type=float,default=6.0,help='Energi maksimum konformer (kcal/mol) yang akan dicari. Default: 6.0.') +parser.add_argument('-max_S','--max_entropy',type=str,default='False',help='Apakah ingin menjadikan nilai energi bebas untuk kriteria konvergensi GOAT? Default: False.') +parser.add_argument('-conf_temp','--conf_temp',type=float,default=298.15,help='Suhu (Kelvin) yang digunakan dalam perhitungan energi bebas. Default: 298.15.') +parser.add_argument('-min_delta_S','--min_delta_S',type=float,default=0.1, help='Perbedaan entropi (cal/mol/K) minimal untuk mendefinisikan kondisi konvergensi GOAT. Default: 0.1.') +parser.add_argument('-conf_degen','--conf_degen',type=str,default='AUTO',help='Jumlah kondisi degenerasi konformer. Default: AUTO. Pilihan: Bilangan bulat, misalkan 2 atau berapapun. Bisa juga diisi sebagai: AUTO, AUTOMAX.') +parser.add_argument('-free_heteroatoms','--free_heteroatoms',type=str,default='False',help='Merelaksasi semua atom selain H dan C. Default: False.') +parser.add_argument('-free_nonh_atoms','--free_nonh_atoms',type=str,default='False',help='Merelaksasi semua atom non hidrogen. Default: False.') +parser.add_argument('-free_fragments','--free_fragments',type=str,default='False',help='Merelaksasi antar fragmen molekul. Default: False.') +parser.add_argument('-freeze_bonds','--freeze_bonds',type=str,default='True',help='Membekukan ikatan selama proses GOAT. Default: True.') +parser.add_argument('-freeze_angles','--freeze_angles',type=str,default='False',help='Membekukan sudut ikatan selama proses GOAT. Default: False.') +parser.add_argument('-freeze_cistrans','--freeze_cistrans',type=str,default='False',help='Membekukan isomer cis-trans selama proses GOAT. Default: False.') +parser.add_argument('-freeze_amides','--freeze_amides',type=str,default='False',help='Membekukan gugus amida selama proses GOAT. Default: False.') +parser.add_argument('-maxcoordnum','--maxcoordnum',type=str,default='none',help='Jumlah maksimal bilangan koordinasi dalam format LabelAtom1,BilanganKoordinasi1,LabelAtom2,BilanganKoordinasi2,dst. Default: none.') +parser.add_argument('-max_topo_diff','--max_topo_diff',type=str,default='none',help='Jumlah maksimum perbedaan topologi jika diinginkan. Default: none.') # Input untuk simulasi MD sistem protein parser.add_argument('-protein','--protein',type=str,help='Struktur protein dalam format pdb') # Input untuk perkiraan jalur reaksi menggunakan xTB @@ -235,7 +288,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) + 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) ### NWChem if opt.software == 'nwchem': diff --git a/bin/cmmdepost.py b/bin/cmmdepost.py index 6498860..db6fe4b 100755 --- a/bin/cmmdepost.py +++ b/bin/cmmdepost.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3 +#!/usr/bin/env python import os import sys import argparse diff --git a/lib/__pycache__/cmmde_dcdftb.cpython-310.pyc b/lib/__pycache__/cmmde_dcdftb.cpython-310.pyc index 28b898a2a84c52ac740b88242c23ed113a37d740..15c651ce47fff1ccd03c2a9233fbac16ff1e8988 100644 GIT binary patch delta 21 bcmaED`Pz~vpO=@50SNkDZA#n7b6*AkOuPp$ delta 21 bcmaED`Pz~vpO=@50SH!SqVZ@#Og(X{KHM(maxA~Gn>-9OSOiypuxuhs3GudwEF@RfxmFSph*xCFA8spCIpKZCYTUl z@Gq>|?yewQoWY6HxxLRVEt|tATGBtlyrb2EO9}IWAXrD36N)XW>?bbGgJhIz}_S{J0iR5{-CoI&-WL0=zHnuU@F{Pva8&907El5GFZZJfFvlK$~wh zd+FR6;G^)L&e1#g|D`v}AGuj|D31llh~q>P(M+^FfSt(0?cE4ppCDror~O-!)4LHq z>KNv?0mmpWhb<4sDd4d4ayasE)BwjAFUNQu4p~+|v@h?6|9^n~LRv#E{Y5?v{tcj? z;HAIBOaD(mf0>v53NQVqK!25&{u(d+dqA(|rN7QgzX8}I*Brm;-m%bP1 zab9{iFa0r~pW>yT=A|zK`k6GnCTDy-eDwG%A%Hz%GhT`B#cS|=cpW}>U$Wej!|Ba4 zdwPfy-zIP1zE{xY|BiG8SX~Em`Z1qJwv3PyCttqDBoz3Kv}Z+laJknnhni5jMu>-( zdx-)(vP~gb?(=J)W?{SL9Ms66W^tS6=5in8tfh4M<1Be1B+oBIdUE;@&C`coqK}Zh zybn3DZsn0xh!auBg@lq&y<8%(2VYLxpX=?n@<^{Fs))U>Ah&E=Zf+dE%@@bu#dkO> zV#44*^ZSvg#{Vd7DH^|O@NRgyI>#e_aNfcefW>kG1Hhc7C+827W;_-VvwjK4iE>4 zLqt7cBn}ft9>BZp!|nH5qW_!k!l36TX+6dqJ%5~656I;-JdlEPxVc{*=__gJhjXOA zyQ}o0Y56jc5BIL}Z>QxS$&vpjFOlDn)*uHBaPO+&4zGqk{SGz!8Lx)-zC#VMw1%TO zUb>rC0~bq~ID&JWhudd4c}DvEw2s^z@K5vVKyh@GXxOm>=84g7d8UGO?{HuDA=QUabn%?e2Y-#Ue; z$+nvq3h&v9TUarNa`OjkPtMsDoB^U!vh+z2t0VnZ&g$5D`)zo29pS2%=!dh|hui0| za3(EW9!5TaliHDRb%u9Vy@lg{o+nnM#1Ju(yUyhH7fxq~bMonqGs!ttMR11)@eiU< zPmCal$65Fxc>%uU zPS$ONBlAwd|BV9wI5+BYOPJtJ)3-i<-~K8B<50olfiYt2l|3;2iXIsML-hdu3!Yus z1!5dVZqKqKI|2y@F2Myq&iYzIT;Q2ym9I4(2A=V_2$42HTx4U(1m8JK@D6(zzB{oe z>Y4cCu$}P&U!ErN_`dt~V~MbXRV6$9#5?;nETTd2jD7-Fzs5M|}3Xreu3F*H<+&@mpB zxqLpn(c@>ZMMi1qadbCdpLY6u&Y7s(V(#iO4cM(lj1fvGt}tZDp`)nV#tZEUNtnumwRS(-FrWF)NQXjPVgd{ixr*wWJ17VTwe9ew>a zOV8NAK(?lAJgxP34QJLjrAANfB8cr@e%1nHc1r{9aZX43GGZ+KrrvBDvhlP%r`qyL zWr{5397pc~N7r|c_1H`n)@#-Qhskzv;t~{$j4VyOg|tMKTus`n%3YYj?~Bf`JIG*7 zOrg`|4hQ_6aM0srux3VsdwlNj%#t@0@lFM9dT=*`wJ>s2=ky1Fq?IXf&3FUBz*HdU zW3V=+824}$91YO7GqOpyKkD`aeu9yO1KtRWpM;O=tTw1W#T19#;h=M72?tS;pwrI? zn~pO|+{0=I0QL!+nwVmjGdLOW;~r!XGDp~yWhFAg>Eo(f80n1rrW3RZn_3wq>Qi9L zCSg+>BiT{|_TipDn(_otpM?7qBWykncN5$#aJR$V1~;@fpEN2MC2JS5A6&;s=V#o= z9WtlirrA?$*!-(hvwOhfj5 zNB{5;aHG%_T3VuImVWz))n}-gEv@-lVO&Ik`LI#Kh$p9}LyRzlGeXxi zBfQ~5OF+;atr{M2bkz@97RNS0E6? z{SjaEip_+kwQ0aSJZ!V{53!}8vB7Su4JP`|YrxcP9kAD!#;rC}uQk(JaBCS|H9LNc z98x|cQI|Wq7bPv29}d%yIg4>i1tW3#r(qkyl7a6AcxXT!5;)_=gHCU>juY5twb)Dp z8B4YVay4iz;taq&Q&Z8#Y$GiFJv~;NmDij!ci|Sd6UU=RvzblM7d9Q{>f5%1QTp5v zoLjv&4_Zw_yuD9*bW2PgMbNcVpvf^jI5G^8Ix>Jf%c}$YCWs#7 zwiY!W|9m7|GYyM*5EenaW(pSA8uQ?w#aiPE;O?l#H4nWwc5Aue)^cNLZmOp7YpfwE zM(EdA4g8gz2qs?;{aIC1zGZc^a0>(0ud#xtV!`bVxKOA?_dCY7y;6_|H|iL1U>+v4 z2s#MU+&Ut9Z8L<~!%7{X40A65_2Hn2Ef}4@d2NA23U5>e@ z(-#h+6*tK3hXWx-8d?g4-9APX1;L7-+lixPKg392=Q8a!USdSEfk{S+*6{$Snsx_# zjMO#b3{JyR?u&TCOaVB49x{$6;Aa%`&Y<)9yfZuldBN?QXXNuicPJDIx*56KA9DL9 z-Cm{u?SXs&h(Rz4cYD!O3`Wc|G9S*_EOf$l#n}uuY*{7&p9Fjoa2Mb%z+Ekj3?zr0 z!7yyZg3ejD3uZ9uVNZAo_CZtONf=c|779#-=L67&knqwxT>(ho)K*Y zok%2yp&ZSy>0!q0nVtblT?-sLqFeOfsEhM~#U>UuGvc5t0<2TeTh=HkU}$jA6D(mw z&gmuunh|J0pcNVCT>$Nj)E^84!Y~-XIt|09K=y@L?@9wMkQihN7K0vkW9f%w%IjjJ zlaZ;Q6LKT#K-iegbG?%z!&yTmZdbs+00itq99r^CGT2Q9TVk*%gH17#A!ir{6QT$9 zVu>GnG;er-H97J@)O=EObWW8j5j=v~r%%6C$? zthFq7hU|WhK&Fll`|7K&_^My%1!~>T%yIGE{(JrJzJ2HIclw@aOJg&48}2o{b3P?2 zT)9cg$~FZ;NnJ{=ey{j;aa>Hvt7v%@DX)5>uZY**_1*KW6e3T0;vz~>Nh>Nh1^pt4 zA%Ud|HL+{S!u^|qJ&L!mCrVB1aH5t})=|njT3H7ORFT?&4Xr(?wUdr<^1>DJ>LjIg z(OMTdJ4Y(Ll+sHpy&RHKmBbd4s=b?n@?E4gZD>y>wI|oL>tm0sl=d90Jx7k(NTr=p z+G(YoLo%XD`9-CQE8^qHVz6AK3Sm#wrKJA)hJGrkpCYF{I`ETFYY?kO4|LKr06TdG!H-F+pBjN~&rguD*?Uz7ZN3C6zWxX`_`e zROrgcmV6u8mp8PNN$n)*a+A|u(jTI68~0GbpQf;OZ@Q- z?TMuJ#JY4nLTRnE*7~@KR1Q+gL0UNo$g6vPQ!J869rIVUKGyMMMQmKsOuLGq6f!2BpyeF3*yU}x+~&Y zRG1S7GIjIfMO3&cCNg!);vNaq^-9j82Pf~c;`&pLbl{AXRmxN(^yNvg8n{ zHb1Iety){8jAz-Y-Ls(|OzH<8`^YOUdI+cVZd&gq=e(raN2z_Z+6M?r*t%Xzsyiul zC#~)T1TJ=Z|GxaG!lGE+?bDkAOfe>81MJd<)|u2g$;lbg6Cmf8pntb86B^5I;Q-1p zC4)l9F#w^;E_9%WY78|1ga&|IO{%aou1gleqEMx1V?`fX(~!y*O4&jyTR0@8DvP%! zRj~B!c?Ft^SD-0-1)5TR8ZZgj)1Fk-ZVF0Xfkv|{%}F+k7Vk>K=~BG{P2sLI9c&^| zq-l<>K}Kz*l&!R~6%e>kzfL7pbtoXYvEZjUkyPzNJBrhrOMBs3>0@JMD@B(-Iz*p3M`_Q~+VeYBQM9((SGtfKJg*$n zhPE%M?R#8K+9v4!OO*C9t-VY-CrPD?Qo3lR3y^I=m|_;~5lC(KhPFSc?SEYN_$GPr zO-k#eVMa{PkV+4w^w3HVAgRKVScIM9B1J_?Td`t>jhCu4UdrwdFjQ9#H82VE$wCNl ziJ~l3s$c0@=|O{WI;lDcD|=2I=U6OVw>>ip6em)}W%0ITF)VW;)!vl8GA4?NKGRpl zM69uv4ej})_WWZrIRg8a%aryCt-V4{LeFqYiPK6P5SFlYLwh=@J-y!ZsO=vH9_t=Y zQ`&J_J5FA?N-D2W%4@Xp8X&1+ef%J+3{zQ!Y|F*>X;>Vj9;>q`I9_x6|r&Ku`}4-0plPIHCw(dAo=jP9%#V zEJdn)sXhB*@|gUyJ+(3U_tAG&rh7x{O=`WQFG4Q71$}u#c#h3`=h?h>9(8Y&TMSip zHt*Tlyk|!ZP?O#7@6~_5(Uiu#i55z8h}In16c|(iY_$dE(MKK?R#&>#93&nq#}L^R-{dVSTln?(N%z-_vpTq3QG69-xEKTaIDs?hSx0Xy7iey z3y-JBG1x+0p>$Vi-Br>xwJ8&o&S1|32tH>aumip+7w8OWxtL}F$t4XP8wOL-V0vUk zkqVn_*nYqca+Wg8(S|wlMwrw^C|!isMF2r&T}YNd!ooCBe)bD6GfC$(Ipe1c0oo8C zBR5Ii5~W+BbxVL`I)*_ovIe}dVdza7dLJuD+ZZ`ML0*E0hJ|jHoV!5=Z&HRO+JKfj z6BpE_Y)}J)pauvH0Fl&d$&w?;t|3n9xedc;(lAQeE|XWTlW#(oz@|CU8zv*L=nIxH zGYXPD79BxVPhAwwpr#>sa7~atW78i`C#I>rjr86fc@(8m4N8)leJ}u^J2ADUNFF@J z71qZey_M`5;|e?E{Ouy_K#!fJkDYxqN~(J)buX>%1>`er2`pWeF#DuvnF0XmR;|6K zAPo&0hSsE^b!}pO@exd!5!x_9sYhuw@Qv!B-Nhs>%vnTVvyt3E0IsF*4@(&fgO zBvr8|CVf(|HzA2HB%B{s-$%+dCs`0PrE~^#_LDfUiv6no)5c#muIZ?K?exBON_T?R zogmq3Q-l~~Ae~jgf@etCa|AMVd>A`rzDf0>0GU3MZF*-SoGP#Ur0Am}s=S^quLsks zs$&J;Fdg=Dn5Gk%zIQ`+AgMc$aIczvHS?+em;N;eb+Cgz*g@$|)4J0ndm-aHk@3K{ z1(5Nb$oQVbpRk=5&NL9k1 zi;!smVwP0do_IJ$fb7!7)ZTrc%ziYxs^cbnT$C!W-6*e5me;SAP~{DDc>`JA@D-$F z;Ff?y*k7i>GlV_gE@m2bV63@YOj&J30(~X;3cUjXh@q1wmpyU;_yaJF-yA+-9ap!y-e8!&nJ!fHd{q8vHhn=Fn z$rAc^ILH0aEHWEKzcz}^4YFS!#{m9I*_HiEdeMJ$^r}21lBY5y6rPrdJ!OigWg>(d zFof^vt%t%hk*OkRlzd)=s6ID}gAIz$8xYm!$1#LAl>q*Q*i;cdEP1{c5j{UF4mT>E zHzK0vO&G$P5zz}tb)-r1;sBy~(Ik$vDPFW8ninTAgr7n*|Ep|YES7vJLNs3%ix*22 zUzQ-6FZCG0%S_Es_?=$7WRU%?3Ik}A1b+gZWK`_I_Vx6C9l?Gq;yxRpH=>GtU C@UBz< literal 0 HcmV?d00001 diff --git a/lib/__pycache__/cmmde_dftb.cpython-311.pyc b/lib/__pycache__/cmmde_dftb.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d14e2edbfdfed0d6b392dd8106acc60a97d7c1da GIT binary patch literal 18305 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 Zh=%Y%TnLl=Ij`_4aB!+TWrL9Me*u}tM5O=# literal 0 HcmV?d00001 diff --git a/lib/__pycache__/cmmde_dock.cpython-311.pyc b/lib/__pycache__/cmmde_dock.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7ce97644db2a0311fefaf266fadef343c3bfcc83 GIT binary patch literal 23012 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 DpxUf> literal 0 HcmV?d00001 diff --git a/lib/__pycache__/cmmde_hubbard.cpython-311.pyc b/lib/__pycache__/cmmde_hubbard.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a01df4586947166d1ed57c93d1f61a631df925fe GIT binary patch literal 1523 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 literal 0 HcmV?d00001 diff --git a/lib/__pycache__/cmmde_nw.cpython-311.pyc b/lib/__pycache__/cmmde_nw.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4de5e5e6282d21acace20f98cc57787676dfccac GIT binary patch literal 2506 zcmb7D&1)M+6rb^~w7b$swiG2Kv0O{36)HuJYG_Fgq2St3LxRDWwxqO#wRRnEqp$3) zV_R8~koKSiL*!tv3O(pj*Tp&Xf5;_ADF`YC41rRLZ!&Rc$f<8O{!+U#?d;6kH*bFL zW8Qo7v(M*2Fs6S>DwlbLerKEgf%lkK1ei6XpzqOFNWs%6-jlYq_Rbm4!Fu%}SXe_h zQON_#3yZ+=nfrDCVsQ#y??Gr2*1PdBD)~*Oy*DiXI^Z`CbV|L)onmD9$I&+rN_|#e z?ZD=~E%slBwRs>Y1uRePh_{0SWCfI-GY8ww7{H6Ss}^^R7U`R^^aVtWn9;=HbDB>+Ut9sCs4w8cu$?`w- zbmGBJpabJ|!gL^rBf@*=$MRTSi&(yO=&Maw?*`QS;@7Y%1xwx%f&MxgnXl&F#~uA! zK_^R2{+Cl7_WVv53;&m1Q;u{-=|qRs-Y!v|=C!8?O{imR50V6L){SZTpl2~f}T%Pp51}E({r+ZQ>A=%K4VhRfNRd`>TN3Q z<%x>veD2N-2$%9KOv)Qe*%^u#DPE$uNbxM#8#TcapV4wE4e z#9_RRr9L-Q-AKubW~ShxDZ3^qNY^_Ks&lchMBTZCG*m#3gB@01gF=DtqnBRa{qdIQ zxj%YHwj^I!sf;}wTpnyA(KS#V-RcWfrdEViq3qfcNqOp_uq>2?R_J6KxugM`l*e1a zQ)`JQiIwDPvOLxzeUGm`x?1I`qd&SEWUxsF>twJ+e2*s{O;o0Y>B-|w7Itl+D zDZtxa=2L*c?C5N=!{Xd!YE3eC_r|U}I!s zsu4^zgQ;Jq>f};`Txya_z`z7=Wwjcpi~S9;zbWimxFUrD;vhboTyeNbx`QggF!e4GA`T;&yF&jd-DTHg$w!lfT z9mq#)ml2kkSX)G-w-S4F#opO@ifxS4$#8=VH_0$CFdAQ>^%DQrP9gl+=G3fChJ{=nKaL+vam|u7nz>LPm&rEo^=U#rIS9l)8Kquqa ueiXl;SD=FQ4}iQCuVnMed`A65Pr}xIFYf`<<}k+Xo*0H0|4sA@0QnnajUwFu literal 0 HcmV?d00001 diff --git a/lib/__pycache__/cmmde_orca.cpython-310.pyc b/lib/__pycache__/cmmde_orca.cpython-310.pyc index 0c338f85acea2429f3069846702ca16a995797ad..f7ab85fc719f4e517daf6c2a03778fc2fa6273ce 100644 GIT binary patch literal 5771 zcmZ9OO>o=B6~_Srq$r4zWm*18Vh6FUBuZ>6aX#!Mu49UXB*r8`laxQ$rZhx=5+f3z z0ni^XR5x{+_Rvl}&ABttA&1_2=&?EG*!I%tOmXN;r-!yTUpmvtq)q>C0g8kzle_!- zzxVd-+r@&`^t8m`-vUdMQjjl=o3*!;Y`#pb8> z0P;W!yLqzn=kx*c0 zpM|S)K4Z~2`wQ4ThiFq#wB!0QcoRK7M#C6Sq70uz89s?JeB#Uc^YHo-UNW2Wxc&li z`N}`8p8)?o_{mW;^Cb8w=zl@G5VbGD?r*SrY0PdP^p~Ok3+*EGC(vIR={~2w3iUr| zPec6%>KQgWr=Q(UJmwwLRbQf>EkS!N(q3oUJhXF6I|A(u(p+ADQ-AAG;<50H8#@&@ zp}*}{^z%PY@ErOVFfYH$kCAsk5+f3xHq52K`dw(pMw&lOI|uC!wD+J*`!oK&U11o_ zpN(`K`bFro{{G#>o;nw)eW>4oI=9O|;#pRg_G~hd%@?qFe@M~4JnZ|K&jmfZ%jdZd zGdowIEF;p@QI3!K+dl){i#Xo*4@A*_3z~!9G5^3QKd?NQ=qG()w5IT>!kYgGU4fqR zC;ar7zCup{^uI!1g+A#^qnPa3;vOe#3F;cnILZ{H0CH$V{KG82ge^k*0NUY^W~RXQ zR;9CN8F7z+UV-Hi|ET|rf53m%e{MImS1WejVbu;#I`v>*+|!@eOE^0T=e+;CUZ$RX z3A#Ge*_@T(D116#bIX50zsme-=vA3t1AeukCG)EfM^M&>eg6bKVTkc3&}&1A{&lS3 z7=!82KK^OEK~x$jdSEeUQZw@fYd#K}Eho5BE{j!%c*o z|A4HTuzzJ_53;v5{T4e3f_(;58_RwJKCi}nS|F!mLLX7-@qn#mFYeYca9~ z@_LMPK+eU;DC5&%#?E>DRn`-26S;phmisom--vm4LEem!9>`lUVuHLqBK~>0yB`a- zh3FQv^CJzU4{~8d{C6VjPodq0_RdHHu|eJ)5&yl&`d82#Xzz_Q5EtZPj0`}&Ga~+_ z$p1@N-+^{%q=DQ8c|S((fn1J}`yjZH#;WFlEXT+LkX(%TAo&>C0a0S)2Oujk@(^S- zMt%sg79$^n6k_B@ARolYBakaG@(D;WMt%%Z8WF$DDka)g)a6rXv}LBe%BQ6?s~ zZR2(z-l#91YY6!E(sFswBiIl+b_-U8YOW!e#)g-Y;a{(LDGbgaz=T{@md^l))CqB` z6X9H;kwmza6)!1=Q!@C5n6P9VDWzzD=Tz8hk_x~?EXwonR0lT0S%Y_YQZ@`Ihl zhPb+1%K}hCppG2!)oe};#9Sp;YKX0Vs|TG1%ppm=TqBuNYbCXjY*|jv@+79`n1N6$ zh4TV@$vvnlP8i~*u+t6CBClNVQRkFFdH^t;=kYPr~y?)oS4KKsY zlpB?zT2;L1&~P}MX!Uyf*^U|TcRl%Ju2jk^@}^-Lw&ohTtlBM2?wI|7E4MpcW04O; zYCYkF2Rq)ug}&C6CE4uTR?9*8WXUjf@6f`gVf7?g?rHZru37rMk&=qt|Ck zuGk1Zu*rq0)=0RzCoj0V-gaRoo3>@SRBQBIU5l)|!z^1ec&g~nE#LtlKVzebaLr*t zR5jT<8Varx<7~IA1w3PLj4i%mqfkZTjuCB7!R)xK7%U&^HEFr#cr7Gpp=Y>T78PsN z?&x9eD;-no4u?og!j7;9N2n<^JO+m29j~odSF$;!ezT&;t4c*JHla0Fv+K25AzSv2 zjO*9(*Y}i$&@#3fLQYxp_UpFRvYIV+upAluX=KoKqLlOAGX0%1wn^}2dJTVy4iMPQUvDOHMvFhv-Yud7uopOuRY!aT4lmMo^eq9~Qn zCZDZmDeNIx4nedb^=y?H&tnHFYlR{Tf^CAOOy>cGTwN)L0(qk>*k-+ZVBoUeB)ba`?PeZC$p`2HWEN@IfVqRGdy^+XDRZ-RyR1`ORm<$~d zqGh$b_B30mW>-s?ZCC}eYbeWVInM}68uN=f*1jkPskUYJG&c~fzF`K*KHU&O(&=|Q?qW3%KC(7~RQUV{N%o=$ zM0!00sqmQ$#2#+=MtXP~Hl|$Mg!J~o9T=qh(QO!{!iz5uaOnjTj@7+mV4kVg==u&O zZX*x8R)Q&)ULaBYNj9KKg2~&xb5Sa3bT>4o17o~M@rDRJ(_6U0=mu+uddKMpg4XE; z6L`JpgO+P2IF1V@a4phXEs)q!yL1@_=?*SJ^2OqC#RZdXy53lKBD#=+G$rlc?;FS( zzYTE5x3!iLB-srWOvf&&&=@({C>r?%Q_+$sxnPn8VWlNoGj%MQY%uFRbOx>wObi^O ziK{J`&~2;VHQZn(>NIUl?+lzExj8T#)P$~+a1j~PHu@+;DC}zuP&AEd6M_ju-?HG6 zH16~btklGhH0+Djq;`^iaWq+Brdby-9A=#DPQOV7BD-O}hM@-;{EE>H(=mD*SX5dY zxYk{*+YP3AI72uE-413;n|Cc67an#hswCS>Y1=URp%To7Emmggj;q;jkQwy1I^AwF z+*N6_Z8k#^B(-j5(+nmIv#EF5ZJbT*9$t(rI9eCgx*ts9Shbs!0?VbT8(mjx)&hxf z-N5goU>5Igqq$|^C}8Du?DjE&ABtPiyfX~6ZEdrM$WD-sUBz8&zLUvqX72lVTgmew7VYYE%zE}`U0 z^aIaW>UK85Uem&Fy0ciNNF5$7j)`xXPxD9cp}*OuTGG<|4AW(_)DPJ#Y>(hG3o@HX z^YhT?Gn2^hbG*o>6RH16!l=y%ssBo%$V+_cTPZQaXVA;wZ-zg_S_wXqnEFOcNr?m> z+Ga48lHidq#T11!i-5>{`rC{^esfc)f6r$!m>+QyQq+bs%pv;R*xzyVhsro7IzMJB zF`x18Ib=NMksRyqak8M#49|Tm{gZnr9!>mN`X#m8$8-On*49w>@*>Y#wr^u!x1a^- Si#^;rUE>nlA-Z}p-2VXp@S6Gn delta 846 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 D$#}ux literal 0 HcmV?d00001 diff --git a/lib/__pycache__/cmmde_qe.cpython-311.pyc b/lib/__pycache__/cmmde_qe.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f994d8829e91eb4035d9541e5f458c44aea1985f GIT binary patch literal 8364 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