molSimplify 1.7.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- docs/source/conf.py +224 -0
- molSimplify/Classes/__init__.py +6 -0
- molSimplify/Classes/atom3D.py +235 -0
- molSimplify/Classes/dft_obs.py +130 -0
- molSimplify/Classes/globalvars.py +827 -0
- molSimplify/Classes/helpers.py +161 -0
- molSimplify/Classes/ligand.py +2330 -0
- molSimplify/Classes/mGUI.py +2493 -0
- molSimplify/Classes/mWidgets.py +438 -0
- molSimplify/Classes/miniGUI.py +41 -0
- molSimplify/Classes/mol2D.py +260 -0
- molSimplify/Classes/mol3D.py +5846 -0
- molSimplify/Classes/monomer3D.py +253 -0
- molSimplify/Classes/partialcharges.py +226 -0
- molSimplify/Classes/protein3D.py +1178 -0
- molSimplify/Classes/rundiag.py +151 -0
- molSimplify/Data/ML.dat +212 -0
- molSimplify/Data/MLS_FSR_for_inter.dat +23 -0
- molSimplify/Data/MLS_FSR_for_inter2.dat +23 -0
- molSimplify/Data/MLS_angle_for_click.dat +8 -0
- molSimplify/Data/MLS_angle_for_inter.dat +23 -0
- molSimplify/Data/MLS_angle_for_inter2.dat +48 -0
- molSimplify/Data/MLS_angle_for_intra.dat +10 -0
- molSimplify/Data/MLS_angle_for_intra2.dat +6 -0
- molSimplify/Data/MLS_angle_for_oa.dat +18 -0
- molSimplify/Data/ML_FSR_for_inter.dat +112 -0
- molSimplify/Data/ML_FSR_for_inter2.dat +110 -0
- molSimplify/Data/ML_bond_for_cat.dat +8 -0
- molSimplify/Data/ML_bond_for_click.dat +8 -0
- molSimplify/Data/ML_bond_for_inter.dat +48 -0
- molSimplify/Data/ML_bond_for_inter2.dat +48 -0
- molSimplify/Data/ML_bond_for_intra.dat +10 -0
- molSimplify/Data/ML_bond_for_intra2.dat +6 -0
- molSimplify/Data/ML_bond_for_oa.dat +18 -0
- molSimplify/Data/bp1.dat +21 -0
- molSimplify/Data/li.dat +3 -0
- molSimplify/Data/no.dat +2 -0
- molSimplify/Data/oct.dat +7 -0
- molSimplify/Data/pbp.dat +8 -0
- molSimplify/Data/spy.dat +6 -0
- molSimplify/Data/sqap.dat +9 -0
- molSimplify/Data/sqp.dat +5 -0
- molSimplify/Data/tbp.dat +6 -0
- molSimplify/Data/tdhd.dat +9 -0
- molSimplify/Data/thd.dat +5 -0
- molSimplify/Data/tpl.dat +4 -0
- molSimplify/Data/tpr.dat +7 -0
- molSimplify/Informatics/HFXsensitivity/__init__.py +0 -0
- molSimplify/Informatics/HFXsensitivity/measure_HFX_sensitivity_oxo_hat_reb_rel.py +443 -0
- molSimplify/Informatics/HFXsensitivity/measure_HFX_stable.py +346 -0
- molSimplify/Informatics/MOF/Linker_rotation.py +179 -0
- molSimplify/Informatics/MOF/MOF_descriptors.py +1299 -0
- molSimplify/Informatics/MOF/MOF_descriptors_alternate_functional.py +589 -0
- molSimplify/Informatics/MOF/MOF_functionalizer.py +1648 -0
- molSimplify/Informatics/MOF/PBC_functions.py +1347 -0
- molSimplify/Informatics/MOF/__init__.py +0 -0
- molSimplify/Informatics/MOF/atomic.py +267 -0
- molSimplify/Informatics/MOF/cluster_extraction.py +388 -0
- molSimplify/Informatics/MOF/fragment_MOFs_for_pormake.py +895 -0
- molSimplify/Informatics/MOF/monofunctionalized_BDC/index_information.py +10 -0
- molSimplify/Informatics/Mol2Parser.py +46 -0
- molSimplify/Informatics/RACassemble.py +408 -0
- molSimplify/Informatics/__init__.py +0 -0
- molSimplify/Informatics/active_learning/__init__.py +0 -0
- molSimplify/Informatics/active_learning/expected_improvement.py +269 -0
- molSimplify/Informatics/autocorrelation.py +1930 -0
- molSimplify/Informatics/clean_autocorrelation.py +778 -0
- molSimplify/Informatics/coulomb_analyze.py +67 -0
- molSimplify/Informatics/decoration_manager.py +193 -0
- molSimplify/Informatics/geo_analyze.py +88 -0
- molSimplify/Informatics/geometrics.py +56 -0
- molSimplify/Informatics/graph_analyze.py +163 -0
- molSimplify/Informatics/graph_racs.py +288 -0
- molSimplify/Informatics/jupyter_vis.py +172 -0
- molSimplify/Informatics/lacRACAssemble.py +2192 -0
- molSimplify/Informatics/lacRACAssemble_bisdithiolenes.py +236 -0
- molSimplify/Informatics/misc_descriptors.py +198 -0
- molSimplify/Informatics/organic_fingerprints.py +61 -0
- molSimplify/Informatics/partialcharges.py +345 -0
- molSimplify/Informatics/protein/activesite.py +53 -0
- molSimplify/Informatics/protein/pymol_add_hs.py +33 -0
- molSimplify/Informatics/rac155_geo.py +48 -0
- molSimplify/Ligands/(1_methylbenzimidazol_2_yl)pyridine.xyz +45 -0
- molSimplify/Ligands/1-4-dimethyl-1-2-3-triazole.xyz +15 -0
- molSimplify/Ligands/12crown4.mol +62 -0
- molSimplify/Ligands/Antipyrine.mol +58 -0
- molSimplify/Ligands/BPAbipy.mol +106 -0
- molSimplify/Ligands/Hpyrrole.mol +26 -0
- molSimplify/Ligands/N-quinolinylbutyramidate.xyz +31 -0
- molSimplify/Ligands/N-quinolinylmethylmethinylacetamidate.xyz +30 -0
- molSimplify/Ligands/NMe2_-1.xyz +11 -0
- molSimplify/Ligands/PCy3.mol +111 -0
- molSimplify/Ligands/PMe3.xyz +15 -0
- molSimplify/Ligands/PPh3.mol +76 -0
- molSimplify/Ligands/Propyphenazone.mol +77 -0
- molSimplify/Ligands/acac.mol +33 -0
- molSimplify/Ligands/acacen.mol +76 -0
- molSimplify/Ligands/acetate.smi +1 -0
- molSimplify/Ligands/acetate.xyz +9 -0
- molSimplify/Ligands/aceticacidbipyridine.mol +70 -0
- molSimplify/Ligands/acetonitrile.mol +17 -0
- molSimplify/Ligands/alanine.mol +30 -0
- molSimplify/Ligands/alphabetizer.py +21 -0
- molSimplify/Ligands/amine.mol +11 -0
- molSimplify/Ligands/ammonia.mol +12 -0
- molSimplify/Ligands/arginine.mol +58 -0
- molSimplify/Ligands/asparagine.mol +38 -0
- molSimplify/Ligands/aspartic_acid.mol +35 -0
- molSimplify/Ligands/azide.mol +11 -0
- molSimplify/Ligands/benzene.mol +28 -0
- molSimplify/Ligands/benzene_pi.mol +30 -0
- molSimplify/Ligands/benzenedithiol.mol +30 -0
- molSimplify/Ligands/benzenethiol.mol +30 -0
- molSimplify/Ligands/benzylisocy.mol +38 -0
- molSimplify/Ligands/bidiazine.mol +42 -0
- molSimplify/Ligands/bidiazole.mol +38 -0
- molSimplify/Ligands/bifuran.mol +38 -0
- molSimplify/Ligands/bihydrodiazine.mol +58 -0
- molSimplify/Ligands/bihydrodiazole.mol +46 -0
- molSimplify/Ligands/bihydrooxazine.mol +54 -0
- molSimplify/Ligands/bihydrooxazole.mol +42 -0
- molSimplify/Ligands/bihydrothiazine.mol +54 -0
- molSimplify/Ligands/bihydrothiazole.mol +42 -0
- molSimplify/Ligands/biimidazole.mol +38 -0
- molSimplify/Ligands/bioxazole.mol +34 -0
- molSimplify/Ligands/bipy.mol +46 -0
- molSimplify/Ligands/bipyrazine.xyz +20 -0
- molSimplify/Ligands/bipyrimidine.mol +42 -0
- molSimplify/Ligands/bipyrrole.mol +42 -0
- molSimplify/Ligands/bisnapthyridylpyridine.mol +111 -0
- molSimplify/Ligands/bithiazole.mol +34 -0
- molSimplify/Ligands/bromide.mol +7 -0
- molSimplify/Ligands/bromide.smi +1 -0
- molSimplify/Ligands/c2.mol +9 -0
- molSimplify/Ligands/caprolactone.mol +41 -0
- molSimplify/Ligands/carbonyl.mol +8 -0
- molSimplify/Ligands/carboxyl.mol +13 -0
- molSimplify/Ligands/cat.mol +30 -0
- molSimplify/Ligands/chloride.mol +7 -0
- molSimplify/Ligands/chloride.smi +1 -0
- molSimplify/Ligands/chloropyridine.mol +27 -0
- molSimplify/Ligands/co2.mol +10 -0
- molSimplify/Ligands/corrolazine.mol +72 -0
- molSimplify/Ligands/cs.mol +8 -0
- molSimplify/Ligands/cyanate.xyz +5 -0
- molSimplify/Ligands/cyanide.mol +9 -0
- molSimplify/Ligands/cyanoaceticporphyrin.mol +114 -0
- molSimplify/Ligands/cyanopyridine.mol +29 -0
- molSimplify/Ligands/cyclam.mol +81 -0
- molSimplify/Ligands/cyclen.mol +69 -0
- molSimplify/Ligands/cyclopentadienyl.mol +26 -0
- molSimplify/Ligands/cysteine.mol +32 -0
- molSimplify/Ligands/diaminomethyl.mol +19 -0
- molSimplify/Ligands/diazine.mol +25 -0
- molSimplify/Ligands/diazole.mol +23 -0
- molSimplify/Ligands/dicyanamide.mol +15 -0
- molSimplify/Ligands/dihydrofuran.mol +27 -0
- molSimplify/Ligands/dmap.xyz +35 -0
- molSimplify/Ligands/dmf.mol +28 -0
- molSimplify/Ligands/dmi.mol +41 -0
- molSimplify/Ligands/dmpe.mol +52 -0
- molSimplify/Ligands/dpmu.mol +47 -0
- molSimplify/Ligands/dppe.mol +112 -0
- molSimplify/Ligands/edta.mol +69 -0
- molSimplify/Ligands/en.mol +28 -0
- molSimplify/Ligands/ethanethiol.mol +21 -0
- molSimplify/Ligands/ethanolamine.mol +26 -0
- molSimplify/Ligands/ethbipy.mol +70 -0
- molSimplify/Ligands/ethyl.mol +19 -0
- molSimplify/Ligands/ethylamine.mol +24 -0
- molSimplify/Ligands/ethylene.mol +16 -0
- molSimplify/Ligands/ethylesteracac.mol +57 -0
- molSimplify/Ligands/fluoride.mol +7 -0
- molSimplify/Ligands/fluoride.smi +1 -0
- molSimplify/Ligands/formaldehyde.mol +12 -0
- molSimplify/Ligands/formamidate.xyz +8 -0
- molSimplify/Ligands/formate.xyz +6 -0
- molSimplify/Ligands/furan.mol +23 -0
- molSimplify/Ligands/glutamic_acid.mol +42 -0
- molSimplify/Ligands/glutamine.mol +44 -0
- molSimplify/Ligands/glycinate.mol +23 -0
- molSimplify/Ligands/glycine.mol +24 -0
- molSimplify/Ligands/h2s.mol +10 -0
- molSimplify/Ligands/helium.mol +6 -0
- molSimplify/Ligands/histidine.mol +45 -0
- molSimplify/Ligands/hmpa.mol +62 -0
- molSimplify/Ligands/hs-.mol +9 -0
- molSimplify/Ligands/hydride.mol +7 -0
- molSimplify/Ligands/hydrocarboxyacetylide.xyz +8 -0
- molSimplify/Ligands/hydrocyanide.mol +10 -0
- molSimplify/Ligands/hydrodiazine.mol +33 -0
- molSimplify/Ligands/hydrodiazole.mol +27 -0
- molSimplify/Ligands/hydrogensulfide.mol +10 -0
- molSimplify/Ligands/hydroisocyanide.mol +11 -0
- molSimplify/Ligands/hydrooxazine.mol +31 -0
- molSimplify/Ligands/hydrooxazole.mol +25 -0
- molSimplify/Ligands/hydrothiazine.mol +31 -0
- molSimplify/Ligands/hydrothiazole.mol +25 -0
- molSimplify/Ligands/hydroxyl.mol +9 -0
- molSimplify/Ligands/imidazole.mol +23 -0
- molSimplify/Ligands/imidazolidinone.mol +29 -0
- molSimplify/Ligands/imine.mol +13 -0
- molSimplify/Ligands/iminodiacetic.mol +33 -0
- molSimplify/Ligands/iodide.mol +7 -0
- molSimplify/Ligands/iodobenzene.xyz +14 -0
- molSimplify/Ligands/isoleucine.mol +48 -0
- molSimplify/Ligands/isothiocyanate.mol +11 -0
- molSimplify/Ligands/leucine.mol +48 -0
- molSimplify/Ligands/ligands.dict +257 -0
- molSimplify/Ligands/lysine.mol +54 -0
- molSimplify/Ligands/mebenzenedithiol.mol +36 -0
- molSimplify/Ligands/mebim_py.xyz +29 -0
- molSimplify/Ligands/mebim_pz.xyz +28 -0
- molSimplify/Ligands/mebipy.mol +58 -0
- molSimplify/Ligands/mecat.mol +36 -0
- molSimplify/Ligands/methanal.mol +11 -0
- molSimplify/Ligands/methanethiol.mol +15 -0
- molSimplify/Ligands/methanol.mol +16 -0
- molSimplify/Ligands/methionine.mol +44 -0
- molSimplify/Ligands/methyl.mol +13 -0
- molSimplify/Ligands/methylacetylide.xyz +8 -0
- molSimplify/Ligands/methylamine.mol +19 -0
- molSimplify/Ligands/methylazide.xyz +9 -0
- molSimplify/Ligands/methylisocy.mol +17 -0
- molSimplify/Ligands/methylpyridine.mol +33 -0
- molSimplify/Ligands/n2.mol +8 -0
- molSimplify/Ligands/n4py.xyz +51 -0
- molSimplify/Ligands/nch.mol +10 -0
- molSimplify/Ligands/nco-.mol +11 -0
- molSimplify/Ligands/nethanolamine.mol +26 -0
- molSimplify/Ligands/nitrate.mol +14 -0
- molSimplify/Ligands/nitrite.mol +11 -0
- molSimplify/Ligands/nitro.mol +11 -0
- molSimplify/Ligands/nitrobipy.mol +54 -0
- molSimplify/Ligands/nitroso.mol +8 -0
- molSimplify/Ligands/nme3.mol +30 -0
- molSimplify/Ligands/no-.mol +10 -0
- molSimplify/Ligands/no2-.mol +11 -0
- molSimplify/Ligands/noxygen.mol +8 -0
- molSimplify/Ligands/ns-.mol +10 -0
- molSimplify/Ligands/o-pyridylbenzene.xyz +23 -0
- molSimplify/Ligands/o-pyridylphenylanion.xyz +22 -0
- molSimplify/Ligands/o2-.mol +9 -0
- molSimplify/Ligands/o2.xyz +4 -0
- molSimplify/Ligands/och2.mol +12 -0
- molSimplify/Ligands/oethanolamine.mol +26 -0
- molSimplify/Ligands/ome2.mol +22 -0
- molSimplify/Ligands/ooh.xyz +5 -0
- molSimplify/Ligands/oxalate.mol +17 -0
- molSimplify/Ligands/oxalate.smi +1 -0
- molSimplify/Ligands/oxygen.mol +7 -0
- molSimplify/Ligands/pentacyanocyclopentadienide.mol +36 -0
- molSimplify/Ligands/ph2-.mol +11 -0
- molSimplify/Ligands/ph3.mol +12 -0
- molSimplify/Ligands/phen.mol +51 -0
- molSimplify/Ligands/phenacac.mol +63 -0
- molSimplify/Ligands/phenalalanine.mol +51 -0
- molSimplify/Ligands/phendione.mol +51 -0
- molSimplify/Ligands/phenphen.mol +75 -0
- molSimplify/Ligands/phenylbenzoxazole.mol +54 -0
- molSimplify/Ligands/phenylcyc.mol +99 -0
- molSimplify/Ligands/phenylenediamine.mol +37 -0
- molSimplify/Ligands/phenylisocy.mol +32 -0
- molSimplify/Ligands/phosacidbipy.mol +66 -0
- molSimplify/Ligands/phosphine.mol +13 -0
- molSimplify/Ligands/phosphorine.mol +27 -0
- molSimplify/Ligands/phosphorustrifluoride.mol +12 -0
- molSimplify/Ligands/phthalocyanine.mol +126 -0
- molSimplify/Ligands/pme3o.mol +32 -0
- molSimplify/Ligands/porphyrin.mol +82 -0
- molSimplify/Ligands/pph3o.mol +77 -0
- molSimplify/Ligands/proline.mol +39 -0
- molSimplify/Ligands/propdiol.mol +21 -0
- molSimplify/Ligands/propylene.mol +23 -0
- molSimplify/Ligands/pyridine.mol +27 -0
- molSimplify/Ligands/pyrimidone.mol +27 -0
- molSimplify/Ligands/pyrrole.mol +24 -0
- molSimplify/Ligands/quinoxalinedithiol.mol +39 -0
- molSimplify/Ligands/s2-.mol +9 -0
- molSimplify/Ligands/salen.mol +75 -0
- molSimplify/Ligands/salphen.mol +84 -0
- molSimplify/Ligands/serine.mol +32 -0
- molSimplify/Ligands/simple_ligands.dict +14 -0
- molSimplify/Ligands/sulfacidbipy.mol +63 -0
- molSimplify/Ligands/tbucat.mol +54 -0
- molSimplify/Ligands/tbuphisocy.mol +56 -0
- molSimplify/Ligands/tbutylcyclen.mol +166 -0
- molSimplify/Ligands/tbutylisocy.mol +35 -0
- molSimplify/Ligands/tbutylthiol.mol +33 -0
- molSimplify/Ligands/tcnoet.mol +43 -0
- molSimplify/Ligands/tcnoetOH.mol +45 -0
- molSimplify/Ligands/terpy.mol +65 -0
- molSimplify/Ligands/tetrahydrofuran.mol +31 -0
- molSimplify/Ligands/thiane.mol +37 -0
- molSimplify/Ligands/thiazole.mol +21 -0
- molSimplify/Ligands/thiocyanate.mol +11 -0
- molSimplify/Ligands/thiol.mol +9 -0
- molSimplify/Ligands/thiophene.mol +23 -0
- molSimplify/Ligands/thiopyridine.mol +29 -0
- molSimplify/Ligands/threonine.mol +38 -0
- molSimplify/Ligands/tpp.mol +165 -0
- molSimplify/Ligands/tricyanomethyl.mol +19 -0
- molSimplify/Ligands/trifluoromethyl.mol +13 -0
- molSimplify/Ligands/tryptophan.mol +60 -0
- molSimplify/Ligands/tyrosine.mol +53 -0
- molSimplify/Ligands/uthiol.mol +11 -0
- molSimplify/Ligands/uthiolme2.mol +23 -0
- molSimplify/Ligands/valine.mol +42 -0
- molSimplify/Ligands/water.mol +10 -0
- molSimplify/Ligands/x.mol +6 -0
- molSimplify/Scripts/__init__.py +0 -0
- molSimplify/Scripts/addtodb.py +308 -0
- molSimplify/Scripts/cellbuilder.py +1592 -0
- molSimplify/Scripts/cellbuilder_tools.py +701 -0
- molSimplify/Scripts/chains.py +342 -0
- molSimplify/Scripts/convert_2to3.py +23 -0
- molSimplify/Scripts/dbinteract.py +631 -0
- molSimplify/Scripts/distgeom.py +617 -0
- molSimplify/Scripts/findcorrelations.py +287 -0
- molSimplify/Scripts/generator.py +267 -0
- molSimplify/Scripts/geometry.py +1224 -0
- molSimplify/Scripts/grabguivars.py +845 -0
- molSimplify/Scripts/in_b3lyp_usetc.py +141 -0
- molSimplify/Scripts/inparse.py +1673 -0
- molSimplify/Scripts/io.py +1149 -0
- molSimplify/Scripts/isomers.py +415 -0
- molSimplify/Scripts/jobgen.py +247 -0
- molSimplify/Scripts/krr_prep.py +1262 -0
- molSimplify/Scripts/molSimplify_io.py +18 -0
- molSimplify/Scripts/molden2psi4wfn.py +166 -0
- molSimplify/Scripts/namegen.py +32 -0
- molSimplify/Scripts/nn_prep.py +561 -0
- molSimplify/Scripts/oct_check_mols.py +782 -0
- molSimplify/Scripts/periodic_QE.py +97 -0
- molSimplify/Scripts/postmold.py +304 -0
- molSimplify/Scripts/postmwfn.py +709 -0
- molSimplify/Scripts/postparse.py +488 -0
- molSimplify/Scripts/postproc.py +139 -0
- molSimplify/Scripts/qcgen.py +1450 -0
- molSimplify/Scripts/rmsd.py +489 -0
- molSimplify/Scripts/rungen.py +670 -0
- molSimplify/Scripts/structgen.py +3040 -0
- molSimplify/Scripts/tf_nn_prep.py +894 -0
- molSimplify/Scripts/tsgen.py +295 -0
- molSimplify/Scripts/uq_calibration.py +69 -0
- molSimplify/__init__.py +0 -0
- molSimplify/__main__.py +197 -0
- molSimplify/icons/chemdb.png +0 -0
- molSimplify/icons/hjklogo.png +0 -0
- molSimplify/icons/icon.png +0 -0
- molSimplify/icons/logo.png +0 -0
- molSimplify/icons/logo_old.png +0 -0
- molSimplify/icons/petachem.png +0 -0
- molSimplify/icons/petachem2.png +0 -0
- molSimplify/icons/petachem_full.png +0 -0
- molSimplify/icons/pythonlogo.png +0 -0
- molSimplify/icons/sge copy.png +0 -0
- molSimplify/icons/sge.png +0 -0
- molSimplify/icons/slurm.png +0 -0
- molSimplify/icons/wft1.png +0 -0
- molSimplify/icons/wft2.png +0 -0
- molSimplify/icons/wft3.png +0 -0
- molSimplify/ml/__init__.py +0 -0
- molSimplify/ml/kernels.py +36 -0
- molSimplify/ml/layers.py +29 -0
- molSimplify/molscontrol/__init__.py +14 -0
- molSimplify/molscontrol/_version.py +521 -0
- molSimplify/molscontrol/clf_tools.py +144 -0
- molSimplify/molscontrol/data/README.md +21 -0
- molSimplify/molscontrol/data/look_and_say.dat +15 -0
- molSimplify/molscontrol/dynamic_classifier.py +514 -0
- molSimplify/molscontrol/io_tools.py +363 -0
- molSimplify/molscontrol/molscontrol.py +49 -0
- molSimplify/molscontrol/terachem/jobscript_control.sh +31 -0
- molSimplify/molscontrol/terachem/terachem_input +22 -0
- molSimplify/python_krr/X_train_TS.csv +535 -0
- molSimplify/python_krr/__init__.py +0 -0
- molSimplify/python_krr/hat2_X_mean_std.csv +3 -0
- molSimplify/python_krr/hat2_feature_names.csv +1 -0
- molSimplify/python_krr/hat2_y_mean_std.csv +2 -0
- molSimplify/python_krr/hat_X_mean_std.csv +6 -0
- molSimplify/python_krr/hat_feature_names.csv +1 -0
- molSimplify/python_krr/hat_krr_X_train.csv +5205 -0
- molSimplify/python_krr/hat_krr_dual_coef.csv +1 -0
- molSimplify/python_krr/hat_y_mean_std.csv +2 -0
- molSimplify/python_krr/sklearn_models.py +34 -0
- molSimplify/python_krr/y_train_TS.csv +535 -0
- molSimplify/python_nn/ANN.py +198 -0
- molSimplify/python_nn/__init__.py +0 -0
- molSimplify/python_nn/clf_analysis_tool.py +125 -0
- molSimplify/python_nn/dictionary_toolbox.py +49 -0
- molSimplify/python_nn/ensemble_test.py +309 -0
- molSimplify/python_nn/hs_center.csv +26 -0
- molSimplify/python_nn/hs_scale.csv +26 -0
- molSimplify/python_nn/ls_center.csv +26 -0
- molSimplify/python_nn/ls_scale.csv +26 -0
- molSimplify/python_nn/ms_hs_b1.csv +50 -0
- molSimplify/python_nn/ms_hs_b2.csv +50 -0
- molSimplify/python_nn/ms_hs_b3.csv +1 -0
- molSimplify/python_nn/ms_hs_w1.csv +50 -0
- molSimplify/python_nn/ms_hs_w2.csv +50 -0
- molSimplify/python_nn/ms_hs_w3.csv +1 -0
- molSimplify/python_nn/ms_ls_b1.csv +50 -0
- molSimplify/python_nn/ms_ls_b2.csv +50 -0
- molSimplify/python_nn/ms_ls_b3.csv +1 -0
- molSimplify/python_nn/ms_ls_w1.csv +50 -0
- molSimplify/python_nn/ms_ls_w2.csv +50 -0
- molSimplify/python_nn/ms_ls_w3.csv +1 -0
- molSimplify/python_nn/ms_slope_b1.csv +50 -0
- molSimplify/python_nn/ms_slope_b2.csv +50 -0
- molSimplify/python_nn/ms_slope_b3.csv +1 -0
- molSimplify/python_nn/ms_slope_w1.csv +50 -0
- molSimplify/python_nn/ms_slope_w2.csv +50 -0
- molSimplify/python_nn/ms_slope_w3.csv +1 -0
- molSimplify/python_nn/ms_split_b1.csv +50 -0
- molSimplify/python_nn/ms_split_b2.csv +50 -0
- molSimplify/python_nn/ms_split_b3.csv +1 -0
- molSimplify/python_nn/ms_split_w1.csv +50 -0
- molSimplify/python_nn/ms_split_w2.csv +50 -0
- molSimplify/python_nn/ms_split_w3.csv +1 -0
- molSimplify/python_nn/slope_center.csv +25 -0
- molSimplify/python_nn/slope_scale.csv +25 -0
- molSimplify/python_nn/split_center.csv +26 -0
- molSimplify/python_nn/split_scale.csv +26 -0
- molSimplify/python_nn/tf_ANN.py +762 -0
- molSimplify/python_nn/train_data.csv +1211 -0
- molSimplify/tf_nn/__init__.py +0 -0
- molSimplify/tf_nn/geo_static_clf/geo_static_clf_model.h5 +0 -0
- molSimplify/tf_nn/geo_static_clf/geo_static_clf_train_name.csv +1591 -0
- molSimplify/tf_nn/geo_static_clf/geo_static_clf_train_x.csv +2790 -0
- molSimplify/tf_nn/geo_static_clf/geo_static_clf_train_y.csv +2790 -0
- molSimplify/tf_nn/geo_static_clf/geo_static_clf_vars.csv +154 -0
- molSimplify/tf_nn/geos/hs_ii_bl_x.csv +1577 -0
- molSimplify/tf_nn/geos/hs_ii_bl_y.csv +1577 -0
- molSimplify/tf_nn/geos/hs_ii_model.h5 +0 -0
- molSimplify/tf_nn/geos/hs_ii_model.json +1 -0
- molSimplify/tf_nn/geos/hs_ii_vars.csv +154 -0
- molSimplify/tf_nn/geos/hs_iii_bl_x.csv +1659 -0
- molSimplify/tf_nn/geos/hs_iii_bl_y.csv +1659 -0
- molSimplify/tf_nn/geos/hs_iii_model.h5 +0 -0
- molSimplify/tf_nn/geos/hs_iii_model.json +1 -0
- molSimplify/tf_nn/geos/hs_iii_vars.csv +154 -0
- molSimplify/tf_nn/geos/ls_ii_bl_x.csv +1374 -0
- molSimplify/tf_nn/geos/ls_ii_bl_y.csv +1374 -0
- molSimplify/tf_nn/geos/ls_ii_model.h5 +0 -0
- molSimplify/tf_nn/geos/ls_ii_model.json +1 -0
- molSimplify/tf_nn/geos/ls_ii_vars.csv +154 -0
- molSimplify/tf_nn/geos/ls_iii_bl_x.csv +1364 -0
- molSimplify/tf_nn/geos/ls_iii_bl_y.csv +1364 -0
- molSimplify/tf_nn/geos/ls_iii_model.h5 +0 -0
- molSimplify/tf_nn/geos/ls_iii_model.json +1 -0
- molSimplify/tf_nn/geos/ls_iii_vars.csv +154 -0
- molSimplify/tf_nn/homolumo/gap_model.h5 +0 -0
- molSimplify/tf_nn/homolumo/gap_model.json +1 -0
- molSimplify/tf_nn/homolumo/gap_test_names.csv +175 -0
- molSimplify/tf_nn/homolumo/gap_test_x.csv +176 -0
- molSimplify/tf_nn/homolumo/gap_test_y.csv +176 -0
- molSimplify/tf_nn/homolumo/gap_train_names.csv +699 -0
- molSimplify/tf_nn/homolumo/gap_train_x.csv +700 -0
- molSimplify/tf_nn/homolumo/gap_train_y.csv +700 -0
- molSimplify/tf_nn/homolumo/gap_vars.csv +153 -0
- molSimplify/tf_nn/homolumo/homo_model.h5 +0 -0
- molSimplify/tf_nn/homolumo/homo_model.json +126 -0
- molSimplify/tf_nn/homolumo/homo_test_names.csv +175 -0
- molSimplify/tf_nn/homolumo/homo_test_x.csv +176 -0
- molSimplify/tf_nn/homolumo/homo_test_y.csv +176 -0
- molSimplify/tf_nn/homolumo/homo_train_names.csv +699 -0
- molSimplify/tf_nn/homolumo/homo_train_x.csv +700 -0
- molSimplify/tf_nn/homolumo/homo_train_y.csv +700 -0
- molSimplify/tf_nn/homolumo/homo_vars.csv +153 -0
- molSimplify/tf_nn/oxoandhomo/homo_empty_info.json +7 -0
- molSimplify/tf_nn/oxoandhomo/homo_empty_model.h5 +0 -0
- molSimplify/tf_nn/oxoandhomo/homo_empty_model.json +1 -0
- molSimplify/tf_nn/oxoandhomo/homo_empty_test_names.csv +143 -0
- molSimplify/tf_nn/oxoandhomo/homo_empty_test_x.csv +144 -0
- molSimplify/tf_nn/oxoandhomo/homo_empty_test_y.csv +144 -0
- molSimplify/tf_nn/oxoandhomo/homo_empty_train_names.csv +513 -0
- molSimplify/tf_nn/oxoandhomo/homo_empty_train_x.csv +514 -0
- molSimplify/tf_nn/oxoandhomo/homo_empty_train_y.csv +514 -0
- molSimplify/tf_nn/oxoandhomo/homo_empty_val_names.csv +143 -0
- molSimplify/tf_nn/oxoandhomo/homo_empty_val_x.csv +58 -0
- molSimplify/tf_nn/oxoandhomo/homo_empty_val_y.csv +58 -0
- molSimplify/tf_nn/oxoandhomo/homo_empty_vars.csv +155 -0
- molSimplify/tf_nn/oxoandhomo/oxo20_info.json +7 -0
- molSimplify/tf_nn/oxoandhomo/oxo20_model.h5 +0 -0
- molSimplify/tf_nn/oxoandhomo/oxo20_model.json +1 -0
- molSimplify/tf_nn/oxoandhomo/oxo20_test_names.csv +143 -0
- molSimplify/tf_nn/oxoandhomo/oxo20_test_x.csv +144 -0
- molSimplify/tf_nn/oxoandhomo/oxo20_test_y.csv +144 -0
- molSimplify/tf_nn/oxoandhomo/oxo20_train_names.csv +513 -0
- molSimplify/tf_nn/oxoandhomo/oxo20_train_x.csv +514 -0
- molSimplify/tf_nn/oxoandhomo/oxo20_train_y.csv +514 -0
- molSimplify/tf_nn/oxoandhomo/oxo20_val_names.csv +143 -0
- molSimplify/tf_nn/oxoandhomo/oxo20_val_x.csv +58 -0
- molSimplify/tf_nn/oxoandhomo/oxo20_val_y.csv +58 -0
- molSimplify/tf_nn/oxoandhomo/oxo20_vars.csv +154 -0
- molSimplify/tf_nn/oxocatalysis/hat_model.h5 +0 -0
- molSimplify/tf_nn/oxocatalysis/hat_model.json +1 -0
- molSimplify/tf_nn/oxocatalysis/hat_test_names.csv +419 -0
- molSimplify/tf_nn/oxocatalysis/hat_test_x.csv +420 -0
- molSimplify/tf_nn/oxocatalysis/hat_test_y.csv +420 -0
- molSimplify/tf_nn/oxocatalysis/hat_train_names.csv +1507 -0
- molSimplify/tf_nn/oxocatalysis/hat_train_x.csv +1508 -0
- molSimplify/tf_nn/oxocatalysis/hat_train_y.csv +1508 -0
- molSimplify/tf_nn/oxocatalysis/hat_val_x.csv +169 -0
- molSimplify/tf_nn/oxocatalysis/hat_val_y.csv +169 -0
- molSimplify/tf_nn/oxocatalysis/hat_vars.csv +162 -0
- molSimplify/tf_nn/oxocatalysis/oxo_model.h5 +0 -0
- molSimplify/tf_nn/oxocatalysis/oxo_model.json +1 -0
- molSimplify/tf_nn/oxocatalysis/oxo_test_names.csv +527 -0
- molSimplify/tf_nn/oxocatalysis/oxo_test_x.csv +528 -0
- molSimplify/tf_nn/oxocatalysis/oxo_test_y.csv +528 -0
- molSimplify/tf_nn/oxocatalysis/oxo_train_names.csv +1897 -0
- molSimplify/tf_nn/oxocatalysis/oxo_train_x.csv +1898 -0
- molSimplify/tf_nn/oxocatalysis/oxo_train_y.csv +1898 -0
- molSimplify/tf_nn/oxocatalysis/oxo_val_x.csv +212 -0
- molSimplify/tf_nn/oxocatalysis/oxo_val_y.csv +212 -0
- molSimplify/tf_nn/oxocatalysis/oxo_vars.csv +162 -0
- molSimplify/tf_nn/rescaling_data/gap_mean_x.csv +153 -0
- molSimplify/tf_nn/rescaling_data/gap_mean_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/gap_var_x.csv +153 -0
- molSimplify/tf_nn/rescaling_data/gap_var_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/geo_static_clf_mean_x.csv +154 -0
- molSimplify/tf_nn/rescaling_data/geo_static_clf_mean_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/geo_static_clf_var_x.csv +154 -0
- molSimplify/tf_nn/rescaling_data/geo_static_clf_var_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/hat_mean_x.csv +162 -0
- molSimplify/tf_nn/rescaling_data/hat_mean_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/hat_var_x.csv +162 -0
- molSimplify/tf_nn/rescaling_data/hat_var_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/homo_empty_mean_x.csv +155 -0
- molSimplify/tf_nn/rescaling_data/homo_empty_mean_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/homo_empty_var_x.csv +155 -0
- molSimplify/tf_nn/rescaling_data/homo_empty_var_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/homo_mean_x.csv +153 -0
- molSimplify/tf_nn/rescaling_data/homo_mean_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/homo_var_x.csv +153 -0
- molSimplify/tf_nn/rescaling_data/homo_var_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/hs_ii_mean_x.csv +154 -0
- molSimplify/tf_nn/rescaling_data/hs_ii_mean_y.csv +3 -0
- molSimplify/tf_nn/rescaling_data/hs_ii_var_x.csv +154 -0
- molSimplify/tf_nn/rescaling_data/hs_ii_var_y.csv +3 -0
- molSimplify/tf_nn/rescaling_data/hs_iii_mean_x.csv +154 -0
- molSimplify/tf_nn/rescaling_data/hs_iii_mean_y.csv +3 -0
- molSimplify/tf_nn/rescaling_data/hs_iii_var_x.csv +154 -0
- molSimplify/tf_nn/rescaling_data/hs_iii_var_y.csv +3 -0
- molSimplify/tf_nn/rescaling_data/ls_ii_mean_x.csv +154 -0
- molSimplify/tf_nn/rescaling_data/ls_ii_mean_y.csv +3 -0
- molSimplify/tf_nn/rescaling_data/ls_ii_var_x.csv +154 -0
- molSimplify/tf_nn/rescaling_data/ls_ii_var_y.csv +3 -0
- molSimplify/tf_nn/rescaling_data/ls_iii_mean_x.csv +154 -0
- molSimplify/tf_nn/rescaling_data/ls_iii_mean_y.csv +3 -0
- molSimplify/tf_nn/rescaling_data/ls_iii_var_x.csv +154 -0
- molSimplify/tf_nn/rescaling_data/ls_iii_var_y.csv +3 -0
- molSimplify/tf_nn/rescaling_data/oxo20_mean_x.csv +154 -0
- molSimplify/tf_nn/rescaling_data/oxo20_mean_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/oxo20_var_x.csv +154 -0
- molSimplify/tf_nn/rescaling_data/oxo20_var_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/oxo_mean_x.csv +162 -0
- molSimplify/tf_nn/rescaling_data/oxo_mean_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/oxo_var_x.csv +162 -0
- molSimplify/tf_nn/rescaling_data/oxo_var_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/sc_static_clf_mean_x.csv +154 -0
- molSimplify/tf_nn/rescaling_data/sc_static_clf_mean_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/sc_static_clf_var_x.csv +154 -0
- molSimplify/tf_nn/rescaling_data/sc_static_clf_var_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/split_mean_x.csv +155 -0
- molSimplify/tf_nn/rescaling_data/split_mean_y.csv +1 -0
- molSimplify/tf_nn/rescaling_data/split_var_x.csv +155 -0
- molSimplify/tf_nn/rescaling_data/split_var_y.csv +1 -0
- molSimplify/tf_nn/sc_static_clf/sc_static_clf_model.h5 +0 -0
- molSimplify/tf_nn/sc_static_clf/sc_static_clf_train_name.csv +1591 -0
- molSimplify/tf_nn/sc_static_clf/sc_static_clf_train_x.csv +1592 -0
- molSimplify/tf_nn/sc_static_clf/sc_static_clf_train_y.csv +1592 -0
- molSimplify/tf_nn/sc_static_clf/sc_static_clf_vars.csv +154 -0
- molSimplify/tf_nn/split/split_model.h5 +0 -0
- molSimplify/tf_nn/split/split_model.json +1 -0
- molSimplify/tf_nn/split/split_vars.csv +155 -0
- molSimplify/tf_nn/split/split_x.csv +1902 -0
- molSimplify/tf_nn/split/split_y.csv +1902 -0
- molSimplify/tf_nn/split/train_names.csv +1901 -0
- molSimplify/utils/__init__.py +0 -0
- molSimplify/utils/decorators.py +16 -0
- molSimplify/utils/metaclasses.py +12 -0
- molSimplify/utils/tensorflow.py +23 -0
- molSimplify/utils/timer.py +16 -0
- molSimplify-1.7.4.dist-info/LICENSE +674 -0
- molSimplify-1.7.4.dist-info/METADATA +821 -0
- molSimplify-1.7.4.dist-info/RECORD +651 -0
- molSimplify-1.7.4.dist-info/WHEEL +5 -0
- molSimplify-1.7.4.dist-info/entry_points.txt +3 -0
- molSimplify-1.7.4.dist-info/top_level.txt +4 -0
- tests/generateTests.py +122 -0
- tests/helperFuncs.py +658 -0
- tests/informatics/test_MOF_descriptors.py +128 -0
- tests/informatics/test_active_learning.py +113 -0
- tests/informatics/test_coulomb_analyze.py +24 -0
- tests/informatics/test_graph_racs.py +193 -0
- tests/ml/test_kernels.py +20 -0
- tests/ml/test_layers.py +47 -0
- tests/runtest.py +10 -0
- tests/test_Mol2D.py +128 -0
- tests/test_basic_imports.py +62 -0
- tests/test_bidentate.py +25 -0
- tests/test_cli.py +20 -0
- tests/test_distgeom.py +106 -0
- tests/test_example_1.py +29 -0
- tests/test_example_3.py +31 -0
- tests/test_example_5.py +43 -0
- tests/test_example_7.py +28 -0
- tests/test_example_8.py +15 -0
- tests/test_example_tbp.py +15 -0
- tests/test_ff_xtb.py +111 -0
- tests/test_geocheck_oct.py +26 -0
- tests/test_geocheck_one_empty.py +15 -0
- tests/test_geometry.py +44 -0
- tests/test_inparse.py +76 -0
- tests/test_io.py +84 -0
- tests/test_jobgen.py +84 -0
- tests/test_joption_pythonic.py +27 -0
- tests/test_ligand_assign.py +58 -0
- tests/test_ligand_assign_consistent.py +60 -0
- tests/test_ligand_class.py +26 -0
- tests/test_ligand_from_mol_file.py +35 -0
- tests/test_ligands.py +86 -0
- tests/test_mol3D.py +337 -0
- tests/test_molcas_caspt2.py +15 -0
- tests/test_molcas_casscf.py +15 -0
- tests/test_old_ANNs.py +68 -0
- tests/test_orca_ccsdt.py +15 -0
- tests/test_orca_dft.py +15 -0
- tests/test_qcgen.py +50 -0
- tests/test_racs.py +124 -0
- tests/test_rmsd.py +68 -0
- tests/test_structgen_functions.py +198 -0
- tests/test_tetrahedral.py +29 -0
- tests/test_tutorial_10_part_one.py +16 -0
- tests/test_tutorial_10_part_two.py +15 -0
- tests/test_tutorial_2.py +11 -0
- tests/test_tutorial_3.py +15 -0
- tests/test_tutorial_4.py +57 -0
- tests/test_tutorial_6.py +10 -0
- tests/test_tutorial_8.py +29 -0
- tests/test_tutorial_9_part_one.py +15 -0
- tests/test_tutorial_9_part_two.py +15 -0
- tests/test_tutorial_qm9_part_one.py +6 -0
- tests/testresources/refs/racs/generate_references.py +85 -0
- workflows/NandyJACSAu2022/bridge_functionalizer.py +253 -0
- workflows/NandyJACSAu2022/frag_functionalizer.py +242 -0
- workflows/NandyJACSAu2022/fragment_classes.py +586 -0
- workflows/NandyJACSAu2022/macrocycle_synthesis.py +179 -0
docs/source/conf.py
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# Configuration file for the Sphinx documentation builder.
|
|
4
|
+
#
|
|
5
|
+
# This file does only contain a selection of the most common options. For a
|
|
6
|
+
# full list see the documentation:
|
|
7
|
+
# http://www.sphinx-doc.org/en/master/config
|
|
8
|
+
|
|
9
|
+
# -- Path setup --------------------------------------------------------------
|
|
10
|
+
|
|
11
|
+
# If extensions (or modules to document with autodoc) are in another directory,
|
|
12
|
+
# add these directories to sys.path here. If the directory is relative to the
|
|
13
|
+
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
|
14
|
+
#
|
|
15
|
+
import os
|
|
16
|
+
import sys
|
|
17
|
+
molSimplify_path = os.path.join(os.path.dirname(__file__), '../../../molSimplify')
|
|
18
|
+
sys.path.insert(0, os.path.abspath(molSimplify_path))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# -- Project information -----------------------------------------------------
|
|
22
|
+
|
|
23
|
+
project = u'molSimplify'
|
|
24
|
+
copyright = u'2020, Heather J. Kulik Group'
|
|
25
|
+
author = u'Heather J. Kulik Research Group'
|
|
26
|
+
|
|
27
|
+
# The short X.Y version
|
|
28
|
+
version = u''
|
|
29
|
+
# The full version, including alpha/beta/rc tags
|
|
30
|
+
release = u''
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# -- General configuration ---------------------------------------------------
|
|
34
|
+
|
|
35
|
+
# If your documentation needs a minimal Sphinx version, state it here.
|
|
36
|
+
#
|
|
37
|
+
# needs_sphinx = '1.0'
|
|
38
|
+
|
|
39
|
+
# Add any Sphinx extension module names here, as strings. They can be
|
|
40
|
+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
|
41
|
+
# ones.
|
|
42
|
+
extensions = [
|
|
43
|
+
'sphinx.ext.autodoc',
|
|
44
|
+
'sphinx.ext.napoleon',
|
|
45
|
+
'sphinx.ext.autosummary',
|
|
46
|
+
'sphinx.ext.doctest',
|
|
47
|
+
'sphinx.ext.intersphinx',
|
|
48
|
+
'sphinx.ext.todo',
|
|
49
|
+
'sphinx.ext.coverage',
|
|
50
|
+
'sphinx.ext.mathjax',
|
|
51
|
+
'sphinx.ext.ifconfig',
|
|
52
|
+
'sphinx.ext.viewcode',
|
|
53
|
+
'sphinx.ext.githubpages',
|
|
54
|
+
]
|
|
55
|
+
|
|
56
|
+
# Automatically generate summaries
|
|
57
|
+
autosummary_generate = True
|
|
58
|
+
autodoc_default_flags = ['members',
|
|
59
|
+
'undoc-members',
|
|
60
|
+
'show-inheritance',
|
|
61
|
+
'inherited-members']
|
|
62
|
+
|
|
63
|
+
# Add any paths that contain templates here, relative to this directory.
|
|
64
|
+
templates_path = ['_templates']
|
|
65
|
+
|
|
66
|
+
# The suffix(es) of source filenames.
|
|
67
|
+
# You can specify multiple suffix as a list of string:
|
|
68
|
+
#
|
|
69
|
+
# source_suffix = ['.rst', '.md']
|
|
70
|
+
source_suffix = '.rst'
|
|
71
|
+
|
|
72
|
+
# The master toctree document.
|
|
73
|
+
master_doc = 'index'
|
|
74
|
+
|
|
75
|
+
# The language for content autogenerated by Sphinx. Refer to documentation
|
|
76
|
+
# for a list of supported languages.
|
|
77
|
+
#
|
|
78
|
+
# This is also used if you do content translation via gettext catalogs.
|
|
79
|
+
# Usually you set "language" from the command line for these cases.
|
|
80
|
+
language = 'en'
|
|
81
|
+
|
|
82
|
+
# List of patterns, relative to source directory, that match files and
|
|
83
|
+
# directories to ignore when looking for source files.
|
|
84
|
+
# This pattern also affects html_static_path and html_extra_path.
|
|
85
|
+
exclude_patterns = ['**.ipynb_checkpoints', '**.ipynb',
|
|
86
|
+
'.DS_store', '_build']
|
|
87
|
+
|
|
88
|
+
# The name of the Pygments (syntax highlighting) style to use.
|
|
89
|
+
pygments_style = 'sphinx'
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
# -- Options for HTML output -------------------------------------------------
|
|
93
|
+
|
|
94
|
+
# The theme to use for HTML and HTML Help pages. See the documentation for
|
|
95
|
+
# a list of builtin themes.
|
|
96
|
+
#
|
|
97
|
+
html_theme = 'sphinx_rtd_theme'
|
|
98
|
+
|
|
99
|
+
# Theme options are theme-specific and customize the look and feel of a theme
|
|
100
|
+
# further. For a list of options available for each theme, see the
|
|
101
|
+
# documentation.
|
|
102
|
+
#
|
|
103
|
+
# html_theme_options = {}
|
|
104
|
+
|
|
105
|
+
# Add any paths that contain custom static files (such as style sheets) here,
|
|
106
|
+
# relative to this directory. They are copied after the builtin static files,
|
|
107
|
+
# so a file named "default.css" will overwrite the builtin "default.css".
|
|
108
|
+
html_static_path = []
|
|
109
|
+
|
|
110
|
+
# Custom sidebar templates, must be a dictionary that maps document names
|
|
111
|
+
# to template names.
|
|
112
|
+
#
|
|
113
|
+
# The default sidebars (for documents that don't match any pattern) are
|
|
114
|
+
# defined by theme itself. Builtin themes are using these templates by
|
|
115
|
+
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
|
|
116
|
+
# 'searchbox.html']``.
|
|
117
|
+
#
|
|
118
|
+
# html_sidebars = {}
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
# -- Options for HTMLHelp output ---------------------------------------------
|
|
122
|
+
|
|
123
|
+
# Output file base name for HTML help builder.
|
|
124
|
+
htmlhelp_basename = 'molSimplifydoc'
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
# -- Options for LaTeX output ------------------------------------------------
|
|
128
|
+
|
|
129
|
+
latex_elements = {
|
|
130
|
+
# The paper size ('letterpaper' or 'a4paper').
|
|
131
|
+
#
|
|
132
|
+
# 'papersize': 'letterpaper',
|
|
133
|
+
|
|
134
|
+
# The font size ('10pt', '11pt' or '12pt').
|
|
135
|
+
#
|
|
136
|
+
# 'pointsize': '10pt',
|
|
137
|
+
|
|
138
|
+
# Additional stuff for the LaTeX preamble.
|
|
139
|
+
#
|
|
140
|
+
# 'preamble': '',
|
|
141
|
+
|
|
142
|
+
# Latex figure (float) alignment
|
|
143
|
+
#
|
|
144
|
+
# 'figure_align': 'htbp',
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
# Grouping the document tree into LaTeX files. List of tuples
|
|
148
|
+
# (source start file, target name, title,
|
|
149
|
+
# author, documentclass [howto, manual, or own class]).
|
|
150
|
+
latex_documents = [
|
|
151
|
+
(master_doc, 'molSimplify.tex', u'molSimplify Documentation',
|
|
152
|
+
u'Heather J. Kulik Group', 'manual'),
|
|
153
|
+
]
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
# -- Options for manual page output ------------------------------------------
|
|
157
|
+
|
|
158
|
+
# One entry per manual page. List of tuples
|
|
159
|
+
# (source start file, name, description, authors, manual section).
|
|
160
|
+
man_pages = [
|
|
161
|
+
(master_doc, 'molsimplify', u'molSimplify Documentation',
|
|
162
|
+
[author], 1)
|
|
163
|
+
]
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
# -- Options for Texinfo output ----------------------------------------------
|
|
167
|
+
|
|
168
|
+
# Grouping the document tree into Texinfo files. List of tuples
|
|
169
|
+
# (source start file, target name, title, author,
|
|
170
|
+
# dir menu entry, description, category)
|
|
171
|
+
texinfo_documents = [
|
|
172
|
+
(master_doc, 'molSimplify', u'molSimplify Documentation',
|
|
173
|
+
author, 'molSimplify', 'Inorganic structure building.',
|
|
174
|
+
'Miscellaneous'),
|
|
175
|
+
]
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
# -- Options for Epub output -------------------------------------------------
|
|
179
|
+
|
|
180
|
+
# Bibliographic Dublin Core info.
|
|
181
|
+
epub_title = project
|
|
182
|
+
|
|
183
|
+
# The unique identifier of the text. This can be a ISBN number
|
|
184
|
+
# or the project homepage.
|
|
185
|
+
#
|
|
186
|
+
# epub_identifier = ''
|
|
187
|
+
|
|
188
|
+
# A unique identification for the text.
|
|
189
|
+
#
|
|
190
|
+
# epub_uid = ''
|
|
191
|
+
|
|
192
|
+
# A list of files that should not be packed into the epub file.
|
|
193
|
+
epub_exclude_files = ['search.html']
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
# -- Extension configuration -------------------------------------------------
|
|
197
|
+
|
|
198
|
+
# -- Options for intersphinx extension ---------------------------------------
|
|
199
|
+
|
|
200
|
+
# Example configuration for intersphinx: refer to the Python standard library.
|
|
201
|
+
intersphinx_mapping = {'python': ('https://docs.python.org/3', None)}
|
|
202
|
+
|
|
203
|
+
# -- Options for todo extension ----------------------------------------------
|
|
204
|
+
|
|
205
|
+
# If true, `todo` and `todoList` produce output, else they produce nothing.
|
|
206
|
+
todo_include_todos = True
|
|
207
|
+
|
|
208
|
+
# Napoleon settings
|
|
209
|
+
napoleon_google_docstring = True
|
|
210
|
+
napoleon_numpy_docstring = True
|
|
211
|
+
napoleon_include_init_with_doc = False
|
|
212
|
+
napoleon_include_private_with_doc = False
|
|
213
|
+
napoleon_include_special_with_doc = True
|
|
214
|
+
napoleon_use_admonition_for_examples = False
|
|
215
|
+
napoleon_use_admonition_for_notes = False
|
|
216
|
+
napoleon_use_admonition_for_references = False
|
|
217
|
+
napoleon_use_ivar = False
|
|
218
|
+
napoleon_use_param = True
|
|
219
|
+
napoleon_use_rtype = True
|
|
220
|
+
napoleon_type_aliases = None
|
|
221
|
+
|
|
222
|
+
# Latex equations options
|
|
223
|
+
imgmath_image_format = 'svg'
|
|
224
|
+
imgmath_font_size = 18
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
# @file atom3D.py
|
|
2
|
+
# Defines atom3D class and contains useful manipulation/retrieval routines.
|
|
3
|
+
#
|
|
4
|
+
# Written by Kulik Group
|
|
5
|
+
#
|
|
6
|
+
# Department of Chemical Engineering, MIT
|
|
7
|
+
|
|
8
|
+
from math import sqrt
|
|
9
|
+
from typing import List, Optional
|
|
10
|
+
from molSimplify.Classes.globalvars import globalvars
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class atom3D:
|
|
14
|
+
""" atom3D class. Base class in molSimplify for representing an element.
|
|
15
|
+
|
|
16
|
+
Parameters
|
|
17
|
+
----------
|
|
18
|
+
Sym : str, optional
|
|
19
|
+
Symbol for atom3D instantiation. Element symbol. Default is 'C'.
|
|
20
|
+
xyz : list, optional
|
|
21
|
+
List of coordinates for new atom. Default is [0.0, 0.0, 0.0].
|
|
22
|
+
name : str, optional
|
|
23
|
+
Unique identifier for atom 3D instantiation. Default is False.
|
|
24
|
+
partialcharge : int, optional
|
|
25
|
+
Charge assigned to atom when added to mol. Default is None.
|
|
26
|
+
"""
|
|
27
|
+
def __init__(self,
|
|
28
|
+
Sym: str = 'C',
|
|
29
|
+
xyz: Optional[List[float]] = None,
|
|
30
|
+
name: Optional[str] = None,
|
|
31
|
+
partialcharge: Optional[float] = None,
|
|
32
|
+
Tfactor=0,
|
|
33
|
+
greek='',
|
|
34
|
+
occup=1.00,
|
|
35
|
+
loc='',
|
|
36
|
+
line=""):
|
|
37
|
+
|
|
38
|
+
# Element symbol
|
|
39
|
+
self.sym = Sym
|
|
40
|
+
self.partialcharge = partialcharge
|
|
41
|
+
globs = globalvars()
|
|
42
|
+
amass = globs.amass()
|
|
43
|
+
if Sym not in amass: # assign default values if not in dictionary
|
|
44
|
+
print(("We didn't find the atomic mass of %s in the dictionary. Assigning default value of 12!\n" % (Sym)))
|
|
45
|
+
# Atomic mass
|
|
46
|
+
self.mass = 12.0 # default atomic mass
|
|
47
|
+
# Atomic number
|
|
48
|
+
self.atno = 6 # default atomic number
|
|
49
|
+
# Covalent radius
|
|
50
|
+
self.rad = 0.75 # default atomic radius
|
|
51
|
+
else:
|
|
52
|
+
self.mass = amass[Sym][0]
|
|
53
|
+
self.atno = amass[Sym][1]
|
|
54
|
+
self.rad = amass[Sym][2]
|
|
55
|
+
# Flag for freezing in optimization
|
|
56
|
+
self.frozen = False
|
|
57
|
+
# Flag for atom name
|
|
58
|
+
# NOTE: does not compare to None because empty string would not be valid and
|
|
59
|
+
# some parts of molSimplify still instantiate atom3D with name=False
|
|
60
|
+
if name:
|
|
61
|
+
self.name = name
|
|
62
|
+
else:
|
|
63
|
+
self.name = Sym
|
|
64
|
+
|
|
65
|
+
# Coordinates
|
|
66
|
+
if xyz is None:
|
|
67
|
+
xyz = [0.0, 0.0, 0.0]
|
|
68
|
+
self.__xyz = xyz
|
|
69
|
+
|
|
70
|
+
# Temperature factor (only useful for proteins)
|
|
71
|
+
self.Tfactor = Tfactor
|
|
72
|
+
|
|
73
|
+
# Greek letter (e.g. alpha carbon - only useful for proteins)
|
|
74
|
+
if greek == '':
|
|
75
|
+
self.greek = Sym
|
|
76
|
+
else:
|
|
77
|
+
self.greek = greek
|
|
78
|
+
|
|
79
|
+
# Occupancy (only useful for proteins)
|
|
80
|
+
self.occup = occup
|
|
81
|
+
|
|
82
|
+
# EDIA score (only useful for proteins)
|
|
83
|
+
self.EDIA = 0
|
|
84
|
+
|
|
85
|
+
# Conformation (only useful for proteins)
|
|
86
|
+
self.loc = ""
|
|
87
|
+
|
|
88
|
+
# PDB line (only useful for proteins)
|
|
89
|
+
self.line = line
|
|
90
|
+
|
|
91
|
+
def __repr__(self):
|
|
92
|
+
return f"atom3D(Sym={self.sym}, xyz={self.__xyz})"
|
|
93
|
+
|
|
94
|
+
# TODO: uncomment this once protein3D has a better implementation than
|
|
95
|
+
# hashing of a mutable object!
|
|
96
|
+
# def __eq__(self, other):
|
|
97
|
+
# if isinstance(other, self.__class__):
|
|
98
|
+
# return self.__dict__ == other.__dict__
|
|
99
|
+
# else:
|
|
100
|
+
# return False
|
|
101
|
+
|
|
102
|
+
def coords(self):
|
|
103
|
+
""" Get coordinates of a given atom.
|
|
104
|
+
|
|
105
|
+
Returns
|
|
106
|
+
-------
|
|
107
|
+
coords : list
|
|
108
|
+
List of coordinates in X, Y, Z format.
|
|
109
|
+
"""
|
|
110
|
+
x, y, z = self.__xyz
|
|
111
|
+
return [x, y, z]
|
|
112
|
+
|
|
113
|
+
def distance(self, atom2) -> float:
|
|
114
|
+
""" Get distance from one atom3D class to another.
|
|
115
|
+
|
|
116
|
+
Parameters
|
|
117
|
+
----------
|
|
118
|
+
atom2 : atom3D
|
|
119
|
+
atom3D class of the atom to measure distance from.
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
Returns
|
|
123
|
+
-------
|
|
124
|
+
dist : float
|
|
125
|
+
Distance in angstroms.
|
|
126
|
+
"""
|
|
127
|
+
xyz = self.coords()
|
|
128
|
+
point = atom2.coords()
|
|
129
|
+
dx = xyz[0]-point[0]
|
|
130
|
+
dy = xyz[1]-point[1]
|
|
131
|
+
dz = xyz[2]-point[2]
|
|
132
|
+
return sqrt(dx*dx+dy*dy+dz*dz)
|
|
133
|
+
|
|
134
|
+
def distancev(self, atom2):
|
|
135
|
+
""" Get distance vector from one atom3D class to another.
|
|
136
|
+
|
|
137
|
+
Parameters
|
|
138
|
+
----------
|
|
139
|
+
atom2 : atom3D
|
|
140
|
+
atom3D class of the atom to measure distance from.
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
Returns
|
|
144
|
+
-------
|
|
145
|
+
dist_list : list
|
|
146
|
+
List of distances in vector form: [dx, dy, dz] with units of Angstroms.
|
|
147
|
+
"""
|
|
148
|
+
xyz = self.coords()
|
|
149
|
+
point = atom2.coords()
|
|
150
|
+
dx = xyz[0]-point[0]
|
|
151
|
+
dy = xyz[1]-point[1]
|
|
152
|
+
dz = xyz[2]-point[2]
|
|
153
|
+
return [dx, dy, dz]
|
|
154
|
+
|
|
155
|
+
def ismetal(self, transition_metals_only=True) -> bool:
|
|
156
|
+
""" Identify whether an atom is a metal.
|
|
157
|
+
|
|
158
|
+
Parameters
|
|
159
|
+
----------
|
|
160
|
+
transition_metals_only : bool, optional
|
|
161
|
+
Identify only transition metals. Default is true.
|
|
162
|
+
|
|
163
|
+
Returns
|
|
164
|
+
-------
|
|
165
|
+
metal : bool
|
|
166
|
+
Bool for whether or not an atom is a metal.
|
|
167
|
+
"""
|
|
168
|
+
return self.sym in globalvars().metalslist(transition_metals_only=transition_metals_only)
|
|
169
|
+
|
|
170
|
+
def setcoords(self, xyz):
|
|
171
|
+
""" Set coordinates of an atom3D class to a new location.
|
|
172
|
+
|
|
173
|
+
Parameters
|
|
174
|
+
----------
|
|
175
|
+
xyz : list
|
|
176
|
+
List of coordinates, has length 3: [X, Y, Z]
|
|
177
|
+
"""
|
|
178
|
+
self.__xyz[0] = xyz[0]
|
|
179
|
+
self.__xyz[1] = xyz[1]
|
|
180
|
+
self.__xyz[2] = xyz[2]
|
|
181
|
+
|
|
182
|
+
def symbol(self) -> str:
|
|
183
|
+
""" Return symbol of atom3D.
|
|
184
|
+
|
|
185
|
+
Returns
|
|
186
|
+
-------
|
|
187
|
+
symbol : str
|
|
188
|
+
Element symbol for atom3D class.
|
|
189
|
+
"""
|
|
190
|
+
return self.sym
|
|
191
|
+
|
|
192
|
+
def mutate(self, newType='C'):
|
|
193
|
+
""" Mutate an element to another element in the atom3D.
|
|
194
|
+
|
|
195
|
+
Parameters
|
|
196
|
+
----------
|
|
197
|
+
newType : str, optional
|
|
198
|
+
Element name for new element. Default is 'C'.
|
|
199
|
+
|
|
200
|
+
"""
|
|
201
|
+
globs = globalvars()
|
|
202
|
+
amass = globs.amass()
|
|
203
|
+
if newType not in list(amass.keys()):
|
|
204
|
+
print(('Error, unknown atom atom type transformation to ' + str(newType)))
|
|
205
|
+
print('no changes made')
|
|
206
|
+
else:
|
|
207
|
+
self.mass = amass[newType][0]
|
|
208
|
+
self.atno = amass[newType][1]
|
|
209
|
+
self.rad = amass[newType][2]
|
|
210
|
+
self.name = newType
|
|
211
|
+
self.sym = newType
|
|
212
|
+
|
|
213
|
+
def translate(self, dxyz):
|
|
214
|
+
""" Move the atom3D by a displacement vector.
|
|
215
|
+
|
|
216
|
+
Parameters
|
|
217
|
+
----------
|
|
218
|
+
dxyz : list
|
|
219
|
+
Displacement vector of length 3: [dx, dy, dz].
|
|
220
|
+
|
|
221
|
+
"""
|
|
222
|
+
x, y, z = self.__xyz
|
|
223
|
+
self.__xyz[0] = x + dxyz[0]
|
|
224
|
+
self.__xyz[1] = y + dxyz[1]
|
|
225
|
+
self.__xyz[2] = z + dxyz[2]
|
|
226
|
+
|
|
227
|
+
def setEDIA(self, score):
|
|
228
|
+
""" Sets the EDIA score of an individual atom3D.
|
|
229
|
+
|
|
230
|
+
Parameters
|
|
231
|
+
----------
|
|
232
|
+
score : float
|
|
233
|
+
Desired EDIA score of atom
|
|
234
|
+
"""
|
|
235
|
+
self.EDIA = score
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# @file dft_obs.py
|
|
2
|
+
# Contains dft_observation class.
|
|
3
|
+
#
|
|
4
|
+
# Written by JP Janet for HJK Group
|
|
5
|
+
#
|
|
6
|
+
# Dpt of Chemical Engineering, MIT
|
|
7
|
+
|
|
8
|
+
from molSimplify.Informatics.lacRACAssemble import (
|
|
9
|
+
generate_all_ligand_autocorrelations,
|
|
10
|
+
generate_all_ligand_deltametrics,
|
|
11
|
+
generate_full_complex_autocorrelations,
|
|
12
|
+
generate_metal_autocorrelations,
|
|
13
|
+
generate_metal_deltametrics,
|
|
14
|
+
generate_all_ligand_misc)
|
|
15
|
+
from molSimplify.Classes.mol3D import mol3D
|
|
16
|
+
|
|
17
|
+
# DFT observations used to postprocess DFT results by measuring ligand properties
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class dft_observation:
|
|
21
|
+
def __init__(self, name, geopath):
|
|
22
|
+
self.name = name
|
|
23
|
+
self.descriptors = list()
|
|
24
|
+
self.descriptor_names = list()
|
|
25
|
+
self.mol = False
|
|
26
|
+
self.health = False
|
|
27
|
+
self.comments = list()
|
|
28
|
+
self.geopath = geopath
|
|
29
|
+
self.coord = 'undef'
|
|
30
|
+
|
|
31
|
+
def sety(self, y_value):
|
|
32
|
+
self.yvalue = y_value
|
|
33
|
+
|
|
34
|
+
def obtain_mol3d(self):
|
|
35
|
+
this_mol = mol3D()
|
|
36
|
+
this_mol.readfromxyz(self.geopath)
|
|
37
|
+
if this_mol.natoms > 0:
|
|
38
|
+
self.mol = this_mol
|
|
39
|
+
self.natoms = this_mol.natoms
|
|
40
|
+
self.health = True
|
|
41
|
+
else:
|
|
42
|
+
self.comments.append('geo file appears empty')
|
|
43
|
+
self.health = False
|
|
44
|
+
|
|
45
|
+
def get_coord(self):
|
|
46
|
+
self.coord = len(self.mol.getBondedAtomsSmart(self.mol.findMetal()[0]))
|
|
47
|
+
|
|
48
|
+
def get_descriptor_vector(self, lig_only, simple, flag_name=False, loud=False):
|
|
49
|
+
|
|
50
|
+
self.get_coord()
|
|
51
|
+
if not lig_only and (self.coord == 6):
|
|
52
|
+
results_dictionary = generate_all_ligand_misc(self.mol, loud)
|
|
53
|
+
self.append_descriptors(
|
|
54
|
+
results_dictionary['colnames'], results_dictionary['result_ax'], 'misc', 'ax')
|
|
55
|
+
self.append_descriptors(
|
|
56
|
+
results_dictionary['colnames'], results_dictionary['result_eq'], 'misc', 'eq')
|
|
57
|
+
print(('after adding misc descriptors... ' +
|
|
58
|
+
str(len(self.descriptor_names))))
|
|
59
|
+
if self.coord == 6: # oct only
|
|
60
|
+
results_dictionary = generate_all_ligand_autocorrelations(
|
|
61
|
+
self.mol, depth=3, loud=loud, flag_name=flag_name)
|
|
62
|
+
self.append_descriptors(
|
|
63
|
+
results_dictionary['colnames'], results_dictionary['result_ax_full'], 'f', 'ax')
|
|
64
|
+
self.append_descriptors(
|
|
65
|
+
results_dictionary['colnames'], results_dictionary['result_eq_full'], 'f', 'eq')
|
|
66
|
+
print(('after adding full ax/eq descriptors... ' +
|
|
67
|
+
str(len(self.descriptor_names))))
|
|
68
|
+
if not simple and not lig_only:
|
|
69
|
+
self.append_descriptors(
|
|
70
|
+
results_dictionary['colnames'], results_dictionary['result_ax_con'], 'lc', 'ax')
|
|
71
|
+
self.append_descriptors(
|
|
72
|
+
results_dictionary['colnames'], results_dictionary['result_eq_con'], 'lc', 'eq')
|
|
73
|
+
results_dictionary = generate_all_ligand_deltametrics(
|
|
74
|
+
self.mol, depth=3, loud=True, flag_name=flag_name)
|
|
75
|
+
self.append_descriptors(
|
|
76
|
+
results_dictionary['colnames'], results_dictionary['result_ax_con'], 'D_lc', 'ax')
|
|
77
|
+
self.append_descriptors(
|
|
78
|
+
results_dictionary['colnames'], results_dictionary['result_eq_con'], 'D_lc', 'eq')
|
|
79
|
+
|
|
80
|
+
print(('after adding lc ax/eq descriptors... ' +
|
|
81
|
+
str(len(self.descriptor_names))))
|
|
82
|
+
if not lig_only:
|
|
83
|
+
if not simple:
|
|
84
|
+
results_dictionary = generate_metal_autocorrelations(
|
|
85
|
+
self.mol, depth=3, loud=loud)
|
|
86
|
+
self.append_descriptors(
|
|
87
|
+
results_dictionary['colnames'], results_dictionary['results'], 'mc', 'all')
|
|
88
|
+
results_dictionary = generate_metal_deltametrics(
|
|
89
|
+
self.mol, depth=3, loud=loud)
|
|
90
|
+
self.append_descriptors(
|
|
91
|
+
results_dictionary['colnames'], results_dictionary['results'], 'D_mc', 'all')
|
|
92
|
+
results_dictionary = generate_full_complex_autocorrelations(
|
|
93
|
+
self.mol, depth=3, loud=loud)
|
|
94
|
+
self.append_descriptors(
|
|
95
|
+
results_dictionary['colnames'], results_dictionary['results'], 'f', 'all')
|
|
96
|
+
print(('after adding full complex descriptors... ' +
|
|
97
|
+
str(len(self.descriptor_names))))
|
|
98
|
+
|
|
99
|
+
def append_descriptors(self, list_of_names, list_of_props, prefix, suffix):
|
|
100
|
+
for names in list_of_names:
|
|
101
|
+
if hasattr(names, '__iter__'):
|
|
102
|
+
names = ["-".join([prefix, str(i), suffix]) for i in names]
|
|
103
|
+
self.descriptor_names += names
|
|
104
|
+
else:
|
|
105
|
+
names = "-".join([prefix, str(names), suffix])
|
|
106
|
+
self.descriptor_names.append(names)
|
|
107
|
+
for values in list_of_props:
|
|
108
|
+
if hasattr(values, '__iter__'):
|
|
109
|
+
self.descriptors.extend(values)
|
|
110
|
+
else:
|
|
111
|
+
self.descriptors.append(values)
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
def write_descriptor_csv(list_of_runs):
|
|
115
|
+
with open('descriptor_file.csv', 'w') as f:
|
|
116
|
+
f.write('runs,')
|
|
117
|
+
n_cols = len(list_of_runs[0].descriptor_names)
|
|
118
|
+
for i, names in enumerate(list_of_runs[0].descriptor_names):
|
|
119
|
+
if i < (n_cols-1):
|
|
120
|
+
f.write(names+',')
|
|
121
|
+
else:
|
|
122
|
+
f.write(names+'\n')
|
|
123
|
+
for runs in list_of_runs:
|
|
124
|
+
try:
|
|
125
|
+
f.write(runs.name)
|
|
126
|
+
for properties in runs.descriptors:
|
|
127
|
+
f.write(','+str(properties))
|
|
128
|
+
f.write('\n')
|
|
129
|
+
except AttributeError:
|
|
130
|
+
pass
|