view pm_symmetry.xml @ 0:39d7644724dc draft

planemo upload for repository https://github.com/muon-spectroscopy-computational-project/muon-galaxy-tools/main/pm_symmetry commit d130cf2c46d933fa9d0214ddbd5ddf860f322dc4
author muon-spectroscopy-computational-project
date Thu, 25 Aug 2022 16:19:38 +0000
parents
children d8146a73b011
line wrap: on
line source

<tool id="pm_symmetry" name="PyMuonSuite Symmetry" version="@TOOL_VERSION@+galaxy@WRAPPER_VERSION@" python_template_version="3.5" profile="22.01">
    <description>generate Wyckoff points symmetry report</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[
        structure_name_internal=\$(sed 's/ /\_/g' <<< "$structure.name") &&
        ln -s $structure \$structure_name_internal &&
        pm-symmetry \$structure_name_internal > out.txt
    ]]></command>
    <inputs>
        <param type="data" name="structure" label="Structure file" format="cell,cif,xyz,extxyz" help="The structure to calculate symmetries of. Accepted file types: cell."/>
    </inputs>
    <outputs>
        <data label="symmetry of $structure.name" name="symmetry_report" format="txt" from_work_dir="out.txt"/>
    </outputs>
    <tests>
        <test>
            <param name="structure" value="Si.cell" ftype="cell"/>
            <output name="symmetry_report" file="test_out.txt" ftype="txt" compare="re_match_multiline"/>
        </test>
        <test>
            <param name="structure" value="Si.cif" ftype="cif"/>
            <output name="symmetry_report" file="test_out.txt" ftype="txt" compare="re_match_multiline"/>
        </test>
        <test expect_failure="true">
            <param name="structure" value="Si.xyz" ftype="xyz"/>
            <assert_stderr>
                <has_text text="TypeError: 'NoneType' object is not subscriptable"/>
            </assert_stderr>
        </test>
        <test>
            <param name="structure" value="Si.extxyz" ftype="extxyz"/>
            <output name="symmetry_report" file="test_out.txt" ftype="txt" compare="re_match_multiline"/>
        </test>
    </tests>
    <help><![CDATA[
        usage: pm-symmetry structure

        Given an input structure, generates a Wyckoff points symmetry report for that structure.
    ]]></help>
    <citations>
        <citation type="bibtex">
            @TOOL_CITATION@
        </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>
    </citations>
</tool>