diff pm_asephonons.xml @ 0:4bc5e66259ca draft

planemo upload for repository https://github.com/muon-spectroscopy-computational-project/muon-galaxy-tools/main/pm_asephonons commit d130cf2c46d933fa9d0214ddbd5ddf860f322dc4
author muon-spectroscopy-computational-project
date Thu, 25 Aug 2022 16:17:41 +0000
parents
children 641fda3dfb62
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pm_asephonons.xml	Thu Aug 25 16:17:41 2022 +0000
@@ -0,0 +1,149 @@
+<tool id="pm_asephonons" name="PyMuonSuite Phonons" version="0.1.1" python_template_version="3.5" profile="22.01">
+    <description>calculate phonons using ASE and DFTB+</description>
+    <macros>
+        <!-- citation should be updated with every underlying tool version -->
+        <!-- typical fields to update are version, month, year, and doi -->
+        <token name="@PYMUONSUITE_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>
+        <!-- note versioning is different due to multiple dependencies -->
+        <requirement type="package" version="0.2.1">pymuonsuite</requirement>
+        <requirement type="package" version="21.2">dftbplus</requirement>
+        <requirement type="package" version="1.22.4">numpy</requirement> <!-- pinned due to numpy/ASE/DFTB+ incompatibility https://github.com/dftbplus/dftbplus/issues/1064 -->
+        <requirement type="package" version="3.0">zip</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+        structure_name_internal="input_structure.$structure.ext" &&
+        touch pho_params.yaml &&
+        ([[ ! -z "$name" ]] && printf "name: $name \n">>pho_params.yaml || ( >&2 echo "name empty" && exit 2)) &&
+        ([[ ! -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)) &&
+        ([[ ! -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)) &&
+        ([[ ! -z "$force_tol" ]] && printf "force_tol: $force_tol \n">>pho_params.yaml || ( >&2 echo "force_tol empty" && exit 2)) &&
+        ([[ ! -z "$dftb_set" ]] && printf "dftb_set: $dftb_set \n">>pho_params.yaml || ( >&2 echo "dftb_set empty" && exit 2)) &&
+        ([[ ! -z "$pbc" ]] && printf "pbc: $pbc \n">>pho_params.yaml || ( >&2 echo "pbc empty" && exit 2)) &&
+        printf "force_clean: false \n">>pho_params.yaml &&
+        ln -s $structure \$structure_name_internal &&
+        cat pho_params.yaml &&
+        pm-asephonons \$structure_name_internal pho_params.yaml ; err=\$? &&
+        echo "Asephonons output:" &&
+        cat asephonons.out &&
+        if [ \$err != 0 ] ; then echo "errored" && exit 24 ; fi &&
+        ln -s "${name}_phonons.txt" phonon_report.txt &&
+        zip -r out_zip.zip $name "${name}_phonons.txt" asephonons.out band.out pho_params.yaml
+    ]]></command>
+    <inputs>
+        <param type="data" name="structure" label="Structure file" format="cell" help="The structure to generate the phonon report from. Accepted file types: cell."/>
+        <param type="text" name="name" label="Structure name" help="Name of the structure." value="struct"/>
+        <param type="text" name="phonon_kpoint_grid" label="Phonon k-points" value="[1, 1, 1]"/>
+        <param type="text" name="kpoint_grid" label="K-points used for DFTB+ calculation" value="[1, 1, 1]"/>
+        <param type="float" name="force_tol" label="Force tolerance for optimisation" value="0.01"/>
+        <param type="select" name="dftb_set" label="DFTB set to use" value="3ob-3-1">
+            <option value="3ob-3-1">3ob-3-1</option>
+            <option value="pbc-0-3">pbc-0-3</option>
+        </param>
+        <param type="boolean" name="pbc" label="Use periodic boundary conditions" help="Whether to turn on periodic boundary conditions in DFTB+." value="true"/>
+    </inputs>
+    <outputs>
+        <data label="phonons outputs of $structure.name" name="phonon_outputs" format="zip" from_work_dir="out_zip.zip"/>
+        <data label="phonon report for $structure.name" name="phonon_report" format="txt" from_work_dir="phonon_report.txt"/>
+    </outputs>
+    <tests>
+        <test>
+            <param name="structure" value="Si.cell" ftype="cell"/>
+            <param name="name" value="Si"/>
+            <param name="dftb_set" value="pbc-0-3"/>
+            <output name="phonon_report" file="test_out.txt" ftype="txt" compare="re_match">
+                <assert_contents>
+                    <has_size value="8155" delta="20"/>
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <param name="structure" value="Si.cif" ftype="cif"/>
+            <param name="name" value="Si"/>
+            <param name="dftb_set" value="pbc-0-3"/>
+            <output name="phonon_report" file="test_out.txt" ftype="txt" compare="re_match">
+                <assert_contents>
+                    <has_size value="8155" delta="20"/>
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <param name="structure" value="Si.xyz" ftype="xyz"/>
+            <param name="name" value="Si"/>
+            <param name="dftb_set" value="pbc-0-3"/>
+            <output name="phonon_report" file="test_out.txt" ftype="txt" compare="re_match">
+                <assert_contents>
+                    <has_size value="8155" delta="20"/>
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <param name="structure" value="Si.extxyz" ftype="extxyz"/>
+            <param name="name" value="Si"/>
+            <param name="dftb_set" value="pbc-0-3"/>
+            <output name="phonon_report" file="test_out.txt" ftype="txt" compare="re_match">
+                <assert_contents>
+                    <has_size value="8155" delta="20"/>
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+    <help><![CDATA[
+        usage: pm-asephonons structure params
+
+        Given an input structure, this tool generates a phonon report for that structure using the parameters provided.
+
+    ]]></help>
+    <citations>
+        <citation type="bibtex">
+            @PYMUONSUITE_CITATION@
+        </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{larsen2017atomic,
+                title={The atomic simulation environment—a Python library for working with atoms},
+                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},
+                journal={Journal of Physics: Condensed Matter},
+                volume={29},
+                number={27},
+                pages={273002},
+                year={2017},
+                publisher={IOP Publishing}
+            }
+        </citation>
+    </citations>
+</tool>