diff --git a/doc/source/examples/COSMORSCompound/cosmors_compound.ipynb.rst b/doc/source/examples/COSMORSCompound/cosmors_compound.ipynb.rst index eb6508848..df2e2c785 100644 --- a/doc/source/examples/COSMORSCompound/cosmors_compound.ipynb.rst +++ b/doc/source/examples/COSMORSCompound/cosmors_compound.ipynb.rst @@ -28,22 +28,31 @@ Enable the parallel calculation through ``JobRunner``. Here, we’ll assign one config.job.runscript.nproc = 1 # Number of cores for each job config.log.stdout = 1 # Suppress plams output +Optional compound metadata keyed by molecule name. This metadata is passed to ADFCOSMORSCompoundJob via ``mol_info``, written to the “Compound Data” section of the generated COSKF file, and used by AMSCrs GUI and ``pyCRS.Database`` to search compounds. + +.. code:: ipython3 + + mol_info_by_name = { + "CO": {"CAS": "630-08-0", "IUPAC": "Carbon monoxide", "Other Name": ""}, + "H2O": {"CAS": "7732-18-5", "IUPAC": "Water", "Other Name": ""}, + } + .. code:: ipython3 molecules = read_molecules("./compounds_xyz") results = [] for name, mol in molecules.items(): - job = ADFCOSMORSCompoundJob(molecule=mol, coskf_name=name, coskf_dir="test_coskfs_xyz") + mol_info = mol_info_by_name.get(name) + job = ADFCOSMORSCompoundJob(molecule=mol, coskf_name=name, coskf_dir="test_coskfs_xyz", mol_info=mol_info) results.append(job.run()) :: - [19.03|15:14:40] JOB plamsjob STARTED - [19.03|15:14:40] JOB plamsjob STARTED - [19.03|15:14:40] JOB plamsjob/gas STARTED - [19.03|15:14:40] JOB plamsjob/solv STARTED - [19.03|15:14:40] JOB plamsjob/sigma STARTED + [13.03|09:03:55] JOB plamsjob STARTED + [13.03|09:03:55] JOB plamsjob STARTED + [13.03|09:03:55] JOB plamsjob/gas STARTED + [13.03|09:03:55] JOB plamsjob/solv STARTED .. code:: ipython3 @@ -52,21 +61,23 @@ Enable the parallel calculation through ``JobRunner``. Here, we’ll assign one :: - [19.03|15:14:40] Waiting for job plamsjob to finish - [19.03|15:14:40] JOB plamsjob.002/gas STARTED - [19.03|15:14:40] JOB plamsjob.002/solv STARTED - [19.03|15:14:40] Waiting for job gas to finish - [19.03|15:14:40] JOB plamsjob.002/sigma STARTED - [19.03|15:14:40] Waiting for job solv to finish - [19.03|15:14:40] Waiting for job gas to finish - [19.03|15:14:40] Waiting for job solv to finish - [19.03|15:14:45] JOB plamsjob.002/gas SUCCESSFUL - [19.03|15:14:49] JOB plamsjob.002/solv SUCCESSFUL - [19.03|15:14:49] JOB plamsjob.002/sigma SUCCESSFUL - [19.03|15:14:50] JOB plamsjob.002 SUCCESSFUL - [19.03|15:14:57] JOB plamsjob/gas SUCCESSFUL - [19.03|15:15:10] JOB plamsjob/solv SUCCESSFUL - [19.03|15:15:10] JOB plamsjob/sigma SUCCESSFUL + [13.03|09:03:55] JOB plamsjob/sigma STARTED + [13.03|09:03:55] JOB plamsjob.002/gas STARTED + [13.03|09:03:55] Waiting for job plamsjob to finish + [13.03|09:03:55] JOB plamsjob.002/solv STARTED + [13.03|09:03:55] JOB plamsjob.002/sigma STARTED + [13.03|09:03:55] Waiting for job gas to finish + [13.03|09:03:55] Waiting for job solv to finish + [13.03|09:03:55] Waiting for job solv to finish + [13.03|09:03:55] Waiting for job gas to finish + [13.03|09:03:59] JOB plamsjob.002/gas SUCCESSFUL + [13.03|09:04:03] JOB plamsjob.002/solv SUCCESSFUL + [13.03|09:04:03] WARNING: Main KF file sigma.crskf not present in /path/plams/examples/COSMORSCompound/plams_workdir/plamsjob.002/sigma + [13.03|09:04:03] JOB plamsjob.002/sigma CRASHED + [13.03|09:04:05] JOB plamsjob.002 FAILED + [13.03|09:04:10] JOB plamsjob/gas SUCCESSFUL + [13.03|09:04:22] JOB plamsjob/solv SUCCESSFUL + [13.03|09:04:22] WARNING: Main KF file sigma.crskf not present in /path/plams/examples/COSMORSCompound/plams_workdir/plamsjob/sigma ... (PLAMS log lines truncated) ... .. code:: ipython3 @@ -96,22 +107,24 @@ Lastly, we give this information to the ``ADFCOSMORSCompoundJob`` class, includi results = [] for name, mol in molecules.items(): + mol_info = mol_info_by_name.get(name) job = ADFCOSMORSCompoundJob( molecule=mol, # The initial structure coskf_name=name, # a name to be used for coskf file coskf_dir="test_coskfs_smiles", # a directory to put the .coskf files generated preoptimization="GFN1-xTB", # perform preoptimize or not singlepoint=False, # run a singlepoint in gasphase and solvation calculation without geometry optimization. Cannot be combined with `preoptimization` - name=name, - ) # an optional name for the calculation directory + name=name, # an optional name for the calculation directory + mol_info=mol_info, # compound information to be stored in the Compound Data section of the COSKF file + ) results.append(job.run()) :: - [19.03|15:15:16] JOB H2O STARTED - [19.03|15:15:16] JOB CO STARTED - [19.03|15:15:16] JOB H2O/preoptimization STARTED - [19.03|15:15:16] JOB CO/preoptimization STARTED + [13.03|09:04:25] JOB H2O STARTED + [13.03|09:04:25] JOB CO STARTED + [13.03|09:04:25] JOB H2O/preoptimization STARTED + [13.03|09:04:25] JOB H2O/gas STARTED .. code:: ipython3 @@ -120,25 +133,27 @@ Lastly, we give this information to the ``ADFCOSMORSCompoundJob`` class, includi :: - [19.03|15:15:16] Waiting for job H2O to finish - [19.03|15:15:16] JOB CO/gas STARTED - [19.03|15:15:16] JOB H2O/gas STARTED - [19.03|15:15:16] JOB H2O/solv STARTED - [19.03|15:15:16] JOB CO/solv STARTED - [19.03|15:15:16] JOB H2O/sigma STARTED - [19.03|15:15:16] JOB CO/sigma STARTED - [19.03|15:15:16] Waiting for job gas to finish - [19.03|15:15:16] Waiting for job preoptimization to finish - [19.03|15:15:16] Waiting for job preoptimization to finish - [19.03|15:15:16] Waiting for job gas to finish - [19.03|15:15:16] Waiting for job solv to finish - [19.03|15:15:16] Waiting for job solv to finish - [19.03|15:15:16] JOB H2O/preoptimization SUCCESSFUL - [19.03|15:15:16] JOB CO/preoptimization SUCCESSFUL - [19.03|15:15:23] JOB H2O/gas SUCCESSFUL - [19.03|15:15:27] JOB H2O/solv SUCCESSFUL + [13.03|09:04:25] JOB H2O/solv STARTED + [13.03|09:04:25] Waiting for job H2O to finish + [13.03|09:04:25] JOB H2O/sigma STARTED + [13.03|09:04:25] JOB CO/preoptimization STARTED + [13.03|09:04:25] JOB CO/gas STARTED + [13.03|09:04:25] JOB CO/solv STARTED + [13.03|09:04:25] JOB CO/sigma STARTED + [13.03|09:04:25] Waiting for job gas to finish + [13.03|09:04:25] Waiting for job preoptimization to finish + [13.03|09:04:25] Waiting for job solv to finish + [13.03|09:04:25] Waiting for job preoptimization to finish + [13.03|09:04:25] Waiting for job gas to finish + [13.03|09:04:25] Waiting for job solv to finish + [13.03|09:04:26] JOB H2O/preoptimization SUCCESSFUL + [13.03|09:04:26] JOB CO/preoptimization SUCCESSFUL + [13.03|09:04:32] JOB H2O/gas SUCCESSFUL + [13.03|09:04:37] JOB H2O/solv SUCCESSFUL + [13.03|09:04:37] WARNING: Main KF file sigma.crskf not present in /path/plams/examples/COSMORSCompound/plams_workdir/H2O/sigma ... (PLAMS log lines truncated) ... - [19.03|15:15:31] Waiting for job CO to finish + [13.03|09:04:40] Waiting for job CO to finish + [13.03|09:05:06] WARNING: Main KF file sigma.crskf not present in /path/plams/examples/COSMORSCompound/plams_workdir/CO/sigma .. code:: ipython3 diff --git a/doc/source/examples/ConformersMultipleMolecules/conformers.ipynb.rst b/doc/source/examples/ConformersMultipleMolecules/conformers.ipynb.rst index 7399bc6c8..903fda423 100644 --- a/doc/source/examples/ConformersMultipleMolecules/conformers.ipynb.rst +++ b/doc/source/examples/ConformersMultipleMolecules/conformers.ipynb.rst @@ -180,10 +180,12 @@ Here we plot the three lowest-energy conformers. .. figure:: conformers_files/conformers_23_0.png -You can also open the conformers in AMSmovie to browse all conformers 1000+ conformers: +You can also open the conformers in AMSmovie to browse all 1000+ conformers: .. code:: ipython3 + # Open AMSmovie in a Jupyter Notebook, equivalent to the shell command: + # amsmovie /path/plams/examples/ConformersMultipleMolecules/plams_workdir/conformers/conformers.rkf !amsmovie {rkf} Finally in AMS2025+, you can also inspect the conformer data using the JobAnalysis tool. diff --git a/doc/source/examples/PropertyPrediction/property_prediction.ipynb.rst b/doc/source/examples/PropertyPrediction/property_prediction.ipynb.rst index 2e6262390..0f7e01895 100644 --- a/doc/source/examples/PropertyPrediction/property_prediction.ipynb.rst +++ b/doc/source/examples/PropertyPrediction/property_prediction.ipynb.rst @@ -8,23 +8,30 @@ Initial imports import pyCRS import matplotlib.pyplot as plt - from rdkit import Chem - from rdkit.Chem.Draw import IPythonConsole + import math - IPythonConsole.ipython_useSVG = True - IPythonConsole.molSize = 150, 150 + import scm.plams as plams + + try: + from scm.plams import view # view molecule using AMSview in a Jupyter Notebook in AMS2026+ + except ImportError: + from scm.plams import plot_molecule # plot molecule in a Jupyter Notebook in AMS2023+ + + def view(molecule, **kwargs): + plot_molecule(molecule) Property prediction from SMILES (ethyl acetate) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: ipython3 + from scm.plams import from_smiles + # smiles = 'CCO' # ethanol smiles = "O=C(OCC)C" # ethyl acetate - rdkit_mol = Chem.MolFromSmiles(smiles) - rdkit_mol # show the molecule in a Jupyter notebook + view(plams.from_smiles(smiles), width=300, height=300) -.. figure:: property_prediction_files/property_prediction_3_0.svg +.. figure:: property_prediction_files/property_prediction_3_0.png Temperature-independent properties ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -49,7 +56,7 @@ Temperature-independent properties criticalpressure : 38.243 bar criticaltemp : 544.189 K criticalvol : 0.271 L/mol - density : 0.894 kg/L (298.15 K) + density : 0.894 kg/L dielectricconstant : 6.834 entropygas : 382.780 J/(mol K) flashpoint : 265.005 K @@ -165,7 +172,10 @@ Continuing from the previous example, you can also create e.g. a bar chart with prop = "boilingpoint" values = [mol.properties.get(prop, None) for mol in mols] - plt.barh(smiles_list, values) + filtered = [(s, v) for s, v in zip(smiles_list, values) if not math.isnan(v)] + smiles_plot, values_plot = zip(*filtered) + + plt.barh(smiles_plot, values_plot) plt.title("Boiling point [K]"); .. figure:: property_prediction_files/property_prediction_13_0.png diff --git a/doc/source/examples/PropertyPrediction/property_prediction_files/property_prediction_13_0.png b/doc/source/examples/PropertyPrediction/property_prediction_files/property_prediction_13_0.png index cc8a47616..f40f42f16 100644 Binary files a/doc/source/examples/PropertyPrediction/property_prediction_files/property_prediction_13_0.png and b/doc/source/examples/PropertyPrediction/property_prediction_files/property_prediction_13_0.png differ diff --git a/doc/source/examples/PropertyPrediction/property_prediction_files/property_prediction_3_0.png b/doc/source/examples/PropertyPrediction/property_prediction_files/property_prediction_3_0.png index 3d3cb11a8..1dcd4714e 100644 Binary files a/doc/source/examples/PropertyPrediction/property_prediction_files/property_prediction_3_0.png and b/doc/source/examples/PropertyPrediction/property_prediction_files/property_prediction_3_0.png differ diff --git a/doc/source/examples/PropertyPrediction/property_prediction_files/property_prediction_3_0.svg b/doc/source/examples/PropertyPrediction/property_prediction_files/property_prediction_3_0.svg deleted file mode 100644 index be8bf9b17..000000000 --- a/doc/source/examples/PropertyPrediction/property_prediction_files/property_prediction_3_0.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - -O -O - diff --git a/doc/source/examples/PropertyPrediction/property_prediction_files/property_prediction_7_0.png b/doc/source/examples/PropertyPrediction/property_prediction_files/property_prediction_7_0.png index 735ee1a34..e6ae5a894 100644 Binary files a/doc/source/examples/PropertyPrediction/property_prediction_files/property_prediction_7_0.png and b/doc/source/examples/PropertyPrediction/property_prediction_files/property_prediction_7_0.png differ diff --git a/examples/COSMORSCompound/cosmors_compound.ipynb b/examples/COSMORSCompound/cosmors_compound.ipynb index 37ba656f0..c92255f1a 100644 --- a/examples/COSMORSCompound/cosmors_compound.ipynb +++ b/examples/COSMORSCompound/cosmors_compound.ipynb @@ -60,9 +60,30 @@ "config.log.stdout = 1 # Suppress plams output" ] }, + { + "cell_type": "markdown", + "id": "95249efd-ac0f-4f84-a48c-d20e8bdc105d", + "metadata": {}, + "source": [ + "Optional compound metadata keyed by molecule name. This metadata is passed to ADFCOSMORSCompoundJob via `mol_info`, written to the \"Compound Data\" section of the generated COSKF file, and used by AMSCrs GUI and `pyCRS.Database` to search compounds." + ] + }, { "cell_type": "code", "execution_count": 3, + "id": "40c9a7af-5ad1-47f2-a046-9072a0f98521", + "metadata": {}, + "outputs": [], + "source": [ + "mol_info_by_name = {\n", + " \"CO\": {\"CAS\": \"630-08-0\", \"IUPAC\": \"Carbon monoxide\", \"Other Name\": \"\"},\n", + " \"H2O\": {\"CAS\": \"7732-18-5\", \"IUPAC\": \"Water\", \"Other Name\": \"\"},\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 4, "id": "e006c736-7706-4d9c-9675-f7d88e768d45", "metadata": {}, "outputs": [ @@ -70,11 +91,10 @@ "name": "stdout", "output_type": "stream", "text": [ - "[19.03|15:14:40] JOB plamsjob STARTED\n", - "[19.03|15:14:40] JOB plamsjob STARTED\n", - "[19.03|15:14:40] JOB plamsjob/gas STARTED\n", - "[19.03|15:14:40] JOB plamsjob/solv STARTED\n", - "[19.03|15:14:40] JOB plamsjob/sigma STARTED\n" + "[13.03|09:03:55] JOB plamsjob STARTED\n", + "[13.03|09:03:55] JOB plamsjob STARTED\n", + "[13.03|09:03:55] JOB plamsjob/gas STARTED\n", + "[13.03|09:03:55] JOB plamsjob/solv STARTED\n" ] } ], @@ -83,13 +103,14 @@ "\n", "results = []\n", "for name, mol in molecules.items():\n", - " job = ADFCOSMORSCompoundJob(molecule=mol, coskf_name=name, coskf_dir=\"test_coskfs_xyz\")\n", + " mol_info = mol_info_by_name.get(name)\n", + " job = ADFCOSMORSCompoundJob(molecule=mol, coskf_name=name, coskf_dir=\"test_coskfs_xyz\", mol_info=mol_info)\n", " results.append(job.run())" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "f722c525-2ec3-4321-aa3e-eb6d5b40b78f", "metadata": {}, "outputs": [ @@ -97,22 +118,25 @@ "name": "stdout", "output_type": "stream", "text": [ - "[19.03|15:14:40] Waiting for job plamsjob to finish\n", - "[19.03|15:14:40] JOB plamsjob.002/gas STARTED\n", - "[19.03|15:14:40] JOB plamsjob.002/solv STARTED\n", - "[19.03|15:14:40] Waiting for job gas to finish\n", - "[19.03|15:14:40] JOB plamsjob.002/sigma STARTED\n", - "[19.03|15:14:40] Waiting for job solv to finish\n", - "[19.03|15:14:40] Waiting for job gas to finish\n", - "[19.03|15:14:40] Waiting for job solv to finish\n", - "[19.03|15:14:45] JOB plamsjob.002/gas SUCCESSFUL\n", - "[19.03|15:14:49] JOB plamsjob.002/solv SUCCESSFUL\n", - "[19.03|15:14:49] JOB plamsjob.002/sigma SUCCESSFUL\n", - "[19.03|15:14:50] JOB plamsjob.002 SUCCESSFUL\n", - "[19.03|15:14:57] JOB plamsjob/gas SUCCESSFUL\n", - "[19.03|15:15:10] JOB plamsjob/solv SUCCESSFUL\n", - "[19.03|15:15:10] JOB plamsjob/sigma SUCCESSFUL\n", - "[19.03|15:15:15] JOB plamsjob SUCCESSFUL\n" + "[13.03|09:03:55] JOB plamsjob/sigma STARTED\n", + "[13.03|09:03:55] JOB plamsjob.002/gas STARTED\n", + "[13.03|09:03:55] Waiting for job plamsjob to finish\n", + "[13.03|09:03:55] JOB plamsjob.002/solv STARTED\n", + "[13.03|09:03:55] JOB plamsjob.002/sigma STARTED\n", + "[13.03|09:03:55] Waiting for job gas to finish\n", + "[13.03|09:03:55] Waiting for job solv to finish\n", + "[13.03|09:03:55] Waiting for job solv to finish\n", + "[13.03|09:03:55] Waiting for job gas to finish\n", + "[13.03|09:03:59] JOB plamsjob.002/gas SUCCESSFUL\n", + "[13.03|09:04:03] JOB plamsjob.002/solv SUCCESSFUL\n", + "[13.03|09:04:03] WARNING: Main KF file sigma.crskf not present in /path/plams/examples/COSMORSCompound/plams_workdir/plamsjob.002/sigma\n", + "[13.03|09:04:03] JOB plamsjob.002/sigma CRASHED\n", + "[13.03|09:04:05] JOB plamsjob.002 FAILED\n", + "[13.03|09:04:10] JOB plamsjob/gas SUCCESSFUL\n", + "[13.03|09:04:22] JOB plamsjob/solv SUCCESSFUL\n", + "[13.03|09:04:22] WARNING: Main KF file sigma.crskf not present in /path/plams/examples/COSMORSCompound/plams_workdir/plamsjob/sigma\n", + "[13.03|09:04:22] JOB plamsjob/sigma CRASHED\n", + "[13.03|09:04:25] JOB plamsjob FAILED\n" ] } ], @@ -123,7 +147,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "34628536-a15f-42b7-90c7-d06a7def1776", "metadata": {}, "outputs": [ @@ -157,7 +181,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "78fafd30-2344-41b8-9a8f-dc97d291e36f", "metadata": {}, "outputs": [], @@ -179,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "151850f6-f0f1-449f-9fac-9be9f3dcde81", "metadata": {}, "outputs": [ @@ -187,30 +211,32 @@ "name": "stdout", "output_type": "stream", "text": [ - "[19.03|15:15:16] JOB H2O STARTED\n", - "[19.03|15:15:16] JOB CO STARTED\n", - "[19.03|15:15:16] JOB H2O/preoptimization STARTED\n", - "[19.03|15:15:16] JOB CO/preoptimization STARTED\n" + "[13.03|09:04:25] JOB H2O STARTED\n", + "[13.03|09:04:25] JOB CO STARTED\n", + "[13.03|09:04:25] JOB H2O/preoptimization STARTED\n", + "[13.03|09:04:25] JOB H2O/gas STARTED\n" ] } ], "source": [ "results = []\n", "for name, mol in molecules.items():\n", + " mol_info = mol_info_by_name.get(name)\n", " job = ADFCOSMORSCompoundJob(\n", " molecule=mol, # The initial structure\n", " coskf_name=name, # a name to be used for coskf file\n", " coskf_dir=\"test_coskfs_smiles\", # a directory to put the .coskf files generated\n", " preoptimization=\"GFN1-xTB\", # perform preoptimize or not\n", " singlepoint=False, # run a singlepoint in gasphase and solvation calculation without geometry optimization. Cannot be combined with `preoptimization`\n", - " name=name,\n", - " ) # an optional name for the calculation directory\n", + " name=name, # an optional name for the calculation directory\n", + " mol_info=mol_info, # compound information to be stored in the Compound Data section of the COSKF file\n", + " )\n", " results.append(job.run())" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "f46023e5-2365-4546-b521-340c37ee412f", "metadata": {}, "outputs": [ @@ -218,30 +244,32 @@ "name": "stdout", "output_type": "stream", "text": [ - "[19.03|15:15:16] Waiting for job H2O to finish\n", - "[19.03|15:15:16] JOB CO/gas STARTED\n", - "[19.03|15:15:16] JOB H2O/gas STARTED\n", - "[19.03|15:15:16] JOB H2O/solv STARTED\n", - "[19.03|15:15:16] JOB CO/solv STARTED\n", - "[19.03|15:15:16] JOB H2O/sigma STARTED\n", - "[19.03|15:15:16] JOB CO/sigma STARTED\n", - "[19.03|15:15:16] Waiting for job gas to finish\n", - "[19.03|15:15:16] Waiting for job preoptimization to finish\n", - "[19.03|15:15:16] Waiting for job preoptimization to finish\n", - "[19.03|15:15:16] Waiting for job gas to finish\n", - "[19.03|15:15:16] Waiting for job solv to finish\n", - "[19.03|15:15:16] Waiting for job solv to finish\n", - "[19.03|15:15:16] JOB H2O/preoptimization SUCCESSFUL\n", - "[19.03|15:15:16] JOB CO/preoptimization SUCCESSFUL\n", - "[19.03|15:15:23] JOB H2O/gas SUCCESSFUL\n", - "[19.03|15:15:27] JOB H2O/solv SUCCESSFUL\n", - "[19.03|15:15:27] JOB H2O/sigma SUCCESSFUL\n", - "[19.03|15:15:31] JOB H2O SUCCESSFUL\n", - "[19.03|15:15:31] Waiting for job CO to finish\n", - "[19.03|15:15:45] JOB CO/gas SUCCESSFUL\n", - "[19.03|15:15:55] JOB CO/solv SUCCESSFUL\n", - "[19.03|15:15:56] JOB CO/sigma SUCCESSFUL\n", - "[19.03|15:15:56] JOB CO SUCCESSFUL\n" + "[13.03|09:04:25] JOB H2O/solv STARTED\n", + "[13.03|09:04:25] Waiting for job H2O to finish\n", + "[13.03|09:04:25] JOB H2O/sigma STARTED\n", + "[13.03|09:04:25] JOB CO/preoptimization STARTED\n", + "[13.03|09:04:25] JOB CO/gas STARTED\n", + "[13.03|09:04:25] JOB CO/solv STARTED\n", + "[13.03|09:04:25] JOB CO/sigma STARTED\n", + "[13.03|09:04:25] Waiting for job gas to finish\n", + "[13.03|09:04:25] Waiting for job preoptimization to finish\n", + "[13.03|09:04:25] Waiting for job solv to finish\n", + "[13.03|09:04:25] Waiting for job preoptimization to finish\n", + "[13.03|09:04:25] Waiting for job gas to finish\n", + "[13.03|09:04:25] Waiting for job solv to finish\n", + "[13.03|09:04:26] JOB H2O/preoptimization SUCCESSFUL\n", + "[13.03|09:04:26] JOB CO/preoptimization SUCCESSFUL\n", + "[13.03|09:04:32] JOB H2O/gas SUCCESSFUL\n", + "[13.03|09:04:37] JOB H2O/solv SUCCESSFUL\n", + "[13.03|09:04:37] WARNING: Main KF file sigma.crskf not present in /path/plams/examples/COSMORSCompound/plams_workdir/H2O/sigma\n", + "[13.03|09:04:37] JOB H2O/sigma CRASHED\n", + "[13.03|09:04:40] JOB H2O FAILED\n", + "[13.03|09:04:40] Waiting for job CO to finish\n", + "[13.03|09:04:54] JOB CO/gas SUCCESSFUL\n", + "[13.03|09:05:06] JOB CO/solv SUCCESSFUL\n", + "[13.03|09:05:06] WARNING: Main KF file sigma.crskf not present in /path/plams/examples/COSMORSCompound/plams_workdir/CO/sigma\n", + "[13.03|09:05:06] JOB CO/sigma CRASHED\n", + "[13.03|09:05:10] JOB CO FAILED\n" ] } ], @@ -252,7 +280,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "250a360c-60dc-4f38-be86-6629b5811c4b", "metadata": {}, "outputs": [ diff --git a/examples/COSMORSCompound/cosmors_compound.py b/examples/COSMORSCompound/cosmors_compound.py index 1e755974d..e0a9cc5d7 100644 --- a/examples/COSMORSCompound/cosmors_compound.py +++ b/examples/COSMORSCompound/cosmors_compound.py @@ -21,11 +21,20 @@ config.log.stdout = 1 # Suppress plams output +# Optional compound metadata keyed by molecule name. This metadata is passed to ADFCOSMORSCompoundJob via `mol_info`, written to the "Compound Data" section of the generated COSKF file, and used by AMSCrs GUI and `pyCRS.Database` to search compounds. + +mol_info_by_name = { + "CO": {"CAS": "630-08-0", "IUPAC": "Carbon monoxide", "Other Name": ""}, + "H2O": {"CAS": "7732-18-5", "IUPAC": "Water", "Other Name": ""}, +} + + molecules = read_molecules("./compounds_xyz") results = [] for name, mol in molecules.items(): - job = ADFCOSMORSCompoundJob(molecule=mol, coskf_name=name, coskf_dir="test_coskfs_xyz") + mol_info = mol_info_by_name.get(name) + job = ADFCOSMORSCompoundJob(molecule=mol, coskf_name=name, coskf_dir="test_coskfs_xyz", mol_info=mol_info) results.append(job.run()) @@ -51,14 +60,16 @@ results = [] for name, mol in molecules.items(): + mol_info = mol_info_by_name.get(name) job = ADFCOSMORSCompoundJob( molecule=mol, # The initial structure coskf_name=name, # a name to be used for coskf file coskf_dir="test_coskfs_smiles", # a directory to put the .coskf files generated preoptimization="GFN1-xTB", # perform preoptimize or not singlepoint=False, # run a singlepoint in gasphase and solvation calculation without geometry optimization. Cannot be combined with `preoptimization` - name=name, - ) # an optional name for the calculation directory + name=name, # an optional name for the calculation directory + mol_info=mol_info, # compound information to be stored in the Compound Data section of the COSKF file + ) results.append(job.run()) diff --git a/examples/ConformersMultipleMolecules/conformers.ipynb b/examples/ConformersMultipleMolecules/conformers.ipynb index 64fccceac..a161be474 100644 --- a/examples/ConformersMultipleMolecules/conformers.ipynb +++ b/examples/ConformersMultipleMolecules/conformers.ipynb @@ -372,7 +372,7 @@ "id": "267847c0-b312-4d41-921a-271edbe0bc34", "metadata": {}, "source": [ - "You can also open the conformers in AMSmovie to browse all conformers 1000+ conformers:" + "You can also open the conformers in AMSmovie to browse all 1000+ conformers:" ] }, { @@ -382,6 +382,8 @@ "metadata": {}, "outputs": [], "source": [ + "# Open AMSmovie in a Jupyter Notebook, equivalent to the shell command:\n", + "# amsmovie /path/plams/examples/ConformersMultipleMolecules/plams_workdir/conformers/conformers.rkf\n", "!amsmovie {rkf}" ] }, diff --git a/examples/ConformersMultipleMolecules/conformers.py b/examples/ConformersMultipleMolecules/conformers.py index e95b757f7..7c706506f 100644 --- a/examples/ConformersMultipleMolecules/conformers.py +++ b/examples/ConformersMultipleMolecules/conformers.py @@ -133,7 +133,10 @@ def plot_conformers(job: ConformersJob, indices=None, temperature=298, unit="kca plot_conformers(job) -# You can also open the conformers in AMSmovie to browse all conformers 1000+ conformers: +# You can also open the conformers in AMSmovie to browse all 1000+ conformers: + +# Open AMSmovie in a Jupyter Notebook, equivalent to the shell command: +# amsmovie /path/plams/examples/ConformersMultipleMolecules/plams_workdir/conformers/conformers.rkf # Finally in AMS2025+, you can also inspect the conformer data using the JobAnalysis tool. diff --git a/examples/PropertyPrediction/property_prediction.ipynb b/examples/PropertyPrediction/property_prediction.ipynb index d71a07ae0..fea951c9f 100644 --- a/examples/PropertyPrediction/property_prediction.ipynb +++ b/examples/PropertyPrediction/property_prediction.ipynb @@ -17,11 +17,17 @@ "source": [ "import pyCRS\n", "import matplotlib.pyplot as plt\n", - "from rdkit import Chem\n", - "from rdkit.Chem.Draw import IPythonConsole\n", + "import math\n", "\n", - "IPythonConsole.ipython_useSVG = True\n", - "IPythonConsole.molSize = 150, 150" + "import scm.plams as plams\n", + "\n", + "try:\n", + " from scm.plams import view # view molecule using AMSview in a Jupyter Notebook in AMS2026+\n", + "except ImportError:\n", + " from scm.plams import plot_molecule # plot molecule in a Jupyter Notebook in AMS2023+\n", + "\n", + " def view(molecule, **kwargs):\n", + " plot_molecule(molecule)" ] }, { @@ -40,32 +46,9 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAIAAACzY+a1AAACt0lEQVR4nO3dyXLCMBAAUSuV//9l5eCKwx6jbdSi+wQnG55H2EBByjlvRu4regesNgnxSYhPQnwS4pMQn4T4JMQnIT4J8UmIT0J8EuKTEJ+E+CTEJyE+CfFJiE9CfBLikxCfhPgkxCchPgnxSYhPQnwS4pMQn4T4JMQnIT4J8UmIT0J8EuKTEJ+E+CTEJyE+CfFJiE9CfBLikxDfd/QOLFFKf7eH/ziohNWldMV2c7d/LqT4JMQnIT4J8UmIzzPS6nL2ooJf6B9FuJDWdTl/QUnYuuGoEuKTsKLh76U9TEJ8EuKTEJ+ETYt4dZQQn4SlzXE6ukm4QBLik7Cw+PdGf5OwZSGuEuKTsKSU0jx/Ji9hs6Jc5yJMKaUJPkRlNcsXL3a5/Si+vG3/Fkx4zNwl2AGp4pliCB/K3ZRzdhzPNJrwLZU5x3G2/RlEeGbsnrWP41TP2n2Be9idsMli6KL6ol6ENWP3sDkX1RlqT9h1XPL+7fdQxeOhTbIwNDuom4/d643tW+q+oafbv7qKjVWs3fxQubttD1Z89mBjx7GccIplZIjiycM0ahxLtjoF3lFPxXcfaYjiEid4zV8aU9q2LRUdpuOP7yUI95qMY6OjYeQ4LkS41Sm2HuVhimsRFnR8PNnheRizqH4w4aiLy97j+JGEw98Z6Kq4NGHoD1Hc1E9xXcLoX7e7r9NL41xff1q7nPPxqVnDJBxdc0UJA9oVW0FKGFPDRVXCyJoorntGus11UfGiyjPVpQlRFV84upDOUvGiKuFEOYUfmoT4JMQnIT4J8UmIT0J8EuKTEJ+E+CTEJyE+CfFJiE9CfBLikxCfhPgkxCchPgnxSYhPQnwS4pMQn4T4JMQnIT4J8UmIT0J8EuKTEJ+E+CTEJyE+CfFJiE9CfBLikxCfhPgkxCchPgnxSYhPQnw/xXYWAm6Y2C0AAAAASUVORK5CYII=\n", - "image/svg+xml": [ - "\n", - "\n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "O\n", - "O\n", - "\n" - ], + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -74,10 +57,11 @@ } ], "source": [ + "from scm.plams import from_smiles\n", + "\n", "# smiles = 'CCO' # ethanol\n", "smiles = \"O=C(OCC)C\" # ethyl acetate\n", - "rdkit_mol = Chem.MolFromSmiles(smiles)\n", - "rdkit_mol # show the molecule in a Jupyter notebook" + "view(plams.from_smiles(smiles), width=300, height=300)" ] }, { @@ -104,7 +88,7 @@ "criticalpressure : 38.243 bar\n", "criticaltemp : 544.189 K\n", "criticalvol : 0.271 L/mol\n", - "density : 0.894 kg/L (298.15 K)\n", + "density : 0.894 kg/L\n", "dielectricconstant : 6.834 \n", "entropygas : 382.780 J/(mol K)\n", "flashpoint : 265.005 K\n", @@ -153,7 +137,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -291,7 +275,7 @@ "outputs": [ { "data": { - "image/png": "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L7/c0H0urvDwcK1bt85xL8yBAwdcXRJw0yJUAABQSnbv3i1Jjo99feihh3TmzBktW7bMaVze9fsPPfTQDautdevW+vHHH7Vv3z6n1xcuXFiseebPn+/0fNGiRcrNzVWbNm0kSe3atZMkp5vEJWnHjh1KTk4usX222+2SVOJnL5o1a6b169crJydHbdu21f79+0t0fuBWwY3aAACUgB9//FG5ubmS/rzkZ8mSJVq7dq0effRR1a1bV5LUr18/zZgxQ/3791dqaqqaNGmib7/9Vv/617/UtWtXtW/f/obVGx0drQ8//FBdunTRuHHjVKNGDX322WeON83lyhXt945LliyRm5ubOnTooKSkJMXGxqpp06bq1auXJKlhw4Z6/vnn9e6776pcuXLq0qWLUlNTFRsbq6CgIL300kslsj9NmjSRJE2dOlX9+/eXu7u7GjZs6HQvxvW6++67tX79ej300ENq27atNmzYoEaNGhnPC9xKOFMBAEAJGDhwoCIiIhQREaG+fftq586dmjRpkhYsWOAY4+npqY0bN6pv3756++231aVLF3388ccaOXLkDf9W5sDAQG3evFkhISEaMmSI+vbtKw8PD40bN06S5OfnV6R5lixZov379+uxxx7TG2+8oR49emjNmjXy8PBwjJk1a5YmTJigr776St27d9drr72mjh07auvWrQXeL3E92rRpozFjxujLL7/U/fffr3vvvVfff/99icwtSU2bNtWGDRuUm5urtm3b5jvDA9zubNaVF3YCAIDb1vPPP68FCxbo1KlTTsHgSnFxcRo7dqx+++23m/q+iKtp06aNLMvS+vXrVa5cuSKfmblSbm6ujh49qgYNGuT7xm3gdsLlTwAA3KbGjRunwMBA1atXT2fOnNGKFSv0/vvv6/XXX79moLhVbNmyRe7u7urWrZvTN3QXVWZmpipXrlwKlQFlD6ECAIDblLu7u95++22dOHFCubm5Cg4O1qRJkzRixAhXl1bqZs+erdOnT0sq+qVeV6pUqZJ27NjheB4UFFQSpQFlEpc/AQAAADDCjdoAAAAAjBAqAAAAABghVAAAAAAwwo3aAG6Iy5cv65dfflGlSpVks9lcXQ4AACgCy7J0+vRpBQYGXvOjlwkVAG6IX375hU9GAQCgjDp+/Lhq1ap11eWECgA3RKVKlST9+T8lHx8fF1cDAACKIjs7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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxQAAAGzCAYAAAC2BVHuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA080lEQVR4nO3deXiM9/7/8dcQSURMIvZUmiCJpSltKXJwoU2lKOlGqk51O+iRKm1KOT1qKbWXWmo5WtpSS+uLVltLCXVKq1FqJ0pQS5U0iT3B/fvDlfmdaRKZfCRG4vm4rrkuc9+f+dzv+z1zybzmvu8Zm2VZlgAAAADAQAl3FwAAAACg6CJQAAAAADBGoAAAAABgjEABAAAAwBiBAgAAAIAxAgUAAAAAYwQKAAAAAMYIFAAAAACMESgAAAAAGCNQAABwiwkJCdFzzz3nuL927VrZbDatXbvWsey5555TSEjITa+tMCQnJ8tms2n27NmFvq3BgwfLZrPJZrPJ19fXeB5/f3/HPC+//HIBVggUPQQKAAAMzZ492/GmMutWqVIltWrVSt988427y7stnD9/XoMHD3YKW6745JNP9MEHHzgta9mypSIiIrKNXb16tXx8fHTfffcpJSVFkjRjxgx98sknxnUDxYmHuwsAAKCoGzp0qKpXry7LsvT7779r9uzZatu2rb788ks98sgj+Z5v7969KlHi+p/5/ec//9HVq1dNS76lBAcH68KFCypVqlS+H3v+/HkNGTJE0rVA4Kq///3vLo1bs2aN2rdvr1q1aunbb79VQECAJKlTp06SpGeeeSZ/BQPFEIECAIAb1KZNGzVs2NBx/8UXX1TlypU1b948o0Dh5eWV5xiTN9+3KpvNJm9vb3eXkc26devUvn17hYeHO4UJAM445QkAgALm7++v0qVLy8PD+XO7c+fOKT4+XkFBQfLy8lKtWrU0duxYWZblNO6v11Dk5K/XUGRdhzB27FjNmDFDNWvWlJeXl+6//3799NNP2R7/2WefqW7duvL29lZERIQWL17s8nUZISEheuSRR7Ry5Urdc8898vb2Vt26dfV///d/2cYeOHBAHTt2VEBAgHx8fNSkSRN99dVXTmNyuobiueeek6+vr44ePapHH31Uvr6+qlixol5//XVduXLF8biKFStKkoYMGeI47Wzw4MF57kNe1q9fr3bt2ik0NFTffvutypcvf8NzAsUVgQIAgBuUlpamU6dO6Y8//tDOnTv1z3/+U2fPnnU6rcayLHXo0EHjx4/Xww8/rHfffVe1atVS37599dprrxVYLZ9++qnGjBmjHj16aNiwYUpOTtbjjz+uzMxMx5ivvvpKsbGxKlWqlEaMGKHHH39cL774ojZv3uzydpKSkhQbG6s2bdpoxIgR8vDwUMeOHbVq1SrHmN9//11/+9vftGLFCvXs2VPDhw/XxYsX1aFDBy1evDjPbVy5ckXR0dEqX768xo4dqxYtWmjcuHGaMWOGJKlixYqaOnWqJOmxxx7TJ598ok8++USPP/64y/uRk++//15t27ZV9erVtXr1alWoUOGG5gOKPQsAABiZNWuWJSnbzcvLy5o9e7bT2CVLlliSrGHDhjktf/LJJy2bzWbt37/fsSw4ONh69tlnHfcTEhIsSVZCQoJj2bPPPmsFBwc77h88eNCSZJUvX95KSUlxLF+6dKklyfryyy8dy+6++26rWrVq1pkzZxzL1q5da0lymjM3wcHBliRr0aJFjmVpaWlW1apVrXvvvdexrE+fPpYka/369Y5lZ86csapXr26FhIRYV65ccap91qxZTvsnyRo6dKjTtu+9916rQYMGjvt//PGHJckaNGhQnnVblmUNGjTIyu3tT4sWLayAgACrbNmy1l133WWdPHkyz/kkWXFxcS5tGyiuOEIBAMANmjJlilatWqVVq1Zpzpw5atWqlf7xj384nQL09ddfq2TJknrllVecHhsfHy/LsgrsW6FiY2NVrlw5x/3mzZtLunbqkSQdO3ZM27dvV9euXZ2+NrVFixa6++67Xd5OYGCgHnvsMcd9u92url27asuWLTpx4oSka/vcqFEjNWvWzDHO19dX3bt3V3Jysnbt2pXndl566SWn+82bN3fsS2E4d+6czpw5o8qVK8tutxfadoDihEABAMANatSokaKiohQVFaUuXbroq6++Ut26dfXyyy8rIyNDknTo0CEFBgaqbNmyTo+tU6eOY31BuPPOO53uZ4WLP//802k7oaGh2R6b07LchIaGymazOS0LDw+XdO3ahqxt1apVK9tjXd1nb29vxzUSWcqVK+fYl8IQGhqqUaNGac2aNercubPjeg0AuSNQAABQwEqUKKFWrVrp+PHjSkpKuqnbLlmyZI7Lrb9c+F0U5LYvha1fv37q16+fFi9erG7duhXJ3gE3E18bCwBAIbh8+bIk6ezZs5Ku/dbCt99+qzNnzjgdpdizZ49j/c2QtZ39+/dnW5fTstzs379flmU5HaXYt2+fJDm+KSo4OFh79+7N9tiC3Oe/HiUpKKNGjVJKSopmzpypcuXKady4cYWyHaA44AgFAAAFLDMzUytXrpSnp6fj9J62bdvqypUrmjx5stPY8ePHy2azqU2bNjeltsDAQEVEROjjjz92hB3p2m8ubN++3eV5jh075vRNTenp6fr44491zz33qEqVKpKu7fOmTZu0ceNGx7hz585pxowZCgkJUd26dW94f3x8fCRJqampNzzXX02fPl1PPvmk3n33XQ0bNqzA5weKC45QAABwg7755hvHp+4nT57Up59+qqSkJPXv399xYW/79u3VqlUrvfnmm0pOTlb9+vW1cuVKLV26VH369FHNmjVvWr3vvPOOYmJi1LRpUz3//PP6888/NXnyZEVERDiFjOsJDw/Xiy++qJ9++kmVK1fWhx9+qN9//12zZs1yjOnfv7/mzZunNm3a6JVXXlFAQIA++ugjHTx4UIsWLcrz18BdUbp0adWtW1cLFixQeHi4AgICFBERoYiIiBueu0SJEpo7d67S0tI0cOBABQQEqGfPnjc8L1DcECgAALhBb731luPf3t7eql27tqZOnaoePXo4lpcoUUJffPGF3nrrLS1YsECzZs1SSEiIxowZo/j4+Jtab/v27TVv3jwNHjxY/fv3V1hYmGbPnq2PPvpIO3fudGmOsLAwTZo0SX379tXevXtVvXp1LViwQNHR0Y4xlStX1oYNG/TGG29o0qRJunjxourVq6cvv/xS7dq1K7D9mTlzpnr16qVXX31VGRkZGjRoUIEECkny9PTU4sWLFRUVpV69esnf319PP/10gcwNFBc2iyuNAACApHvuuUcVK1Z0+nG6nISEhCgiIkLLli27SZUVnMGDB2vIkCH6448/ZLPZjH8BOyUlRVevXlXFihUVFxeX7VQ24HbCNRQAANxmMjMzHReNZ1m7dq1++eUXtWzZ0j1F3WQVK1a8oYvCa9Soke0rbYHbFac8AQBwmzl69KiioqL097//XYGBgdqzZ4+mTZumKlWqZPshueKma9eujh/a8/Awfxu0dOlSZWZmSpKCgoIKpDagqCJQAABwmylXrpwaNGigmTNn6o8/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prJlyyoxMVGjRo3SBx98oHvuucel2vLLsix17txZX3zxhf7973+rdevWqlixorZv367x48erV69eevTRR3X69GlVrVpVP//8syIiIhyPf//99/Xyyy/r+eefV9euXRUSEqLffvtNH3/8sXx9fY2+OtbV/XTleTh//rwqVKigFStWqHnz5vma//PPP9dTTz2lF154QS+//LLsdrtWr16tvn376sEHH9TChQsd4cqVPrja61GjRumtt97Sp59+qqZNmzr68tcjD/nxxhtvaNy4cXrttdf02GOPKTAwUPv379e0adPUrFkz9e7d2+XXYX4VZG/ya+nSperYsaMefvhhvfLKKwoNDdWpU6e0cOFCHT58WPPnz9eOHTv0wAMPKDo6WmPGjHE8tmTJko4jW3khUAAAUDiKZKCQpOPHj2v48OFatmyZjh8/rooVK6pBgwZ69dVX1bJlSw0ePFhDhgzJ9rhZs2bpueeey+/mJF0LFePHj9enn36qpKQk+fj4qE6dOurWrZu6dOkiDw8Pl2ozcfXqVc2YMUMffvihdu7cKQ8PD4WFhalr167q1q2b4wLy2NhY1ahRQyNGjHB6/LfffquxY8dq06ZNunDhgkJCQvTII4/otddey/Ni3Ny4sp+uPA/z5s3TkCFDsp324mof169fr+HDh2vjxo26ePGiwsLC9Pzzz6tPnz4qWbJkvvvgSq9DQkJ06NChbPs1aNAgDR482Kif0rWvCJ4yZYq2bNmiq1evqmbNmnryySfVq1cvxyf1rr4O86ugemMiMTFRI0aM0Pr16x0XTz/wwAPq27evQkNDc30dBQcH53lkLQuBAgCAwlFkAwVytm3bNj300EP69ddfjT8pv9maNGmiV155RU8//bS7S0ExRqAAAKBw3AqBIt+/lI3c1atXT6NGjdLBgwfdXYpLTp06pccff1ydO3d2dykAAAAooszOz0CuTE/pcocKFSrk+qNmAAAAgCs4QgEAAADAGIECAAAAgDECBQAAAABjBAoAAAAAxggUAAAAAIwRKAAAAAAYI1AAAAAAMEagAAAAAGCMQAEAAADAGIECAAAAgDECBQAAAABjBAoAAAAAxggUAAAAAIwRKAAAAAAYI1AAAAAAMEagAAAAAGCMQAEAAADAGIECAAAAgDECBQAAAABjBAoAAAAAxggUAAAAAIwRKAAAAAAYI1AAAAAAMEagAAAAAGCMQAEAAADAmIe7CwBw+9gxJFp2u93dZQAAgALEEQoAAAAAxggUAAAAAIwRKAAAAAAYI1AAAAAAMEagAAAAAGCMQAEAAADAGIECAAAAgDECBQAAAABjBAoAAAAAxggUAAAAAIwRKAAAAAAYI1AAAAAAMEagAAAAAGCMQAEAAADAGIECAAAAgDECBQAAAABjBAoAAAAAxjzcXQCA20fEoBUq4eXj7jIAAC5IHtnO3SWgiOAIBQAAAABjBAoAAAAAxggUAAAAAIwRKAAAAAAYI1AAAAAAMEagAAAAAGCMQAEAAADAGIECAAAAgDECBQAAAABjBAoAAAAAxggUAAAAAIwRKAAAAAAYI1AAAAAAMEagAAAAAGCMQAEAAADAGIECAAAAgDECBQAAAABjBAoAAAAAxggUAAAAAIwRKAAAAAAYI1AAAAAAMEagAAAAAGCMQAEAAADAGIECAAAAgDECBQAAAABjBAoAAAAAxggUAAAAAIwRKAAAAAAYI1AAAAAAMEagAAAAAGCMQAHcAo4cOaIXXnhBgYGB8vT0VHBwsHr37q3Tp087jdu/f7+ef/55VatWTV5eXqpevbo6d+6sxMREp3EJCQlq27atypcvLx8fH9WtW1fx8fE6evSoY4xlWZoxY4YaN24sX19f+fv7q2HDhpowYYLOnz8vSRo8eLBsNpteeuklp/m3bt0qm82m5OTkwmkIAAAoMggUgJsdOHBADRs2VFJSkubNm6f9+/dr2rRpWr16tSIjI5WSkiJJSkxMVIMGDbRv3z5Nnz5du3bt0uLFi1W7dm3Fx8c75ps+fbqioqJUpUoVLVq0SLt27dK0adOUlpamcePGOcY988wz6tOnj2JiYpSQkKCtW7dq4MCBWrp0qVauXOkY5+3trQ8++EBJSUk3rykAAKDIsFmWZbm7COB21qZNG+3YsUP79u1T6dKlHctPnDihmjVrqmvXrnr//fd19913y9vbW5s2bVKJEs6fBaSmpsrf31+//fabatasqZ49e2r8+PHZtpU1buHChYqNjdWSJUsUExPjNMayLKWnp8vPz0+DBw/WkiVLVKlSJcfjpGtHKO69914dPHhQISEhee5j1nxBfRaqhJePQZcAADdb8sh27i4Bbpb19zstLU12uz3XcRyhANwoJSVFK1asUM+ePZ3ChCRVqVJFXbp00YIFC7R161bt3LlT8fHx2cKEJPn7+0uSPvvsM2VkZKhfv345bi9r3Ny5c1WrVq1sYUKSbDab/Pz8nJaNHDlSixYtynZqVW4uXbqk9PR0pxsAACieCBSAGyUlJcmyLNWpUyfH9XXq1NGff/7pON2odu3aec5nt9tVtWrVPMfVqlXL5Trvu+8+derUSW+88YZL40eMGCE/Pz/HLSgoyOVtAQCAooVAAdwC8jrz0NUzEy3Lks1mu+Ht5WTYsGFav3690/UVuRkwYIDS0tIctyNHjuR7ewAAoGggUABuFBoaKpvNpt27d+e4fvfu3SpXrpzCw8MlSXv27LnufOHh4UpLS9Px48fzHJfXXH9Vs2ZNdevWTf37988zkHh5eclutzvdAABA8USgANyofPnyeuihh/T+++/rwoULTutOnDihuXPnKjY2Vvfcc4/q1q2rcePG6erVq9nmSU1NlSQ9+eST8vT01OjRo3PcXta4p59+Wvv27dPSpUuzjbEsS2lpaTk+/q233tK+ffs0f/78fOwlAAAozggUgJtNnjxZly5dUnR0tL777jsdOXJEy5cv10MPPaQ77rhDw4cPl81m06xZs7Rv3z41b95cX3/9tQ4cOKBt27Zp+PDhjourg4KCNH78eL333nt68cUXtW7dOh06dEjff/+9evToobfffluS1KlTJ8XGxqpz58565513lJiYqEOHDmnZsmWKiopSQkJCjrVWrlxZr732miZOnHjT+gMAAG5tBArAzcLCwpSYmKgaNWqoU6dOqlmzprp3765WrVpp48aNCggIkCQ1atRIiYmJCg0NVbdu3VSnTh116NBBO3fu1IQJExzz9ezZUytXrtTRo0f12GOPqXbt2vrHP/4hu92u119/XdK1b3L69NNP9e6772rJkiVq0aKF6tWrp8GDBysmJkbR0dG51vv666/L19e3UHsCAACKDn6HAkCh43coAKDo4XcowO9QAAAAACh0BAoAAAAAxggUAAAAAIwRKAAAAAAYI1AAAAAAMEagAAAAAGCMQAEAAADAGIECAAAAgDECBQAAAABjBAoAAAAAxggUAAAAAIwRKAAAAAAYI1AAAAAAMEagAAAAAGCMQAEAAADAGIECAAAAgDECBQAAAABjBAoAAAAAxggUAAAAAIwRKAAAAAAYI1AAAAAAMEagAAAAAGCMQAEAAADAGIECAAAAgDECBQAA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4tYxYsQI3X///SpbtqwqVaqkRx99VHv37nUac/HiRcXFxal8+fLy9fXVE088od9//91pzOHDh9WuXTv5+PioUqVK6tu3ry5fvnwzd+WWMXXqVNWrV8/xy8KRkZH65ptvHOvp540ZOXKkbDab+vTp41hGT/Nn8ODBstlsTrfatWs71tPPwkGgAFBoFixYoNdee02DBg3Szz//rPr16ys6OlonT550d2m3pHPnzql+/fqaMmVKjutHjx6tiRMnatq0afrxxx9VpkwZRUdH6+LFi44xXbp00c6dO7Vq1SotW7ZM3333nbp3736zduGWsm7dOsXFxemHH37QqlWrlJmZqdatW+vcuXOOMa+++qq+/PJLffbZZ1q3bp2OHTumxx9/3LH+ypUrateunTIyMrRhwwZ99NFHmj17tt566y137JLbVatWTSNHjtTmzZuVmJioBx54QDExMdq5c6ck+nkjfvrpJ02fPl316tVzWk5P8++uu+7S8ePHHbf//ve/jnX0s5BYAFBIGjVqZMXFxTnuX7lyxQoMDLRGjBjhxqqKBknW4sWLHfevXr1qValSxRozZoxjWWpqquXl5WXNmzfPsizL2rVrlyXJ+umnnxxjvvnmG8tms1lHjx69abXfqk6ePGlJstatW2dZ1rX+lSpVyvrss88cY3bv3m1JsjZu3GhZlmV9/fXXVokSJawTJ044xkydOtWy2+3WpUuXbu4O3KLKlStnzZw5k37egDNnzlhhYWHWqlWrrBYtWli9e/e2LIvXqIlBgwZZ9evXz3Ed/Sw8HKEAUCgyMjK0efNmRUVFOZaVKFFCUVFR2rhxoxsrK5oOHjyoEydOOPXTz89PjRs3dvRz48aN8vf3V8OGDR1joqKiVKJECf344483veZbTVpamiQpICBAkrR582ZlZmY69bR27dq68847nXp69913q3Llyo4x0dHRSk9Pd3wqf7u6cuWK5s+fr3PnzikyMpJ+3oC4uDi1a9fOqXcSr1FTSUlJCgwMVI0aNdSlSxcdPnxYEv0sTB7uLgBA8XTq1ClduXLF6T9lSapcubL27NnjpqqKrhMnTkhSjv3MWnfixAlVqlTJab2Hh4cCAgIcY25XV69eVZ8+fdS0aVNFRERIutYvT09P+fv7O439a09z6nnWutvR9u3bFRkZqYsXL8rX11eLFy9W3bp1tXXrVvppYP78+fr555/1008/ZVvHazT/GjdurNmzZ6tWrVo6fvy4hgwZoubNm2vHjh30sxARKAAAxV5cXJx27NjhdC41zNSqVUtbt25VWlqaPv/8cz377LNat26du8sqko4cOaLevXtr1apV8vb2dnc5xUKbNm0c/65Xr54aN26s4OBgLVy4UKVLl3ZjZcUbpzwBKBQVKlRQyZIls317xu+//64qVaq4qaqiK6tn1+tnlSpVsl3wfvnyZaWkpNzWPX/55Ze1bNkyJSQkqFq1ao7lVapUUUZGhlJTU53G/7WnOfU8a93tyNPTU6GhoWrQoIFGjBih+vXr67333qOfBjZv3qyTJ0/qvvvuk4eHhzw8PLRu3TpNnDhRHh4eqly5Mj29Qf7+/goPD9f+/ft5jRYiAgWAQuHp6akGDRpo9erVjmVXr17V6tWrFRkZ6cbKiqbq1aurSpUqTv1MT0/Xjz/+6OhnZGSkUlNTtXnzZseYNWvW6OrVq2rcuPFNr9ndLMvSyy+/rMWLF2vNmjWqXr260/oGDRqoVKlSTj3du3evDh8+7NTT7du3OwW1VatWyW63q27dujdnR25xV69e1aVLl+ingQcffFDbt2/X1q1bHbeGDRuqS5cujn/T0xtz9uxZ/frrr6patSqv0cLk7qvCARRf8+fPt7y8vKzZs2dbu3btsrp37275+/s7fXsG/r8zZ85YW7ZssbZs2WJJst59911ry5Yt1qFDhyzLsqyRI0da/v7+1tKlS61t27ZZMTExVvXq1a0LFy445nj44Yete++91/rxxx+t//73v1ZYWJjVuXNnd+2SW/3zn/+0/Pz8rLVr11rHjx933M6fP+8Y89JLL1l33nmntWbNGisxMdGKjIy0IiMjHesvX75sRUREWK1bt7a2bt1qLV++3KpYsaI1YMAAd+yS2/Xv399at26ddfDgQWvbtm1W//79LZvNZq1cudKyLPpZEP73W54si57mV3x8vLV27Vrr4MGD1vfff29FRUVZFSpUsE6ePGlZFv0sLAQKAIVq0qRJ1p133ml5enpajRo1sn744Qd3l3TLSkhIsCRluz377LOWZV376tiBAwdalStXtry8vKwHH3zQ2rt3r9Mcp0+ftjp37mz5+vpadrvdev75560zZ864YW/cL6deSrJmzZrlGHPhwgWrZ8+eVrly5SwfHx/rscces44fP+40T3JystWmTRurdOnSVoUKFaz4+HgrMzPzJu/NreGFF16wgoODLU9PT6tixYrWgw8+6AgTlkU/C8JfAwU9zZ/Y2FiratWqlqenp3XHHXdYsbGx1v79+x3r6WfhsFmWZbnn2AgAAACAoo5rKAAAAAAYI1AAAAAAMEagAAAAAGCMQAEAAADAGIECAAAAgDECBQAAAABjBAoAAAAAxggUAAAAAIwRKAAAAAAYI1AAAAAAMEagAAAAAGDs/wFanNN1A4dsXQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] @@ -303,9 +287,20 @@ "source": [ "prop = \"boilingpoint\"\n", "values = [mol.properties.get(prop, None) for mol in mols]\n", - "plt.barh(smiles_list, values)\n", + "filtered = [(s, v) for s, v in zip(smiles_list, values) if not math.isnan(v)]\n", + "smiles_plot, values_plot = zip(*filtered)\n", + "\n", + "plt.barh(smiles_plot, values_plot)\n", "plt.title(\"Boiling point [K]\");" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "11d3fb12-da25-4dee-9ff4-d8fd5b813ada", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/examples/PropertyPrediction/property_prediction.py b/examples/PropertyPrediction/property_prediction.py index 0ec55065f..c3343c044 100644 --- a/examples/PropertyPrediction/property_prediction.py +++ b/examples/PropertyPrediction/property_prediction.py @@ -5,19 +5,26 @@ import pyCRS import matplotlib.pyplot as plt -from rdkit import Chem -from rdkit.Chem.Draw import IPythonConsole +import math -IPythonConsole.ipython_useSVG = True -IPythonConsole.molSize = 150, 150 +import scm.plams as plams + +try: + from scm.plams import view # view molecule using AMSview in a Jupyter Notebook in AMS2026+ +except ImportError: + from scm.plams import plot_molecule # plot molecule in a Jupyter Notebook in AMS2023+ + + def view(molecule, **kwargs): + plot_molecule(molecule) # ## Property prediction from SMILES (ethyl acetate) +from scm.plams import from_smiles + # smiles = 'CCO' # ethanol smiles = "O=C(OCC)C" # ethyl acetate -rdkit_mol = Chem.MolFromSmiles(smiles) -rdkit_mol # show the molecule in a Jupyter notebook +view(plams.from_smiles(smiles), width=300, height=300) # ### Temperature-independent properties @@ -110,5 +117,8 @@ def get_csv(mols, properties): prop = "boilingpoint" values = [mol.properties.get(prop, None) for mol in mols] -plt.barh(smiles_list, values) +filtered = [(s, v) for s, v in zip(smiles_list, values) if not math.isnan(v)] +smiles_plot, values_plot = zip(*filtered) + +plt.barh(smiles_plot, values_plot) plt.title("Boiling point [K]")