comparison pm_asephonons.xml @ 2:dd3ca8457fcd draft

planemo upload for repository https://github.com/muon-spectroscopy-computational-project/muon-galaxy-tools/main/pm_asephonons commit 4f06b404d8b7fb83995f3052faa7e2ec7811f507
author muon-spectroscopy-computational-project
date Fri, 03 Feb 2023 15:39:17 +0000
parents 641fda3dfb62
children fd28cbdb134e
comparison
equal deleted inserted replaced
1:641fda3dfb62 2:dd3ca8457fcd
1 <tool id="pm_asephonons" name="PyMuonSuite Phonons" version="0.1.1" python_template_version="3.5" profile="22.01"> 1 <tool id="pm_asephonons" name="PyMuonSuite Phonons" version="@TOOL_VERSION@+galaxy@WRAPPER_VERSION@" python_template_version="3.5" profile="22.05" license="MIT">
2 <description>calculate phonons using ASE and DFTB+</description> 2 <description>calculate phonons using ASE and DFTB+</description>
3 <macros> 3 <macros>
4 <!-- version of underlying tool (PEP 440) -->
5 <token name="@TOOL_VERSION@">0.2.3</token>
6 <!-- version of this tool wrapper (integer) -->
7 <token name="@WRAPPER_VERSION@">0</token>
4 <!-- citation should be updated with every underlying tool version --> 8 <!-- citation should be updated with every underlying tool version -->
5 <!-- typical fields to update are version, month, year, and doi --> 9 <!-- typical fields to update are version, month, year, and doi -->
6 <token name="@PYMUONSUITE_CITATION@"> 10 <token name="@PYMUONSUITE_CITATION@">
7 @software{pymuon-suite, 11 @software{Sturniolo_pymuon-suite_2022,
8 author = {Sturniolo, Simone and Liborio, Leandro and Chadwick, Eli and Murgatroyd, Laura and Laverack, Adam and {Muon Spectroscopy Computational Project}}, 12 author = {Sturniolo, Simone and Liborio, Leandro and Chadwick, Eli and Murgatroyd, Laura and Laverack, Adam and Mudaraddi, Anish and {Muon Spectroscopy Computational Project}},
9 license = {GPL-3.0}, 13 license = {GPL-3.0},
14 month = {8},
10 title = {{pymuon-suite}}, 15 title = {{pymuon-suite}},
11 url = {https://github.com/muon-spectroscopy-computational-project/pymuon-suite}, 16 url = {https://github.com/muon-spectroscopy-computational-project/pymuon-suite},
12 version = {v0.2.1}, 17 version = {v0.2.3},
13 month = {2}, 18 doi = {10.5281/zenodo.7025644},
14 year = {2022}, 19 year = {2022}
15 doi = {}
16 } 20 }
17 </token> 21 </token>
22 <import>muon_macros.xml</import>
18 </macros> 23 </macros>
19 <creator> 24 <creator>
20 <person givenName="Jyothish" familyName="Thomas" identifier="https://orcid.org/0000-0003-4724-6924"/> 25 <person givenName="Jyothish" familyName="Thomas" identifier="https://orcid.org/0000-0003-4724-6924"/>
21 <person givenName="Eli" familyName="Chadwick" url="https://github.com/elichad" identifier="https://orcid.org/0000-0002-0035-6475"/> 26 <person givenName="Eli" familyName="Chadwick" url="https://github.com/elichad" identifier="https://orcid.org/0000-0002-0035-6475"/>
22 <organization url="https://muon-spectroscopy-computational-project.github.io/index.html" name="The Muon Spectroscopy Computational Project"/> 27 <organization url="https://muon-spectroscopy-computational-project.github.io/index.html" name="The Muon Spectroscopy Computational Project"/>
23 </creator> 28 </creator>
24 <requirements> 29 <requirements>
25 <!-- note versioning is different due to multiple dependencies --> 30 <!-- note versioning is different due to multiple dependencies -->
26 <requirement type="package" version="0.2.1">pymuonsuite</requirement> 31 <requirement type="package" version="@TOOL_VERSION@">pymuonsuite</requirement>
27 <requirement type="package" version="21.2">dftbplus</requirement> 32 <requirement type="package" version="21.2">dftbplus</requirement>
28 <requirement type="package" version="1.22.4">numpy</requirement> <!-- pinned due to numpy/ASE/DFTB+ incompatibility https://github.com/dftbplus/dftbplus/issues/1064 --> 33 <requirement type="package" version="1.22.4">numpy</requirement> <!-- pinned due to numpy/ASE/DFTB+ incompatibility https://github.com/dftbplus/dftbplus/issues/1064 -->
29 <requirement type="package" version="3.0">zip</requirement> 34 <requirement type="package" version="3.0">zip</requirement>
30 </requirements> 35 </requirements>
31 <command detect_errors="exit_code"><![CDATA[ 36 <command detect_errors="exit_code"><![CDATA[
32 structure_name_internal="input_structure.$structure.ext" && 37 structure_name_internal='input_structure.$pbc.structure.ext' &&
33 touch pho_params.yaml && 38 ln -s '$pho_params' pho_params.yaml &&
34 ([[ ! -z "$name" ]] && printf "name: $name \n">>pho_params.yaml || ( >&2 echo "name empty" && exit 2)) && 39 ln -s '$pbc.structure' \$structure_name_internal &&
35 ([[ ! -z "$phonon_kpoint_grid" ]] && ( printf "phonon_kpoint_grid: $phonon_kpoint_grid \n" | sed "s/__ob__/[/g" | sed "s/__cb__/]/g" )>>pho_params.yaml || ( >&2 echo "phonon_kpoint_grid empty" && exit 2)) &&
36 ([[ ! -z "$kpoint_grid" ]] && ( printf "kpoint_grid: $kpoint_grid \n" | sed "s/__ob__/[/g" | sed "s/__cb__/]/g" )>>pho_params.yaml || ( >&2 echo "kpoint_grid empty" && exit 2)) &&
37 ([[ ! -z "$force_tol" ]] && printf "force_tol: $force_tol \n">>pho_params.yaml || ( >&2 echo "force_tol empty" && exit 2)) &&
38 ([[ ! -z "$dftb_set" ]] && printf "dftb_set: $dftb_set \n">>pho_params.yaml || ( >&2 echo "dftb_set empty" && exit 2)) &&
39 ([[ ! -z "$pbc" ]] && printf "pbc: $pbc \n">>pho_params.yaml || ( >&2 echo "pbc empty" && exit 2)) &&
40 printf "force_clean: false \n">>pho_params.yaml &&
41 ln -s $structure \$structure_name_internal &&
42 cat pho_params.yaml && 40 cat pho_params.yaml &&
43 pm-asephonons \$structure_name_internal pho_params.yaml ; err=\$? && 41 err=0 &&
42 pm-asephonons \$structure_name_internal pho_params.yaml || err=\$? &&
44 echo "Asephonons output:" && 43 echo "Asephonons output:" &&
45 cat asephonons.out && 44 cat asephonons.out &&
46 if [ \$err != 0 ] ; then echo "errored" && exit 24 ; fi && 45 if [ \$err != 0 ] ; then echo "errored" && exit 24 ; fi &&
47 ln -s "${name}_phonons.txt" phonon_report.txt && 46 ln -s '${name}_phonons.txt' phonon_report.txt &&
48 zip -r out_zip.zip $name "${name}_phonons.txt" asephonons.out band.out pho_params.yaml 47 zip -r out_zip.zip '$name' '${name}_phonons.txt' asephonons.out band.out pho_params.yaml
49 ]]></command> 48 ]]></command>
49 <configfiles>
50 <configfile name="pho_params">name: $name
51 phonon_kpoint_grid: $phonon_kpoint_grid.replace('__ob__', '[').replace('__cb__', ']')
52 kpoint_grid: $kpoint_grid.replace('__ob__', '[').replace('__cb__', ']')
53 force_tol: $force_tol
54 dftb_set: $dftb_set
55 pbc: $pbc.pbc
56 force_clean: false</configfile>
57 </configfiles>
50 <inputs> 58 <inputs>
51 <param type="data" name="structure" label="Structure file" format="cell" help="The structure to generate the phonon report from. Accepted file types: cell."/> 59 <param argument="name" type="text" value="struct" label="Structure name" help="Name of the structure."/>
52 <param type="text" name="name" label="Structure name" help="Name of the structure." value="struct"/> 60 <param argument="phonon_kpoint_grid" type="text" value="[1, 1, 1]" label="Phonon k-points">
53 <param type="text" name="phonon_kpoint_grid" label="Phonon k-points" value="[1, 1, 1]"/> 61 <validator type="regex" message="Input should only contain whitespace, '[', ']', ',' and digits.">^[\s\d,\[\]]+$</validator>
54 <param type="text" name="kpoint_grid" label="K-points used for DFTB+ calculation" value="[1, 1, 1]"/>
55 <param type="float" name="force_tol" label="Force tolerance for optimisation" value="0.01"/>
56 <param type="select" name="dftb_set" label="DFTB set to use" value="3ob-3-1">
57 <option value="3ob-3-1">3ob-3-1</option>
58 <option value="pbc-0-3">pbc-0-3</option>
59 </param> 62 </param>
60 <param type="boolean" name="pbc" label="Use periodic boundary conditions" help="Whether to turn on periodic boundary conditions in DFTB+." value="true"/> 63 <param argument="kpoint_grid" type="text" value="[1, 1, 1]" label="K-points used for DFTB+ calculation">
64 <validator type="regex" message="Input should only contain whitespace, '[', ']', ',' and digits.">^[\s\d,\[\]]+$</validator>
65 </param>
66 <param argument="force_tol" type="float" min="0.0" value="0.01" label="Force tolerance for optimisation"/>
67 <expand macro="dftb_set"/>
68 <conditional name="pbc">
69 <param argument="pbc" type="select" display="radio" multiple="false" label="Use periodic boundary conditions (PBC)" help="Whether to turn on PBC conditions in DFTB+. Note that XYZ files cannot be used with PBC.">
70 <option selected="true" value="true">Yes</option>
71 <option value="false">No</option>
72 </param>
73 <when value="true">
74 <param name="structure" type="data" format="cell, cif, extxyz" label="Structure file" help="The structure to generate the phonon report from. Accepted file types: CELL, CIF, XYZ (extended ONLY)."/>
75 </when>
76 <when value="false">
77 <param name="structure" type="data" format="cell, cif, extxyz, xyz" label="Structure file" help="The structure to generate the phonon report from. Accepted file types: CELL, CIF, XYZ (standard or extended)."/>
78 </when>
79 </conditional>
61 </inputs> 80 </inputs>
62 <outputs> 81 <outputs>
63 <data label="phonons outputs of $structure.name" name="phonon_outputs" format="zip" from_work_dir="out_zip.zip"/> 82 <data label="phonons outputs of $pbc.structure.name" name="phonon_outputs" format="zip" from_work_dir="out_zip.zip"/>
64 <data label="phonon report for $structure.name" name="phonon_report" format="txt" from_work_dir="phonon_report.txt"/> 83 <data label="phonon report for $pbc.structure.name" name="phonon_report" format="txt" from_work_dir="phonon_report.txt"/>
65 </outputs> 84 </outputs>
66 <tests> 85 <tests>
67 <test expect_num_outputs="2"> 86 <test expect_num_outputs="2">
68 <param name="structure" value="Si.cell" ftype="cell"/> 87 <param name="name" value="Si"/>
69 <param name="name" value="Si"/> 88 <param name="dftb_set" value="pbc-0-3"/>
70 <param name="dftb_set" value="pbc-0-3"/> 89 <conditional name="pbc">
90 <param name="structure" value="Si.cell" ftype="cell"/>
91 </conditional>
92 <output name="phonon_report" file="test_out.txt" ftype="txt" compare="re_match">
93 <assert_contents>
94 <has_size value="8255" delta="20"/>
95 </assert_contents>
96 </output>
97 </test>
98 <test expect_num_outputs="2">
99 <param name="name" value="Si"/>
100 <param name="dftb_set" value="pbc-0-3"/>
101 <conditional name="pbc">
102 <param name="structure" value="Si.cif" ftype="cif"/>
103 </conditional>
104 <output name="phonon_report" file="test_out.txt" ftype="txt" compare="re_match">
105 <assert_contents>
106 <has_size value="8255" delta="20"/>
107 </assert_contents>
108 </output>
109 </test>
110 <test expect_num_outputs="2">
111 <param name="name" value="Si"/>
112 <param name="dftb_set" value="pbc-0-3"/>
113 <conditional name="pbc">
114 <param name="pbc" value="false"/>
115 <param name="structure" value="Si.xyz" ftype="xyz"/>
116 </conditional>
71 <output name="phonon_report" file="test_out.txt" ftype="txt" compare="re_match"> 117 <output name="phonon_report" file="test_out.txt" ftype="txt" compare="re_match">
72 <assert_contents> 118 <assert_contents>
73 <has_size value="8155" delta="20"/> 119 <has_size value="8155" delta="20"/>
74 </assert_contents> 120 </assert_contents>
75 </output> 121 </output>
76 </test> 122 </test>
77 <test expect_num_outputs="2"> 123 <test expect_num_outputs="2">
78 <param name="structure" value="Si.cif" ftype="cif"/> 124 <param name="name" value="Si"/>
79 <param name="name" value="Si"/> 125 <param name="dftb_set" value="pbc-0-3"/>
80 <param name="dftb_set" value="pbc-0-3"/> 126 <conditional name="pbc">
81 <output name="phonon_report" file="test_out.txt" ftype="txt" compare="re_match"> 127 <param name="structure" value="Si.extxyz" ftype="extxyz"/>
82 <assert_contents> 128 </conditional>
83 <has_size value="8155" delta="20"/> 129 <output name="phonon_report" file="test_out.txt" ftype="txt" compare="re_match">
84 </assert_contents> 130 <assert_contents>
85 </output> 131 <has_size value="8255" delta="20"/>
86 </test>
87 <test expect_num_outputs="2">
88 <param name="structure" value="Si.xyz" ftype="xyz"/>
89 <param name="name" value="Si"/>
90 <param name="dftb_set" value="pbc-0-3"/>
91 <output name="phonon_report" file="test_out.txt" ftype="txt" compare="re_match">
92 <assert_contents>
93 <has_size value="8155" delta="20"/>
94 </assert_contents>
95 </output>
96 </test>
97 <test expect_num_outputs="2">
98 <param name="structure" value="Si.extxyz" ftype="extxyz"/>
99 <param name="name" value="Si"/>
100 <param name="dftb_set" value="pbc-0-3"/>
101 <output name="phonon_report" file="test_out.txt" ftype="txt" compare="re_match">
102 <assert_contents>
103 <has_size value="8155" delta="20"/>
104 </assert_contents> 132 </assert_contents>
105 </output> 133 </output>
106 </test> 134 </test>
107 </tests> 135 </tests>
108 <help><![CDATA[ 136 <help><![CDATA[
109 usage: pm-asephonons structure params 137 usage: pm-asephonons structure params
110 138
111 Given an input structure, this tool generates a phonon report for that structure using the parameters provided. 139 Given an input structure, this tool generates a phonon report for that structure using the parameters provided.
112 140
141 PyMuonSuite is distributed under the GPLv3 license. This tool wrapper is distributed under the MIT license.
142
143 All data is licensed under the Creative Commons Attribution-ShareAlike 4.0
144 International License. The full text of the license can be found at:
145
146 https://creativecommons.org/licenses/by-sa/4.0/legalcode
147
148 For specific data sets remember to cite the following papers, by element :
149
150 | **3-ob-1**
151
152 +--------------+------------------------------------------------+-----------------------------------+------------------------------------+
153 | [JCTC2013] | \ J. Chem. Theory Comput., 2013, 9, 338-354. | (O, N, C, H) | https://doi.org/10.1021/ct300849w |
154 +--------------+------------------------------------------------+-----------------------------------+------------------------------------+
155 | [JCTC2014] | \ J. Chem. Theory Comput., 2014, 10, 1518-1537.| (P,S-\*) | https://doi.org/10.1021/ct401002w |
156 +--------------+------------------------------------------------+-----------------------------------+------------------------------------+
157 | [JCTC2015-1] | \ J. Phys. Chem. B, 2015, 119, 1062-1082. | (Mg,Zn-\*) | https://doi.org/10.1021/jp506557r |
158 +--------------+------------------------------------------------+-----------------------------------+------------------------------------+
159 | [JCTC2015-2] | \ J. Chem. Theory Comput., 2015, 11, 332-342. | (Na,F,K,Ca,Cl,Br,I-\*) | https://doi.org/10.1021/ct5009137 |
160 +--------------+------------------------------------------------+-----------------------------------+------------------------------------+
161
162 |
163 | **pbc-0-3**
164
165 +------------+--------------------------------------------------------------------------------------------+---------+------------------------------------------------+
166 | [SiC] | \ E. Rauls, R. Gutierrez, J. Elsner, and Th. Frauenheim, Sol. State Comm. 111, 459 (1999) | (Si-C) | https://doi.org/10.1016/S0038-1098(99)00137-4 |
167 +------------+--------------------------------------------------------------------------------------------+---------+------------------------------------------------+
168 | [SiO] | \ C. Koehler, Z. Hajnal, P. Deak, Th. Frauenheim, S. Suhai, Phys. Rev. B 64, 085333 (2001) | (Si-O) | https://doi.org/10.1103/PhysRevB.64.085333 |
169 +------------+--------------------------------------------------------------------------------------------+---------+------------------------------------------------+
170 | [Silicon] | \ A. Sieck, Th. Frauenheim, and K. A. Jackson, phys. stat. sol. (b) 240, 537 (2003). | (Si) | https://doi.org/10.1002/pssb.200301886 |
171 +------------+--------------------------------------------------------------------------------------------+---------+------------------------------------------------+
172 | [Fluorine] | \ C. Koehler and Th. Frauenheim, Surf. Sci. 600, 453 (2006). | \ (F) | https://doi.org/10.1016/j.susc.2005.10.044 |
173 +------------+--------------------------------------------------------------------------------------------+---------+------------------------------------------------+
174 | [Iron] | \ C. Koehler, G. Seifert and Th. Frauenheim, Chem. Phys. 309, 23 (2005). | (Fe) | https://doi.org/10.1016/j.chemphys.2004.03.034 |
175 +------------+--------------------------------------------------------------------------------------------+---------+------------------------------------------------+
176 | [SiSi] | \ A. Sieck, PhD. Thesis, University of Paderborn, 2000. | (Si-Si) | https://www.osti.gov/etdeweb/biblio/20249635 |
177 +------------+--------------------------------------------------------------------------------------------+---------+------------------------------------------------+
178
179 |
180 | The full sets and all other data can be found at the following URLs:
181
182 +----------+------------------------------------------------------------+
183 | 3-ob-1 | https://www.dftb.org/parameters/download/3ob/3ob-3-1-cc/ |
184 +----------+------------------------------------------------------------+
185 | pbc-0-3 | https://www.dftb.org/parameters/download/pbc/pbc-0-3-cc/ |
186 +----------+------------------------------------------------------------+
187
188 |
113 ]]></help> 189 ]]></help>
114 <citations> 190 <citations>
115 <citation type="bibtex"> 191 <citation type="bibtex">
116 @PYMUONSUITE_CITATION@ 192 @PYMUONSUITE_CITATION@
117 </citation> 193 </citation>
118 <citation type="bibtex"> 194 <citation type="doi">10.1063/1.5085197</citation>
119 @article{doi:10.1063/1.5085197,
120 author = {Sturniolo,Simone and Liborio,Leandro and Jackson,Samuel },
121 title = {Comparison between density functional theory and density functional tight binding approaches for finding the muon stopping site in organic molecular crystals},
122 journal = {The Journal of Chemical Physics},
123 volume = {150},
124 number = {15},
125 pages = {154301},
126 year = {2019},
127 doi = {10.1063/1.5085197},
128 URL = {
129 https://doi.org/10.1063/1.5085197
130 },
131 eprint = {
132 https://doi.org/10.1063/1.5085197
133 }
134 }
135 </citation>
136 <citation type="bibtex"> 195 <citation type="bibtex">
137 @article{larsen2017atomic, 196 @article{larsen2017atomic,
138 title={The atomic simulation environment—a Python library for working with atoms}, 197 title={The atomic simulation environment—a Python library for working with atoms},
139 author={Larsen, Ask Hjorth and Mortensen, Jens J{\o}rgen and Blomqvist, Jakob and Castelli, Ivano E and Christensen, Rune and Du{\l}ak, Marcin and Friis, Jesper and Groves, Michael N and Hammer, Bj{\o}rk and Hargus, Cory and others}, 198 author={Larsen, Ask Hjorth and Mortensen, Jens J{\o}rgen and Blomqvist, Jakob and Castelli, Ivano E and Christensen, Rune and Du{\l}ak, Marcin and Friis, Jesper and Groves, Michael N and Hammer, Bj{\o}rk and Hargus, Cory and others},
140 journal={Journal of Physics: Condensed Matter}, 199 journal={Journal of Physics: Condensed Matter},