Mercurial > repos > muon-spectroscopy-computational-project > pm_muairss_read
changeset 0:49b6d76139da draft
planemo upload for repository https://github.com/muon-spectroscopy-computational-project/muon-galaxy-tools/main/pm_muairss_read commit d130cf2c46d933fa9d0214ddbd5ddf860f322dc4
author | muon-spectroscopy-computational-project |
---|---|
date | Thu, 25 Aug 2022 16:18:39 +0000 |
parents | |
children | c5fba3c9f660 |
files | get_out_folder.py pm_muairss_read.xml test-data/clusters.txt test-data/clusters_dat.dat test-data/clustout-dftb.dat test-data/clustout-dftb.txt test-data/clustout-uep.dat test-data/clustout-uep.txt test-data/dftb-out.zip test-data/uep-out.zip |
diffstat | 10 files changed, 405 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/get_out_folder.py Thu Aug 25 16:18:39 2022 +0000 @@ -0,0 +1,11 @@ +import sys + +import yaml + + +try: + with open('params.yaml') as f: + data = yaml.safe_load(f) + sys.stdout.write(data['out_folder']) +except KeyError or FileNotFoundError: + sys.stdout.write('muon-airss-out')
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pm_muairss_read.xml Thu Aug 25 16:18:39 2022 +0000 @@ -0,0 +1,158 @@ +<tool id="pm_muairss_read" name="PyMuonSuite AIRSS Cluster" version="@TOOL_VERSION@+galaxy@WRAPPER_VERSION@" python_template_version="3.5" profile="22.01"> + <description>run clustering for optimised structures</description> + <macros> + <!-- version of underlying tool (PEP 440) --> + <token name="@TOOL_VERSION@">0.2.1</token> + <!-- version of this tool wrapper (integer) --> + <token name="@WRAPPER_VERSION@">1</token> + <!-- citation should be updated with every underlying tool version --> + <!-- typical fields to update are version, month, year, and doi --> + <token name="@TOOL_CITATION@"> + @software{pymuon-suite, + author = {Sturniolo, Simone and Liborio, Leandro and Chadwick, Eli and Murgatroyd, Laura and Laverack, Adam and {Muon Spectroscopy Computational Project}}, + license = {GPL-3.0}, + title = {{pymuon-suite}}, + url = {https://github.com/muon-spectroscopy-computational-project/pymuon-suite}, + version = {v0.2.1}, + month = {2}, + year = {2022}, + doi = {} + } + </token> + </macros> + <creator> + <person givenName="Jyothish" familyName="Thomas" identifier="https://orcid.org/0000-0003-4724-6924"/> + <person givenName="Eli" familyName="Chadwick" url="https://github.com/elichad" identifier="https://orcid.org/0000-0002-0035-6475"/> + <organization url="https://muon-spectroscopy-computational-project.github.io/index.html" name="The Muon Spectroscopy Computational Project"/> + </creator> + <requirements> + <requirement type="package" version="@TOOL_VERSION@">pymuonsuite</requirement> + </requirements> + <command detect_errors="exit_code"><![CDATA[ + unzip "$optimisation_results" && + if test -f "params.yaml"; then echo "params.yaml present"; else echo "params.yaml missing" && exit 64; fi + && if ( test -f input_structure.* ) ; then echo "input structure present"; else echo "input structure missing" && exit 64; fi + && out_folder="`python ${__tool_directory__}/get_out_folder.py`" && + pm-muairss -t r input_structure.* params.yaml + ]]></command> + <inputs> + <param type="data" name="optimisation_results" label="optimised muonated structures (.zip)" format="zip" help="A zip folder containing a set of optimised muonated structures, the original structure, and a YAML parameter file. See below for the expected folder structure."/> + </inputs> + <outputs> + <data label="Cluster report for $optimisation_results.name" name="cluster_report" format="txt" from_work_dir="$out_folder/*clusters.txt"/> + <data label="Cluster data for $optimisation_results.name" name="cluster_data" format="txt" from_work_dir="$out_folder/*clusters.dat"/> + </outputs> + <tests> + <test> + <param name="optimisation_results" value="uep-out.zip" ftype="zip"/> + <output name="cluster_report" file="clustout-uep.txt" ftype="txt" lines_diff="2"/> + <output name="cluster_data" file="clustout-uep.dat" ftype="txt"/> + </test> + <test> + <param name="optimisation_results" value="dftb-out.zip" ftype="zip"/> + <output name="cluster_report" file="clustout-dftb.txt" ftype="txt" lines_diff="2"/> + <output name="cluster_data" file="clustout-dftb.dat" ftype="txt"/> + </test> + </tests> + <help><![CDATA[ + Given a set of optimised muonated structures, clusters the structures based on similarity. + + If you used the 'Run UEP optimisation' tool for optimisation, the output from that tool can be used as the input to this one. + If you are bringing files from elsewhere, make sure they fit the expected zip folder structure: + + .. code-block:: + + optimised-structures.zip/ + ├─ muon-airss-out/ + │ ├─ uep/ + │ │ ├─ struct_1/ + │ │ │ ├─ <files for optimised struct_1 go here> + │ │ ├─ struct_2/ + │ │ │ ├─ <files for optimised struct_2 go here> + │ │ ├─ struct_N/ + │ │ │ ├─ <files for optimised struct_N go here> + ├─ input.cell + ├─ params.yaml + + This folder represents a run with the output folder name ``muon-airss-out``, the structure name ``struct``, and the UEP calculator. + If you use different parameters, these names should match your own settings. (``dftb+`` and ``castep`` are used as folder names for the respective calculators) + + The zip folder itself has been named ``optimised-structures.zip`` in this example, but it doesn't matter what you call it. + + The files ``input.cell`` and ``params.yaml`` must have those exact names. ``input.cell`` should be your original structure file, + and ``params.yaml`` is the YAML parameter file used to configure the clustering (as well as any prior muonation and optimisation). + You should have created this YAML file using the 'Create YAML for pm-muairss' tool or written it yourself, then passed it into the + 'Generate muon structures' tool or pm-muairss. + + Command-line usage: pm-muairss [-h] -t r structures parameter_file + ]]></help> + <citations> + <citation type="bibtex"> + @TOOL_CITATION@ + </citation> + <citation type="bibtex"> + @article{airss, + author = {Liborio, L. and Sturniolo, S. and Jochym, D.}, + title = {Computational prediction of muon stopping sites using ab initio random structure searching (AIRSS)}, + journal = {The Journal of Chemical Physics}, + volume = {148}, + pages = {134114}, + year = {2018}, + doi={10.1063/1.5024450}, + URL={ + https://doi.org/10.1063/1.5024450 + }, + eprint={ + https://doi.org/10.1063/1.5024450 + } + } + </citation> + <citation type="bibtex"> + @article{doi:10.1063/1.5085197, + author = {Sturniolo,Simone and Liborio,Leandro and Jackson,Samuel }, + title = {Comparison between density functional theory and density functional tight binding approaches for finding the muon stopping site in organic molecular crystals}, + journal = {The Journal of Chemical Physics}, + volume = {150}, + number = {15}, + pages = {154301}, + year = {2019}, + doi = {10.1063/1.5085197}, + URL = { + https://doi.org/10.1063/1.5085197 + }, + eprint = { + https://doi.org/10.1063/1.5085197 + } + } + </citation> + <citation type="bibtex"> + @article{doi:10.1063/5.0012381, + author = {Sturniolo,Simone and Liborio,Leandro }, + title = {Computational prediction of muon stopping sites: A novel take on the unperturbed electrostatic potential method}, + journal = {The Journal of Chemical Physics}, + volume = {153}, + number = {4}, + pages = {044111}, + year = {2020}, + doi = {10.1063/5.0012381}, + URL = { + https://doi.org/10.1063/5.0012381 + }, + eprint = { + https://doi.org/10.1063/5.0012381 + }, + abstract = { Finding the stopping site of the muon in a muon-spin relaxation experiment is one of the main problems of muon spectroscopy, and computational techniques that make use of quantum chemistry simulations can be of great help when looking for this stopping site. The most thorough approach would require the use of simulations, such as Density Functional Theory (DFT), to test and optimise multiple possible sites, accounting for the effect that the added muon has on its surroundings. However, this can be computationally expensive and sometimes unnecessary. Hence, in this work, we present a software implementation of the Unperturbed Electrostatic Potential (UEP) Method: an approach used for finding the muon stopping site in crystalline materials. The UEP method requires only one DFT calculation, necessary to compute the electronic density. This, in turn, is used to calculate the minima of the crystalline material’s electrostatic potential and the estimates of the muon stopping site, relying on the approximation that the muon’s presence does not significantly affect its surroundings. One of the main UEP’s assumptions is that the muon stopping site will be one of the crystalline material’s electrostatic potential minima. In this regard, we also propose some symmetry-based considerations about the properties of this crystalline material’s electrostatic potential, in particular, which sites are more likely to be its minima and why the unperturbed approximation may be sufficiently robust for them. We introduce the Python software package pymuon-suite and the various utilities it provides to facilitate these calculations, and finally, we demonstrate the effectiveness of the method with some chosen example systems. } + } + </citation> + <citation type="bibtex"> + @article {castep, + author = {Clark, S. J. and Segall, M. D. and Pickard, C. J. and Hasnip, P. J. and Probert, M. I. J. and Refson, K. and Payne, M. C.}, + title = {First principles methods using CASTEP}, + journal = {Zeitschrift fuer Kristallographie}, + volume = {220}, + pages = {567}, + year = {2005} + } + </citation> + </citations> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/clusters.txt Thu Aug 25 16:18:39 2022 +0000 @@ -0,0 +1,73 @@ + +**************************** +| | +| PYMUON-SUITE | +| MuAirss Clusters report | +| | +**************************** + +Name: si +Date: 2021-09-16 15:16:14.755024 +Structure file(s): input.cell +Parameter file: params.yaml + +Clustering method: Hierarchical + t = 0.2 + + +******************* + +Clusters for si: +CALCULATOR: uep + 2 clusters found + + + ----------- + Cluster 1 + ----------- + Structures: 40 + + Energy (eV): + Minimum Average StDev + -8.49 -8.49 0.00 + + Minimum energy structure: si_28 + + + Structure list: + si_1 si_3 si_4 si_5 + si_6 si_7 si_9 si_10 + si_11 si_12 si_13 si_14 + si_15 si_16 si_17 si_18 + si_19 si_20 si_21 si_22 + si_24 si_25 si_27 si_28 + si_29 si_30 si_31 si_32 + si_33 si_34 si_35 si_36 + si_37 si_38 si_39 si_40 + si_41 si_42 si_43 si_44 + + ----------- + Cluster 2 + ----------- + Structures: 4 + + Energy (eV): + Minimum Average StDev + -8.43 -8.43 0.00 + + Minimum energy structure: si_8 + + + Structure list: + si_2 si_8 si_23 si_26 + + ---------- + + Similarity (ranked): + 1 <--> 2 (distance = 0.200) + +-------------------------- + + +========================== +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/clusters_dat.dat Thu Aug 25 16:18:39 2022 +0000 @@ -0,0 +1,2 @@ +1 40 -8.489815283944159 -8.48953725056192 0.00024952657863316923 2.738346970780946 2.7349964592271503 2.738350577627245 +2 4 -8.434721984298898 -8.43336958648337 0.0010603634471999137 4.789371896620391 3.4238847570583855 4.7892691550320245
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/clustout-dftb.dat Thu Aug 25 16:18:39 2022 +0000 @@ -0,0 +1,3 @@ +1 27 -280.6035855579993 -280.60202336915836 0.0014309752898857598 3.3226068 0.7423389456 3.311549515 +2 3 -284.5412648607569 -284.54031723784425 0.0008843908674425659 2.349332209 2.364682032 2.966647288 +3 14 -282.62616915666706 -282.62574079969306 0.00029348507875924686 2.648214456 2.64892216 2.79616573
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/clustout-dftb.txt Thu Aug 25 16:18:39 2022 +0000 @@ -0,0 +1,90 @@ + +**************************** +| | +| PYMUON-SUITE | +| MuAirss Clusters report | +| | +**************************** + +Name: Si +Date: 2022-06-21 09:31:14.069470 +Structure file(s): input_structure.cell +Parameter file: params.yaml + +Clustering method: Hierarchical + t = 0.2 + + +******************* + +Clusters for Si: +CALCULATOR: dftb+ + 3 clusters found + + + ----------- + Cluster 1 + ----------- + Structures: 27 + + Energy (eV): + Minimum Average StDev + -280.60 -280.60 0.00 + + Minimum energy structure: Si_2 + + + Structure list: + Si_1 Si_2 Si_5 Si_7 + Si_8 Si_10 Si_12 Si_15 + Si_17 Si_19 Si_20 Si_21 + Si_22 Si_23 Si_27 Si_28 + Si_29 Si_30 Si_31 Si_32 + Si_33 Si_34 Si_35 Si_37 + Si_40 Si_41 Si_43 + + ----------- + Cluster 2 + ----------- + Structures: 3 + + Energy (eV): + Minimum Average StDev + -284.54 -284.54 0.00 + + Minimum energy structure: Si_9 + + + Structure list: + Si_9 Si_25 Si_38 + + ----------- + Cluster 3 + ----------- + Structures: 14 + + Energy (eV): + Minimum Average StDev + -282.63 -282.63 0.00 + + Minimum energy structure: Si_42 + + + Structure list: + Si_3 Si_4 Si_6 Si_11 + Si_13 Si_14 Si_16 Si_18 + Si_24 Si_26 Si_36 Si_39 + Si_42 Si_44 + + ---------- + + Similarity (ranked): + 2 <--> 3 (distance = 1.917) + 1 <--> 3 (distance = 2.056) + 1 <--> 2 (distance = 3.951) + +-------------------------- + + +========================== +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/clustout-uep.dat Thu Aug 25 16:18:39 2022 +0000 @@ -0,0 +1,2 @@ +1 12 -8.48981735648929 -8.489653583517093 0.00024027756008448932 2.737258848758643 2.7360057598043412 2.7389450032513163 +2 2 -8.434721105141751 -8.4346637258869 5.737925485060913e-05 4.793737331680057 3.4196257709744113 4.79365085189437
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/clustout-uep.txt Thu Aug 25 16:18:39 2022 +0000 @@ -0,0 +1,66 @@ + +**************************** +| | +| PYMUON-SUITE | +| MuAirss Clusters report | +| | +**************************** + +Name: Si +Date: 2022-06-21 09:32:03.839222 +Structure file(s): input_structure.cell +Parameter file: params.yaml + +Clustering method: Hierarchical + t = 0.2 + + +******************* + +Clusters for Si: +CALCULATOR: uep + 2 clusters found + + + ----------- + Cluster 1 + ----------- + Structures: 12 + + Energy (eV): + Minimum Average StDev + -8.49 -8.49 0.00 + + Minimum energy structure: Si_1 + + + Structure list: + Si_1 Si_2 Si_5 Si_6 + Si_7 Si_8 Si_9 Si_10 + Si_11 Si_12 Si_13 Si_14 + + ----------- + Cluster 2 + ----------- + Structures: 2 + + Energy (eV): + Minimum Average StDev + -8.43 -8.43 0.00 + + Minimum energy structure: Si_3 + + + Structure list: + Si_3 Si_4 + + ---------- + + Similarity (ranked): + 1 <--> 2 (distance = 0.218) + +-------------------------- + + +========================== +