Repository 'pm_yaml_config'
hg clone https://toolshed.g2.bx.psu.edu/repos/muon-spectroscopy-computational-project/pm_yaml_config

Changeset 2:2d9b2ffec9d5 (2023-02-03)
Previous changeset 1:6f271bc31aa8 (2022-09-15) Next changeset 3:03f4f2aaa91c (2023-07-18)
Commit message:
planemo upload for repository https://github.com/muon-spectroscopy-computational-project/muon-galaxy-tools/main/pm_yaml_config commit 4f06b404d8b7fb83995f3052faa7e2ec7811f507
modified:
pm_yaml_config.xml
added:
muon_macros.xml
test-data/config-all.yaml
test-data/config-dftb.yaml
b
diff -r 6f271bc31aa8 -r 2d9b2ffec9d5 muon_macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/muon_macros.xml Fri Feb 03 15:40:12 2023 +0000
[
@@ -0,0 +1,20 @@
+<macros>
+    <xml name="dftb_set">
+        <param type="select" name="dftb_set" value="3ob-3-1" display="radio" label="DFTB parameter set" help="The parameter set to use for DFTB+. Currently supported are: 3ob-3-1 and pbc-0-3. See help section at the bottom of the page for details.">
+            <option value="3ob-3-1">3ob-3-1</option>
+            <option value="pbc-0-3">pbc-0-3</option>
+        </param>
+    </xml>
+    <xml name="dftb+">
+        <expand macro="dftb_set"/>
+        <param type="boolean" name="dftb_pbc" label="Use periodic boundary conditions" help="Whether to turn on periodic boundary conditions in DFTB+." checked="true"/>
+    </xml>
+    <xml name="dftb_optionals">
+        <param type="text" argument="dftb_optionals" value="[]" optional="true" label="DFTB optional files" help="Additional optional json files to activate for DFTBArgs (for example, dftd3.json will use DFTD3 dispersion forces for 3ob-3-1 if DFTB+ has been compiled to support them)."/>
+    </xml>
+    <xml name="k_points_grid">
+        <param type="text" argument="k_points_grid" value="[1,1,1]" label="K-points grid" help="List of three integer k-points. Default is [1,1,1].">
+            <validator type="regex" message="Input should only contain whitespace, '[', ']', ',' and digits.">^[\s\d,\[\]]+$</validator>
+        </param>
+    </xml>
+</macros>
\ No newline at end of file
b
diff -r 6f271bc31aa8 -r 2d9b2ffec9d5 pm_yaml_config.xml
--- a/pm_yaml_config.xml Thu Sep 15 10:26:07 2022 +0000
+++ b/pm_yaml_config.xml Fri Feb 03 15:40:12 2023 +0000
[
b'@@ -1,26 +1,27 @@\n-<tool id="pm_yaml_config" name="PyMuonSuite AIRSS Configure" version="@TOOL_VERSION@+galaxy@WRAPPER_VERSION@" python_template_version="3.5" profile="22.01">\n+<tool id="pm_yaml_config" name="PyMuonSuite AIRSS Configure" version="@TOOL_VERSION@+galaxy@WRAPPER_VERSION@" python_template_version="3.5" profile="22.05" license="MIT">\n     <description>define AIRSS parameters</description>\n     <macros>\n         <!-- version of underlying tool (PEP 440) -->\n         <!-- this wrapper doesn\'t have pymuonsuite as a dependency, but it will change according\n              to the pymuonsuite interface, so follow the same versioning pattern -->\n-        <token name="@TOOL_VERSION@">0.2.1</token>\n+        <token name="@TOOL_VERSION@">0.2.3</token>\n         <!-- version of this tool wrapper (integer) -->\n         <token name="@WRAPPER_VERSION@">0</token>\n         <!-- citation should be updated with every underlying tool version -->\n         <!-- typical fields to update are version, month, year, and doi -->\n         <token name="@TOOL_CITATION@">\n-            @software{pymuon-suite,\n-                author = {Sturniolo, Simone and Liborio, Leandro and Chadwick, Eli and Murgatroyd, Laura and Laverack, Adam and {Muon Spectroscopy Computational Project}},\n+            @software{Sturniolo_pymuon-suite_2022,\n+                author = {Sturniolo, Simone and Liborio, Leandro and Chadwick, Eli and Murgatroyd, Laura and Laverack, Adam and Mudaraddi, Anish and {Muon Spectroscopy Computational Project}},\n                 license = {GPL-3.0},\n+                month = {8},\n                 title = {{pymuon-suite}},\n                 url = {https://github.com/muon-spectroscopy-computational-project/pymuon-suite},\n-                version = {v0.2.1},\n-                month = {2},\n-                year = {2022},\n-                doi = {}\n+                version = {v0.2.3},\n+                doi = {10.5281/zenodo.7025644},\n+                year = {2022}\n             }\n         </token>\n+        <import>muon_macros.xml</import>\n     </macros>\n     <creator>\n         <person givenName="Jyothish" familyName="Thomas" identifier="https://orcid.org/0000-0003-4724-6924"/>\n@@ -31,131 +32,118 @@\n     </requirements>\n     <command detect_errors="exit_code"><![CDATA[\n         touch outputx.yaml &&\n-        ([[ ! -z "$general_params.poisson_r" ]] && printf "poisson_r: $general_params.poisson_r\\n">>outputx.yaml || ( >&2 echo "poisson_r empty" && exit 2)) &&\n-        ([[ ! -z "$general_params.struct_name" ]] && printf "name: $general_params.struct_name\\n">>outputx.yaml || ( >&2 echo "structure name is empty" && exit 2)) &&\n-        ([[ ! -z "$general_params.charged" ]] && printf "charged: $general_params.charged\\n">>outputx.yaml || ( >&2 echo "charged muon empty" && exit 2)) &&\n-        ([[ ! -z "$general_params.geom_steps" ]] && printf "geom_steps: $general_params.geom_steps\\n">>outputx.yaml || ( >&2 echo "geom_steps empty" && exit 2)) &&\n-        ([[ ! -z "$general_params.vdw_scale" ]] && printf "vdw_scale: $general_params.vdw_scale\\n">>outputx.yaml || ( >&2 echo "vdw_scale empty" && exit 2)) &&\n-        ([[ ! -z "$calculator_params.calculator_cond.calculator" ]] && printf "calculator: $calculator_params.calculator_cond.calculator\\n">>outputx.yaml || ( >&2 echo "calculator unselected" && exit 2)) &&\n-        ([[ ! -z "$general_params.geom_force_tol" ]] && printf "geom_force_tol: $general_params.geom_force_tol\\n">>outputx.yaml || ( >&2 echo "geom_force_tol empty" && exit 2)) &&\n-        ([[ ! -z "$general_params.out_folder" ]] && printf "out_folder: $general_params.out_folder\\n">>outputx.yaml || printf "out_folder: muon-airss-out\\n">>outputx.yaml) &&\n-        ([[ ! -z "$general_params.random_seed" ]] && printf "random_seed: $general_params.random_seed\\n">>outputx.yaml || ( echo "random_seed empty")) &&\n-        ([[ ! -z "$clustering_params.supercell" ]] && (printf "supercell: $clustering_params.supercell\\n" | sed "s/__ob__/[/g" | sed "s/__cb__/]/g" )>>o'..b'bel="Max SCC steps" help="If applicable, max number of SCC steps to perform before giving up. Default is 200 for DFTB+ and 30 for CASTEP."/>\n+            <param type="text" argument="supercell" value="1" label="Supercell" help="Supercell size and shape to use. This can either be a single int, a list of three integers or a 3x3 matrix of integers. For a single number a diagonal matrix will be generated with the integer repeated on the diagonals. For a list of three numbers a diagonal matrix will be generated where the diagonal elements are set to the list. A matrix will be used directly as is. Default is a 3x3 identity matrix.">\n+                <validator type="regex" message="Input should only contain whitespace, \'[\', \']\', \',\' and digits.">^[\\s\\d,\\[\\]]+$</validator>\n+            </param>\n+            <expand macro="k_points_grid"/>\n+            <param type="integer" argument="max_scc_steps" value="200" min="0" optional="true" label="Max SCC steps" help="If applicable, max number of SCC steps to perform before giving up. Default is 200 for DFTB+ and 30 for CASTEP."/>\n         </section>\n     </inputs>\n     <outputs>\n-        <data label="Configuration for $general_params.struct_name" name="out_yaml" format="yaml" from_work_dir="output.yaml"/>\n+        <data label="Configuration for $general_params.name" name="out_yaml" format="yaml" from_work_dir="output.yaml"/>\n     </outputs>\n     <tests>\n         <test expect_num_outputs="1">\n             <section name="general_params">\n                 <param name="poisson_r" value="0.8"/>\n-                <param name="struct_name" value="Si"/>\n+                <param name="name" value="Si"/>\n                 <param name="charged" value="true"/>\n                 <param name="geom_steps" value="300"/>\n                 <param name="vwd_scale" value="0.25"/>\n@@ -189,10 +177,54 @@\n             </section>\n             <output name="out_yaml" file="config-default.yaml" ftype="yaml" delta="100"/>\n         </test>\n+        <test expect_num_outputs="1">\n+            <section name="general_params">\n+            </section>\n+            <section name="calculator_params">\n+                <conditional name="calculator_cond">\n+                    <param name="calculator" value="dftb+"/>\n+                </conditional>\n+            </section>\n+            <section name="clustering_params">\n+            </section>\n+            <output name="out_yaml" file="config-dftb.yaml" ftype="yaml" delta="100"/>\n+        </test>\n+        <test expect_num_outputs="1">\n+            <section name="general_params">\n+            </section>\n+            <section name="calculator_params">\n+                <conditional name="calculator_cond">\n+                    <param name="calculator" value="all"/>\n+                </conditional>\n+            </section>\n+            <section name="clustering_params">\n+            </section>\n+            <output name="out_yaml" file="config-all.yaml" ftype="yaml" delta="100"/>\n+        </test>\n+        <test expect_failure="true">\n+            <section name="general_params">\n+            </section>\n+            <section name="calculator_params">\n+            </section>\n+            <section name="clustering_params">\n+                <param name="supercell" value="bad format"/>\n+            </section>\n+        </test>\n+        <test expect_failure="true">\n+            <section name="general_params">\n+            </section>\n+            <section name="calculator_params">\n+            </section>\n+            <section name="clustering_params">\n+                <param name="k_points_grid" value="bad format"/>\n+            </section>\n+        </test>\n     </tests>\n     <help><![CDATA[\n         Creates a YAML configuration file from input parameters.\n \n+        PyMuonSuite is distributed under the GPLv3 license. This tool wrapper is distributed under the MIT license.\n+\n       **DFTB+ parameter sets:**\n \n     +------------+-------------------------------------+-----------------------------------+\n'
b
diff -r 6f271bc31aa8 -r 2d9b2ffec9d5 test-data/config-all.yaml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/config-all.yaml Fri Feb 03 15:40:12 2023 +0000
[
@@ -0,0 +1,19 @@
+poisson_r: 0.8
+name: struct
+charged: true
+geom_steps: 30
+vdw_scale: 0.5
+calculator: all
+geom_force_tol: 0.05
+out_folder: muon-airss-out
+supercell: 1
+k_points_grid: [1,1,1]
+max_scc_steps: 200
+uep_gw_factor: 5.0
+castep_command: castep.serial
+mu_symbol: H:mu
+dftb_set: 3ob-3-1
+dftb_optionals: []
+dftb_pbc: true
+clustering_method: hier
+clustering_hier_t: 0.3
b
diff -r 6f271bc31aa8 -r 2d9b2ffec9d5 test-data/config-dftb.yaml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/config-dftb.yaml Fri Feb 03 15:40:12 2023 +0000
[
@@ -0,0 +1,16 @@
+poisson_r: 0.8
+name: struct
+charged: true
+geom_steps: 30
+vdw_scale: 0.5
+calculator: dftb+
+geom_force_tol: 0.05
+out_folder: muon-airss-out
+supercell: 1
+k_points_grid: [1,1,1]
+max_scc_steps: 200
+dftb_set: 3ob-3-1
+dftb_optionals: []
+dftb_pbc: true
+clustering_method: hier
+clustering_hier_t: 0.3